@mysten-incubation/dev-wallet 0.2.0 → 0.4.0
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/CHANGELOG.md +167 -0
- package/dist/_virtual/{_@oxc-project_runtime@0.127.0/helpers → _@oxc-project_runtime@0.135.0/helpers/esm}/decorate.mjs +1 -1
- package/dist/adapters/base-adapter.d.mts.map +1 -1
- package/dist/adapters/base-adapter.mjs.map +1 -1
- package/dist/adapters/build-managed-account.mjs.map +1 -1
- package/dist/adapters/devstack-adapter.d.mts.map +1 -1
- package/dist/adapters/devstack-adapter.mjs.map +1 -1
- package/dist/adapters/devstack-paths.d.mts +0 -1
- package/dist/adapters/devstack-paths.d.mts.map +1 -1
- package/dist/adapters/devstack-paths.mjs +1 -2
- package/dist/adapters/devstack-paths.mjs.map +1 -1
- package/dist/adapters/fork-relay.d.mts.map +1 -1
- package/dist/adapters/fork-relay.mjs.map +1 -1
- package/dist/adapters/idb-store.mjs.map +1 -1
- package/dist/adapters/in-memory-adapter.d.mts.map +1 -1
- package/dist/adapters/in-memory-adapter.mjs.map +1 -1
- package/dist/adapters/passkey-adapter.d.mts.map +1 -1
- package/dist/adapters/passkey-adapter.mjs.map +1 -1
- package/dist/adapters/remote-cli-adapter.d.mts.map +1 -1
- package/dist/adapters/remote-cli-adapter.mjs.map +1 -1
- package/dist/adapters/webcrypto-adapter.d.mts.map +1 -1
- package/dist/adapters/webcrypto-adapter.mjs.map +1 -1
- package/dist/bin/cli.mjs.map +1 -1
- package/dist/client/dev-wallet-client.d.mts.map +1 -1
- package/dist/client/dev-wallet-client.mjs.map +1 -1
- package/dist/client/request-handler.d.mts.map +1 -1
- package/dist/client/request-handler.mjs.map +1 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.mjs +2 -1
- package/dist/inject/index.d.mts +61 -0
- package/dist/inject/index.d.mts.map +1 -0
- package/dist/inject/index.mjs +61 -0
- package/dist/inject/index.mjs.map +1 -0
- package/dist/react/components.d.mts +6 -8
- package/dist/react/components.d.mts.map +1 -1
- package/dist/react/components.mjs.map +1 -1
- package/dist/react/context.d.mts +2 -3
- package/dist/react/context.d.mts.map +1 -1
- package/dist/react/context.mjs.map +1 -1
- package/dist/react/useDevWallet.d.mts +3 -11
- package/dist/react/useDevWallet.d.mts.map +1 -1
- package/dist/react/useDevWallet.mjs +14 -36
- package/dist/react/useDevWallet.mjs.map +1 -1
- package/dist/server/cli-signing-middleware.d.mts.map +1 -1
- package/dist/server/cli-signing-middleware.mjs.map +1 -1
- package/dist/standalone/assets/base-adapter-DET6CP7z.js +1 -0
- package/dist/standalone/assets/in-memory-adapter-CX7xym4e.js +1 -0
- package/dist/standalone/assets/main-CuOnBmaa.js +7 -0
- package/dist/standalone/assets/webcrypto-adapter-CUQmbHDy.js +1 -0
- package/dist/standalone/bookmarklet.js +5 -5
- package/dist/standalone/index.html +2 -1
- package/dist/types.d.mts.map +1 -1
- package/dist/ui/copy-controller.mjs.map +1 -1
- package/dist/ui/dev-wallet-account-selector.d.mts +2 -3
- package/dist/ui/dev-wallet-account-selector.d.mts.map +1 -1
- package/dist/ui/dev-wallet-account-selector.mjs +1 -1
- package/dist/ui/dev-wallet-account-selector.mjs.map +1 -1
- package/dist/ui/dev-wallet-accounts.d.mts +2 -3
- package/dist/ui/dev-wallet-accounts.d.mts.map +1 -1
- package/dist/ui/dev-wallet-accounts.mjs +1 -1
- package/dist/ui/dev-wallet-accounts.mjs.map +1 -1
- package/dist/ui/dev-wallet-balances.d.mts +2 -3
- package/dist/ui/dev-wallet-balances.d.mts.map +1 -1
- package/dist/ui/dev-wallet-balances.mjs +1 -1
- package/dist/ui/dev-wallet-balances.mjs.map +1 -1
- package/dist/ui/dev-wallet-connect.d.mts +2 -3
- package/dist/ui/dev-wallet-connect.d.mts.map +1 -1
- package/dist/ui/dev-wallet-connect.mjs +1 -1
- package/dist/ui/dev-wallet-connect.mjs.map +1 -1
- package/dist/ui/dev-wallet-dropdown.d.mts +2 -3
- package/dist/ui/dev-wallet-dropdown.d.mts.map +1 -1
- package/dist/ui/dev-wallet-dropdown.mjs +1 -1
- package/dist/ui/dev-wallet-dropdown.mjs.map +1 -1
- package/dist/ui/dev-wallet-fork-panel.d.mts +2 -3
- package/dist/ui/dev-wallet-fork-panel.d.mts.map +1 -1
- package/dist/ui/dev-wallet-fork-panel.mjs +1 -1
- package/dist/ui/dev-wallet-fork-panel.mjs.map +1 -1
- package/dist/ui/dev-wallet-network-badge.d.mts +2 -3
- package/dist/ui/dev-wallet-network-badge.d.mts.map +1 -1
- package/dist/ui/dev-wallet-network-badge.mjs +1 -1
- package/dist/ui/dev-wallet-network-badge.mjs.map +1 -1
- package/dist/ui/dev-wallet-new-account.d.mts +2 -3
- package/dist/ui/dev-wallet-new-account.d.mts.map +1 -1
- package/dist/ui/dev-wallet-new-account.mjs +1 -1
- package/dist/ui/dev-wallet-new-account.mjs.map +1 -1
- package/dist/ui/dev-wallet-objects.d.mts +2 -3
- package/dist/ui/dev-wallet-objects.d.mts.map +1 -1
- package/dist/ui/dev-wallet-objects.mjs +1 -1
- package/dist/ui/dev-wallet-objects.mjs.map +1 -1
- package/dist/ui/dev-wallet-panel.d.mts +2 -3
- package/dist/ui/dev-wallet-panel.d.mts.map +1 -1
- package/dist/ui/dev-wallet-panel.mjs +1 -1
- package/dist/ui/dev-wallet-panel.mjs.map +1 -1
- package/dist/ui/dev-wallet-popup.d.mts +2 -3
- package/dist/ui/dev-wallet-popup.d.mts.map +1 -1
- package/dist/ui/dev-wallet-popup.mjs +1 -1
- package/dist/ui/dev-wallet-popup.mjs.map +1 -1
- package/dist/ui/dev-wallet-settings.d.mts +2 -3
- package/dist/ui/dev-wallet-settings.d.mts.map +1 -1
- package/dist/ui/dev-wallet-settings.mjs +1 -1
- package/dist/ui/dev-wallet-settings.mjs.map +1 -1
- package/dist/ui/dev-wallet-signing-modal.d.mts +2 -3
- package/dist/ui/dev-wallet-signing-modal.d.mts.map +1 -1
- package/dist/ui/dev-wallet-signing-modal.mjs +1 -1
- package/dist/ui/dev-wallet-signing-modal.mjs.map +1 -1
- package/dist/ui/dev-wallet-signing.d.mts +2 -3
- package/dist/ui/dev-wallet-signing.d.mts.map +1 -1
- package/dist/ui/dev-wallet-signing.mjs +2 -1
- package/dist/ui/dev-wallet-signing.mjs.map +1 -1
- package/dist/ui/dev-wallet-standalone.d.mts +2 -3
- package/dist/ui/dev-wallet-standalone.d.mts.map +1 -1
- package/dist/ui/dev-wallet-standalone.mjs +1 -1
- package/dist/ui/dev-wallet-standalone.mjs.map +1 -1
- package/dist/ui/dev-wallet-tab-bar.d.mts +1 -2
- package/dist/ui/dev-wallet-tab-bar.d.mts.map +1 -1
- package/dist/ui/dev-wallet-tab-bar.mjs +1 -1
- package/dist/ui/dev-wallet-tab-bar.mjs.map +1 -1
- package/dist/ui/mount.mjs.map +1 -1
- package/dist/ui/styles.mjs.map +1 -1
- package/dist/ui/transaction-analyzer.mjs.map +1 -1
- package/dist/ui/utils.d.mts.map +1 -1
- package/dist/ui/utils.mjs.map +1 -1
- package/dist/ui/wallet-controller.mjs.map +1 -1
- package/dist/wallet/constants.d.mts.map +1 -1
- package/dist/wallet/constants.mjs.map +1 -1
- package/dist/wallet/dev-wallet.d.mts +19 -0
- package/dist/wallet/dev-wallet.d.mts.map +1 -1
- package/dist/wallet/dev-wallet.mjs +58 -2
- package/dist/wallet/dev-wallet.mjs.map +1 -1
- package/dist/wallet/initializer.d.mts.map +1 -1
- package/dist/wallet/initializer.mjs +10 -26
- package/dist/wallet/initializer.mjs.map +1 -1
- package/dist/wallet/mount-and-register.d.mts +44 -0
- package/dist/wallet/mount-and-register.d.mts.map +1 -0
- package/dist/wallet/mount-and-register.mjs +46 -0
- package/dist/wallet/mount-and-register.mjs.map +1 -0
- package/dist/wallet/signing.d.mts.map +1 -1
- package/dist/wallet/signing.mjs.map +1 -1
- package/package.json +26 -22
- package/src/adapters/devstack-paths.ts +0 -1
- package/src/index.ts +5 -0
- package/src/inject/index.ts +183 -0
- package/src/react/useDevWallet.ts +26 -71
- package/src/ui/dev-wallet-signing.ts +2 -0
- package/src/wallet/dev-wallet.ts +75 -2
- package/src/wallet/initializer.ts +16 -42
- package/src/wallet/mount-and-register.ts +93 -0
- package/dist/standalone/assets/in-memory-adapter-qRkNfj9O.js +0 -1
- package/dist/standalone/assets/main-DDltQnzR.js +0 -3954
- package/dist/standalone/assets/webcrypto-adapter-FejcrL9x.js +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/webcrypto-adapter-CUQmbHDy.js","assets/base-adapter-DET6CP7z.js","assets/in-memory-adapter-CX7xym4e.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,H as s,I as c,L as l,M as u,N as d,O as f,P as p,Q as m,R as h,S as g,T as _,U as v,V as y,W as b,X as ee,_ as te,a as ne,at as re,b as ie,c as ae,ct as oe,d as se,dt as x,et as ce,ft as S,g as le,h as ue,ht as de,it as fe,j as pe,k as me,l as he,lt as ge,m as _e,mt as ve,n as ye,nt as be,ot as C,p as xe,pt as w,r as Se,rt as Ce,st as we,t as Te,tt as Ee,u as De,ut as Oe,v as ke,w as Ae,x as je,y as Me,z as Ne}from"./base-adapter-DET6CP7z.js";var Pe=Object.defineProperty,Fe=(e,t)=>{let n={};for(var r in e)Pe(n,r,{get:e[r],enumerable:!0});return t||Pe(n,Symbol.toStringTag,{value:`Module`}),n};(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function Ie(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))}var Le=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=We(t),this._batchScheduleFn=Ge(t),this._cacheKeyFn=Ke(t),this._cacheMap=qe(t),this._batch=null,this.name=Je(t)}load(e){if(e==null)throw TypeError(`The loader.load() function must be called with a value, but got: ${String(e)}.`);let t=Be(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(!Ye(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}},Re=typeof process==`object`&&typeof process.nextTick==`function`?function(e){ze||=Promise.resolve(),ze.then(()=>{process.nextTick(e)})}:typeof setImmediate==`function`?function(e){setImmediate(e)}:function(e){setTimeout(e)},ze;function Be(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(()=>{Ve(e,n)}),n}function Ve(e,t){if(t.hasDispatched=!0,t.keys.length===0){Ue(t);return}let n;try{n=e._batchLoadFn(t.keys)}catch(n){return He(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 He(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(!Ye(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)}`);Ue(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=>{He(e,t,n)})}function He(e,t,n){Ue(t);for(let r=0;r<t.keys.length;r++)e.clear(t.keys[r]),t.callbacks[r].reject(n)}function Ue(e){if(e.cacheHits)for(let t=0;t<e.cacheHits.length;t++)e.cacheHits[t]()}function We(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 Ge(e){let t=e&&e.batchScheduleFn;if(t===void 0)return Re;if(typeof t!=`function`)throw TypeError(`batchScheduleFn must be a function: ${t}`);return t}function Ke(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 qe(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 Je(e){return e&&e.name?e.name:null}function Ye(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 Xe(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,n){let r=m.Address.serialize(e).toBytes(),i=m.TypeTag.serialize(t).toBytes(),a=m.u64().serialize(n.length).toBytes(),o=v.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(r),o.update(a),o.update(n),o.update(i),`0x${x(o.digest().slice(0,32))}`}var Qe=`0x0000000000000000000000000000000000000000000000000000000000000001`,$e=`0x0000000000000000000000000000000000000000000000000000000000000002`,et=`0x0000000000000000000000000000000000000000000000000000000000000006`,tt=`${$e}::sui::SUI`,nt=`0x0000000000000000000000000000000000000000000000000000000000000005`,rt=`0x0000000000000000000000000000000000000000000000000000000000000008`,it=`0x0000000000000000000000000000000000000000000000000000000000000403`,at=BigInt(0),T=BigInt(1),ot=BigInt(2),st=BigInt(8);function ct(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 lt(e,n={}){let a=n,o=ue(`edwards`,e,a,a.FpFnLE),{Fp:s,Fn:l}=o,d=o.CURVE,{h:p}=d;c(a,{},{uvRatio:`function`});let m=ot<<BigInt(l.BYTES*8)-T,h=e=>s.create(e),g=a.uvRatio===void 0?(e,t)=>{try{return{isValid:!0,value:s.sqrt(s.div(e,t))}}catch{return{isValid:!1,value:at}}}:a.uvRatio;if(!ct(s,d,d.Gx,d.Gy))throw Error(`bad curve params: generator point`);function v(e,t,n=!1){let i=n?T:at;return r(`coordinate `+e,t,i,m),t}function y(e){if(!(e instanceof b))throw Error(`EdwardsPoint expected`)}class b{static BASE=new b(d.Gx,d.Gy,T,h(d.Gx*d.Gy));static ZERO=new b(at,T,T,at);static Fp=s;static Fn=l;X;Y;Z;T;constructor(e,t,n,r){this.X=v(`x`,e),this.Y=v(`y`,t),this.Z=v(`z`,n,!0),this.T=v(`t`,r),Object.freeze(this)}static CURVE(){return d}static fromAffine(e){if(e instanceof b)throw Error(`extended point not allowed`);let{x:t,y:n}=e||{};return v(`x`,t),v(`y`,n),new b(t,n,T,h(t*n))}static fromBytes(e,n=!1){let i=s.BYTES,{a,d:o}=d;e=t(_(e,i,`point`)),Ae(n,`zip215`);let c=t(e),l=e[i-1];c[i-1]=l&-129;let u=f(c);r(`point.y`,u,at,n?m:s.ORDER);let p=h(u*u),{isValid:v,value:y}=g(h(p-T),h(o*p-a));if(!v)throw Error(`bad point: invalid y coordinate`);let ee=(y&T)===T,te=(l&128)!=0;if(!n&&y===at&&te)throw Error(`bad point: x=0 and x_0=1`);return te!==ee&&(y=h(-y)),b.fromAffine({x:y,y:u})}static fromHex(e,t=!1){return b.fromBytes(u(e),t)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return ee.createCache(this,e),t||this.multiply(ot),this}assertValidity(){let e=this,{a:t,d:n}=d;if(e.is0())throw Error(`bad point: ZERO`);let{X:r,Y:i,Z:a,T:o}=e,s=h(r*r),c=h(i*i),l=h(a*a),u=h(l*l);if(h(l*h(h(s*t)+c))!==h(u+h(n*h(s*c))))throw Error(`bad point: equation left != right (1)`);if(h(r*i)!==h(a*o))throw Error(`bad point: equation left != right (2)`)}equals(e){y(e);let{X:t,Y:n,Z:r}=this,{X:i,Y:a,Z:o}=e,s=h(t*o),c=h(i*r),l=h(n*o),u=h(a*r);return s===c&&l===u}is0(){return this.equals(b.ZERO)}negate(){return new b(h(-this.X),this.Y,this.Z,h(-this.T))}double(){let{a:e}=d,{X:t,Y:n,Z:r}=this,i=h(t*t),a=h(n*n),o=h(ot*h(r*r)),s=h(e*i),c=t+n,l=h(h(c*c)-i-a),u=s+a,f=u-o,p=s-a,m=h(l*f),g=h(u*p),_=h(l*p);return new b(m,g,h(f*u),_)}add(e){y(e);let{a:t,d:n}=d,{X:r,Y:i,Z:a,T:o}=this,{X:s,Y:c,Z:l,T:u}=e,f=h(r*s),p=h(i*c),m=h(o*n*u),g=h(a*l),_=h((r+i)*(s+c)-f-p),v=g-m,ee=g+m,te=h(p-t*f),ne=h(_*v),re=h(ee*te),ie=h(_*te);return new b(ne,re,h(v*ee),ie)}subtract(e){return y(e),this.add(e.negate())}multiply(e){if(!l.isValidNot0(e))throw RangeError(`invalid scalar: expected 1 <= sc < curve.n`);let{p:t,f:n}=ee.cached(this,e,e=>te(b,e));return te(b,[t,n])[0]}multiplyUnsafe(e){if(!l.isValid(e))throw RangeError(`invalid scalar: expected 0 <= sc < curve.n`);return e===at?b.ZERO:this.is0()||e===T?this:ee.unsafe(this,e,e=>te(b,e))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return ee.unsafe(this,d.n).is0()}toAffine(e){let t=this,n=e,{X:r,Y:i,Z:a}=t,o=t.is0();n??=o?st:s.inv(a);let c=h(r*n),l=h(i*n),u=s.mul(a,n);if(o)return{x:at,y:T};if(u!==T)throw Error(`invZ was invalid`);return{x:c,y:l}}clearCofactor(){return p===T?this:this.multiplyUnsafe(p)}toBytes(){let{x:e,y:t}=this.toAffine(),n=s.toBytes(t);return n[n.length-1]|=e&T?128:0,n}toHex(){return i(this.toBytes())}toString(){return`<Point ${this.is0()?`ZERO`:this.toHex()}>`}}let ee=new ke(b,l.BITS);return l.BITS>=8&&b.BASE.precompute(8),Object.freeze(b.prototype),Object.freeze(b),b}var ut=class{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){p()}static fromHex(e){p()}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 i(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 dt(e,t,n={}){if(typeof t!=`function`)throw Error(`"hash" function param is required`);let r=t,i=n;c(i,{},{adjustScalarBytes:`function`,randomBytes:`function`,domain:`function`,prehash:`function`,zip215:`boolean`,mapToCurve:`function`});let{prehash:s}=i,{BASE:l,Fp:u,Fn:p}=e,m=r.outputLen,h=2*u.BYTES;if(m!==void 0&&(a(m,`hash.outputLen`),m!==h))throw Error(`hash.outputLen must be ${h}, got ${m}`);let g=i.randomBytes===void 0?o:i.randomBytes,v=i.adjustScalarBytes===void 0?e=>e:i.adjustScalarBytes,y=i.domain===void 0?(e,t,n)=>{if(Ae(n,`phflag`),t.length||n)throw Error(`Contexts/pre-hash are not supported`);return e}:i.domain;function b(e){return p.create(f(e))}function ee(e){let t=x.secretKey;_(e,x.secretKey,`secretKey`);let n=_(r(e),2*t,`hashedSecretKey`),i=v(n.slice(0,t));return{head:i,prefix:n.slice(t,2*t),scalar:b(i)}}function te(e){let{head:t,prefix:n,scalar:r}=ee(e),i=l.multiply(r);return{head:t,prefix:n,scalar:r,point:i,pointBytes:i.toBytes()}}function ne(e){return te(e).pointBytes}function re(e=Uint8Array.of(),...t){return b(r(y(me(...t),_(e,void 0,`context`),!!s)))}function ie(e,t,n={}){e=_(e,void 0,`message`),s&&(e=s(e));let{prefix:r,scalar:i,pointBytes:a}=te(t),o=re(n.context,r,e),c=l.multiply(o).toBytes(),u=re(n.context,c,a,e),d=p.create(o+u*i);if(!p.isValid(d))throw Error(`sign failed: invalid s`);return _(me(c,p.toBytes(d)),x.signature,`result`)}let ae={zip215:i.zip215};function oe(t,n,r,i=ae){let{context:a}=i,o=i.zip215===void 0?!!ae.zip215:i.zip215,c=x.signature;t=_(t,c,`signature`),n=_(n,void 0,`message`),r=_(r,x.publicKey,`publicKey`),o!==void 0&&Ae(o,`zip215`),s&&(n=s(n));let u=c/2,d=t.subarray(0,u),p=f(t.subarray(u,c)),m,h,g;try{m=e.fromBytes(r,o),h=e.fromBytes(d,o),g=l.multiplyUnsafe(p)}catch{return!1}if(!o&&m.isSmallOrder())return!1;let v=re(a,d,r,n);return h.add(m.multiplyUnsafe(v)).subtract(g).clearCofactor().is0()}let se=u.BYTES,x={secretKey:se,publicKey:se,signature:2*se,seed:se};function ce(e){return e=e===void 0?g(x.seed):e,_(e,x.seed,`seed`)}function S(e){return d(e)&&e.length===x.secretKey}function ue(t,n){try{return!!e.fromBytes(t,n===void 0?ae.zip215:n)}catch{return!1}}let de={getExtendedPublicKey:te,randomSecretKey:ce,isValidSecretKey:S,isValidPublicKey:ue,toMontgomery(t){let{y:n}=e.fromBytes(t),r=x.publicKey,i=r===32;if(!i&&r!==57)throw Error(`only defined for 25519 and 448`);let a=i?u.div(T+n,T-n):u.div(n-T,n+T);return u.toBytes(a)},toMontgomerySecret(e){let t=x.secretKey;return _(e,t),v(r(e.subarray(0,t))).subarray(0,t)}};return Object.freeze(x),Object.freeze(de),Object.freeze({keygen:le(ce,ne),getPublicKey:ne,sign:ie,verify:oe,utils:de,Point:e,lengths:x})}var ft=BigInt(0),pt=BigInt(1),mt=BigInt(2),ht=BigInt(5),gt=BigInt(8),_t=BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed`),vt={p:_t,n:BigInt(`0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed`),h:gt,a:BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec`),d:BigInt(`0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3`),Gx:BigInt(`0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a`),Gy:BigInt(`0x6666666666666666666666666666666666666666666666666666666666666658`)};function yt(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),a=_t,o=e*e%a*e%a,s=g(g(o,mt,a)*o%a,pt,a)*e%a,c=g(s,ht,a)*s%a,l=g(c,t,a)*c%a,u=g(l,n,a)*l%a,d=g(u,r,a)*u%a;return{pow_p_5_8:g(g(g(g(d,i,a)*d%a,i,a)*d%a,t,a)*c%a,mt,a)*e%a,b2:o}}function bt(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var xt=BigInt(`19681161376707505956807079304988542015446066515923890162744021073123829784752`);function St(e,t){let n=_t,r=je(t*t*t,n),i=yt(e*je(r*r*t,n)).pow_p_5_8,a=je(e*r*i,n),o=je(t*a*a,n),s=a,c=je(a*xt,n),l=o===e,u=o===je(-e,n),d=o===je(-e*xt,n);return l&&(a=s),(u||d)&&(a=c),ie(a,n)&&(a=je(-a,n)),{isValid:l||u,value:a}}var Ct=lt(vt,{uvRatio:St}),wt=Ct.Fp,Tt=Ct.Fn;function Et(e){return dt(Ct,h,Object.assign({adjustScalarBytes:bt,zip215:!0},e))}var Dt=Et({}),Ot=xt,kt=BigInt(`25063068953384623474111414158702152701244531502492656460079210482610430750235`),At=BigInt(`54469307008909316920995813868745141605393597292927456921205312896311721017578`),jt=BigInt(`1159843021668779879193775521855586647937357759715417654439879720876111806838`),Mt=BigInt(`40440834346308536858101042469323190826248399146238708352240133220865137265952`),Nt=e=>St(pt,e),Pt=BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`),Ft=e=>wt.create(f(e)&Pt);function It(e){let{d:t}=vt,n=_t,r=e=>wt.create(e),i=r(Ot*e*e),a=r((i+pt)*jt),o=BigInt(-1),s=r((o-t*i)*r(i+t)),{isValid:c,value:l}=St(a,s),u=r(l*e);ie(u,n)||(u=r(-u)),c||(l=u),c||(o=i);let d=r(o*(i-pt)*Mt-s),f=l*l,p=r((l+l)*s),m=r(d*kt),h=r(pt-f),g=r(pt+f);return new Ct(r(p*g),r(h*m),r(m*g),r(p*h))}var Lt=class e extends ut{static BASE=new e(Ct.BASE);static ZERO=new e(Ct.ZERO);static Fp=wt;static Fn=Tt;constructor(e){super(e)}static fromAffine(t){return new e(Ct.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw Error(`RistrettoPoint expected`)}init(t){return new e(t)}static fromBytes(t){b(t,32);let{a:n,d:r}=vt,i=_t,a=e=>wt.create(e),o=Ft(t);if(!pe(wt.toBytes(o),t)||ie(o,i))throw Error(`invalid ristretto255 encoding 1`);let s=a(o*o),c=a(pt+n*s),l=a(pt-n*s),u=a(c*c),d=a(l*l),f=a(n*r*u-d),{isValid:p,value:m}=Nt(a(f*d)),h=a(m*l),g=a(m*h*f),_=a((o+o)*h);ie(_,i)&&(_=a(-_));let v=a(c*g),y=a(_*v);if(!p||ie(y,i)||v===ft)throw Error(`invalid ristretto255 encoding 2`);return new e(new Ct(_,v,pt,y))}static fromHex(t){return e.fromBytes(ee(t))}toBytes(){let{X:e,Y:t,Z:n,T:r}=this.ep,i=_t,a=e=>wt.create(e),o=a(a(n+t)*a(n-t)),s=a(e*t),{value:c}=Nt(a(o*a(s*s))),l=a(c*o),u=a(c*s),d=a(l*u*r),f;if(ie(r*d,i)){let n=a(t*Ot),r=a(e*Ot);e=n,t=r,f=a(l*At)}else f=u;ie(e*d,i)&&(t=a(-t));let p=a((n-t)*f);return ie(p,i)&&(p=a(-p)),wt.toBytes(p)}equals(e){this.assertSame(e);let{X:t,Y:n}=this.ep,{X:r,Y:i}=e.ep,a=e=>wt.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(Lt.BASE),Object.freeze(Lt.ZERO),Object.freeze(Lt.prototype),Object.freeze(Lt);var Rt=Object.freeze({Point:Lt,hashToCurve(e,t){let n=_e(e,t?.DST===void 0?`ristretto255_XMD:SHA-512_R255MAP_RO_`:t.DST,64,h);return Rt.deriveToCurve(n)},hashToScalar(e,t={DST:xe}){let n=_e(e,t.DST,64,h);return Tt.create(f(n))},deriveToCurve(e){b(e,64);let t=It(Ft(e.subarray(0,32))),n=It(Ft(e.subarray(32,64)));return new Lt(t.add(n))}}),zt=32,Bt=class extends Ne{static{this.SIZE=zt}constructor(e){if(super(),typeof e==`string`?this.data=S(e):e instanceof Uint8Array?this.data=e:this.data=Uint8Array.from(e),this.data.length!==zt)throw Error(`Invalid public key input. Expected ${zt} bytes, got ${this.data.length}`)}equals(e){return super.equals(e)}toRawBytes(){return this.data}flag(){return s.ED25519}async verify(e,t){let r;if(typeof t==`string`){let e=y(t);if(e.signatureScheme!==`ED25519`)throw Error(`Invalid signature scheme`);if(!n(this.toRawBytes(),e.publicKey))throw Error(`Signature does not match public key`);r=e.signature}else r=t;return Dt.verify(r,e,this.toRawBytes())}},Vt={p:BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),n:BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt(`0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798`),Gy:BigInt(`0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8`)},Ht={beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),basises:[[BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),-BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`)],[BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),BigInt(`0x3086d221a7d46bcde86c90e49284eb15`)]]},Ut=BigInt(2);function Wt(e){let t=Vt.p,n=BigInt(3),r=BigInt(6),i=BigInt(11),a=BigInt(22),o=BigInt(23),s=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,d=g(g(g(u,n,t)*u%t,n,t)*u%t,Ut,t)*l%t,f=g(d,i,t)*d%t,p=g(f,a,t)*f%t,m=g(p,s,t)*p%t,h=g(g(g(g(g(g(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,Ut,t);if(!Gt.eql(Gt.sqr(h),e))throw Error(`Cannot find square root`);return h}var Gt=Me(Vt.p,{sqrt:Wt}),Kt=De(se(Vt,{Fp:Gt,endo:Ht}),l),qt=33,Jt=class extends Ne{static{this.SIZE=qt}constructor(e){if(super(),typeof e==`string`?this.data=S(e):e instanceof Uint8Array?this.data=e:this.data=Uint8Array.from(e),this.data.length!==qt)throw Error(`Invalid public key input. Expected ${qt} bytes, got ${this.data.length}`)}equals(e){return super.equals(e)}toRawBytes(){return this.data}flag(){return s.Secp256k1}async verify(e,t){let r;if(typeof t==`string`){let e=y(t);if(e.signatureScheme!==`Secp256k1`)throw Error(`Invalid signature scheme`);if(!n(this.toRawBytes(),e.publicKey))throw Error(`Signature does not match public key`);r=e.signature}else r=t;return Kt.verify(r,e,this.toRawBytes())}},Yt=33,Xt=class extends Ne{static{this.SIZE=Yt}constructor(e){if(super(),typeof e==`string`?this.data=S(e):e instanceof Uint8Array?this.data=e:this.data=Uint8Array.from(e),this.data.length!==Yt)throw Error(`Invalid public key input. Expected ${Yt} bytes, got ${this.data.length}`)}equals(e){return super.equals(e)}toRawBytes(){return this.data}flag(){return s.Secp256r1}async verify(e,t){let r;if(typeof t==`string`){let e=ae(t);if(e.signatureScheme!==`Secp256r1`)throw Error(`Invalid signature scheme`);if(!n(this.toRawBytes(),e.publicKey))throw Error(`Signature does not match public key`);r=e.signature}else r=t;return he.verify(r,e,this.toRawBytes())}},Zt,Qt={lang:void 0,message:void 0,abortEarly:void 0,abortPipeEarly:void 0};function $t(e){return!e&&!Zt?Qt:{lang:e?.lang??Zt?.lang,message:e?.message,abortEarly:e?.abortEarly??Zt?.abortEarly,abortPipeEarly:e?.abortPipeEarly??Zt?.abortPipeEarly}}var en;function tn(e){return en?.get(e)}var nn;function rn(e){return nn?.get(e)}var an;function on(e,t){return an?.get(e)?.get(t)}function sn(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 E(e,t,n,r,i){let a=i&&`input`in i?i.input:n.value,o=i?.expected??e.expects??null,s=i?.received??sn(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??on(e.reference,c.lang)??(l?rn(c.lang):null)??r.message??tn(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 cn=new WeakMap;function D(e){let t=cn.get(e);return t||(t={version:1,vendor:`valibot`,validate(t){return e[`~run`]({value:t},$t())}},cn.set(e,t)),t}function ln(e,t){return Object.prototype.hasOwnProperty.call(e,t)&&t!==`__proto__`&&t!==`prototype`&&t!==`constructor`}function un(e,t){let n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??`never`}var dn=class extends Error{constructor(e){super(e[0].message),this.name=`ValiError`,this.issues=e}},fn=/^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$/iu;function pn(e,t){return{kind:`validation`,type:`check`,reference:pn,async:!1,expects:null,requirement:e,message:t,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&E(this,`input`,e,t),e}}}function O(e){return{kind:`validation`,type:`integer`,reference:O,async:!1,expects:null,requirement:Number.isInteger,message:e,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&E(this,`integer`,e,t),e}}}function mn(e){return{kind:`transformation`,type:`transform`,reference:mn,async:!1,operation:e,"~run"(e){return e.value=this.operation(e.value),e}}}function hn(e){return{kind:`validation`,type:`url`,reference:hn,async:!1,expects:null,requirement(e){try{return new URL(e),!0}catch{return!1}},message:e,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&E(this,`URL`,e,t),e}}}function gn(e){return{kind:`validation`,type:`uuid`,reference:gn,async:!1,expects:null,requirement:fn,message:e,"~run"(e,t){return e.typed&&!this.requirement.test(e.value)&&E(this,`UUID`,e,t),e}}}var _n={abortEarly:!0};function vn(e,t,n){return typeof e.fallback==`function`?e.fallback(t,n):e.fallback}function yn(e,t,n){return typeof e.default==`function`?e.default(t,n):e.default}function bn(e,t){return!e[`~run`]({value:t},_n).issues}function k(e,t){return{kind:`schema`,type:`array`,reference:k,expects:`Array`,async:!1,item:e,message:t,get"~standard"(){return D(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 E(this,`type`,e,t);return e}}}function xn(e){return{kind:`schema`,type:`bigint`,reference:xn,expects:`bigint`,async:!1,message:e,get"~standard"(){return D(this)},"~run"(e,t){return typeof e.value==`bigint`?e.typed=!0:E(this,`type`,e,t),e}}}function Sn(e){return{kind:`schema`,type:`boolean`,reference:Sn,expects:`boolean`,async:!1,message:e,get"~standard"(){return D(this)},"~run"(e,t){return typeof e.value==`boolean`?e.typed=!0:E(this,`type`,e,t),e}}}function Cn(e){return{kind:`schema`,type:`lazy`,reference:Cn,expects:`unknown`,async:!1,getter:e,get"~standard"(){return D(this)},"~run"(e,t){return this.getter(e.value)[`~run`](e,t)}}}function A(e,t){return{kind:`schema`,type:`literal`,reference:A,expects:sn(e),async:!1,literal:e,message:t,get"~standard"(){return D(this)},"~run"(e,t){return e.value===this.literal?e.typed=!0:E(this,`type`,e,t),e}}}function wn(e){return{kind:`schema`,type:`null`,reference:wn,expects:`null`,async:!1,message:e,get"~standard"(){return D(this)},"~run"(e,t){return e.value===null?e.typed=!0:E(this,`type`,e,t),e}}}function j(e,t){return{kind:`schema`,type:`nullable`,reference:j,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return D(this)},"~run"(e,t){return e.value===null&&(this.default!==void 0&&(e.value=yn(this,e,t)),e.value===null)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function Tn(e,t){return{kind:`schema`,type:`nullish`,reference:Tn,expects:`(${e.expects} | null | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return D(this)},"~run"(e,t){return(e.value===null||e.value===void 0)&&(this.default!==void 0&&(e.value=yn(this,e,t)),e.value===null||e.value===void 0)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function M(e){return{kind:`schema`,type:`number`,reference:M,expects:`number`,async:!1,message:e,get"~standard"(){return D(this)},"~run"(e,t){return typeof e.value==`number`&&!isNaN(e.value)?e.typed=!0:E(this,`type`,e,t),e}}}function N(e,t){return{kind:`schema`,type:`object`,reference:N,expects:`Object`,async:!1,entries:e,message:t,get"~standard"(){return D(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]:yn(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]=vn(i);else if(i.type!==`exact_optional`&&i.type!==`optional`&&i.type!==`nullish`&&(E(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 E(this,`type`,e,t);return e}}}function P(e,t){return{kind:`schema`,type:`optional`,reference:P,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return D(this)},"~run"(e,t){return e.value===void 0&&(this.default!==void 0&&(e.value=yn(this,e,t)),e.value===void 0)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function En(e,t){return{kind:`schema`,type:`picklist`,reference:En,expects:un(e.map(sn),`|`),async:!1,options:e,message:t,get"~standard"(){return D(this)},"~run"(e,t){return this.options.includes(e.value)?e.typed=!0:E(this,`type`,e,t),e}}}function Dn(e,t,n){return{kind:`schema`,type:`record`,reference:Dn,expects:`Object`,async:!1,key:e,value:t,message:n,get"~standard"(){return D(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in n)if(ln(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 E(this,`type`,e,t);return e}}}function F(e){return{kind:`schema`,type:`string`,reference:F,expects:`string`,async:!1,message:e,get"~standard"(){return D(this)},"~run"(e,t){return typeof e.value==`string`?e.typed=!0:E(this,`type`,e,t),e}}}function On(e,t){return{kind:`schema`,type:`tuple`,reference:On,expects:`Array`,async:!1,items:e,message:t,get"~standard"(){return D(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 E(this,`type`,e,t);return e}}}function kn(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 An(e,t){return{kind:`schema`,type:`union`,reference:An,expects:un(e.map(e=>e.expects),`|`),async:!1,options:e,message:t,get"~standard"(){return D(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];E(this,`type`,e,t,{issues:kn(r)}),e.typed=!0}else if(i?.length===1)return i[0];else E(this,`type`,e,t,{issues:kn(i)});return e}}}function jn(){return{kind:`schema`,type:`unknown`,reference:jn,expects:`unknown`,async:!1,get"~standard"(){return D(this)},"~run"(e){return e.typed=!0,e}}}function Mn(e,t,n){return{kind:`schema`,type:`variant`,reference:Mn,expects:`Object`,async:!1,key:e,options:t,message:n,get"~standard"(){return D(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]},_n).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;E(this,`type`,e,t,{input:n[a],expected:un(o,`|`),path:[{type:`object`,origin:`value`,input:n,key:a,value:n[a]}]})}else E(this,`type`,e,t);return e}}}function I(e,t,n){let r=e[`~run`]({value:t},$t(n));if(r.issues)throw new dn(r.issues);return r.value}function L(...e){return{...e[0],pipe:e,get"~standard"(){return D(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 Nn(e){return An(Object.keys(e).map(t=>Pn(t,N({[t]:e[t]}))))}function Pn(e,t){return L(N({...t.entries,$kind:P(A(e))}),mn(t=>({...t,$kind:e})))}var Fn=L(F(),mn(e=>C(e)),pn(fe)),R=Fn,In=F(),z=L(An([F(),L(M(),O())]),pn(e=>{try{return BigInt(e),BigInt(e)>=0&&BigInt(e)<=18446744073709551615n}catch{return!1}},`Invalid u64`)),Ln=L(M(),O(),pn(e=>e>=0&&e<2**32,`Invalid u32`)),Rn=N({objectId:Fn,version:z,digest:F()}),B=An([Pn(`GasCoin`,N({GasCoin:A(!0)})),Pn(`Input`,N({Input:L(M(),O()),type:P(An([A(`pure`),A(`object`),A(`withdrawal`)]))})),Pn(`Result`,N({Result:L(M(),O())})),Pn(`NestedResult`,N({NestedResult:On([L(M(),O()),L(M(),O())])}))]),zn=N({budget:j(z),price:j(z),owner:j(Fn),payment:j(k(Rn))}),Bn=An([N({$kind:A(`address`)}),N({$kind:A(`bool`)}),N({$kind:A(`u8`)}),N({$kind:A(`u16`)}),N({$kind:A(`u32`)}),N({$kind:A(`u64`)}),N({$kind:A(`u128`)}),N({$kind:A(`u256`)}),N({$kind:A(`unknown`)}),N({$kind:A(`vector`),vector:Cn(()=>Bn)}),N({$kind:A(`datatype`),datatype:N({typeName:F(),typeParameters:k(Cn(()=>Bn))})}),N({$kind:A(`typeParameter`),index:L(M(),O())})]),Vn=Nn({MoveCall:N({package:R,module:F(),function:F(),typeArguments:k(F()),arguments:k(B),_argumentTypes:P(j(k(N({reference:j(An([A(`mutable`),A(`immutable`),A(`unknown`)])),body:Bn}))))}),TransferObjects:N({objects:k(B),address:B}),SplitCoins:N({coin:B,amounts:k(B)}),MergeCoins:N({destination:B,sources:k(B)}),Publish:N({modules:k(In),dependencies:k(R)}),MakeMoveVec:N({type:j(F()),elements:k(B)}),Upgrade:N({modules:k(In),dependencies:k(R),package:R,ticket:B}),$Intent:N({name:F(),inputs:Dn(F(),An([B,k(B)])),data:Dn(F(),jn())})}),Hn=Nn({ImmOrOwnedObject:Rn,SharedObject:N({objectId:R,initialSharedVersion:z,mutable:Sn()}),Receiving:Rn}),Un=N({reservation:Nn({MaxAmountU64:z}),typeArg:Nn({Balance:F()}),withdrawFrom:Nn({Sender:A(!0),Sponsor:A(!0)})}),Wn=Nn({Object:Hn,Pure:N({bytes:In}),UnresolvedPure:N({value:jn()}),UnresolvedObject:N({objectId:R,version:P(j(z)),digest:P(j(F())),initialSharedVersion:P(j(z)),mutable:P(j(Sn()))}),FundsWithdrawal:Un}),Gn=Nn({Object:Hn,Pure:N({bytes:In})}),Kn=N({minEpoch:j(z),maxEpoch:j(z),minTimestamp:j(z),maxTimestamp:j(z),chain:F(),nonce:Ln}),qn=Nn({None:A(!0),Epoch:z,ValidDuring:Kn}),Jn=N({version:A(2),sender:Tn(Fn),expiration:Tn(qn),gasData:zn,inputs:k(Wn),commands:k(Vn)});function Yn(e){if(typeof e==`string`)return C(e);if(e.Object)return e.Object.ImmOrOwnedObject?C(e.Object.ImmOrOwnedObject.objectId):e.Object.Receiving?C(e.Object.Receiving.objectId):C(e.Object.SharedObject.objectId);if(e.UnresolvedObject)return C(e.UnresolvedObject.objectId)}function Xn(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 Zn=N({digest:F(),objectId:F(),version:An([L(M(),O()),F(),xn()])}),Qn=Nn({Object:Nn({ImmOrOwned:Zn,Shared:N({objectId:R,initialSharedVersion:z,mutable:Sn()}),Receiving:Zn}),Pure:k(L(M(),O()))}),$n=An([N({bool:j(A(!0))}),N({u8:j(A(!0))}),N({u64:j(A(!0))}),N({u128:j(A(!0))}),N({address:j(A(!0))}),N({signer:j(A(!0))}),N({vector:Cn(()=>$n)}),N({struct:Cn(()=>er)}),N({u16:j(A(!0))}),N({u32:j(A(!0))}),N({u256:j(A(!0))})]),er=N({address:F(),module:F(),name:F(),typeParams:k($n)});function tr(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(S(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:Ee.parseFromStr(e.MakeMoveVec.type)},objects:e.MakeMoveVec.elements.map(e=>nr(e,t))};if(e.MergeCoins)return{kind:`MergeCoins`,destination:nr(e.MergeCoins.destination,t),sources:e.MergeCoins.sources.map(e=>nr(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=>nr(e,t))};if(e.Publish)return{kind:`Publish`,modules:e.Publish.modules.map(e=>Array.from(S(e))),dependencies:e.Publish.dependencies};if(e.SplitCoins)return{kind:`SplitCoins`,coin:nr(e.SplitCoins.coin,t),amounts:e.SplitCoins.amounts.map(e=>nr(e,t))};if(e.TransferObjects)return{kind:`TransferObjects`,objects:e.TransferObjects.objects.map(e=>nr(e,t)),address:nr(e.TransferObjects.address,t)};if(e.Upgrade)return{kind:`Upgrade`,modules:e.Upgrade.modules.map(e=>Array.from(S(e))),dependencies:e.Upgrade.dependencies,packageId:e.Upgrade.package,ticket:nr(e.Upgrade.ticket,t)};throw Error(`Unknown transaction ${Object.keys(e)}`)})}}function nr(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 rr(e){return I(Jn,{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(bn(Qn,e.value)){let t=I(Qn,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:w(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?Ee.tagToString(e.type.Some):null,elements:e.objects.map(e=>ir(e))}};case`MergeCoins`:return{MergeCoins:{destination:ir(e.destination),sources:e.sources.map(e=>ir(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=>ir(e))}}}case`Publish`:return{Publish:{modules:e.modules.map(e=>w(Uint8Array.from(e))),dependencies:e.dependencies}};case`SplitCoins`:return{SplitCoins:{coin:ir(e.coin),amounts:e.amounts.map(e=>ir(e))}};case`TransferObjects`:return{TransferObjects:{objects:e.objects.map(e=>ir(e)),address:ir(e.address)}};case`Upgrade`:return{Upgrade:{modules:e.modules.map(e=>w(Uint8Array.from(e))),dependencies:e.dependencies,package:e.packageId,ticket:ir(e.ticket)}}}throw Error(`Unknown transaction ${Object.keys(e)}`)})})}function ir(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 ar(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),v(r,{dkLen:32})}function or(e){return C(e).replace(`0x`,``)}var sr=class e{static fromKindBytes(t){let n=m.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=m.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(I(Jn,t)):new e(I(Jn,rr(t)))}static getDigestFromBytes(e){return de(ar(`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 m.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:or(s),expiration:o||{None:!0},gasData:{payment:c.payment,owner:or(this.gasData.owner??s),price:BigInt(c.price),budget:BigInt(c.budget)},kind:{ProgrammableTransaction:{inputs:r,commands:i}}};return m.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 I(B,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=Yn(r),a=-1;if(i!==void 0&&(a=this.inputs.findIndex(e=>Yn(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]);Xn(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 I(Jn,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(C(e.objectId)!==C(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(C(e.objectId)!==C(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}}}},V={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=>I(B,e)),address:I(B,t)}}},SplitCoins(e,t){return{$kind:`SplitCoins`,SplitCoins:{coin:I(B,e),amounts:t.map(e=>I(B,e))}}},MergeCoins(e,t){return{$kind:`MergeCoins`,MergeCoins:{destination:I(B,e),sources:t.map(e=>I(B,e))}}},Publish({modules:e,dependencies:t}){return{$kind:`Publish`,Publish:{modules:e.map(e=>typeof e==`string`?e:w(new Uint8Array(e))),dependencies:t.map(e=>we(e))}}},Upgrade({modules:e,dependencies:t,package:n,ticket:r}){return{$kind:`Upgrade`,Upgrade:{modules:e.map(e=>typeof e==`string`?e:w(new Uint8Array(e))),dependencies:t.map(e=>we(e)),package:n,ticket:I(B,r)}}},MakeMoveVec({type:e,elements:t}){return{$kind:`MakeMoveVec`,MakeMoveVec:{type:e??null,elements:t.map(e=>I(B,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=>I(B,e)):I(B,t)])),data:n}}}};function cr(e){return{$kind:`Pure`,Pure:{bytes:e instanceof Uint8Array?w(e):e.toBase64()}}}var H={Pure:cr,ObjectRef({objectId:e,digest:t,version:n}){return{$kind:`Object`,Object:{$kind:`ImmOrOwnedObject`,ImmOrOwnedObject:{digest:t,version:n,objectId:C(e)}}}},SharedObjectRef({objectId:e,mutable:t,initialSharedVersion:n}){return{$kind:`Object`,Object:{$kind:`SharedObject`,SharedObject:{mutable:t,initialSharedVersion:n,objectId:C(e)}}}},ReceivingRef({objectId:e,digest:t,version:n}){return{$kind:`Object`,Object:{$kind:`Receiving`,Receiving:{digest:t,version:n,objectId:C(e)}}}},FundsWithdrawal({reservation:e,typeArg:t,withdrawFrom:n}){return{$kind:`FundsWithdrawal`,FundsWithdrawal:{reservation:e,typeArg:t,withdrawFrom:n}}}};function lr(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 ur(e){if(e.body.$kind!==`datatype`)return!1;let{package:t,module:n,name:r}=lr(e.body.datatype.typeName);return C(t)===`0x0000000000000000000000000000000000000000000000000000000000000002`&&n===`tx_context`&&r===`TxContext`}function dr(e){switch(e.$kind){case`address`:return m.Address;case`bool`:return m.Bool;case`u8`:return m.U8;case`u16`:return m.U16;case`u32`:return m.U32;case`u64`:return m.U64;case`u128`:return m.U128;case`u256`:return m.U256;case`vector`:{if(e.vector.$kind===`u8`)return m.byteVector().transform({input:e=>typeof e==`string`?new TextEncoder().encode(e):e,output:e=>e});let t=dr(e.vector);return t?m.vector(t):null}case`datatype`:{let{package:t,module:n,name:r}=lr(e.datatype.typeName),i=C(t);if(i===`0x0000000000000000000000000000000000000000000000000000000000000001`){if(n===`ascii`&&r===`String`||n===`string`&&r===`String`)return m.String;if(n===`option`&&r===`Option`){let t=dr(e.datatype.typeParameters[0]);return t?m.vector(t):null}}return i===`0x0000000000000000000000000000000000000000000000000000000000000002`&&n===`object`&&r===`ID`?m.Address:null}case`typeParameter`:case`unknown`:return null}}var fr=`CoinWithBalance`,pr=re(`0x2::sui::SUI`);function mr({type:e=pr,balance:t,useGasCoin:n=!0}){let r=null;return i=>{if(r)return r;i.addIntentResolver(fr,_r);let a=e===`gas`?e:re(e);return r=i.add(V.Intent({name:fr,inputs:{},data:{type:a===pr&&n?`gas`:a,balance:BigInt(t),outputKind:`coin`}})),r}}function hr({type:e=pr,balance:t,useGasCoin:n=!0}){let r=null;return i=>{if(r)return r;i.addIntentResolver(fr,_r);let a=e===`gas`?e:re(e);return r=i.add(V.Intent({name:fr,inputs:{},data:{type:a===pr&&n?`gas`:a,balance:BigInt(t),outputKind:`balance`}})),r}}var gr=N({type:F(),balance:xn(),outputKind:P(En([`coin`,`balance`]))});async function _r(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}=I(gr,n.$Intent.data);if(s===0n){let n=o===`gas`?pr:o;e.replaceCommand(t,V.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(pr))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 vr({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:pr}).then(({balance:e})=>{c.set(`gas`,BigInt(e.addressBalance))}):null]);let u=new Map,d=new Map,f=new Set,p=new Map,h=0;for(;h<e.commands.length;){let t=e.commands[h];if(t.$kind!==`$Intent`||t.$Intent.name!==`CoinWithBalance`){h++;continue}let{type:n,balance:r}=t.$Intent.data,o=n===`gas`?pr:n,l=i.get(n),g=c.get(n)??0n,_=[],v,y=a.get(n)??[];if(y.every(e=>e.outputKind===`balance`)&&g>=l)_.push(V.MoveCall({target:`0x2::balance::redeem_funds`,typeArguments:[o],arguments:[e.addInput(`withdrawal`,H.FundsWithdrawal({reservation:{$kind:`MaxAmountU64`,MaxAmountU64:String(r)},typeArg:{$kind:`Balance`,Balance:o},withdrawFrom:{$kind:`Sender`,Sender:!0}}))]})),v={$kind:`NestedResult`,NestedResult:[h+_.length-1,0]};else{if(!p.has(n)){let t=y,r=[];if(g>=l)f.add(n),_.push(V.MoveCall({target:`0x2::coin::redeem_funds`,typeArguments:[o],arguments:[e.addInput(`withdrawal`,H.FundsWithdrawal({reservation:{$kind:`MaxAmountU64`,MaxAmountU64:String(l)},typeArg:{$kind:`Balance`,Balance:o},withdrawFrom:{$kind:`Sender`,Sender:!0}}))]})),r.push({$kind:`Result`,Result:h+_.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`,H.ObjectRef({objectId:n.objectId,digest:n.digest,version:n.version})));a>0n&&(f.add(n),_.push(V.MoveCall({target:`0x2::coin::redeem_funds`,typeArguments:[o],arguments:[e.addInput(`withdrawal`,H.FundsWithdrawal({reservation:{$kind:`MaxAmountU64`,MaxAmountU64:String(a)},typeArg:{$kind:`Balance`,Balance:o},withdrawFrom:{$kind:`Sender`,Sender:!0}}))]})),r.push({$kind:`Result`,Result:h+_.length-1}))}let i=r[0],a=r.slice(1);for(let e=0;e<a.length;e+=500)_.push(V.MergeCoins(i,a.slice(e,e+500)));u.set(n,i);let c=h+_.length;_.push(V.SplitCoins(i,t.map(t=>e.addInput(`pure`,H.Pure(m.u64().serialize(t.balance))))));let v=[];for(let e=0;e<t.length;e++){let n={$kind:`NestedResult`,NestedResult:[c,e]};t[e].outputKind===`balance`?(_.push(V.MoveCall({target:`0x2::coin::into_balance`,typeArguments:[o],arguments:[n]})),v.push({$kind:`NestedResult`,NestedResult:[h+_.length-1,0]})):v.push(n)}p.set(n,{results:v,nextIntent:0})}let t=p.get(n);v=t.results[t.nextIntent++]}e.replaceCommand(h,_,v),h+=_.length}for(let[t,n]of u){if(t===`gas`&&!f.has(t))continue;let r=t===`gas`?pr:t,i=a.get(t)?.some(e=>e.outputKind===`balance`),o=f.has(t);i||o?e.commands.push(V.MoveCall({target:`0x2::coin::send_funds`,typeArguments:[r],arguments:[n,e.addInput(`pure`,H.Pure(m.Address.serialize(e.sender)))]})):d.get(t)&&e.commands.push(V.MoveCall({target:`0x2::coin::destroy_zero`,typeArguments:[r],arguments:[n]}))}return n()}async function vr({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 yr(e){return An(Object.entries(e).map(([e,t])=>N({[e]:t})))}var br=yr({GasCoin:A(!0),Input:L(M(),O()),Result:L(M(),O()),NestedResult:On([L(M(),O()),L(M(),O())])}),xr=N({budget:j(z),price:j(z),owner:j(Fn),payment:j(k(Rn))}),Sr=yr({MoveCall:N({package:R,module:F(),function:F(),typeArguments:k(F()),arguments:k(br)}),TransferObjects:N({objects:k(br),address:br}),SplitCoins:N({coin:br,amounts:k(br)}),MergeCoins:N({destination:br,sources:k(br)}),Publish:N({modules:k(In),dependencies:k(R)}),MakeMoveVec:N({type:j(F()),elements:k(br)}),Upgrade:N({modules:k(In),dependencies:k(R),package:R,ticket:br}),$Intent:N({name:F(),inputs:Dn(F(),An([br,k(br)])),data:Dn(F(),jn())})}),Cr=yr({Object:yr({ImmOrOwnedObject:Rn,SharedObject:N({objectId:R,initialSharedVersion:z,mutable:Sn()}),Receiving:Rn}),Pure:N({bytes:In}),UnresolvedPure:N({value:jn()}),UnresolvedObject:N({objectId:R,version:P(j(z)),digest:P(j(F())),initialSharedVersion:P(j(z)),mutable:P(j(Sn()))}),FundsWithdrawal:Un}),wr=yr({None:A(!0),Epoch:z,ValidDuring:Kn}),Tr=N({version:A(2),sender:Tn(Fn),expiration:Tn(wr),gasData:xr,inputs:k(Cr),commands:k(Sr),digest:P(j(F()))}),Er=class extends Error{},Dr=class extends Er{constructor(e,t){super(e,{cause:t?.cause}),this.executionError=t?.executionError}},Or=C(`0xacc`),kr=Ee.parseFromStr(`0x2::accumulator::Key<0x2::balance::Balance<0x2::sui::SUI>>`),Ar=new Uint8Array([172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172]);function jr(e,t){let n=Oe(Ze(Or,kr,m.Address.serialize(e).toBytes()).slice(2)),r=ve(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${x(i)}`}function Mr(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(Ar,12),I(Rn,{objectId:jr(t,n),version:`0`,digest:de(i)})}var Nr=50,Pr=1000n,Fr=5e10;function Ir(e,t=1n){let n=Pr*BigInt(t),r=BigInt(e.computationCost)+n,i=r+BigInt(e.storageCost)-BigInt(e.storageRebate);return String(i>r?i:r)}function Lr(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 Rr(e,t,n){let r=Lr(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?C(o):null;for(let t of e.inputs){if(t.$kind!==`FundsWithdrawal`||!l||re(t.FundsWithdrawal.typeArg.Balance)!==tt)continue;let n=t.FundsWithdrawal.withdrawFrom.Sender?e.sender:o;n&&C(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([Wr(e,r),d?r.core.getCurrentSystemState():null,a&&o?r.core.getBalance({owner:o}):null,a&&o?r.core.listCoins({owner:o,coinType:tt}):null,f?r.core.getChainIdentifier():null]);if(await Ur(e,r),!t.onlyTransactionKind){let t=p?.systemState??null,n=g?.chainIdentifier??null;if(t&&!e.gasData.price&&(e.gasData.price=t.referenceGasPrice),await zr(e,r,u&&t&&n?Hr(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.`);Br({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 Vr(e,r,t,n)}return await n()}async function zr(e,t,n){if(e.gasData.budget)return;let r=await t.core.simulateTransaction({transaction:e.build({overrides:{gasData:{budget:String(Fr),payment:[]},...n&&{expiration:n}}}),include:{effects:!0}});if(r.$kind===`FailedTransaction`){let e=r.FailedTransaction.status.error??void 0;throw new Dr(`Transaction resolution failed: ${e?.message??`Unknown error`}`,{cause:r,executionError:e})}e.gasData.budget=Ir(r.Transaction.effects.gasUsed,e.gasData.price?String(e.gasData.price):void 0)}function Br({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=[Mr(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 Vr(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=Hr(a,i)}function Hr(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 Ur(e,t){let n=e.inputs.filter(e=>e.UnresolvedObject&&!(e.UnresolvedObject.version||e.UnresolvedObject?.initialSharedVersion)),r=[...new Set(n.map(e=>we(e.UnresolvedObject.objectId)))],i=r.length?Ie(r,Nr):[],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=C(n.UnresolvedObject.objectId),a=l.get(i);n.UnresolvedObject.initialSharedVersion??a?.initialSharedVersion?r=H.SharedObjectRef({objectId:i,initialSharedVersion:n.UnresolvedObject.initialSharedVersion||a?.initialSharedVersion,mutable:n.UnresolvedObject.mutable||Gr(e,t)}):Kr(e,t)&&(r=H.ReceivingRef({objectId:i,digest:n.UnresolvedObject.digest??a?.digest,version:n.UnresolvedObject.version??a?.version})),e.inputs[e.inputs.indexOf(n)]=r??H.ObjectRef({objectId:i,digest:n.UnresolvedObject.digest??a?.digest,version:n.UnresolvedObject.version??a?.version})}}async function Wr(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&&ur(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=dr(e.body);if(s){i.type=`pure`,n[n.indexOf(a)]=H.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 Gr(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 Kr(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=Jr(t.MoveCall._argumentTypes[r])||n}}),n}var qr=`0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving`;function Jr(e){return e.body.$kind===`datatype`?e.body.datatype.typeName===qr:!1}function Yr(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 Xr(e,t,n){return $r(e),Yr(e,t)?(Qr(t).core?.resolveTransactionPlugin()??Rr)(e,t,async()=>{await Zr(e),await n()}):(await Zr(e),n())}function Zr(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 Qr(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 $r(e){for(let t of e.commands)switch(t.$kind){case`SplitCoins`:t.SplitCoins.amounts.forEach(t=>{ei(t,m.U64,e)});break;case`TransferObjects`:ei(t.TransferObjects.address,m.Address,e);break}}function ei(e,t,n){if(e.$kind!==`Input`)return;let r=n.inputs[e.Input];r.$kind===`UnresolvedPure`&&(n.inputs[e.Input]=H.Pure(t.serialize(r.UnresolvedPure.value)))}function ti(e){function t(t){return e(t)}return t.system=e=>{let n=e?.mutable;return t(n===void 0?{$kind:`UnresolvedObject`,UnresolvedObject:{objectId:nt,initialSharedVersion:1}}:H.SharedObjectRef({objectId:nt,initialSharedVersion:1,mutable:n}))},t.clock=()=>t(H.SharedObjectRef({objectId:et,initialSharedVersion:1,mutable:!1})),t.random=()=>t({$kind:`UnresolvedObject`,UnresolvedObject:{objectId:rt,mutable:!1}}),t.denyList=e=>t({$kind:`UnresolvedObject`,UnresolvedObject:{objectId:it,mutable:e?.mutable}}),t.option=({type:e,value:t})=>n=>n.moveCall({typeArguments:[e],target:`${Qe}::option::${t===null?`none`:`some`}`,arguments:t===null?[]:[n.object(t)]}),t}function ni(t){function n(n,r){if(typeof n==`string`)return t(e(n).serialize(r));if(n instanceof Uint8Array||ge(n))return t(n);throw Error(`tx.pure must be called either a bcs type name, or a serialized bcs value`)}return n.u8=e=>t(m.U8.serialize(e)),n.u16=e=>t(m.U16.serialize(e)),n.u32=e=>t(m.U32.serialize(e)),n.u64=e=>t(m.U64.serialize(e)),n.u128=e=>t(m.U128.serialize(e)),n.u256=e=>t(m.U256.serialize(e)),n.bool=e=>t(m.Bool.serialize(e)),n.string=e=>t(m.String.serialize(e)),n.address=e=>t(m.Address.serialize(e)),n.id=n.address,n.vector=(n,r)=>t(m.vector(e(n)).serialize(r)),n.option=(n,r)=>t(m.option(e(n)).serialize(r)),n}var ri=`2.18.0`,ii=`/`,ai={"Mvr-Source":`@mysten/sui@${ri}`},oi=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},si(this.#r)}get#i(){return this.#e.readSync([`#mvrPackageDataLoader`,this.#t??``],()=>{let e=new Le(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 Le(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=Ie(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=Ie(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`,...ai},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 ui(e)?{package:await this.#i.load(e)}:{package:e}}async resolveType({type:e}){if(!ui(e))return{type:e};let t=[...ci(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:li(e,r)}}async resolve({types:e=[],packages:t=[]}){let n=new Set;for(let t of e??[])ci(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:li(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 si(e){if(e?.packages)for(let[t,n]of Object.entries(e.packages)){if(!be(t))throw Error(`Invalid package name: ${t}`);if(!fe(C(n)))throw Error(`Invalid package ID: ${n}`)}if(e?.types)for(let[t,n]of Object.entries(e.types)){if(oe(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(!fe(oe(n).address))throw Error(`Invalid type: ${n}`)}}function ci(e,t=new Set){if(typeof e==`string`&&!ui(e))return t;if(typeof e==`string`&&e.startsWith(`vector<`)&&e.endsWith(`>`))return ci(e.slice(7,-1),t);let n=di(e)?e:oe(e);ui(n.address)&&t.add(`${n.address}::${n.module}::${n.name}`);for(let e of n.typeParams)ci(e,t);return t}function li(e,t){if(typeof e==`string`&&!e.includes(`::`))return e;if(typeof e==`string`&&e.startsWith(`vector<`)&&e.endsWith(`>`))return`vector<${li(e.slice(7,-1),t)}>`;let n=di(e)?e:oe(e),r=t[`${n.address}::${n.module}::${n.name}`];return re({...n,address:r?r.split(`::`)[0]:n.address,typeParams:n.typeParams.map(e=>li(e,t))})}function ui(e){return e.includes(ii)||e.includes(`@`)||e.includes(`.sui`)}function di(e){return typeof e==`object`&&`address`in e&&`module`in e&&`name`in e&&`typeParams`in e}function fi(e){let t=new Set,n=new Set;for(let r of e.commands)switch(r.$kind){case`MakeMoveVec`:r.MakeMoveVec.type&&mi([r.MakeMoveVec.type]).forEach(e=>{n.add(e)});break;case`MoveCall`:let e=r.MoveCall,i=e.package.split(`::`)[0];if(ui(i)){if(!be(i))throw Error(`Invalid package name: ${i}`);t.add(i)}mi(e.typeArguments??[]).forEach(e=>{n.add(e)});break;default:break}return{packages:[...t],types:[...n]}}function pi(e,t){for(let n of e.commands){if(n.MakeMoveVec?.type){if(!ui(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(ui(i)&&!t.packages[i])throw Error(`No address found for package: ${i}`);ui(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(ui(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 mi(e){let t=new Set;for(let n of e)if(ui(n)){if(!Ce(n))throw Error(`Invalid type with names: ${n}`);t.add(n)}return t}function hi(){return async(e,t,n)=>{let r=fi(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()`);pi(e,await t.client.core.mvr.resolve({types:r.types,packages:r.packages})),await n()}}function gi(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 _i=Symbol.for(`@mysten/transaction`);function vi(e){return!!e&&typeof e==`object`&&e[_i]===!0}var yi=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=sr.fromKindBytes(typeof t==`string`?S(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,n={}){let r=new e;vi(t)?r.#c=sr.restore(t.getData()):typeof t!=`string`||!t.startsWith(`{`)?r.#c=sr.fromBytes(typeof t==`string`?S(t):t):r.#c=sr.restore(JSON.parse(t)),r.#r=r.#c.inputs.slice(),r.#i=r.#c.commands.slice(),r.#a=new Set(r.#i.map((e,t)=>t));let i=new Map([[fr,_r],...Object.entries(n.intentResolvers??{})]);if(!r.isPreparedForSerialization({supportedIntents:[...i.keys()]}))throw Error("Transaction has unresolved intents or async thunks. Provide resolvers for any custom intents via the `intentResolvers` option, or call `prepareForSerialization` before copying.");for(let[e,t]of i)r.addIntentResolver(e,t);return r}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?I(qn,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=>I(Rn,e))}#c;getData(){return this.#c.snapshot()}get[_i](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:ni(e=>ge(e)?this.#d(`pure`,{$kind:`Pure`,Pure:{bytes:e.toBase64()}}):this.#d(`pure`,bn(Gn,e)?I(Gn,e):e instanceof Uint8Array?H.Pure(e):{$kind:`UnresolvedPure`,UnresolvedPure:{value:e}}))}),this.pure}constructor(){this.object=ti(e=>{if(typeof e==`function`)return this.object(this.add(e));if(typeof e==`object`&&bn(B,e))return e;let t=Yn(e),n=this.#c.inputs.find(e=>t===Yn(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:C(e)}}:e)}),this.#c=new sr,this.#t=[],this.#e=[]}get gas(){return{$kind:`GasCoin`,GasCoin:!0}}coin({type:e,balance:t,useGasCoin:n}){return this.add(mr({type:e,balance:t,useGasCoin:n}))}balance({type:e,balance:t,useGasCoin:n}){return this.add(hr({type:e,balance:t,useGasCoin:n}))}objectRef(...e){return this.object(H.ObjectRef(...e))}receivingRef(...e){return this.object(H.ReceivingRef(...e))}sharedObjectRef(...e){return this.object(H.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=gi(()=>r.$Intent.data.resultIndex);return this.#s.set(e,i),i}else this.#u(e);return gi(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):I(B,t)}return I(B,e)}splitCoins(e,t){let n=V.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),gi(this.#c.commands.length-1,t.length)}mergeCoins(e,t){return this.add(V.MergeCoins(this.object(e),t.map(e=>this.object(e))))}publish({modules:e,dependencies:t}){return this.add(V.Publish({modules:e,dependencies:t}))}upgrade({modules:e,dependencies:t,package:n,ticket:r}){return this.add(V.Upgrade({modules:e,dependencies:t,package:n,ticket:this.object(r)}))}moveCall({arguments:e,...t}){return this.add(V.MoveCall({...t,arguments:e?.map(e=>this.#f(e))}))}transferObjects(e,t){return this.add(V.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(V.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(tr(this.#c.snapshot()))}async toJSON(e={}){await this.prepareForSerialization(e);let t=this.isFullyResolved();return JSON.stringify(I(Tr,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||Yr(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,Xr],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(hi()),await this.#h(n,e)}},bi=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)},xi=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},Si,Ci=void 0,wi=new Set;function Ti(e){Ai=void 0,wi.add(e)}function Ei(e){Ai=void 0,wi.delete(e)}var Di={};function Oi(){if(Ci||(Ci=Object.freeze({register:ki,get:ji,on:Mi}),typeof window>`u`))return Ci;let e=Object.freeze({register:ki});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
|
|
3
|
+
`,e)}try{window.dispatchEvent(new Pi(e))}catch(e){console.error(`wallet-standard:app-ready event could not be dispatched
|
|
4
|
+
`,e)}return Ci}function ki(...e){return e=e.filter(e=>!wi.has(e)),e.length?(e.forEach(e=>Ti(e)),Di.register?.forEach(t=>Ni(()=>t(...e))),function(){e.forEach(e=>Ei(e)),Di.unregister?.forEach(t=>Ni(()=>t(...e)))}):()=>{}}var Ai;function ji(){return Ai||=[...wi],Ai}function Mi(e,t){return Di[e]?.push(t)||(Di[e]=[t]),function(){Di[e]=Di[e]?.filter(e=>t!==e)}}function Ni(e){try{e()}catch(e){console.error(e)}}var Pi=class extends Event{get detail(){return bi(this,Si,`f`)}get type(){return`wallet-standard:app-ready`}constructor(e){super(`wallet-standard:app-ready`,{bubbles:!1,cancelable:!1,composed:!1}),Si.set(this,void 0),xi(this,Si,e,`f`)}preventDefault(){throw Error(`preventDefault cannot be called`)}stopImmediatePropagation(){throw Error(`stopImmediatePropagation cannot be called`)}stopPropagation(){throw Error(`stopPropagation cannot be called`)}};Si=new WeakMap;var Fi=Fe({CliProxySigner:()=>Vi,RemoteCliAdapter:()=>Hi}),Ii=[`sui:signTransaction`,`sui:signAndExecuteTransaction`],Li=5e3,Ri=class extends Error{constructor(){super(`Unauthorized`),this.name=`AuthError`}},zi={ed25519:`ED25519`,secp256k1:`Secp256k1`,secp256r1:`Secp256r1`};function Bi(e,t){let n=S(e).slice(1);switch(t){case`ED25519`:return new Bt(n);case`Secp256k1`:return new Jt(n);case`Secp256r1`:return new Xt(n);default:throw Error(`Unsupported key scheme: ${t}`)}}var Vi=class extends ne{#e;#t;#n;#r;#i;constructor(e){super(),this.#e=e.address,this.#t=e.publicKey,this.#n=e.scheme,this.#r=e.serverOrigin,this.#i=e.authToken??null}async sign(e){throw Error(`CliProxySigner does not support direct digest signing. Transaction signing is handled via the sui CLI.`)}getKeyScheme(){return this.#n}getPublicKey(){return this.#t}toSuiAddress(){return this.#e}async signTransaction(e){let t={"Content-Type":`application/json`};this.#i&&(t.Authorization=`Bearer ${this.#i}`);let n=await fetch(`${this.#r}/api/v1/sign-transaction`,{method:`POST`,headers:t,body:JSON.stringify({address:this.#e,txBytes:w(e)})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(`Transaction signing failed: ${e.error??n.statusText}`)}let{suiSignature:r}=await n.json();if(typeof r!=`string`||r.length===0)throw Error(`Transaction signing failed: server returned invalid signature`);return{bytes:w(e),signature:r}}async signPersonalMessage(e){throw Error(`Personal message signing is not supported in CLI mode. The sui keytool sign command only supports TransactionData. Use --adapter=webcrypto or --adapter=memory for personal message signing.`)}},Hi=class e extends Te{getDefaultLabel(){return`CLI Account ${this.getAccounts().length+1}`}static storageKey(e){return`dev-wallet:${e}:${typeof location<`u`?location.origin:`unknown`}`}static get STORAGE_KEY(){return e.storageKey(`cli-imported-addresses`)}static get TOKEN_KEY(){return e.storageKey(`cli-token`)}#e;#t;#n;#r;constructor(e){super(),this.id=`remote-cli`,this.name=`Remote CLI Signer`,this.allowAutoSign=!1,this.#t=null,this.#n=[],this.#r=null;let t=e?.serverOrigin??``;if(t)try{new URL(t)}catch{throw Error(`Invalid serverOrigin URL: "${t}"`)}this.#e=t,e?.token&&(this.#t=e.token)}get isPaired(){return this.#t!==null}async initialize(){if(!this.#t&&typeof localStorage<`u`){let t=localStorage.getItem(e.TOKEN_KEY);t&&(this.#t=t)}if(this.#t)try{await this.#a(),await this.#o()}catch(t){t instanceof Ri?(this.#t=null,typeof localStorage<`u`&&localStorage.removeItem(e.TOKEN_KEY)):console.warn(`[dev-wallet] CLI adapter initialization failed:`,t)}}async listAvailableAccounts(){await this.#a();let e=new Set(this._accounts.map(e=>e.address));return this.#n.filter(t=>zi[t.keyScheme]&&!e.has(t.suiAddress)).map(e=>({address:e.suiAddress,scheme:e.keyScheme,alias:e.alias}))}async importAccount(e){let t=e.address;if(!t)throw Error(`Remote CLI adapter requires an address to import`);if(this._accounts.some(e=>e.address===t))throw Error(`Account ${t} is already imported`);await this.#a();let n=this.#n.find(e=>e.suiAddress===t);if(!n)throw Error(`Account ${t} not found on server`);let r=zi[n.keyScheme];if(!r)throw Error(`Unsupported key scheme: ${n.keyScheme}`);let i=this.#l(n,r,e.label);return this.addAccount(i),this.#c(),i}async removeAccount(e){let t=this.removeAccountByAddress(e);return t&&this.#c(),t}destroy(){this.#n=[],this.#t=null,typeof localStorage<`u`&&(localStorage.removeItem(e.TOKEN_KEY),localStorage.removeItem(e.STORAGE_KEY)),super.destroy()}#i(){let e={"Content-Type":`application/json`};return this.#t&&(e.Authorization=`Bearer ${this.#t}`),e}async#a(e=!1){if(!e&&this.#r&&Date.now()-this.#r.time<Li){this.#n=this.#r.result;return}let t=await fetch(`${this.#e}/api/v1/accounts`,{headers:this.#i()});if(t.status===401||t.status===403)throw new Ri;if(!t.ok)throw Error(`Failed to fetch accounts: ${t.statusText}`);let{accounts:n}=await t.json();this.#n=n,this.#r={time:Date.now(),result:n}}async#o(){let e=this.#s();if(e.length===0)return;let t=new Set(this.getAccounts().map(e=>e.address)),n=[];for(let r of e){if(t.has(r))continue;let e=this.#n.find(e=>e.suiAddress===r);if(!e)continue;let i=zi[e.keyScheme];i&&n.push(this.#l(e,i))}n.length>0&&this.setInitialAccounts([...this.getAccounts(),...n])}#s(){if(typeof localStorage>`u`)return[];try{let t=localStorage.getItem(e.STORAGE_KEY);if(!t)return[];let n=JSON.parse(t);return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}catch{return[]}}#c(){if(typeof localStorage>`u`)return;let t=this._accounts.map(e=>e.address);localStorage.setItem(e.STORAGE_KEY,JSON.stringify(t))}#l(e,t,n){let r=Bi(e.publicBase64Key,t),i=new Vi({address:e.suiAddress,publicKey:r,scheme:t,serverOrigin:this.#e,authToken:this.#t}),a=n??e.alias??this.getDefaultLabel();return ye(i,e.suiAddress,a,Ii)}},Ui=new TextEncoder,Wi=new TextDecoder;function Gi(...e){let t=e.reduce((e,{length:t})=>e+t,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Ki(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(r>127)throw TypeError(`non-ASCII string encountered in encode()`);t[n]=r}return t}function qi(e){if(Uint8Array.prototype.toBase64)return e.toBase64();let t=32768,n=[];for(let r=0;r<e.length;r+=t)n.push(String.fromCharCode.apply(null,e.subarray(r,r+t)));return btoa(n.join(``))}function Ji(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 Yi(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(typeof e==`string`?e:Wi.decode(e),{alphabet:`base64url`});let t=e;t instanceof Uint8Array&&(t=Wi.decode(t)),t=t.replace(/-/g,`+`).replace(/_/g,`/`);try{return Ji(t)}catch{throw TypeError(`The input to be decoded is not correctly encoded.`)}}function Xi(e){let t=e;return typeof t==`string`&&(t=Ui.encode(t)),Uint8Array.prototype.toBase64?t.toBase64({alphabet:`base64url`,omitPadding:!0}):qi(t).replace(/=/g,``).replace(/\+/g,`-`).replace(/\//g,`_`)}var Zi=(e,t=`algorithm.name`)=>TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`),Qi=(e,t)=>e.name===t;function $i(e){return parseInt(e.name.slice(4),10)}function ea(e,t){if($i(e.hash)!==t)throw Zi(`SHA-${t}`,`algorithm.hash`)}function ta(e){switch(e){case`ES256`:return`P-256`;case`ES384`:return`P-384`;case`ES512`:return`P-521`;default:throw Error(`unreachable`)}}function na(e,t){if(t&&!e.usages.includes(t))throw TypeError(`CryptoKey does not support this operation, its usages must include ${t}.`)}function ra(e,t,n){switch(t){case`HS256`:case`HS384`:case`HS512`:if(!Qi(e.algorithm,`HMAC`))throw Zi(`HMAC`);ea(e.algorithm,parseInt(t.slice(2),10));break;case`RS256`:case`RS384`:case`RS512`:if(!Qi(e.algorithm,`RSASSA-PKCS1-v1_5`))throw Zi(`RSASSA-PKCS1-v1_5`);ea(e.algorithm,parseInt(t.slice(2),10));break;case`PS256`:case`PS384`:case`PS512`:if(!Qi(e.algorithm,`RSA-PSS`))throw Zi(`RSA-PSS`);ea(e.algorithm,parseInt(t.slice(2),10));break;case`Ed25519`:case`EdDSA`:if(!Qi(e.algorithm,`Ed25519`))throw Zi(`Ed25519`);break;case`ML-DSA-44`:case`ML-DSA-65`:case`ML-DSA-87`:if(!Qi(e.algorithm,t))throw Zi(t);break;case`ES256`:case`ES384`:case`ES512`:{if(!Qi(e.algorithm,`ECDSA`))throw Zi(`ECDSA`);let n=ta(t);if(e.algorithm.namedCurve!==n)throw Zi(n,`algorithm.namedCurve`);break}default:throw TypeError(`CryptoKey does not support this operation`)}na(e,n)}function ia(e,t,...n){if(n=n.filter(Boolean),n.length>2){let t=n.pop();e+=`one of type ${n.join(`, `)}, or ${t}.`}else n.length===2?e+=`one of type ${n[0]} or ${n[1]}.`:e+=`of type ${n[0]}.`;return t==null?e+=` Received ${t}`:typeof t==`function`&&t.name?e+=` Received function ${t.name}`:typeof t==`object`&&t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}var aa=(e,...t)=>ia(`Key must be `,e,...t),oa=(e,t,...n)=>ia(`Key for the ${e} algorithm must be `,t,...n),sa=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)}},ca=class extends sa{static code=`ERR_JWT_CLAIM_VALIDATION_FAILED`;code=`ERR_JWT_CLAIM_VALIDATION_FAILED`;claim;reason;payload;constructor(e,t,n=`unspecified`,r=`unspecified`){super(e,{cause:{claim:n,reason:r,payload:t}}),this.claim=n,this.reason=r,this.payload=t}},la=class extends sa{static code=`ERR_JWT_EXPIRED`;code=`ERR_JWT_EXPIRED`;claim;reason;payload;constructor(e,t,n=`unspecified`,r=`unspecified`){super(e,{cause:{claim:n,reason:r,payload:t}}),this.claim=n,this.reason=r,this.payload=t}},ua=class extends sa{static code=`ERR_JOSE_ALG_NOT_ALLOWED`;code=`ERR_JOSE_ALG_NOT_ALLOWED`},da=class extends sa{static code=`ERR_JOSE_NOT_SUPPORTED`;code=`ERR_JOSE_NOT_SUPPORTED`},U=class extends sa{static code=`ERR_JWS_INVALID`;code=`ERR_JWS_INVALID`},fa=class extends sa{static code=`ERR_JWT_INVALID`;code=`ERR_JWT_INVALID`},pa=class extends sa{static code=`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`;code=`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`;constructor(e=`signature verification failed`,t){super(e,t)}},ma=e=>{if(e?.[Symbol.toStringTag]===`CryptoKey`)return!0;try{return e instanceof CryptoKey}catch{return!1}},ha=e=>e?.[Symbol.toStringTag]===`KeyObject`,ga=e=>ma(e)||ha(e);function _a(e,t){if(e)throw TypeError(`${t} can only be called once`)}function va(e,t,n){try{return Yi(e)}catch{throw new n(`Failed to base64url decode the ${t}`)}}var ya=e=>typeof e==`object`&&!!e;function ba(e){if(!ya(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 xa(...e){let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let n;for(let e of t){let t=Object.keys(e);if(!n||n.size===0){n=new Set(t);continue}for(let e of t){if(n.has(e))return!1;n.add(e)}}return!0}var Sa=e=>ba(e)&&typeof e.kty==`string`,Ca=e=>e.kty!==`oct`&&(e.kty===`AKP`&&typeof e.priv==`string`||typeof e.d==`string`),wa=e=>e.kty!==`oct`&&e.d===void 0&&e.priv===void 0,Ta=e=>e.kty===`oct`&&typeof e.k==`string`;function Ea(e,t){if(e.startsWith(`RS`)||e.startsWith(`PS`)){let{modulusLength:n}=t.algorithm;if(typeof n!=`number`||n<2048)throw TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}}function Da(e,t){let n=`SHA-${e.slice(-3)}`;switch(e){case`HS256`:case`HS384`:case`HS512`:return{hash:n,name:`HMAC`};case`PS256`:case`PS384`:case`PS512`:return{hash:n,name:`RSA-PSS`,saltLength:parseInt(e.slice(-3),10)>>3};case`RS256`:case`RS384`:case`RS512`:return{hash:n,name:`RSASSA-PKCS1-v1_5`};case`ES256`:case`ES384`:case`ES512`:return{hash:n,name:`ECDSA`,namedCurve:t.namedCurve};case`Ed25519`:case`EdDSA`:return{name:`Ed25519`};case`ML-DSA-44`:case`ML-DSA-65`:case`ML-DSA-87`:return{name:e};default:throw new da(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}async function Oa(e,t,n){if(t instanceof Uint8Array){if(!e.startsWith(`HS`))throw TypeError(aa(t,`CryptoKey`,`KeyObject`,`JSON Web Key`));return crypto.subtle.importKey(`raw`,t,{hash:`SHA-${e.slice(-3)}`,name:`HMAC`},!1,[n])}return ra(t,e,n),t}async function ka(e,t,n){let r=await Oa(e,t,`sign`);Ea(e,r);let i=await crypto.subtle.sign(Da(e,r.algorithm),r,n);return new Uint8Array(i)}async function Aa(e,t,n,r){let i=await Oa(e,t,`verify`);Ea(e,i);let a=Da(e,i.algorithm);try{return await crypto.subtle.verify(a,i,n,r)}catch{return!1}}var ja=`Invalid or unsupported JWK "alg" (Algorithm) Parameter value`;function Ma(e){let t,n;switch(e.kty){case`AKP`:switch(e.alg){case`ML-DSA-44`:case`ML-DSA-65`:case`ML-DSA-87`:t={name:e.alg},n=e.priv?[`sign`]:[`verify`];break;default:throw new da(ja)}break;case`RSA`:switch(e.alg){case`PS256`:case`PS384`:case`PS512`:t={name:`RSA-PSS`,hash:`SHA-${e.alg.slice(-3)}`},n=e.d?[`sign`]:[`verify`];break;case`RS256`:case`RS384`:case`RS512`:t={name:`RSASSA-PKCS1-v1_5`,hash:`SHA-${e.alg.slice(-3)}`},n=e.d?[`sign`]:[`verify`];break;case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:t={name:`RSA-OAEP`,hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},n=e.d?[`decrypt`,`unwrapKey`]:[`encrypt`,`wrapKey`];break;default:throw new da(ja)}break;case`EC`:switch(e.alg){case`ES256`:case`ES384`:case`ES512`:t={name:`ECDSA`,namedCurve:{ES256:`P-256`,ES384:`P-384`,ES512:`P-521`}[e.alg]},n=e.d?[`sign`]:[`verify`];break;case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:t={name:`ECDH`,namedCurve:e.crv},n=e.d?[`deriveBits`]:[];break;default:throw new da(ja)}break;case`OKP`:switch(e.alg){case`Ed25519`:case`EdDSA`:t={name:`Ed25519`},n=e.d?[`sign`]:[`verify`];break;case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:t={name:e.crv},n=e.d?[`deriveBits`]:[];break;default:throw new da(ja)}break;default:throw new da(`Invalid or unsupported JWK "kty" (Key Type) Parameter value`)}return{algorithm:t,keyUsages:n}}async function Na(e){if(!e.alg)throw TypeError(`"alg" argument is required when "jwk.alg" is not present`);let{algorithm:t,keyUsages:n}=Ma(e),r={...e};return r.kty!==`AKP`&&delete r.alg,delete r.use,crypto.subtle.importKey(`jwk`,r,t,e.ext??!(e.d||e.priv),e.key_ops??n)}var Pa=`given KeyObject instance cannot be used for this algorithm`,Fa,Ia=async(e,t,n,r=!1)=>{Fa||=new WeakMap;let i=Fa.get(e);if(i?.[n])return i[n];let a=await Na({...t,alg:n});return r&&Object.freeze(e),i?i[n]=a:Fa.set(e,{[n]:a}),a},La=(e,t)=>{Fa||=new WeakMap;let n=Fa.get(e);if(n?.[t])return n[t];let r=e.type===`public`,i=!!r,a;if(e.asymmetricKeyType===`x25519`){switch(t){case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:break;default:throw TypeError(Pa)}a=e.toCryptoKey(e.asymmetricKeyType,i,r?[]:[`deriveBits`])}if(e.asymmetricKeyType===`ed25519`){if(t!==`EdDSA`&&t!==`Ed25519`)throw TypeError(Pa);a=e.toCryptoKey(e.asymmetricKeyType,i,[r?`verify`:`sign`])}switch(e.asymmetricKeyType){case`ml-dsa-44`:case`ml-dsa-65`:case`ml-dsa-87`:if(t!==e.asymmetricKeyType.toUpperCase())throw TypeError(Pa);a=e.toCryptoKey(e.asymmetricKeyType,i,[r?`verify`:`sign`])}if(e.asymmetricKeyType===`rsa`){let n;switch(t){case`RSA-OAEP`:n=`SHA-1`;break;case`RS256`:case`PS256`:case`RSA-OAEP-256`:n=`SHA-256`;break;case`RS384`:case`PS384`:case`RSA-OAEP-384`:n=`SHA-384`;break;case`RS512`:case`PS512`:case`RSA-OAEP-512`:n=`SHA-512`;break;default:throw TypeError(Pa)}if(t.startsWith(`RSA-OAEP`))return e.toCryptoKey({name:`RSA-OAEP`,hash:n},i,r?[`encrypt`]:[`decrypt`]);a=e.toCryptoKey({name:t.startsWith(`PS`)?`RSA-PSS`:`RSASSA-PKCS1-v1_5`,hash:n},i,[r?`verify`:`sign`])}if(e.asymmetricKeyType===`ec`){let n=new Map([[`prime256v1`,`P-256`],[`secp384r1`,`P-384`],[`secp521r1`,`P-521`]]).get(e.asymmetricKeyDetails?.namedCurve);if(!n)throw TypeError(Pa);let o={ES256:`P-256`,ES384:`P-384`,ES512:`P-521`};o[t]&&n===o[t]&&(a=e.toCryptoKey({name:`ECDSA`,namedCurve:n},i,[r?`verify`:`sign`])),t.startsWith(`ECDH-ES`)&&(a=e.toCryptoKey({name:`ECDH`,namedCurve:n},i,r?[]:[`deriveBits`]))}if(!a)throw TypeError(Pa);return n?n[t]=a:Fa.set(e,{[t]:a}),a};async function Ra(e,t){if(e instanceof Uint8Array||ma(e))return e;if(ha(e)){if(e.type===`secret`)return e.export();if(`toCryptoKey`in e&&typeof e.toCryptoKey==`function`)try{return La(e,t)}catch(e){if(e instanceof TypeError)throw e}return Ia(e,e.export({format:`jwk`}),t)}if(Sa(e))return e.k?Yi(e.k):Ia(e,e,t,!0);throw Error(`unreachable`)}function za(e,t,n,r,i){if(i.crit!==void 0&&r?.crit===void 0)throw new e(`"crit" (Critical) Header Parameter MUST be integrity protected`);if(!r||r.crit===void 0)return new Set;if(!Array.isArray(r.crit)||r.crit.length===0||r.crit.some(e=>typeof e!=`string`||e.length===0))throw new e(`"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present`);let a;a=n===void 0?t:new Map([...Object.entries(n),...t.entries()]);for(let t of r.crit){if(!a.has(t))throw new da(`Extension Header Parameter "${t}" is not recognized`);if(i[t]===void 0)throw new e(`Extension Header Parameter "${t}" is missing`);if(a.get(t)&&r[t]===void 0)throw new e(`Extension Header Parameter "${t}" MUST be integrity protected`)}return new Set(r.crit)}function Ba(e,t){if(t!==void 0&&(!Array.isArray(t)||t.some(e=>typeof e!=`string`)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}var Va=e=>e?.[Symbol.toStringTag],Ha=(e,t,n)=>{if(t.use!==void 0){let e;switch(n){case`sign`:case`verify`:e=`sig`;break;case`encrypt`:case`decrypt`:e=`enc`;break}if(t.use!==e)throw TypeError(`Invalid key for this operation, its "use" must be "${e}" when present`)}if(t.alg!==void 0&&t.alg!==e)throw TypeError(`Invalid key for this operation, its "alg" must be "${e}" when present`);if(Array.isArray(t.key_ops)){let r;switch(!0){case n===`sign`||n===`verify`:case e===`dir`:case e.includes(`CBC-HS`):r=n;break;case e.startsWith(`PBES2`):r=`deriveBits`;break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(e):r=!e.includes(`GCM`)&&e.endsWith(`KW`)?n===`encrypt`?`wrapKey`:`unwrapKey`:n;break;case n===`encrypt`&&e.startsWith(`RSA`):r=`wrapKey`;break;case n===`decrypt`:r=e.startsWith(`RSA`)?`unwrapKey`:`deriveBits`;break}if(r&&t.key_ops?.includes?.(r)===!1)throw TypeError(`Invalid key for this operation, its "key_ops" must include "${r}" when present`)}return!0},Ua=(e,t,n)=>{if(!(t instanceof Uint8Array)){if(Sa(t)){if(Ta(t)&&Ha(e,t,n))return;throw TypeError(`JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present`)}if(!ga(t))throw TypeError(oa(e,t,`CryptoKey`,`KeyObject`,`JSON Web Key`,`Uint8Array`));if(t.type!==`secret`)throw TypeError(`${Va(t)} instances for symmetric algorithms must be of type "secret"`)}},Wa=(e,t,n)=>{if(Sa(t))switch(n){case`decrypt`:case`sign`:if(Ca(t)&&Ha(e,t,n))return;throw TypeError(`JSON Web Key for this operation must be a private JWK`);case`encrypt`:case`verify`:if(wa(t)&&Ha(e,t,n))return;throw TypeError(`JSON Web Key for this operation must be a public JWK`)}if(!ga(t))throw TypeError(oa(e,t,`CryptoKey`,`KeyObject`,`JSON Web Key`));if(t.type===`secret`)throw TypeError(`${Va(t)} instances for asymmetric algorithms must not be of type "secret"`);if(t.type===`public`)switch(n){case`sign`:throw TypeError(`${Va(t)} instances for asymmetric algorithm signing must be of type "private"`);case`decrypt`:throw TypeError(`${Va(t)} instances for asymmetric algorithm decryption must be of type "private"`)}if(t.type===`private`)switch(n){case`verify`:throw TypeError(`${Va(t)} instances for asymmetric algorithm verifying must be of type "public"`);case`encrypt`:throw TypeError(`${Va(t)} instances for asymmetric algorithm encryption must be of type "public"`)}};function Ga(e,t,n){switch(e.substring(0,2)){case`A1`:case`A2`:case`di`:case`HS`:case`PB`:Ua(e,t,n);break;default:Wa(e,t,n)}}async function Ka(e,t,n){if(!ba(e))throw new U(`Flattened JWS must be an object`);if(e.protected===void 0&&e.header===void 0)throw new U(`Flattened JWS must have either of the "protected" or "header" members`);if(e.protected!==void 0&&typeof e.protected!=`string`)throw new U(`JWS Protected Header incorrect type`);if(e.payload===void 0)throw new U(`JWS Payload missing`);if(typeof e.signature!=`string`)throw new U(`JWS Signature missing or incorrect type`);if(e.header!==void 0&&!ba(e.header))throw new U(`JWS Unprotected Header incorrect type`);let r={};if(e.protected)try{let t=Yi(e.protected);r=JSON.parse(Wi.decode(t))}catch{throw new U(`JWS Protected Header is invalid`)}if(!xa(r,e.header))throw new U(`JWS Protected and JWS Unprotected Header Parameter names must be disjoint`);let i={...r,...e.header},a=za(U,new Map([[`b64`,!0]]),n?.crit,r,i),o=!0;if(a.has(`b64`)&&(o=r.b64,typeof o!=`boolean`))throw new U(`The "b64" (base64url-encode payload) Header Parameter must be a boolean`);let{alg:s}=i;if(typeof s!=`string`||!s)throw new U(`JWS "alg" (Algorithm) Header Parameter missing or invalid`);let c=n&&Ba(`algorithms`,n.algorithms);if(c&&!c.has(s))throw new ua(`"alg" (Algorithm) Header Parameter value not allowed`);if(o){if(typeof e.payload!=`string`)throw new U(`JWS Payload must be a string`)}else if(typeof e.payload!=`string`&&!(e.payload instanceof Uint8Array))throw new U(`JWS Payload must be a string or an Uint8Array instance`);let l=!1;typeof t==`function`&&(t=await t(r,e),l=!0),Ga(s,t,`verify`);let u=Gi(e.protected===void 0?new Uint8Array:Ki(e.protected),Ki(`.`),typeof e.payload==`string`?o?Ki(e.payload):Ui.encode(e.payload):e.payload),d=va(e.signature,`signature`,U),f=await Ra(t,s);if(!await Aa(s,f,d,u))throw new pa;let p;p=o?va(e.payload,`payload`,U):typeof e.payload==`string`?Ui.encode(e.payload):e.payload;let m={payload:p};return e.protected!==void 0&&(m.protectedHeader=r),e.header!==void 0&&(m.unprotectedHeader=e.header),l?{...m,key:f}:m}async function qa(e,t,n){if(e instanceof Uint8Array&&(e=Wi.decode(e)),typeof e!=`string`)throw new U(`Compact JWS must be a string or Uint8Array`);let{0:r,1:i,2:a,length:o}=e.split(`.`);if(o!==3)throw new U(`Invalid Compact JWS`);let s=await Ka({payload:i,protected:r,signature:a},t,n),c={payload:s.payload,protectedHeader:s.protectedHeader};return typeof t==`function`?{...c,key:s.key}:c}var Ja=e=>Math.floor(e.getTime()/1e3),Ya=60,Xa=Ya*60,Za=Xa*24,Qa=Za*7,$a=Za*365.25,eo=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function to(e){let t=eo.exec(e);if(!t||t[4]&&t[1])throw TypeError(`Invalid time period format`);let n=parseFloat(t[2]),r=t[3].toLowerCase(),i;switch(r){case`sec`:case`secs`:case`second`:case`seconds`:case`s`:i=Math.round(n);break;case`minute`:case`minutes`:case`min`:case`mins`:case`m`:i=Math.round(n*Ya);break;case`hour`:case`hours`:case`hr`:case`hrs`:case`h`:i=Math.round(n*Xa);break;case`day`:case`days`:case`d`:i=Math.round(n*Za);break;case`week`:case`weeks`:case`w`:i=Math.round(n*Qa);break;default:i=Math.round(n*$a);break}return t[1]===`-`||t[4]===`ago`?-i:i}function no(e,t){if(!Number.isFinite(t))throw TypeError(`Invalid ${e} input`);return t}var ro=e=>e.includes(`/`)?e.toLowerCase():`application/${e.toLowerCase()}`,io=(e,t)=>typeof e==`string`?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1;function ao(e,t,n={}){let r;try{r=JSON.parse(Wi.decode(t))}catch{}if(!ba(r))throw new fa(`JWT Claims Set must be a top-level JSON object`);let{typ:i}=n;if(i&&(typeof e.typ!=`string`||ro(e.typ)!==ro(i)))throw new ca(`unexpected "typ" JWT header value`,r,`typ`,`check_failed`);let{requiredClaims:a=[],issuer:o,subject:s,audience:c,maxTokenAge:l}=n,u=[...a];l!==void 0&&u.push(`iat`),c!==void 0&&u.push(`aud`),s!==void 0&&u.push(`sub`),o!==void 0&&u.push(`iss`);for(let e of new Set(u.reverse()))if(!(e in r))throw new ca(`missing required "${e}" claim`,r,e,`missing`);if(o&&!(Array.isArray(o)?o:[o]).includes(r.iss))throw new ca(`unexpected "iss" claim value`,r,`iss`,`check_failed`);if(s&&r.sub!==s)throw new ca(`unexpected "sub" claim value`,r,`sub`,`check_failed`);if(c&&!io(r.aud,typeof c==`string`?[c]:c))throw new ca(`unexpected "aud" claim value`,r,`aud`,`check_failed`);let d;switch(typeof n.clockTolerance){case`string`:d=to(n.clockTolerance);break;case`number`:d=n.clockTolerance;break;case`undefined`:d=0;break;default:throw TypeError(`Invalid clockTolerance option type`)}let{currentDate:f}=n,p=Ja(f||new Date);if((r.iat!==void 0||l)&&typeof r.iat!=`number`)throw new ca(`"iat" claim must be a number`,r,`iat`,`invalid`);if(r.nbf!==void 0){if(typeof r.nbf!=`number`)throw new ca(`"nbf" claim must be a number`,r,`nbf`,`invalid`);if(r.nbf>p+d)throw new ca(`"nbf" claim timestamp check failed`,r,`nbf`,`check_failed`)}if(r.exp!==void 0){if(typeof r.exp!=`number`)throw new ca(`"exp" claim must be a number`,r,`exp`,`invalid`);if(r.exp<=p-d)throw new la(`"exp" claim timestamp check failed`,r,`exp`,`check_failed`)}if(l){let e=p-r.iat,t=typeof l==`number`?l:to(l);if(e-d>t)throw new la(`"iat" claim timestamp check failed (too far in the past)`,r,`iat`,`check_failed`);if(e<0-d)throw new ca(`"iat" claim timestamp check failed (it should be in the past)`,r,`iat`,`check_failed`)}return r}var oo=class{#e;constructor(e){if(!ba(e))throw TypeError(`JWT Claims Set MUST be an object`);this.#e=structuredClone(e)}data(){return Ui.encode(JSON.stringify(this.#e))}get iss(){return this.#e.iss}set iss(e){this.#e.iss=e}get sub(){return this.#e.sub}set sub(e){this.#e.sub=e}get aud(){return this.#e.aud}set aud(e){this.#e.aud=e}set jti(e){this.#e.jti=e}set nbf(e){typeof e==`number`?this.#e.nbf=no(`setNotBefore`,e):e instanceof Date?this.#e.nbf=no(`setNotBefore`,Ja(e)):this.#e.nbf=Ja(new Date)+to(e)}set exp(e){typeof e==`number`?this.#e.exp=no(`setExpirationTime`,e):e instanceof Date?this.#e.exp=no(`setExpirationTime`,Ja(e)):this.#e.exp=Ja(new Date)+to(e)}set iat(e){e===void 0?this.#e.iat=Ja(new Date):e instanceof Date?this.#e.iat=no(`setIssuedAt`,Ja(e)):typeof e==`string`?this.#e.iat=no(`setIssuedAt`,Ja(new Date)+to(e)):this.#e.iat=no(`setIssuedAt`,e)}};async function so(e,t,n){let r=await qa(e,t,n);if(r.protectedHeader.crit?.includes(`b64`)&&r.protectedHeader.b64===!1)throw new fa(`JWTs MUST NOT use unencoded payload`);let i={payload:ao(r.protectedHeader,r.payload,n),protectedHeader:r.protectedHeader};return typeof t==`function`?{...i,key:r.key}:i}var co=class{#e;#t;#n;constructor(e){if(!(e instanceof Uint8Array))throw TypeError(`payload must be an instance of Uint8Array`);this.#e=e}setProtectedHeader(e){return _a(this.#t,`setProtectedHeader`),this.#t=e,this}setUnprotectedHeader(e){return _a(this.#n,`setUnprotectedHeader`),this.#n=e,this}async sign(e,t){if(!this.#t&&!this.#n)throw new U(`either setProtectedHeader or setUnprotectedHeader must be called before #sign()`);if(!xa(this.#t,this.#n))throw new U(`JWS Protected and JWS Unprotected Header Parameter names must be disjoint`);let n={...this.#t,...this.#n},r=za(U,new Map([[`b64`,!0]]),t?.crit,this.#t,n),i=!0;if(r.has(`b64`)&&(i=this.#t.b64,typeof i!=`boolean`))throw new U(`The "b64" (base64url-encode payload) Header Parameter must be a boolean`);let{alg:a}=n;if(typeof a!=`string`||!a)throw new U(`JWS "alg" (Algorithm) Header Parameter missing or invalid`);Ga(a,e,`sign`);let o,s;i?(o=Xi(this.#e),s=Ki(o)):(s=this.#e,o=``);let c,l;this.#t?(c=Xi(JSON.stringify(this.#t)),l=Ki(c)):(c=``,l=new Uint8Array);let u=Gi(l,Ki(`.`),s),d={signature:Xi(await ka(a,await Ra(e,a),u)),payload:o};return this.#n&&(d.header=this.#n),this.#t&&(d.protected=c),d}},lo=class{#e;constructor(e){this.#e=new co(e)}setProtectedHeader(e){return this.#e.setProtectedHeader(e),this}async sign(e,t){let n=await this.#e.sign(e,t);if(n.payload===void 0)throw TypeError(`use the flattened module for creating JWS with b64: false`);return`${n.protected}.${n.payload}.${n.signature}`}},uo=class{#e;#t;constructor(e={}){this.#t=new oo(e)}setIssuer(e){return this.#t.iss=e,this}setSubject(e){return this.#t.sub=e,this}setAudience(e){return this.#t.aud=e,this}setJti(e){return this.#t.jti=e,this}setNotBefore(e){return this.#t.nbf=e,this}setExpirationTime(e){return this.#t.exp=e,this}setIssuedAt(e){return this.#t.iat=e,this}setProtectedHeader(e){return this.#e=e,this}async sign(e,t){let n=new lo(this.#t.data());if(n.setProtectedHeader(this.#e),Array.isArray(this.#e?.crit)&&this.#e.crit.includes(`b64`)&&this.#e.b64===!1)throw new fa(`JWTs MUST NOT use unencoded payload`);return n.sign(e,t)}},fo=N({exp:M(),iat:M(),iss:F(),aud:F(),payload:N({accounts:k(N({address:F(),publicKey:F(),label:P(F())}))})});async function po(e,t){return await new uo({payload:e}).setProtectedHeader({alg:`HS256`}).setExpirationTime(t.expirationTime).setIssuedAt().setIssuer(t.issuer).setAudience(t.audience).sign(t.secretKey)}async function mo(e,t){return I(fo,(await so(e,t,{algorithms:[`HS256`]})).payload)}var ho=Cn(()=>An([F(),M(),Sn(),wn(),Dn(F(),ho),k(ho)])),go=N({version:A(`1`),requestId:L(F("`requestId` is required"),gn()),appUrl:L(F(),hn("`appUrl` must be a valid URL")),appName:F("`appName` is required"),payload:Mn(`type`,[N({type:A(`connect`)}),N({type:A(`sign-transaction`),transaction:F("`transaction` is required"),address:F("`address` is required"),chain:F("`chain` is required"),session:F("`session` is required")}),N({type:A(`sign-and-execute-transaction`),transaction:F("`transaction` is required"),address:F("`address` is required"),chain:F("`chain` is required"),session:F("`session` is required")}),N({type:A(`sign-personal-message`),chain:F("`chain` is required"),message:F("`message` is required"),address:F("`address` is required"),session:F("`session` is required")})]),metadata:P(Dn(F(),ho)),extraRequestOptions:P(Dn(F(),ho))}),_o=class e{#e;#t=!1;constructor(e){if(typeof window>`u`||!window.opener)throw Error("This functionality requires a window opened through `window.open`. `window.opener` is not available.");this.#e=e}static fromPayload(t){return new e(I(go,t))}static fromUrlHash(t=window.location.hash.slice(1)){let n=atob(decodeURIComponent(t));return new e(I(go,JSON.parse(n)))}getRequestData(){return this.#e}async verifyJwtSession(e){if(!(`session`in this.#e.payload))return null;let t=await mo(this.#e.payload.session,e);if(t.aud!==new URL(this.#e.appUrl).origin)throw Error(`App and session origin mismatch`);let n=this.#e.payload.address;if(!t.payload.accounts.find(e=>e.address===n))throw Error(`Requested account not found in session`);return t}sendMessage(e){if(this.#t)throw Error(`sendMessage() can only be called once`);this.#t=!0,window.opener.postMessage({id:this.#e.requestId,source:`web-wallet-channel`,payload:e,version:this.#e.version},this.#e.appUrl)}close(e){e&&this.sendMessage(e),window.close()}};function vo(e){return e.split(`:`)[1]}async function yo({type:e,signer:t,data:n,client:r}){switch(e){case`sign-personal-message`:{if(!(n instanceof Uint8Array))throw Error(`sign-personal-message expects data to be a Uint8Array`);let{bytes:r,signature:i}=await t.signPersonalMessage(n);return{type:e,bytes:r,signature:i}}case`sign-transaction`:{if(!r)throw Error(`No client provided for sign-transaction`);if(typeof n!=`string`)throw Error(`sign-transaction expects data to be a JSON string`);let{bytes:i,signature:a}=await yi.from(n).sign({client:r,signer:t});return{type:e,bytes:i,signature:a}}case`sign-and-execute-transaction`:{if(!r)throw Error(`No client provided for sign-and-execute-transaction`);if(typeof n!=`string`)throw Error(`sign-and-execute-transaction expects data to be a JSON string`);let{bytes:i,signature:a}=await yi.from(n).sign({client:r,signer:t}),o=await r.core.executeTransaction({transaction:S(i),signatures:[a],include:{effects:!0}}),s=o.Transaction??o.FailedTransaction;if(!s)throw Error(`Transaction execution returned empty result`);if(!s.status.success)throw Error(s.status.error?.message??`Transaction execution failed`);return{type:e,bytes:i,signature:a,digest:s.digest,effects:s.effects?.bcs?w(s.effects.bcs):``}}}}function bo(e){if(!e.hash&&typeof window>`u`)throw Error(`parseWalletRequest requires either options.hash or a browser environment with window.location`);let t=e.hash??window.location.hash.slice(1),n=_o.fromUrlHash(t),r=n.getRequestData(),i=r.payload;if(i.type===`connect`)return{type:`connect`,appName:r.appName,appUrl:r.appUrl,async approve(t){let i=e.adapters.flatMap(e=>e.getAccounts().map(e=>({address:e.address,publicKey:w(e.signer.getPublicKey().toSuiBytes()),label:e.label}))),a=t?.selectedAddresses,o=await po({accounts:a?i.filter(e=>a.includes(e.address)):i},{secretKey:e.jwtSecretKey,expirationTime:`7d`,issuer:`dev-wallet`,audience:new URL(r.appUrl).origin});n.sendMessage({type:`resolve`,data:{type:`connect`,session:o}})},reject(e){n.sendMessage({type:`reject`,reason:e})}};let a=i.type===`sign-personal-message`?S(i.message):i.transaction;return{type:i.type,appName:r.appName,appUrl:r.appUrl,address:i.address,chain:i.chain,data:a,async approve(){try{await n.verifyJwtSession(e.jwtSecretKey)}catch(e){n.sendMessage({type:`reject`,reason:`Session verification failed: ${e instanceof Error?e.message:String(e)}`});return}let t;for(let n of e.adapters)if(t=n.getAccount(i.address),t)break;if(!t){n.sendMessage({type:`reject`,reason:`Account ${i.address} not found`});return}try{let r=i.chain?vo(i.chain):void 0,o=r?e.getClient?.(r):void 0,s=await yo({type:i.type,signer:t.signer,data:a,client:o}),c=s.type===`sign-and-execute-transaction`?{...s,effects:s.effects??``}:s;n.sendMessage({type:`resolve`,data:c})}catch(e){n.sendMessage({type:`reject`,reason:e instanceof Error?e.message:String(e)})}},reject(e){n.sendMessage({type:`reject`,reason:e})}}}var xo=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})}},So=class{constructor({network:e,base:t,cache:n=t?.cache??new xo}){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}})}},Co={mainnet:`https://mainnet.mvr.mystenlabs.com`,testnet:`https://testnet.mvr.mystenlabs.com`},wo=class extends So{constructor(e){super(e),this.core=this,this.mvr=new oi({cache:this.cache.scope(`core.mvr`),url:e.mvr?.url??Co[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=Ee.parseFromStr((await this.core.mvr.resolveType({type:e.name.type})).type),n=Ze(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=oe(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]:re(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:re(o),bcs:e.name.bcs},value:{type:l,bcs:c},childId:s?m.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})}},To=new Intl.PluralRules(`en-US`,{type:`ordinal`}),Eo=new Map([[`one`,`st`],[`two`,`nd`],[`few`,`rd`],[`other`,`th`]]);function Do(e){return`${e}${Eo.get(To.select(e))}`}function Oo(e){let{command:t,location:n,abortCode:r,cleverError:i}=e,a=[];if(t==null?a.push(`MoveAbort`):a.push(`MoveAbort in ${Do(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 ko=m.struct(`MinimalEffectsWithError`,{status:ce});m.enum(`MinimalTransactionEffectsWithError`,{V1:ko,V2:ko});var Ao=m.enum(`MinimalExecutionStatusNoError`,{Success:null,Failed:null}),jo=m.struct(`MinimalEffectsNoError`,{status:Ao});m.enum(`MinimalTransactionEffectsNoError`,{V1:jo,V2:jo});function Mo(e){let t=typeof e;if(t==`object`){if(Array.isArray(e))return`array`;if(e===null)return`null`}return t}function No(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Po=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``),Fo=[];for(let e=0;e<Po.length;e++)Fo[Po[e].charCodeAt(0)]=e;Fo[45]=Po.indexOf(`+`),Fo[95]=Po.indexOf(`/`);function Io(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=Fo[e.charCodeAt(t)],a===void 0)switch(e[t]){case`=`:i=0;case`
|
|
5
|
+
`: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 Lo(e){let t=``,n=0,r,i=0;for(let a=0;a<e.length;a++)switch(r=e[a],n){case 0:t+=Po[r>>2],i=(r&3)<<4,n=1;break;case 1:t+=Po[i|r>>4],i=(r&15)<<2,n=2;break;case 2:t+=Po[i|r>>6],t+=Po[r&63],n=0;break}return n&&(t+=Po[i],t+=`=`,n==1&&(t+=`=`)),t}var Ro;(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])})(Ro||={});function zo(e,t){return Object.assign(Object.assign({},e),t)}var W;(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`})(W||={});function Bo(){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 Vo(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 Ho=65536*65536;function Uo(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>=Ho&&(i+=r/Ho|0,r%=Ho)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),[t,r,i]}function Wo(e,t){if(t>>>0<=2097151)return``+(Ho*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 Go(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 Ko(){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 G;function qo(){let e=new DataView(new ArrayBuffer(8));G=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}qo();function Jo(e){if(!e)throw Error(`BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support`)}var Yo=/^-?[0-9]+$/,Xo=4294967296,Zo=2147483648,Qo=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*Xo+(this.lo>>>0);if(!Number.isSafeInteger(e))throw Error(`cannot convert to safe number`);return e}},$o=class e extends Qo{static from(t){if(G)switch(typeof t){case`string`:if(t==`0`)return this.ZERO;if(t==``)throw Error(`string is no integer`);t=G.C(t);case`number`:if(t===0)return this.ZERO;t=G.C(t);case`bigint`:if(!t)return this.ZERO;if(t<G.UMIN)throw Error(`signed value for ulong`);if(t>G.UMAX)throw Error(`ulong too large`);return G.V.setBigUint64(0,t,!0),new e(G.V.getInt32(0,!0),G.V.getInt32(4,!0))}else switch(typeof t){case`string`:if(t==`0`)return this.ZERO;if(t=t.trim(),!Yo.test(t))throw Error(`string is no integer`);let[n,r,i]=Uo(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/Xo)}throw Error(`unknown value `+typeof t)}toString(){return G?this.toBigInt().toString():Wo(this.lo,this.hi)}toBigInt(){return Jo(G),G.V.setInt32(0,this.lo,!0),G.V.setInt32(4,this.hi,!0),G.V.getBigUint64(0,!0)}};$o.ZERO=new $o(0,0);var K=class e extends Qo{static from(t){if(G)switch(typeof t){case`string`:if(t==`0`)return this.ZERO;if(t==``)throw Error(`string is no integer`);t=G.C(t);case`number`:if(t===0)return this.ZERO;t=G.C(t);case`bigint`:if(!t)return this.ZERO;if(t<G.MIN)throw Error(`signed long too small`);if(t>G.MAX)throw Error(`signed long too large`);return G.V.setBigInt64(0,t,!0),new e(G.V.getInt32(0,!0),G.V.getInt32(4,!0))}else switch(typeof t){case`string`:if(t==`0`)return this.ZERO;if(t=t.trim(),!Yo.test(t))throw Error(`string is no integer`);let[n,r,i]=Uo(t);if(n){if(i>Zo||i==Zo&&r!=0)throw Error(`signed long too small`)}else if(i>=Zo)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/Xo):new e(-t,-t/Xo).negate()}throw Error(`unknown value `+typeof t)}isNegative(){return(this.hi&Zo)!==0}negate(){let t=~this.hi,n=this.lo;return n?n=~n+1:t+=1,new e(n,t)}toString(){if(G)return this.toBigInt().toString();if(this.isNegative()){let e=this.negate();return`-`+Wo(e.lo,e.hi)}return Wo(this.lo,this.hi)}toBigInt(){return Jo(G),G.V.setInt32(0,this.lo,!0),G.V.setInt32(4,this.hi,!0),G.V.getBigInt64(0,!0)}};K.ZERO=new K(0,0);var es={readUnknownField:!0,readerFactory:e=>new ns(e)};function ts(e){return e?Object.assign(Object.assign({},es),e):es}var ns=class{constructor(e,t){this.varint64=Bo,this.uint32=Ko,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 W.Varint:for(;this.buf[this.pos++]&128;);break;case W.Bit64:this.pos+=4;case W.Bit32:this.pos+=4;break;case W.LengthDelimited:let t=this.uint32();this.pos+=t;break;case W.StartGroup:let n;for(;(n=this.tag()[1])!==W.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 K(...this.varint64())}uint64(){return new $o(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,new K(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 $o(this.sfixed32(),this.sfixed32())}sfixed64(){return new K(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 q(e,t){if(!e)throw Error(t)}function rs(e,t){throw Error(t??`Unexpected object: `+e)}var is=34028234663852886e22,as=-34028234663852886e22,os=4294967295,ss=2147483647,cs=-2147483648;function ls(e){if(typeof e!=`number`)throw Error(`invalid int 32: `+typeof e);if(!Number.isInteger(e)||e>ss||e<cs)throw Error(`invalid int 32: `+e)}function us(e){if(typeof e!=`number`)throw Error(`invalid uint 32: `+typeof e);if(!Number.isInteger(e)||e>os||e<0)throw Error(`invalid uint 32: `+e)}function ds(e){if(typeof e!=`number`)throw Error(`invalid float 32: `+typeof e);if(Number.isFinite(e)&&(e>is||e<as))throw Error(`invalid float 32: `+e)}var fs={writeUnknownFields:!0,writerFactory:()=>new ms};function ps(e){return e?Object.assign(Object.assign({},fs),e):fs}var ms=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(us(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return ls(e),Go(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){ds(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){us(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){ls(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return ls(e),e=(e<<1^e>>31)>>>0,Go(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=K.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=$o.from(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=K.from(e);return Vo(t.lo,t.hi,this.buf),this}sint64(e){let t=K.from(e),n=t.hi>>31;return Vo(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=$o.from(e);return Vo(t.lo,t.hi,this.buf),this}},hs={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0},gs={ignoreUnknownFields:!1};function _s(e){return e?Object.assign(Object.assign({},gs),e):gs}function vs(e){return e?Object.assign(Object.assign({},hs),e):hs}function ys(e,t){let n=Object.assign(Object.assign({},e),t);return n.typeRegistry=[...e?.typeRegistry??[],...t?.typeRegistry??[]],n}var bs=Symbol.for(`protobuf-ts/message-type`);function xs(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 J;(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`})(J||={});var Ss;(function(e){e[e.BIGINT=0]=`BIGINT`,e[e.STRING=1]=`STRING`,e[e.NUMBER=2]=`NUMBER`})(Ss||={});var Cs;(function(e){e[e.NO=0]=`NO`,e[e.PACKED=1]=`PACKED`,e[e.UNPACKED=2]=`UNPACKED`})(Cs||={});function ws(e){return e.localName=e.localName??xs(e.name),e.jsonName=e.jsonName??xs(e.name),e.repeat=e.repeat??Cs.NO,e.opt=e.opt??(e.repeat||e.oneof?!1:e.kind==`message`),e}function Ts(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 Es=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(!Ts(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,J.INT32,r):this.scalar(e,J.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),J.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 J.UINT64:case J.FIXED64:case J.INT64:case J.SFIXED64:case J.SINT64:switch(n){case Ss.BIGINT:return r==`bigint`;case Ss.NUMBER:return r==`number`&&!isNaN(e);default:return r==`string`}case J.BOOL:return r==`boolean`;case J.STRING:return r==`string`;case J.BYTES:return e instanceof Uint8Array;case J.DOUBLE:case J.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 J.INT32:case J.FIXED32:case J.SFIXED32:case J.SINT32:case J.UINT32:return this.scalars(r.slice(0,n).map(e=>parseInt(e)),t,n);case J.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,Ss.STRING)}}};function Ds(e,t){switch(t){case Ss.BIGINT:return e.toBigInt();case Ss.NUMBER:return e.toNumber();default:return e.toString()}}var Os=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=Mo(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(No(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==J.BOOL&&(o=o==`true`?!0:o==`false`?!1:o),o=this.scalar(o,e.K,Ss.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`&&q(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 q(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:(q(typeof a==`number`,`Unable to parse field ${this.info.typeName}#${n}, enum ${e[0]} has no value for "${t}".`),a)}q(!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 J.DOUBLE:case J.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==J.FLOAT&&ds(r),r;case J.INT32:case J.FIXED32:case J.SFIXED32:case J.SINT32:case J.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==J.UINT32?us(a):ls(a),a;case J.INT64:case J.SFIXED64:case J.SINT64:if(e===null)return Ds(K.ZERO,n);if(typeof e!=`number`&&typeof e!=`string`)break;return Ds(K.from(e),n);case J.FIXED64:case J.UINT64:if(e===null)return Ds($o.ZERO,n);if(typeof e!=`number`&&typeof e!=`string`)break;return Ds($o.from(e),n);case J.BOOL:if(e===null)return!1;if(typeof e!=`boolean`)break;return e;case J.STRING:if(e===null)return``;if(typeof e!=`string`){i=`extra whitespace`;break}return e;case J.BYTES:if(e===null||e===``)return new Uint8Array;if(typeof e!=`string`)break;return Io(e)}}catch(e){i=e.message}this.assert(!1,r+(i?` - `+i:``),e)}},ks=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);q(o!==void 0),n[t.useProtoFieldName?e.name:e.jsonName]=o}return n}field(e,t,n){let r;if(e.kind==`map`){q(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);q(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);q(t!==void 0),i[a.toString()]=t}break;case`enum`:let a=e.V.T();for(let[r,o]of Object.entries(t)){q(o===void 0||typeof o==`number`);let t=this.enum(a,o,e.name,!1,!0,n.enumAsInteger);q(t!==void 0),i[r.toString()]=t}break}(n.emitDefaultValues||Object.keys(i).length>0)&&(r=i)}else if(e.repeat){q(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);q(r!==void 0),i.push(r)}break;case`enum`:let r=e.T();for(let a=0;a<t.length;a++){q(t[a]===void 0||typeof t[a]==`number`);let o=this.enum(r,t[a],e.name,e.opt,!0,n.enumAsInteger);q(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);q(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){q(r);return}if(!(t===0&&!i&&!r))return q(typeof t==`number`),q(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){q(r);return}let a=i||r;switch(e){case J.INT32:case J.SFIXED32:case J.SINT32:return t===0?a?0:void 0:(ls(t),t);case J.FIXED32:case J.UINT32:return t===0?a?0:void 0:(us(t),t);case J.FLOAT:ds(t);case J.DOUBLE:return t===0?a?0:void 0:(q(typeof t==`number`),Number.isNaN(t)?`NaN`:t===1/0?`Infinity`:t===-1/0?`-Infinity`:t);case J.STRING:return t===``?a?``:void 0:(q(typeof t==`string`),t);case J.BOOL:return t===!1?a?!1:void 0:(q(typeof t==`boolean`),t);case J.UINT64:case J.FIXED64:q(typeof t==`number`||typeof t==`string`||typeof t==`bigint`);let e=$o.from(t);return e.isZero()&&!a?void 0:e.toString();case J.INT64:case J.SFIXED64:case J.SINT64:q(typeof t==`number`||typeof t==`string`||typeof t==`bigint`);let n=K.from(t);return n.isZero()&&!a?void 0:n.toString();case J.BYTES:return q(t instanceof Uint8Array),t.byteLength?Lo(t):a?``:void 0}}};function As(e,t=Ss.STRING){switch(e){case J.BOOL:return!1;case J.UINT64:case J.FIXED64:return Ds($o.ZERO,t);case J.INT64:case J.SFIXED64:case J.SINT64:return Ds(K.ZERO,t);case J.DOUBLE:case J.FLOAT:return 0;case J.BYTES:return new Uint8Array;case J.STRING:return``;default:return 0}}var js=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?Ro.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`?J.INT32:a.T,r=a.kind==`scalar`?a.L:void 0;if(s){let n=o[c];if(i==W.LengthDelimited&&t!=J.STRING&&t!=J.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==J.BOOL?t.bool().toString():this.scalar(t,e.K,Ss.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=As(e.K);a=e.K==J.BOOL?t.toString():t}if(o===void 0)switch(e.V.kind){case`scalar`:o=As(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 J.INT32:return e.int32();case J.STRING:return e.string();case J.BOOL:return e.bool();case J.DOUBLE:return e.double();case J.FLOAT:return e.float();case J.INT64:return Ds(e.int64(),n);case J.UINT64:return Ds(e.uint64(),n);case J.FIXED64:return Ds(e.fixed64(),n);case J.FIXED32:return e.fixed32();case J.BYTES:return e.bytes();case J.UINT32:return e.uint32();case J.SFIXED32:return e.sfixed32();case J.SFIXED64:return Ds(e.sfixed64(),n);case J.SINT32:return e.sint32();case J.SINT64:return Ds(e.sint64(),n)}}},Ms=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`?J.INT32:r.T;if(o)if(q(Array.isArray(i)),o==Cs.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?q(r.opt):this.scalar(t,e,r.no,i,a||r.opt);break;case`message`:if(o){q(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`:q(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?Ro.onWrite:r)(this.info.typeName,e,t)}mapEntry(e,t,n,r,i){e.tag(n.no,W.LengthDelimited),e.fork();let a=r;switch(n.K){case J.INT32:case J.FIXED32:case J.UINT32:case J.SFIXED32:case J.SINT32:a=Number.parseInt(r);break;case J.BOOL:q(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,J.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,W.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;q(t!==J.BYTES&&t!==J.STRING),e.tag(n,W.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=W.Varint,r,i=t===void 0,a=t===0;switch(e){case J.INT32:r=`int32`;break;case J.STRING:a=i||!t.length,n=W.LengthDelimited,r=`string`;break;case J.BOOL:a=t===!1,r=`bool`;break;case J.UINT32:r=`uint32`;break;case J.DOUBLE:n=W.Bit64,r=`double`;break;case J.FLOAT:n=W.Bit32,r=`float`;break;case J.INT64:a=i||K.from(t).isZero(),r=`int64`;break;case J.UINT64:a=i||$o.from(t).isZero(),r=`uint64`;break;case J.FIXED64:a=i||$o.from(t).isZero(),n=W.Bit64,r=`fixed64`;break;case J.BYTES:a=i||!t.byteLength,n=W.LengthDelimited,r=`bytes`;break;case J.FIXED32:n=W.Bit32,r=`fixed32`;break;case J.SFIXED32:n=W.Bit32,r=`sfixed32`;break;case J.SFIXED64:a=i||K.from(t).isZero(),n=W.Bit64,r=`sfixed64`;break;case J.SINT32:r=`sint32`;break;case J.SINT64:a=i||K.from(t).isZero(),r=`sint64`;break}return[n,r,i||a]}};function Ns(e){let t=e.messagePrototype?Object.create(e.messagePrototype):Object.defineProperty({},bs,{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]=As(n.T,n.L);break;case`enum`:t[e]=0;break;case`map`:t[e]={};break}}return t}function Ps(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 Fs(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`?J.INT32:r.T;if(!(r.repeat?Rs(e,i,a):Ls(e,i,a)))return!1;break;case`map`:if(!(r.V.kind==`message`?zs(r.V.T(),Is(i),Is(a)):Rs(r.V.kind==`enum`?J.INT32:r.V.T,Is(i),Is(a))))return!1;break;case`message`:let t=r.T();if(!(r.repeat?zs(t,i,a):t.equals(i,a)))return!1;break}}return!0}var Is=Object.values;function Ls(e,t,n){if(t===n)return!0;if(e!==J.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 Rs(e,t,n){if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!Ls(e,t[r],n[r]))return!1;return!0}function zs(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 Bs=Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})),Vs=Bs[bs]={},Y=class{constructor(e,t,n){this.defaultCheckDepth=16,this.typeName=e,this.fields=t.map(ws),this.options=n??{},Vs.value=this,this.messagePrototype=Object.create(null,Bs),this.refTypeCheck=new Es(this),this.refJsonReader=new Os(this),this.refJsonWriter=new ks(this),this.refBinReader=new js(this),this.refBinWriter=new Ms(this)}create(e){let t=Ns(this);return e!==void 0&&Ps(this,t,e),t}clone(e){let t=this.create();return Ps(this,t,e),t}equals(e,t){return Fs(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){Ps(this,e,t)}fromBinary(e,t){let n=ts(t);return this.internalBinaryRead(n.readerFactory(e),e.byteLength,n)}fromJson(e,t){return this.internalJsonRead(e,_s(t))}fromJsonString(e,t){let n=JSON.parse(e);return this.fromJson(n,t)}toJson(e,t){return this.internalJsonWrite(e,vs(t))}toJsonString(e,t){let n=this.toJson(e,t);return JSON.stringify(n,null,t?.prettySpaces??0)}toBinary(e,t){let n=ps(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 ${Mo(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}},Hs=function(e){return e[e.NULL_VALUE=0]=`NULL_VALUE`,e}({}),Us=new class extends Y{constructor(){super(`google.protobuf.Struct`,[{no:1,name:`fields`,kind:`map`,K:9,V:{kind:`message`,T:()=>X}}])}internalJsonWrite(e,t){let n={};for(let[t,r]of Object.entries(e.fields))n[t]=X.toJson(r);return n}internalJsonRead(e,t,n){if(!No(e))throw new globalThis.Error(`Unable to parse message `+this.typeName+` from JSON `+Mo(e)+`.`);n||=this.create();for(let[t,r]of globalThis.Object.entries(e))n.fields[t]=X.fromJson(r);return n}},X=new class extends Y{constructor(){super(`google.protobuf.Value`,[{no:1,name:`null_value`,kind:`enum`,oneof:`kind`,T:()=>[`google.protobuf.NullValue`,Hs]},{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:()=>Us},{no:6,name:`list_value`,kind:`message`,oneof:`kind`,T:()=>Ws}])}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:Hs.NULL_VALUE}:globalThis.Array.isArray(e)?n.kind={oneofKind:`listValue`,listValue:Ws.fromJson(e)}:n.kind={oneofKind:`structValue`,structValue:Us.fromJson(e)};break;default:throw new globalThis.Error(`Unable to parse `+this.typeName+` from JSON `+Mo(e))}return n}},Ws=new class extends Y{constructor(){super(`google.protobuf.ListValue`,[{no:1,name:`values`,kind:`message`,repeat:2,T:()=>X}])}internalJsonWrite(e,t){return e.values.map(e=>X.toJson(e))}internalJsonRead(e,t,n){if(!globalThis.Array.isArray(e))throw new globalThis.Error(`Unable to parse `+this.typeName+` from JSON `+Mo(e));n||=this.create();let r=e.map(e=>X.fromJson(e));return n.values.push(...r),n}},Gs=function(e){return e[e.DATATYPE_KIND_UNKNOWN=0]=`DATATYPE_KIND_UNKNOWN`,e[e.STRUCT=1]=`STRUCT`,e[e.ENUM=2]=`ENUM`,e}({}),Ks=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}({}),qs=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}({}),Js=function(e){return e[e.REFERENCE_UNKNOWN=0]=`REFERENCE_UNKNOWN`,e[e.IMMUTABLE=1]=`IMMUTABLE`,e[e.MUTABLE=2]=`MUTABLE`,e}({}),Ys=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}({}),Xs=new class extends Y{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:()=>Zs},{no:5,name:`type_origins`,kind:`message`,repeat:2,T:()=>ac},{no:6,name:`linkage`,kind:`message`,repeat:2,T:()=>oc}])}},Zs=new class extends Y{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:()=>Qs},{no:4,name:`functions`,kind:`message`,repeat:2,T:()=>rc}])}},Qs=new class extends Y{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`,Ys]},{no:6,name:`type_parameters`,kind:`message`,repeat:2,T:()=>$s},{no:7,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.DatatypeDescriptor.DatatypeKind`,Gs]},{no:8,name:`fields`,kind:`message`,repeat:2,T:()=>ec},{no:9,name:`variants`,kind:`message`,repeat:2,T:()=>tc}])}},$s=new class extends Y{constructor(){super(`sui.rpc.v2.TypeParameter`,[{no:1,name:`constraints`,kind:`enum`,repeat:1,T:()=>[`sui.rpc.v2.Ability`,Ys]},{no:2,name:`is_phantom`,kind:`scalar`,opt:!0,T:8}])}},ec=new class extends Y{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:()=>nc}])}},tc=new class extends Y{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:()=>ec}])}},nc=new class extends Y{constructor(){super(`sui.rpc.v2.OpenSignatureBody`,[{no:1,name:`type`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.OpenSignatureBody.Type`,Ks]},{no:2,name:`type_name`,kind:`scalar`,opt:!0,T:9},{no:3,name:`type_parameter_instantiation`,kind:`message`,repeat:2,T:()=>nc},{no:4,name:`type_parameter`,kind:`scalar`,opt:!0,T:13}])}},rc=new class extends Y{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`,qs]},{no:6,name:`is_entry`,kind:`scalar`,opt:!0,T:8},{no:7,name:`type_parameters`,kind:`message`,repeat:2,T:()=>$s},{no:8,name:`parameters`,kind:`message`,repeat:2,T:()=>ic},{no:9,name:`returns`,kind:`message`,repeat:2,T:()=>ic}])}},ic=new class extends Y{constructor(){super(`sui.rpc.v2.OpenSignature`,[{no:1,name:`reference`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.OpenSignature.Reference`,Js]},{no:2,name:`body`,kind:`message`,T:()=>nc}])}},ac=new class extends Y{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}])}},oc=new class extends Y{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}])}},sc=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}({}),cc=new class extends Y{constructor(){super(`sui.rpc.v2.Owner`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.Owner.OwnerKind`,sc]},{no:2,name:`address`,kind:`scalar`,opt:!0,T:9},{no:3,name:`version`,kind:`scalar`,opt:!0,T:4,L:0}])}},lc=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}({}),uc=new class extends Y{constructor(){super(`sui.rpc.v2.Argument`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.Argument.ArgumentKind`,lc]},{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}])}},dc=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}({}),fc=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}({}),pc=function(e){return e[e.SOURCE_UNKNOWN=0]=`SOURCE_UNKNOWN`,e[e.SENDER=1]=`SENDER`,e[e.SPONSOR=2]=`SPONSOR`,e}({}),mc=new class extends Y{constructor(){super(`sui.rpc.v2.Input`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.Input.InputKind`,dc]},{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`,fc]},{no:8,name:`funds_withdrawal`,kind:`message`,T:()=>hc},{no:1e3,name:`literal`,kind:`message`,T:()=>X}])}},hc=new class extends Y{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`,pc]}])}},gc=new class extends Y{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=K.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 `+Mo(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=K.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}},_c=new class extends Y{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}])}},vc=new class extends Y{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}])}},yc=new class extends Y{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}])}},bc=new class extends Y{constructor(){super(`sui.rpc.v2.Object`,[{no:1,name:`bcs`,kind:`message`,T:()=>yc},{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:()=>cc},{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:()=>yc},{no:9,name:`package`,kind:`message`,T:()=>Xs},{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:()=>X},{no:101,name:`balance`,kind:`scalar`,opt:!0,T:4,L:0},{no:102,name:`display`,kind:`message`,T:()=>Sc}])}},xc=new class extends Y{constructor(){super(`sui.rpc.v2.ObjectSet`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>bc}])}},Sc=new class extends Y{constructor(){super(`sui.rpc.v2.Display`,[{no:1,name:`output`,kind:`message`,T:()=>X},{no:2,name:`errors`,kind:`message`,T:()=>X}])}},Cc=new class extends Y{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=K.from(Math.floor(t/1e3)).toBigInt(),e.nanos=t%1e3*1e6,e}toDate(e){return new Date(K.from(e.seconds).toNumber()*1e3+Math.ceil(e.nanos/1e6))}fromDate(e){let t=this.create(),n=e.getTime();return t.seconds=K.from(Math.floor(n/1e3)).toBigInt(),t.nanos=(n%1e3+(n<0&&n%1e3!=0?1e3:0))*1e6,t}internalJsonWrite(e,t){let n=K.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 `+Mo(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=K.from(i/1e3).toBigInt(),n.nanos=0,r[7]&&(n.nanos=parseInt(`1`+r[7]+`0`.repeat(9-r[7].length))-1e9),n}},wc=new class extends Y{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}])}},Tc=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}({}),Ec=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}({}),Dc=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}({}),Oc=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}({}),kc=new class extends Y{constructor(){super(`sui.rpc.v2.Transaction`,[{no:1,name:`bcs`,kind:`message`,T:()=>yc},{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:()=>Mc},{no:5,name:`sender`,kind:`scalar`,opt:!0,T:9},{no:6,name:`gas_payment`,kind:`message`,T:()=>Ac},{no:7,name:`expiration`,kind:`message`,T:()=>jc}])}},Ac=new class extends Y{constructor(){super(`sui.rpc.v2.GasPayment`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>wc},{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}])}},jc=new class extends Y{constructor(){super(`sui.rpc.v2.TransactionExpiration`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.TransactionExpiration.TransactionExpirationKind`,Tc]},{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:()=>Cc},{no:5,name:`max_timestamp`,kind:`message`,T:()=>Cc},{no:6,name:`chain`,kind:`scalar`,opt:!0,T:9},{no:7,name:`nonce`,kind:`scalar`,opt:!0,T:13}])}},Mc=new class extends Y{constructor(){super(`sui.rpc.v2.TransactionKind`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.TransactionKind.Kind`,Ec]},{no:2,name:`programmable_transaction`,kind:`message`,oneof:`data`,T:()=>Nc},{no:3,name:`change_epoch`,kind:`message`,oneof:`data`,T:()=>Uc},{no:4,name:`genesis`,kind:`message`,oneof:`data`,T:()=>Gc},{no:5,name:`consensus_commit_prologue`,kind:`message`,oneof:`data`,T:()=>Kc},{no:6,name:`authenticator_state_update`,kind:`message`,oneof:`data`,T:()=>Xc},{no:7,name:`end_of_epoch`,kind:`message`,oneof:`data`,T:()=>Qc},{no:8,name:`randomness_state_update`,kind:`message`,oneof:`data`,T:()=>Hc}])}},Nc=new class extends Y{constructor(){super(`sui.rpc.v2.ProgrammableTransaction`,[{no:1,name:`inputs`,kind:`message`,repeat:2,T:()=>mc},{no:2,name:`commands`,kind:`message`,repeat:2,T:()=>Pc}])}},Pc=new class extends Y{constructor(){super(`sui.rpc.v2.Command`,[{no:1,name:`move_call`,kind:`message`,oneof:`command`,T:()=>Fc},{no:2,name:`transfer_objects`,kind:`message`,oneof:`command`,T:()=>Ic},{no:3,name:`split_coins`,kind:`message`,oneof:`command`,T:()=>Lc},{no:4,name:`merge_coins`,kind:`message`,oneof:`command`,T:()=>Rc},{no:5,name:`publish`,kind:`message`,oneof:`command`,T:()=>zc},{no:6,name:`make_move_vector`,kind:`message`,oneof:`command`,T:()=>Bc},{no:7,name:`upgrade`,kind:`message`,oneof:`command`,T:()=>Vc}])}},Fc=new class extends Y{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:()=>uc}])}},Ic=new class extends Y{constructor(){super(`sui.rpc.v2.TransferObjects`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>uc},{no:2,name:`address`,kind:`message`,T:()=>uc}])}},Lc=new class extends Y{constructor(){super(`sui.rpc.v2.SplitCoins`,[{no:1,name:`coin`,kind:`message`,T:()=>uc},{no:2,name:`amounts`,kind:`message`,repeat:2,T:()=>uc}])}},Rc=new class extends Y{constructor(){super(`sui.rpc.v2.MergeCoins`,[{no:1,name:`coin`,kind:`message`,T:()=>uc},{no:2,name:`coins_to_merge`,kind:`message`,repeat:2,T:()=>uc}])}},zc=new class extends Y{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}])}},Bc=new class extends Y{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:()=>uc}])}},Vc=new class extends Y{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:()=>uc}])}},Hc=new class extends Y{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}])}},Uc=new class extends Y{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:()=>Cc},{no:8,name:`system_packages`,kind:`message`,repeat:2,T:()=>Wc}])}},Wc=new class extends Y{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}])}},Gc=new class extends Y{constructor(){super(`sui.rpc.v2.GenesisTransaction`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>bc}])}},Kc=new class extends Y{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:()=>Cc},{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:()=>Yc},{no:7,name:`additional_state_digest`,kind:`scalar`,opt:!0,T:9}])}},qc=new class extends Y{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}])}},Jc=new class extends Y{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:()=>qc}])}},Yc=new class extends Y{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:()=>Jc}])}},Xc=new class extends Y{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:()=>Zc},{no:4,name:`authenticator_object_initial_shared_version`,kind:`scalar`,opt:!0,T:4,L:0}])}},Zc=new class extends Y{constructor(){super(`sui.rpc.v2.ActiveJwk`,[{no:1,name:`id`,kind:`message`,T:()=>_c},{no:2,name:`jwk`,kind:`message`,T:()=>vc},{no:3,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0}])}},Qc=new class extends Y{constructor(){super(`sui.rpc.v2.EndOfEpochTransaction`,[{no:1,name:`transactions`,kind:`message`,repeat:2,T:()=>$c}])}},$c=new class extends Y{constructor(){super(`sui.rpc.v2.EndOfEpochTransactionKind`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.EndOfEpochTransactionKind.Kind`,Dc]},{no:2,name:`change_epoch`,kind:`message`,oneof:`data`,T:()=>Uc},{no:3,name:`authenticator_state_expire`,kind:`message`,oneof:`data`,T:()=>el},{no:4,name:`execution_time_observations`,kind:`message`,oneof:`data`,T:()=>tl},{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}])}},el=new class extends Y{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}])}},tl=new class extends Y{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:()=>nl}])}},nl=new class extends Y{constructor(){super(`sui.rpc.v2.ExecutionTimeObservation`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ExecutionTimeObservation.ExecutionTimeObservationKind`,Oc]},{no:2,name:`move_entry_point`,kind:`message`,T:()=>Fc},{no:3,name:`validator_observations`,kind:`message`,repeat:2,T:()=>rl}])}},rl=new class extends Y{constructor(){super(`sui.rpc.v2.ValidatorExecutionTimeObservation`,[{no:1,name:`validator`,kind:`scalar`,opt:!0,T:12},{no:2,name:`duration`,kind:`message`,T:()=>gc}])}};function il(e){switch(e.$kind){case`Pure`:return{kind:dc.PURE,pure:S(e.Pure.bytes)};case`Object`:if(e.Object.$kind===`ImmOrOwnedObject`)return{kind:dc.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:dc.SHARED,objectId:e.Object.SharedObject.objectId,version:BigInt(e.Object.SharedObject.initialSharedVersion),mutable:e.Object.SharedObject.mutable};if(e.Object.$kind===`Receiving`)return{kind:dc.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:dc.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`?pc.SPONSOR:pc.SENDER}}}default:throw Error(`Unknown CallArg kind: ${JSON.stringify(e)}`)}}function al(e){if(`GasCoin`in e)return{kind:lc.GAS};if(`Input`in e)return{kind:lc.INPUT,input:e.Input};if(`Result`in e)return{kind:lc.RESULT,result:e.Result};if(`NestedResult`in e)return{kind:lc.RESULT,result:e.NestedResult[0],subresult:e.NestedResult[1]};throw Error(`Unknown Argument: ${JSON.stringify(e)}`)}function ol(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(al)}}};case`TransferObjects`:return{command:{oneofKind:`transferObjects`,transferObjects:{objects:e.TransferObjects.objects.map(al),address:al(e.TransferObjects.address)}}};case`SplitCoins`:return{command:{oneofKind:`splitCoins`,splitCoins:{coin:al(e.SplitCoins.coin),amounts:e.SplitCoins.amounts.map(al)}}};case`MergeCoins`:return{command:{oneofKind:`mergeCoins`,mergeCoins:{coin:al(e.MergeCoins.destination),coinsToMerge:e.MergeCoins.sources.map(al)}}};case`Publish`:return{command:{oneofKind:`publish`,publish:{modules:e.Publish.modules.map(e=>S(e)),dependencies:e.Publish.dependencies}}};case`MakeMoveVec`:return{command:{oneofKind:`makeMoveVector`,makeMoveVector:{elementType:e.MakeMoveVec.type??void 0,elements:e.MakeMoveVec.elements.map(al)}}};case`Upgrade`:return{command:{oneofKind:`upgrade`,upgrade:{modules:e.Upgrade.modules.map(e=>S(e)),dependencies:e.Upgrade.dependencies,package:e.Upgrade.package,ticket:al(e.Upgrade.ticket)}}};default:throw Error(`Unknown Command kind: ${JSON.stringify(e)}`)}}function sl(e){let t={version:1,kind:{data:{oneofKind:`programmableTransaction`,programmableTransaction:{inputs:e.inputs.map(il),commands:e.commands.map(ol)}}}};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:Tc.NONE};else if(e.expiration.$kind===`Epoch`)t.expiration={kind:Tc.EPOCH,epoch:BigInt(e.expiration.Epoch)};else if(e.expiration.$kind===`ValidDuring`){let n=e.expiration.ValidDuring;t.expiration={kind:Tc.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 cl(e,t,n){let r=pl(t);n?.onlyTransactionKind?e.applyResolvedData({...r,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):e.applyResolvedData(r)}function ll(e){let t=e.getData();return t.sender||=`0x0000000000000000000000000000000000000000000000000000000000000000`,sl(t)}function ul(e){switch(e.kind){case dc.PURE:return{$kind:`Pure`,Pure:{bytes:w(e.pure)}};case dc.IMMUTABLE_OR_OWNED:return{$kind:`Object`,Object:{$kind:`ImmOrOwnedObject`,ImmOrOwnedObject:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case dc.SHARED:return{$kind:`Object`,Object:{$kind:`SharedObject`,SharedObject:{objectId:e.objectId,initialSharedVersion:e.version.toString(),mutable:e.mutable??!1}}};case dc.RECEIVING:return{$kind:`Object`,Object:{$kind:`Receiving`,Receiving:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case dc.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===pc.SPONSOR?{$kind:`Sponsor`,Sponsor:!0}:{$kind:`Sender`,Sender:!0}}};default:throw Error(`Unknown Input kind: ${JSON.stringify(e)}`)}}function dl(e){switch(e.kind){case lc.GAS:return{$kind:`GasCoin`,GasCoin:!0};case lc.INPUT:return{$kind:`Input`,Input:e.input};case lc.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 fl(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(dl)}};case`transferObjects`:return{$kind:`TransferObjects`,TransferObjects:{objects:t.transferObjects.objects.map(dl),address:dl(t.transferObjects.address)}};case`splitCoins`:return{$kind:`SplitCoins`,SplitCoins:{coin:dl(t.splitCoins.coin),amounts:t.splitCoins.amounts.map(dl)}};case`mergeCoins`:return{$kind:`MergeCoins`,MergeCoins:{destination:dl(t.mergeCoins.coin),sources:t.mergeCoins.coinsToMerge.map(dl)}};case`publish`:return{$kind:`Publish`,Publish:{modules:t.publish.modules.map(e=>w(e)),dependencies:t.publish.dependencies??[]}};case`makeMoveVector`:return{$kind:`MakeMoveVec`,MakeMoveVec:{type:t.makeMoveVector.elementType??null,elements:t.makeMoveVector.elements.map(dl)}};case`upgrade`:return{$kind:`Upgrade`,Upgrade:{modules:t.upgrade.modules.map(e=>w(e)),dependencies:t.upgrade.dependencies??[],package:t.upgrade.package,ticket:dl(t.upgrade.ticket)}};default:throw Error(`Unknown Command kind: ${JSON.stringify(t)}`)}}function pl(e){let t=e.kind?.data;if(t?.oneofKind!==`programmableTransaction`)throw Error(`Only programmable transactions are supported`);let n=t.programmableTransaction.inputs.map(ul),r=t.programmableTransaction.commands.map(fl),i=null;if(e.expiration)switch(e.expiration.kind){case Tc.NONE:i={$kind:`None`,None:!0};break;case Tc.EPOCH:i={$kind:`Epoch`,Epoch:e.expiration.epoch.toString()};break;case Tc.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 ml=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}({}),hl=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}({}),gl=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}({}),_l=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}({}),vl=new class extends Y{constructor(){super(`sui.rpc.v2.ExecutionStatus`,[{no:1,name:`success`,kind:`scalar`,opt:!0,T:8},{no:2,name:`error`,kind:`message`,T:()=>yl}])}},yl=new class extends Y{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`,ml]},{no:4,name:`abort`,kind:`message`,oneof:`errorDetails`,T:()=>bl},{no:5,name:`size_error`,kind:`message`,oneof:`errorDetails`,T:()=>Cl},{no:6,name:`command_argument_error`,kind:`message`,oneof:`errorDetails`,T:()=>Dl},{no:7,name:`type_argument_error`,kind:`message`,oneof:`errorDetails`,T:()=>kl},{no:8,name:`package_upgrade_error`,kind:`message`,oneof:`errorDetails`,T:()=>Ol},{no:9,name:`index_error`,kind:`message`,oneof:`errorDetails`,T:()=>wl},{no:10,name:`object_id`,kind:`scalar`,oneof:`errorDetails`,T:9},{no:11,name:`coin_deny_list_error`,kind:`message`,oneof:`errorDetails`,T:()=>Tl},{no:12,name:`congested_objects`,kind:`message`,oneof:`errorDetails`,T:()=>El}])}},bl=new class extends Y{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:()=>xl},{no:3,name:`clever_error`,kind:`message`,T:()=>Sl}])}},xl=new class extends Y{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}])}},Sl=new class extends Y{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}])}},Cl=new class extends Y{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}])}},wl=new class extends Y{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}])}},Tl=new class extends Y{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}])}},El=new class extends Y{constructor(){super(`sui.rpc.v2.CongestedObjects`,[{no:1,name:`objects`,kind:`scalar`,repeat:2,T:9}])}},Dl=new class extends Y{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`,hl]},{no:3,name:`index_error`,kind:`message`,T:()=>wl}])}},Ol=new class extends Y{constructor(){super(`sui.rpc.v2.PackageUpgradeError`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.PackageUpgradeError.PackageUpgradeErrorKind`,gl]},{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}])}},kl=new class extends Y{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`,_l]}])}},Al=new class extends Y{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}])}},jl=function(e){return e[e.UNKNOWN=0]=`UNKNOWN`,e[e.DOES_NOT_EXIST=1]=`DOES_NOT_EXIST`,e[e.EXISTS=2]=`EXISTS`,e}({}),Ml=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}({}),Nl=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}({}),Pl=function(e){return e[e.ACCUMULATOR_OPERATION_UNKNOWN=0]=`ACCUMULATOR_OPERATION_UNKNOWN`,e[e.MERGE=1]=`MERGE`,e[e.SPLIT=2]=`SPLIT`,e}({}),Fl=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}({}),Il=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}({}),Ll=new class extends Y{constructor(){super(`sui.rpc.v2.TransactionEffects`,[{no:1,name:`bcs`,kind:`message`,T:()=>yc},{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:()=>vl},{no:5,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:6,name:`gas_used`,kind:`message`,T:()=>Al},{no:7,name:`transaction_digest`,kind:`scalar`,opt:!0,T:9},{no:8,name:`gas_object`,kind:`message`,T:()=>Rl},{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:()=>Rl},{no:13,name:`unchanged_consensus_objects`,kind:`message`,repeat:2,T:()=>Vl},{no:14,name:`auxiliary_data_digest`,kind:`scalar`,opt:!0,T:9},{no:15,name:`unchanged_loaded_runtime_objects`,kind:`message`,repeat:2,T:()=>wc}])}},Rl=new class extends Y{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`,jl,`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:()=>cc},{no:6,name:`output_state`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ChangedObject.OutputObjectState`,Ml,`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:()=>cc},{no:12,name:`accumulator_write`,kind:`message`,T:()=>Bl},{no:10,name:`id_operation`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ChangedObject.IdOperation`,Nl]},{no:11,name:`object_type`,kind:`scalar`,opt:!0,T:9}])}},zl=new class extends Y{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}])}},Bl=new class extends Y{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`,Pl]},{no:4,name:`value_kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.AccumulatorWrite.AccumulatorValue`,Fl]},{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:()=>zl}])}},Vl=new class extends Y{constructor(){super(`sui.rpc.v2.UnchangedConsensusObject`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.UnchangedConsensusObject.UnchangedConsensusObjectKind`,Il]},{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}])}},Hl=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}({}),Ul=new class extends Y{constructor(){super(`sui.rpc.v2.UserSignature`,[{no:1,name:`bcs`,kind:`message`,T:()=>yc},{no:2,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,Hl]},{no:3,name:`simple`,kind:`message`,oneof:`signature`,T:()=>Wl},{no:4,name:`multisig`,kind:`message`,oneof:`signature`,T:()=>Yl},{no:5,name:`zklogin`,kind:`message`,oneof:`signature`,T:()=>Zl},{no:6,name:`passkey`,kind:`message`,oneof:`signature`,T:()=>ru}])}},Wl=new class extends Y{constructor(){super(`sui.rpc.v2.SimpleSignature`,[{no:1,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,Hl]},{no:2,name:`signature`,kind:`scalar`,opt:!0,T:12},{no:3,name:`public_key`,kind:`scalar`,opt:!0,T:12}])}},Gl=new class extends Y{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}])}},Kl=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigMemberPublicKey`,[{no:1,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,Hl]},{no:2,name:`public_key`,kind:`scalar`,opt:!0,T:12},{no:3,name:`zklogin`,kind:`message`,T:()=>Gl}])}},ql=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigMember`,[{no:1,name:`public_key`,kind:`message`,T:()=>Kl},{no:2,name:`weight`,kind:`scalar`,opt:!0,T:13}])}},Jl=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigCommittee`,[{no:1,name:`members`,kind:`message`,repeat:2,T:()=>ql},{no:2,name:`threshold`,kind:`scalar`,opt:!0,T:13}])}},Yl=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigAggregatedSignature`,[{no:1,name:`signatures`,kind:`message`,repeat:2,T:()=>Xl},{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:()=>Jl}])}},Xl=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigMemberSignature`,[{no:1,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,Hl]},{no:2,name:`signature`,kind:`scalar`,opt:!0,T:12},{no:3,name:`zklogin`,kind:`message`,T:()=>Zl},{no:4,name:`passkey`,kind:`message`,T:()=>ru}])}},Zl=new class extends Y{constructor(){super(`sui.rpc.v2.ZkLoginAuthenticator`,[{no:1,name:`inputs`,kind:`message`,T:()=>Ql},{no:2,name:`max_epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`signature`,kind:`message`,T:()=>Wl},{no:4,name:`public_identifier`,kind:`message`,T:()=>Gl},{no:5,name:`jwk_id`,kind:`message`,T:()=>_c}])}},Ql=new class extends Y{constructor(){super(`sui.rpc.v2.ZkLoginInputs`,[{no:1,name:`proof_points`,kind:`message`,T:()=>$l},{no:2,name:`iss_base64_details`,kind:`message`,T:()=>eu},{no:3,name:`header_base64`,kind:`scalar`,opt:!0,T:9},{no:4,name:`address_seed`,kind:`scalar`,opt:!0,T:9}])}},$l=new class extends Y{constructor(){super(`sui.rpc.v2.ZkLoginProof`,[{no:1,name:`a`,kind:`message`,T:()=>tu},{no:2,name:`b`,kind:`message`,T:()=>nu},{no:3,name:`c`,kind:`message`,T:()=>tu}])}},eu=new class extends Y{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}])}},tu=new class extends Y{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}])}},nu=new class extends Y{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}])}},ru=new class extends Y{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:()=>Wl}])}},iu=new class extends Y{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:()=>au}])}},au=new class extends Y{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}])}},ou=new class extends Y{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}])}},su=new class extends Y{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}])}},cu=new class extends Y{constructor(){super(`sui.rpc.v2.TransactionEvents`,[{no:1,name:`bcs`,kind:`message`,T:()=>yc},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:3,name:`events`,kind:`message`,repeat:2,T:()=>lu}])}},lu=new class extends Y{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:()=>yc},{no:6,name:`json`,kind:`message`,T:()=>X}])}},uu=new class extends Y{constructor(){super(`sui.rpc.v2.ExecutedTransaction`,[{no:1,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:2,name:`transaction`,kind:`message`,T:()=>kc},{no:3,name:`signatures`,kind:`message`,repeat:2,T:()=>Ul},{no:4,name:`effects`,kind:`message`,T:()=>Ll},{no:5,name:`events`,kind:`message`,T:()=>cu},{no:6,name:`checkpoint`,kind:`scalar`,opt:!0,T:4,L:0},{no:7,name:`timestamp`,kind:`message`,T:()=>Cc},{no:8,name:`balance_changes`,kind:`message`,repeat:2,T:()=>su},{no:9,name:`objects`,kind:`message`,T:()=>xc}])}},du=new class extends Y{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 xs(e)}).join(`,`)}internalJsonRead(e,t,n){if(typeof e!=`string`)throw Error(`Unable to parse FieldMask from JSON `+Mo(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 fu(e,t){let n=e;return n.service=t,n.localName=n.localName??xs(n.name),n.serverStreaming=!!n.serverStreaming,n.clientStreaming=!!n.clientStreaming,n.options=n.options??{},n.idempotency=n.idempotency??void 0,n}var pu=class{constructor(e,t,n){this.typeName=e,this.methods=t.map(e=>fu(e,this)),this.options=n??{}}},Z=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(`
|
|
6
|
+
`)}};function mu(e,t){if(!t)return e;let n={};hu(e,n),hu(t,n);for(let r of Object.keys(t)){let i=t[r];switch(r){case`jsonOptions`:n.jsonOptions=ys(e.jsonOptions,n.jsonOptions);break;case`binaryOptions`:n.binaryOptions=zo(e.binaryOptions,n.binaryOptions);break;case`meta`:n.meta={},hu(e.meta,n.meta),hu(t.meta,n.meta);break;case`interceptors`:n.interceptors=e.interceptors?e.interceptors.concat(i):i.concat();break}}return n}function hu(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 gu;(function(e){e[e.PENDING=0]=`PENDING`,e[e.REJECTED=1]=`REJECTED`,e[e.RESOLVED=2]=`RESOLVED`})(gu||={});var _u=class{constructor(e=!0){this._state=gu.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!==gu.PENDING)throw Error(`cannot resolve ${gu[this.state].toLowerCase()}`);this._resolve(e),this._state=gu.RESOLVED}reject(e){if(this.state!==gu.PENDING)throw Error(`cannot reject ${gu[this.state].toLowerCase()}`);this._reject(e),this._state=gu.REJECTED}resolvePending(e){this._state===gu.PENDING&&this.resolve(e)}rejectPending(e){this._state===gu.PENDING&&this.reject(e)}},vu=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){q(+!!e+ +!!t+ +!!n<=1,`only one emission at a time`),e&&this.notifyMessage(e),t&&this.notifyError(t),n&&this.notifyComplete()}notifyMessage(e){q(!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){q(!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(){q(!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;q(e,`bad state`),q(!e.p,`iterator contract broken`);let t=e.q.shift();return t?`value`in t?Promise.resolve(t):Promise.reject(t):(e.p=new _u,e.p.promise)}}}pushIt(e){let t=this._itState;if(t.p){let n=t.p;q(n.state==gu.PENDING,`iterator contract broken`),`value`in e?n.resolve(e):n.reject(e),delete t.p}else t.q.push(e)}},yu=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())})},bu=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 yu(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}})}},xu=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())})},Su=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 xu(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 Q(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)}rs(e)}var Cu=function(e){return e[e.ENABLED=0]=`ENABLED`,e[e.DISABLED=1]=`DISABLED`,e}({}),wu=new class extends Y{constructor(){super(`sui.rpc.v2.ExecuteTransactionRequest`,[{no:1,name:`transaction`,kind:`message`,T:()=>kc},{no:2,name:`signatures`,kind:`message`,repeat:2,T:()=>Ul},{no:3,name:`read_mask`,kind:`message`,T:()=>du}])}},Tu=new class extends Y{constructor(){super(`sui.rpc.v2.ExecuteTransactionResponse`,[{no:1,name:`transaction`,kind:`message`,T:()=>uu}])}},Eu=new class extends Y{constructor(){super(`sui.rpc.v2.SimulateTransactionRequest`,[{no:1,name:`transaction`,kind:`message`,T:()=>kc},{no:2,name:`read_mask`,kind:`message`,T:()=>du},{no:3,name:`checks`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SimulateTransactionRequest.TransactionChecks`,Cu]},{no:4,name:`do_gas_selection`,kind:`scalar`,opt:!0,T:8}])}},Du=new class extends Y{constructor(){super(`sui.rpc.v2.SimulateTransactionResponse`,[{no:1,name:`transaction`,kind:`message`,T:()=>uu},{no:2,name:`command_outputs`,kind:`message`,repeat:2,T:()=>Ou},{no:3,name:`suggested_gas_price`,kind:`scalar`,opt:!0,T:4,L:0}])}},Ou=new class extends Y{constructor(){super(`sui.rpc.v2.CommandResult`,[{no:1,name:`return_values`,kind:`message`,repeat:2,T:()=>ku},{no:2,name:`mutated_by_ref`,kind:`message`,repeat:2,T:()=>ku}])}},ku=new class extends Y{constructor(){super(`sui.rpc.v2.CommandOutput`,[{no:1,name:`argument`,kind:`message`,T:()=>uc},{no:2,name:`value`,kind:`message`,T:()=>yc},{no:3,name:`json`,kind:`message`,T:()=>X}])}},Au=new pu(`sui.rpc.v2.TransactionExecutionService`,[{name:`ExecuteTransaction`,options:{},I:wu,O:Tu},{name:`SimulateTransaction`,options:{},I:Eu,O:Du}]),ju=class extends wo{#e;constructor({client:e,...t}){super(t),this.#e=e}async getObjects(e){let t=Ie(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(`::`)?re(i):i??``,o=e.include?.json?t.result.object.json?X.toJson(t.result.object.json):null:void 0,s=Mu(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:Nu(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?S(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:Nu(t.owner),type:t.objectType,previousTransaction:t.previousTransaction??void 0,objectBcs:t.bcs?.value,json:e.include?.json?t.json?X.toJson(t.json):null:void 0,display:Mu(e.include?.display,t.display)})),cursor:n.response.nextPageToken?w(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??tt,r=await this.#e.stateService.listOwnedObjects({owner:e.owner,objectType:`0x2::coin::Coin<${(await this.mvr.resolveType({type:n})).type}>`,pageToken:e.cursor?S(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:Nu(e.owner),type:e.objectType,balance:e.balance?.toString()})),cursor:r.response.nextPageToken?w(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}async getBalance(e){let t=e.coinType??tt,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?S(e.cursor):void 0,pageSize:e.limit});return{hasNextPage:!!t.response.nextPageToken,cursor:t.response.nextPageToken?w(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 Hu(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:S(e)},signature:{oneofKind:void 0}})),readMask:{paths:t}});return Hu(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}}:ll(e.transaction),readMask:{paths:t},doGasSelection:!1,checks:e.checksEnabled===!1?Cu.DISABLED:Cu.ENABLED}),r=Hu(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=S(e.bytes),n=e.intentScope===`PersonalMessage`?m.byteVector().serialize(t).toBytes():t,{response:r}=await this.#e.signatureVerificationService.verifySignature({message:{name:e.intentScope,value:n},signature:{bcs:{value:S(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 qs.PUBLIC:r=`public`;break;case qs.PRIVATE:r=`private`;break;case qs.FRIEND:r=`friend`;break}return{function:{packageId:C(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 Ys.COPY:return`copy`;case Ys.DROP:return`drop`;case Ys.STORE:return`store`;case Ys.KEY:return`key`;default:return`unknown`}})??[]}))??[],parameters:n.function?.parameters?.map(e=>Uu(e))??[],returns:n.function?.returns?.map(e=>Uu(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=sl(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 Dr(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?Pu(o.transaction.effects.status.error):void 0;throw new Dr(`Transaction resolution failed: ${e?.message??`Transaction failed`}`,{executionError:e})}if(!o.transaction?.transaction)throw Error(`simulateTransaction did not return resolved transaction data`);return cl(t,o.transaction.transaction,n),await r()}}};function Mu(e,t){if(e)return t===void 0?null:{output:t.output===void 0?null:X.toJson(t.output),errors:t.errors===void 0?null:X.toJson(t.errors)}}function Nu(e){if(!e)return null;if(e.kind===sc.IMMUTABLE)return{$kind:`Immutable`,Immutable:!0};if(e.kind===sc.ADDRESS)return{AddressOwner:e.address,$kind:`AddressOwner`};if(e.kind===sc.OBJECT)return{$kind:`ObjectOwner`,ObjectOwner:e.address};if(e.kind===sc.SHARED)return{$kind:`Shared`,Shared:{initialSharedVersion:e.version?.toString()}};if(e.kind===sc.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 Pu(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:Oo({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:Fu(e)}}case`sizeError`:return{$kind:`SizeError`,message:t,command:n,SizeError:{name:Iu(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:Iu(r.commandArgumentError.kind)}};case`typeArgumentError`:return{$kind:`TypeArgumentError`,message:t,command:n,TypeArgumentError:{typeArgument:r.typeArgumentError.typeArgument??0,name:Iu(r.typeArgumentError.kind)}};case`packageUpgradeError`:return{$kind:`PackageUpgradeError`,message:t,command:n,PackageUpgradeError:{name:Iu(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:Iu(e.kind),coinType:r.coinDenyListError.coinType,address:r.coinDenyListError.address}};case`congestedObjects`:return{$kind:`CongestedObjects`,message:t,command:n,CongestedObjects:{name:Iu(e.kind),objects:r.congestedObjects.objects}};case`objectId`:return{$kind:`ObjectIdError`,message:t,command:n,ObjectIdError:{name:Iu(e.kind),objectId:r.objectId}};default:return{$kind:`Unknown`,message:t,command:n,Unknown:null}}}function Fu(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`?w(e.cleverError.value.raw):void 0}:void 0}}function Iu(e){if(e==null)return`Unknown`;let t=hl[e];return!t||t.endsWith(`_UNKNOWN`)?`Unknown`:t.split(`_`).map(e=>e.charAt(0)+e.slice(1).toLowerCase()).join(``)}function Lu(e){if(e==null)return null;switch(e){case Nl.CREATED:return`Created`;case Nl.DELETED:return`Deleted`;case Nl.NONE:case Nl.ID_OPERATION_UNKNOWN:return`None`;default:return`Unknown`}}function Ru(e){if(e==null)return null;switch(e){case jl.EXISTS:return`Exists`;case jl.DOES_NOT_EXIST:return`DoesNotExist`;case jl.UNKNOWN:return`Unknown`;default:return`Unknown`}}function zu(e){if(e==null)return null;switch(e){case Ml.OBJECT_WRITE:return`ObjectWrite`;case Ml.PACKAGE_WRITE:return`PackageWrite`;case Ml.DOES_NOT_EXIST:return`DoesNotExist`;case Ml.ACCUMULATOR_WRITE:return`AccumulatorWriteV1`;case Ml.UNKNOWN:return`Unknown`;default:return`Unknown`}}function Bu(e){if(e==null)return null;switch(e){case Il.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN:return`Unknown`;case Il.READ_ONLY_ROOT:return`ReadOnlyRoot`;case Il.MUTATE_CONSENSUS_STREAM_ENDED:return`MutateConsensusStreamEnded`;case Il.READ_CONSENSUS_STREAM_ENDED:return`ReadConsensusStreamEnded`;case Il.CANCELED:return`Cancelled`;case Il.PER_EPOCH_CONFIG:return`PerEpochConfig`;default:return`Unknown`}}function Vu({effects:e}){if(!e)return null;let t=e.changedObjects.map(e=>({objectId:e.objectId,inputState:Ru(e.inputState),inputVersion:e.inputVersion?.toString()??null,inputDigest:e.inputDigest??null,inputOwner:Nu(e.inputOwner),outputState:zu(e.outputState),outputVersion:e.outputVersion?.toString()??null,outputDigest:e.outputDigest??null,outputOwner:Nu(e.outputOwner),idOperation:Lu(e.idOperation)}));return{bcs:e.bcs?.value,version:2,status:e.status?.success?{success:!0,error:null}:{success:!1,error:Pu(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:Ru(e.gasObject?.inputState),inputVersion:e.gasObject?.inputVersion?.toString()??null,inputDigest:e.gasObject?.inputDigest??null,inputOwner:Nu(e.gasObject?.inputOwner),outputState:zu(e.gasObject?.outputState),outputVersion:e.gasObject?.outputVersion?.toString()??null,outputDigest:e.gasObject?.outputDigest??null,outputOwner:Nu(e.gasObject?.outputOwner),idOperation:Lu(e.gasObject?.idOperation)},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies,lamportVersion:e.lamportVersion?.toString()??null,changedObjects:t,unchangedConsensusObjects:e.unchangedConsensusObjects.map(e=>({kind:Bu(e.kind),objectId:e.objectId,version:e.version?.toString()??null,digest:e.digest??null})),auxiliaryDataDigest:e.auxiliaryDataDigest??null}}function Hu(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=pl(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?Vu({effects:e.effects}):void 0,o=e.effects?.status?.success?{success:!0,error:null}:{success:!1,error:e.effects?.status?.error?Pu(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=>w(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:C(e.packageId),module:e.module,sender:C(e.sender),eventType:e.eventType,bcs:e.contents?.value??new Uint8Array,json:e.json?X.toJson(e.json):null}))??[]:void 0};return o.success?{$kind:`Transaction`,Transaction:s}:{$kind:`FailedTransaction`,FailedTransaction:s}}function Uu(e){let t=null;return e.reference===Js.IMMUTABLE?t=`immutable`:e.reference===Js.MUTABLE&&(t=`mutable`),{reference:t,body:Wu(e.body)}}function Wu(e){switch(e.type){case Ks.TYPE_UNKNOWN:return{$kind:`unknown`};case Ks.ADDRESS:return{$kind:`address`};case Ks.BOOL:return{$kind:`bool`};case Ks.U8:return{$kind:`u8`};case Ks.U16:return{$kind:`u16`};case Ks.U32:return{$kind:`u32`};case Ks.U64:return{$kind:`u64`};case Ks.U128:return{$kind:`u128`};case Ks.U256:return{$kind:`u256`};case Ks.VECTOR:return{$kind:`vector`,vector:Wu(e.typeParameterInstantiation[0])};case Ks.DATATYPE:return{$kind:`datatype`,datatype:{typeName:e.typeName,typeParameters:e.typeParameterInstantiation.map(e=>Wu(e))}};case Ks.TYPE_PARAMETER:return{$kind:`typeParameter`,index:e.typeParameter};default:return{$kind:`unknown`}}}var Gu=class{constructor(e){this._transport=e,this.typeName=Au.typeName,this.methods=Au.methods,this.options=Au.options}executeTransaction(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}simulateTransaction(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}},Ku=new class extends Y{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}}])}},qu=new class extends Y{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:()=>$u},{no:5,name:`storage_fund`,kind:`message`,T:()=>Qu},{no:6,name:`parameters`,kind:`message`,T:()=>Yu},{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:()=>Ju},{no:9,name:`stake_subsidy`,kind:`message`,T:()=>Zu},{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:()=>Xu}])}},Ju=new class extends Y{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}])}},Yu=new class extends Y{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:()=>Xu}])}},Xu=new class extends Y{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}])}},Zu=new class extends Y{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:()=>Xu}])}},Qu=new class extends Y{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}])}},$u=new class extends Y{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:()=>ed},{no:3,name:`pending_active_validators`,kind:`message`,T:()=>Xu},{no:4,name:`pending_removals`,kind:`scalar`,repeat:1,T:4,L:0},{no:5,name:`staking_pool_mappings`,kind:`message`,T:()=>Xu},{no:6,name:`inactive_validators`,kind:`message`,T:()=>Xu},{no:7,name:`validator_candidates`,kind:`message`,T:()=>Xu},{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:()=>Xu}])}},ed=new class extends Y{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:()=>Xu},{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:()=>td},{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:()=>Xu}])}},td=new class extends Y{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:()=>Xu},{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:()=>Xu}])}},nd=new class extends Y{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:()=>iu},{no:3,name:`system_state`,kind:`message`,T:()=>qu},{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:()=>Cc},{no:7,name:`end`,kind:`message`,T:()=>Cc},{no:8,name:`reference_gas_price`,kind:`scalar`,opt:!0,T:4,L:0},{no:9,name:`protocol_config`,kind:`message`,T:()=>Ku}])}},rd=new class extends Y{constructor(){super(`sui.rpc.v2.CheckpointContents`,[{no:1,name:`bcs`,kind:`message`,T:()=>yc},{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:()=>id}])}},id=new class extends Y{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:()=>Ul},{no:4,name:`address_aliases_versions`,kind:`message`,repeat:2,T:()=>ad}])}},ad=new class extends Y{constructor(){super(`sui.rpc.v2.AddressAliasesVersion`,[{no:1,name:`version`,kind:`scalar`,opt:!0,T:4,L:0}])}},od=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}({}),sd=new class extends Y{constructor(){super(`sui.rpc.v2.CheckpointSummary`,[{no:1,name:`bcs`,kind:`message`,T:()=>yc},{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:()=>Al},{no:9,name:`timestamp`,kind:`message`,T:()=>Cc},{no:10,name:`commitments`,kind:`message`,repeat:2,T:()=>ld},{no:11,name:`end_of_epoch_data`,kind:`message`,T:()=>cd},{no:12,name:`version_specific_data`,kind:`scalar`,opt:!0,T:12}])}},cd=new class extends Y{constructor(){super(`sui.rpc.v2.EndOfEpochData`,[{no:1,name:`next_epoch_committee`,kind:`message`,repeat:2,T:()=>au},{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:()=>ld}])}},ld=new class extends Y{constructor(){super(`sui.rpc.v2.CheckpointCommitment`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.CheckpointCommitment.CheckpointCommitmentKind`,od]},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9}])}},ud=new class extends Y{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:()=>sd},{no:4,name:`signature`,kind:`message`,T:()=>ou},{no:5,name:`contents`,kind:`message`,T:()=>rd},{no:6,name:`transactions`,kind:`message`,repeat:2,T:()=>uu},{no:7,name:`objects`,kind:`message`,T:()=>xc}])}},dd=new class extends Y{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=vs(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.`)||!No(o))&&(o={value:o}),o[`@type`]=e.typeUrl,o}internalJsonRead(e,t,n){if(!No(e))throw new globalThis.Error(`Unable to parse google.protobuf.Any from JSON `+Mo(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}},fd=new class extends Y{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:()=>dd}])}},pd=new class extends Y{constructor(){super(`sui.rpc.v2.GetServiceInfoRequest`,[])}},md=new class extends Y{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:()=>Cc},{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}])}},hd=new class extends Y{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:()=>du}])}},gd=new class extends Y{constructor(){super(`sui.rpc.v2.GetObjectResponse`,[{no:1,name:`object`,kind:`message`,T:()=>bc}])}},_d=new class extends Y{constructor(){super(`sui.rpc.v2.BatchGetObjectsRequest`,[{no:1,name:`requests`,kind:`message`,repeat:2,T:()=>hd},{no:2,name:`read_mask`,kind:`message`,T:()=>du}])}},vd=new class extends Y{constructor(){super(`sui.rpc.v2.BatchGetObjectsResponse`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>yd}])}},yd=new class extends Y{constructor(){super(`sui.rpc.v2.GetObjectResult`,[{no:1,name:`object`,kind:`message`,oneof:`result`,T:()=>bc},{no:2,name:`error`,kind:`message`,oneof:`result`,T:()=>fd}])}},bd=new class extends Y{constructor(){super(`sui.rpc.v2.GetTransactionRequest`,[{no:1,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:2,name:`read_mask`,kind:`message`,T:()=>du}])}},xd=new class extends Y{constructor(){super(`sui.rpc.v2.GetTransactionResponse`,[{no:1,name:`transaction`,kind:`message`,T:()=>uu}])}},Sd=new class extends Y{constructor(){super(`sui.rpc.v2.BatchGetTransactionsRequest`,[{no:1,name:`digests`,kind:`scalar`,repeat:2,T:9},{no:2,name:`read_mask`,kind:`message`,T:()=>du}])}},Cd=new class extends Y{constructor(){super(`sui.rpc.v2.BatchGetTransactionsResponse`,[{no:1,name:`transactions`,kind:`message`,repeat:2,T:()=>wd}])}},wd=new class extends Y{constructor(){super(`sui.rpc.v2.GetTransactionResult`,[{no:1,name:`transaction`,kind:`message`,oneof:`result`,T:()=>uu},{no:2,name:`error`,kind:`message`,oneof:`result`,T:()=>fd}])}},Td=new class extends Y{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:()=>du}])}},Ed=new class extends Y{constructor(){super(`sui.rpc.v2.GetCheckpointResponse`,[{no:1,name:`checkpoint`,kind:`message`,T:()=>ud}])}},Dd=new class extends Y{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:()=>du}])}},Od=new class extends Y{constructor(){super(`sui.rpc.v2.GetEpochResponse`,[{no:1,name:`epoch`,kind:`message`,T:()=>nd}])}},kd=new pu(`sui.rpc.v2.LedgerService`,[{name:`GetServiceInfo`,options:{},I:pd,O:md},{name:`GetObject`,options:{},I:hd,O:gd},{name:`BatchGetObjects`,options:{},I:_d,O:vd},{name:`GetTransaction`,options:{},I:bd,O:xd},{name:`BatchGetTransactions`,options:{},I:Sd,O:Cd},{name:`GetCheckpoint`,options:{},I:Td,O:Ed},{name:`GetEpoch`,options:{},I:Dd,O:Od}]),Ad=class{constructor(e){this._transport=e,this.typeName=kd.typeName,this.methods=kd.methods,this.options=kd.options}getServiceInfo(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}getObject(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}batchGetObjects(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}getTransaction(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}batchGetTransactions(e,t){let n=this.methods[4],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}getCheckpoint(e,t){let n=this.methods[5],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}getEpoch(e,t){let n=this.methods[6],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}},jd=new class extends Y{constructor(){super(`sui.rpc.v2.GetPackageRequest`,[{no:1,name:`package_id`,kind:`scalar`,opt:!0,T:9}])}},Md=new class extends Y{constructor(){super(`sui.rpc.v2.GetPackageResponse`,[{no:1,name:`package`,kind:`message`,T:()=>Xs}])}},Nd=new class extends Y{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}])}},Pd=new class extends Y{constructor(){super(`sui.rpc.v2.GetDatatypeResponse`,[{no:1,name:`datatype`,kind:`message`,T:()=>Qs}])}},Fd=new class extends Y{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}])}},Id=new class extends Y{constructor(){super(`sui.rpc.v2.GetFunctionResponse`,[{no:1,name:`function`,kind:`message`,T:()=>rc}])}},Ld=new class extends Y{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}])}},Rd=new class extends Y{constructor(){super(`sui.rpc.v2.ListPackageVersionsResponse`,[{no:1,name:`versions`,kind:`message`,repeat:2,T:()=>zd},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},zd=new class extends Y{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}])}},Bd=new pu(`sui.rpc.v2.MovePackageService`,[{name:`GetPackage`,options:{},I:jd,O:Md},{name:`GetDatatype`,options:{},I:Nd,O:Pd},{name:`GetFunction`,options:{},I:Fd,O:Id},{name:`ListPackageVersions`,options:{},I:Ld,O:Rd}]),Vd=class{constructor(e){this._transport=e,this.typeName=Bd.typeName,this.methods=Bd.methods,this.options=Bd.options}getPackage(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}getDatatype(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}getFunction(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}listPackageVersions(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}},Hd=new pu(`sui.rpc.v2.SignatureVerificationService`,[{name:`VerifySignature`,options:{},I:new class extends Y{constructor(){super(`sui.rpc.v2.VerifySignatureRequest`,[{no:1,name:`message`,kind:`message`,T:()=>yc},{no:2,name:`signature`,kind:`message`,T:()=>Ul},{no:3,name:`address`,kind:`scalar`,opt:!0,T:9},{no:4,name:`jwks`,kind:`message`,repeat:2,T:()=>Zc}])}},O:new class extends Y{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}])}}}]),Ud=class{constructor(e){this._transport=e,this.typeName=Hd.typeName,this.methods=Hd.methods,this.options=Hd.options}verifySignature(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}},Wd=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}({}),Gd=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}({}),Kd=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}({}),qd=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}({}),Jd=new class extends Y{constructor(){super(`sui.rpc.v2.GetCoinInfoRequest`,[{no:1,name:`coin_type`,kind:`scalar`,opt:!0,T:9}])}},Yd=new class extends Y{constructor(){super(`sui.rpc.v2.GetCoinInfoResponse`,[{no:1,name:`coin_type`,kind:`scalar`,opt:!0,T:9},{no:2,name:`metadata`,kind:`message`,T:()=>Xd},{no:3,name:`treasury`,kind:`message`,T:()=>Zd},{no:4,name:`regulated_metadata`,kind:`message`,T:()=>Qd}])}},Xd=new class extends Y{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`,Wd]}])}},Zd=new class extends Y{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`,Gd]}])}},Qd=new class extends Y{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`,Kd]}])}},$d=new class extends Y{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}])}},ef=new class extends Y{constructor(){super(`sui.rpc.v2.GetBalanceResponse`,[{no:1,name:`balance`,kind:`message`,T:()=>rf}])}},tf=new class extends Y{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}])}},nf=new class extends Y{constructor(){super(`sui.rpc.v2.ListBalancesResponse`,[{no:1,name:`balances`,kind:`message`,repeat:2,T:()=>rf},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},rf=new class extends Y{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}])}},af=new class extends Y{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:()=>du}])}},of=new class extends Y{constructor(){super(`sui.rpc.v2.ListDynamicFieldsResponse`,[{no:1,name:`dynamic_fields`,kind:`message`,repeat:2,T:()=>sf},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},sf=new class extends Y{constructor(){super(`sui.rpc.v2.DynamicField`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.DynamicField.DynamicFieldKind`,qd]},{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:()=>bc},{no:5,name:`name`,kind:`message`,T:()=>yc},{no:6,name:`value`,kind:`message`,T:()=>yc},{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:()=>bc}])}},cf=new class extends Y{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:()=>du},{no:5,name:`object_type`,kind:`scalar`,opt:!0,T:9}])}},lf=new class extends Y{constructor(){super(`sui.rpc.v2.ListOwnedObjectsResponse`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>bc},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},uf=new pu(`sui.rpc.v2.StateService`,[{name:`ListDynamicFields`,options:{},I:af,O:of},{name:`ListOwnedObjects`,options:{},I:cf,O:lf},{name:`GetCoinInfo`,options:{},I:Jd,O:Yd},{name:`GetBalance`,options:{},I:$d,O:ef},{name:`ListBalances`,options:{},I:tf,O:nf}]),df=class{constructor(e){this._transport=e,this.typeName=uf.typeName,this.methods=uf.methods,this.options=uf.options}listDynamicFields(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}listOwnedObjects(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}getCoinInfo(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}getBalance(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}listBalances(e,t){let n=this.methods[4],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}},ff=new pu(`sui.rpc.v2.SubscriptionService`,[{name:`SubscribeCheckpoints`,serverStreaming:!0,options:{},I:new class extends Y{constructor(){super(`sui.rpc.v2.SubscribeCheckpointsRequest`,[{no:1,name:`read_mask`,kind:`message`,T:()=>du}])}},O:new class extends Y{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:()=>ud}])}}}]),pf=class{constructor(e){this._transport=e,this.typeName=ff.typeName,this.methods=ff.methods,this.options=ff.options}subscribeCheckpoints(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Q(`serverStreaming`,this._transport,n,r,e)}},mf=new class extends Y{constructor(){super(`sui.rpc.v2.LookupNameRequest`,[{no:1,name:`name`,kind:`scalar`,opt:!0,T:9}])}},hf=new class extends Y{constructor(){super(`sui.rpc.v2.LookupNameResponse`,[{no:1,name:`record`,kind:`message`,T:()=>vf}])}},gf=new class extends Y{constructor(){super(`sui.rpc.v2.ReverseLookupNameRequest`,[{no:1,name:`address`,kind:`scalar`,opt:!0,T:9}])}},_f=new class extends Y{constructor(){super(`sui.rpc.v2.ReverseLookupNameResponse`,[{no:1,name:`record`,kind:`message`,T:()=>vf}])}},vf=new class extends Y{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:()=>Cc},{no:5,name:`target_address`,kind:`scalar`,opt:!0,T:9},{no:6,name:`data`,kind:`map`,K:9,V:{kind:`scalar`,T:9}}])}},yf=new pu(`sui.rpc.v2.NameService`,[{name:`LookupName`,options:{},I:mf,O:hf},{name:`ReverseLookupName`,options:{},I:gf,O:_f}]),bf=class{constructor(e){this._transport=e,this.typeName=yf.typeName,this.methods=yf.methods,this.options=yf.options}lookupName(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}reverseLookupName(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}},xf=new class extends Y{constructor(){super(`sui.forking.v1alpha.AdvanceClockRequest`,[{no:1,name:`duration_ms`,kind:`scalar`,opt:!0,T:4,L:0}])}},Sf=new class extends Y{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}])}},Cf=new class extends Y{constructor(){super(`sui.forking.v1alpha.AdvanceCheckpointRequest`,[])}},wf=new class extends Y{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}])}},Tf=new class extends Y{constructor(){super(`sui.forking.v1alpha.GetStatusRequest`,[])}},Ef=new class extends Y{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}])}},Df=new pu(`sui.forking.v1alpha.ForkingService`,[{name:`AdvanceClock`,options:{},I:xf,O:Sf},{name:`AdvanceCheckpoint`,options:{},I:Cf,O:wf},{name:`GetStatus`,options:{},I:Tf,O:Ef}]),Of=class{constructor(e){this._transport=e,this.typeName=Df.typeName,this.methods=Df.methods,this.options=Df.options}advanceClock(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}advanceCheckpoint(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}getStatus(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}},$;(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`})($||={});var kf=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 Af(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 Z(`timeout ${n} ms exceeded`,$[$.DEADLINE_EXCEEDED]);e.set(`grpc-timeout`,`${n}m`)}else if(n){let t=n.getTime(),r=Date.now();if(t<=r)throw new Z(`deadline ${n} exceeded`,$[$.DEADLINE_EXCEEDED]);e.set(`grpc-timeout`,`${t-r}m`)}return e}function jf(e,t){let n=new Uint8Array(5+e.length);n[0]=Pf.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:Lo(n)}function Mf(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 Z(`fetch response type ${t.type}`,$[$.UNKNOWN])}return Mf(Hf(t.headers),t.status,t.statusText)}let r=e,i=t>=200&&t<300,a=Bf(r),[o,s]=zf(r);return(o===void 0||o===$.OK)&&!i&&(o=Uf(t),s=n),[o,s,a]}function Nf(e){let t=Vf(e),[n,r]=zf(t),i=Bf(t);return[n??$.OK,r,i]}var Pf;(function(e){e[e.DATA=0]=`DATA`,e[e.TRAILER=128]=`TRAILER`})(Pf||={});function Ff(e,t,n){return kf(this,void 0,void 0,function*(){let r,i=``,a=new Uint8Array,o=Rf(t);if(If(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=Lf(a,Io(i.substring(0,t))),i=i.substring(t)}else a=Lf(a,e.value);for(;a.length>=5&&a[0]===Pf.DATA;){let e=0;for(let t=1;t<5;t++)e=(e<<8)+a[t];if(a.length-5>=e)n(Pf.DATA,a.subarray(5,5+e)),a=a.subarray(5+e);else break}}if(e.done){if(a.length===0)break;if(a[0]!==Pf.TRAILER||a.length<5)throw new Z(`premature EOF`,$[$.DATA_LOSS]);n(Pf.TRAILER,a.subarray(5));break}}})}var If=e=>typeof e.getReader==`function`;function Lf(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function Rf(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 Z(`missing response content type`,$[$.INTERNAL]);default:throw new Z(`unexpected response content type: `+e,$[$.INTERNAL])}}function zf(e){let t,n,r=e[`grpc-message`];if(r!==void 0){if(Array.isArray(r))return[$.INTERNAL,`invalid grpc-web message`];n=r}let i=e[`grpc-status`];return i!==void 0&&(Array.isArray(i)||(t=parseInt(i,10),$[t]===void 0))?[$.INTERNAL,`invalid grpc-web status`]:[t,n]}function Bf(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 Vf(e){let t={};for(let n of String.fromCharCode.apply(String,e).trim().split(`\r
|
|
7
|
+
`)){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 Hf(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 Uf(e){switch(e){case 200:return $.OK;case 400:return $.INVALID_ARGUMENT;case 401:return $.UNAUTHENTICATED;case 403:return $.PERMISSION_DENIED;case 404:return $.NOT_FOUND;case 409:return $.ABORTED;case 412:return $.FAILED_PRECONDITION;case 429:return $.RESOURCE_EXHAUSTED;case 499:return $.CANCELLED;case 500:return $.UNKNOWN;case 501:return $.UNIMPLEMENTED;case 503:return $.UNAVAILABLE;case 504:return $.DEADLINE_EXCEEDED;default:return $.UNKNOWN}}var Wf=class{constructor(e){this.defaultOptions=e}mergeOptions(e){return mu(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 Z(`Client streaming is not supported by grpc-web`,$[$.UNIMPLEMENTED]);throw t.methodName=e.name,t.serviceName=e.service.typeName,t}duplex(e){let t=new Z(`Duplex streaming is not supported by grpc-web`,$[$.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 _u,u=new vu,d=!0,f,p=new _u,m,h=new _u;return a(s,Object.assign(Object.assign({},o),{method:`POST`,headers:Af(new globalThis.Headers,i,r.timeout,r.meta),body:jf(c,i),signal:n.abort??null})).then(e=>{let[t,n,r]=Mf(e);if(l.resolve(r),t!=null&&t!==$.OK)throw new Z(n??$[t],$[t],r);return t!=null&&(f={code:$[t],detail:n??$[t]}),e}).then(t=>{if(!t.body)throw new Z(`missing response body`,$[$.INTERNAL]);return Ff(t.body,t.headers.get(`content-type`),(t,n)=>{switch(t){case Pf.DATA:u.notifyMessage(e.O.fromBinary(n,r.binaryOptions)),d=!1;break;case Pf.TRAILER:let t,i;[t,i,m]=Nf(n),f={code:$[t],detail:i??$[t]};break}})}).then(()=>{if(!m&&!d)throw new Z(`missing trailers`,$[$.DATA_LOSS]);if(!f)throw new Z(`missing status`,$[$.INTERNAL]);if(f.code!==`OK`)throw new Z(f.detail,f.code,m);u.notifyComplete(),p.resolve(f),h.resolve(m||{})}).catch(t=>{let n;n=t instanceof Z?t:t instanceof Error&&t.name===`AbortError`?new Z(t.message,$[$.CANCELLED]):new Z(t instanceof Error?t.message:``+t,$[$.INTERNAL]),n.methodName=e.name,n.serviceName=e.service.typeName,l.rejectPending(n),u.notifyError(n),p.rejectPending(n),h.rejectPending(n)}),new Su(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 _u,u,d=new _u,f,p=new _u,m,h=new _u;return a(s,Object.assign(Object.assign({},o),{method:`POST`,headers:Af(new globalThis.Headers,i,r.timeout,r.meta),body:jf(c,i),signal:n.abort??null})).then(e=>{let[t,n,r]=Mf(e);if(l.resolve(r),t!=null&&t!==$.OK)throw new Z(n??$[t],$[t],r);return t!=null&&(f={code:$[t],detail:n??$[t]}),e}).then(t=>{if(!t.body)throw new Z(`missing response body`,$[$.INTERNAL]);return Ff(t.body,t.headers.get(`content-type`),(t,n)=>{switch(t){case Pf.DATA:if(u)throw new Z(`unary call received 2nd message`,$[$.DATA_LOSS]);u=e.O.fromBinary(n,r.binaryOptions);break;case Pf.TRAILER:let t,i;[t,i,m]=Nf(n),f={code:$[t],detail:i??$[t]};break}})}).then(()=>{if(!m&&u)throw new Z(`missing trailers`,$[$.DATA_LOSS]);if(!f)throw new Z(`missing status`,$[$.INTERNAL]);if(!u&&f.code===`OK`)throw new Z(`expected error status`,$[$.DATA_LOSS]);if(!u||(d.resolve(u),f.code!==`OK`))throw new Z(f.detail,f.code,m);p.resolve(f),h.resolve(m||{})}).catch(t=>{let n;n=t instanceof Z?t:t instanceof Error&&t.name===`AbortError`?new Z(t.message,$[$.CANCELLED]):new Z(t instanceof Error?t.message:``+t,$[$.INTERNAL]),n.methodName=e.name,n.serviceName=e.service.typeName,l.rejectPending(n),d.rejectPending(n),p.rejectPending(n),h.rejectPending(n)}),new bu(e,r.meta??{},t,l.promise,d.promise,p.promise,h.promise)}},Gf=Symbol.for(`@mysten/SuiGrpcClient`),Kf=class extends So{get mvr(){return this.core.mvr}get[Gf](){return!0}constructor(e){super({network:e.network});let t=e.transport??new Wf({baseUrl:e.baseUrl,fetchInit:e.fetchInit});this.transactionExecutionService=new Gu(t),this.ledgerService=new Ad(t),this.stateService=new df(t),this.subscriptionService=new pf(t),this.movePackageService=new Vd(t),this.signatureVerificationService=new Ud(t),this.nameService=new bf(t),this.forkingService=new Of(t),this.core=new ju({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?S(e.cursor):void 0,pageSize:e.limit,readMask:{paths:n}});return{dynamicFields:r.response.dynamicFields.map(e=>{let n=e.kind===qd.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:re(r),childId:e.childId,value:t?{type:e.valueType,bcs:e.value?.value??new Uint8Array}:void 0}}),cursor:r.response.nextPageToken?w(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)}},qf=`Dev Wallet`,Jf=`dev-wallet:networks`,Yf={devnet:`https://fullnode.devnet.sui.io:443`,testnet:`https://fullnode.testnet.sui.io:443`,localnet:`http://127.0.0.1:9000`},Xf=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d=null;#f;#p;#m;#h;#g;#_;#v;#y=!1;constructor(e){e.adapters.length===0&&console.warn(`[dev-wallet] No adapters provided. The wallet will have no accounts.`),this.#e=e.adapters,this.#l=e.persistNetworks??!1,this.#t=this.#A(e.networks??Yf),this.#n={},this.#r=e.activeNetwork??Object.keys(this.#t)[0]??``,this.#i=e.name??qf,this.#a=e.icon??`data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0Ij4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0id2FsbGV0R3JhZCIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0eWxlPSJzdG9wLWNvbG9yOiM2MzY2RjEiIC8+CiAgICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3R5bGU9InN0b3AtY29sb3I6IzI1NjNFQiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImZsYXBHcmFkIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjEwMCUiIHkyPSIxMDAlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3R5bGU9InN0b3AtY29sb3I6IzgxOENGOCIgLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdHlsZT0ic3RvcC1jb2xvcjojNEY0NkU1IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICA8L2RlZnM+CiAgPCEtLSBTaGFkb3cgLS0+CiAgPHJlY3QgeD0iOSIgeT0iMjEiIHdpZHRoPSI1MCIgaGVpZ2h0PSIzNiIgcng9IjYiIHJ5PSI2IiBmaWxsPSIjMDAwIiBvcGFjaXR5PSIwLjEiIC8+CiAgPCEtLSBXYWxsZXQgYm9keSAtLT4KICA8cmVjdCB4PSI2IiB5PSIxOCIgd2lkdGg9IjUwIiBoZWlnaHQ9IjM2IiByeD0iNiIgcnk9IjYiIGZpbGw9InVybCgjd2FsbGV0R3JhZCkiIC8+CiAgPCEtLSBGbGFwIC0tPgogIDxwYXRoIGQ9Ik02IDI2IEw2IDIyIEM2IDE1IDggMTIgMTQgMTIgTDQ2IDEyIEM1MiAxMiA1NiAxNSA1NiAyMiBMNTYgMjYgWiIgZmlsbD0idXJsKCNmbGFwR3JhZCkiIC8+CiAgPCEtLSBDbGFzcCAtLT4KICA8cmVjdCB4PSI0MiIgeT0iMzAiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMiIgcng9IjQiIHJ5PSI0IiBmaWxsPSIjNDMzOENBIiAvPgogIDwhLS0gR29sZCBjb2luIGluIGNsYXNwIC0tPgogIDxjaXJjbGUgY3g9IjQ4IiBjeT0iMzYiIHI9IjMuNSIgZmlsbD0iI0ZDRDM0RCIgLz4KICA8Y2lyY2xlIGN4PSI0OCIgY3k9IjM2IiByPSIyIiBmaWxsPSIjRjU5RTBCIiAvPgogIDwhLS0gRW1ib3NzZWQgRFcgdGV4dCAtLT4KICA8dGV4dCB4PSIyNiIgeT0iNDUiIGZvbnQtZmFtaWx5PSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBmb250LXdlaWdodD0iOTAwIiBmb250LXNpemU9IjE4IiBmaWxsPSIjMzczMEEzIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkb21pbmFudC1iYXNlbGluZT0ibWlkZGxlIiBsZXR0ZXItc3BhY2luZz0iMiI+RFc8L3RleHQ+CiAgPHRleHQgeD0iMjYiIHk9IjQ0IiBmb250LWZhbWlseT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgZm9udC13ZWlnaHQ9IjkwMCIgZm9udC1zaXplPSIxOCIgZmlsbD0iI0M3RDJGRSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZG9taW5hbnQtYmFzZWxpbmU9Im1pZGxlIiBsZXR0ZXItc3BhY2luZz0iMiI+RFc8L3RleHQ+Cjwvc3ZnPgo=`,this.#o=e.autoApprove??!1,this.#s=e.autoConnect??!1,this.#c=e.clientFactory??((e,t)=>new Kf({baseUrl:t,network:e})),this.#u=this.#w(),this.#f=Xe(),this.#p=[],this.#m=null,this.#h=new Set,this.#g=null,this.#_=new Set,this.#v=new Set,this.#T()}get version(){return`1.0.0`}get name(){return this.#i}get icon(){return this.#a}get chains(){return Se}get accounts(){return this.#b()}setSelectedAccount(e){if(e!==null){let t=this.#u.find(t=>t.address.toLowerCase()===e.toLowerCase());if(t===void 0){let t=this.#u.map(e=>e.address).join(`, `);throw Error(`No dev-wallet account for address "${e}". Available: ${t||`(none)`}`)}this.#d=t.address}else this.#d=null;this.#f.emit(`change`,{accounts:this.#b()})}#b(){return this.#d===null?this.#u:this.#u.filter(e=>e.address.toLowerCase()===this.#d.toLowerCase())}get features(){return{"standard:connect":{version:`1.0.0`,connect:this.#D},"standard:events":{version:`1.0.0`,on:this.#E},"standard:disconnect":{version:`1.0.0`,disconnect:this.#O},"sui:signPersonalMessage":{version:`1.1.0`,signPersonalMessage:this.#L},"sui:signTransaction":{version:`2.0.0`,signTransaction:this.#R},"sui:signAndExecuteTransaction":{version:`2.0.0`,signAndExecuteTransaction:this.#z}}}get pendingRequest(){return this.#m}get adapters(){return this.#e}getAdapterForAccount(e){return this.#e.find(t=>t.getAccount(e)!==void 0)}get clients(){for(let e of Object.keys(this.#t))this.#M(e);return{...this.#n}}getClient(e){return this.#M(e)}get networkUrls(){return{...this.#t}}get activeNetwork(){return this.#r}get activeClient(){return!this.#r||!this.#t[this.#r]?null:this.#M(this.#r)}get availableNetworks(){return Object.keys(this.#t)}setActiveNetwork(e){if(!this.#t[e])throw Error(`No client for network "${e}". Available: ${this.availableNetworks.join(`, `)}`);this.#r=e,this.#f.emit(`change`,{accounts:this.#u})}addNetwork(e,t){let n;try{n=new URL(t)}catch{throw Error(`Invalid URL: ${t}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw Error(`Invalid URL: must use http or https (got ${n.protocol})`);this.#t[e]=t,this.#n[e]=this.#c(e,t),this.#j(),this.#f.emit(`change`,{accounts:this.#u})}removeNetwork(e){delete this.#t[e],delete this.#n[e],this.#r===e&&(this.#r=Object.keys(this.#t)[0]??``),this.#j(),this.#f.emit(`change`,{accounts:this.#u})}register(){return typeof process<`u`&&console.warn(`[@mysten-incubation/dev-wallet] DevWallet is intended for development only. Do not use in production.`),Oi().register(this)}destroy(){this.#y=!0;for(let e of this.#p)e();this.#p=[];for(let e of this.#e)e.destroy();this.#m&&=(this.#m.reject(Error(`Wallet destroyed.`)),null),this.#g&&=(this.#g.reject(Error(`Wallet destroyed.`)),null),this.#h.clear(),this.#_.clear(),this.#v.clear(),this.#f.all.clear()}async approveRequest(){let e=this.#m;if(!e)throw Error(`No pending request to approve.`);try{let t=await this.#F(e.type,e.account,e.chain,e.data);this.#m=null,this.#x(),e.resolve(t)}catch(t){this.#m=null,this.#x(),e.reject(t instanceof Error?t:Error(String(t)))}}rejectRequest(e){let t=this.#m;if(!t)throw Error(`No pending request to reject.`);this.#m=null,this.#x(),t.reject(Error(e??`Request rejected by user.`))}onRequestChange(e){return this.#h.add(e),()=>{this.#h.delete(e)}}get pendingConnect(){return this.#g}approveConnect(e){let t=this.#g;if(!t)throw Error(`No pending connect request to approve.`);let n=e.length>0?this.#u.filter(t=>e.includes(t.address)):[...this.#u];this.#g=null,this.#S(),t.resolve({accounts:n})}rejectConnect(e){let t=this.#g;if(!t)throw Error(`No pending connect request to reject.`);this.#g=null,this.#S(),t.reject(Error(e??`Connection rejected by user.`))}onConnectChange(e){return this.#_.add(e),()=>{this.#_.delete(e)}}#x(){let e=this.#m;for(let t of this.#h)t(e)}#S(){let e=this.#g;for(let t of this.#_)t(e)}onDAppConnected(e){return this.#v.add(e),()=>{this.#v.delete(e)}}#C(){for(let e of this.#v)try{e()}catch(e){console.error(`[dev-wallet] onDAppConnected listener threw:`,e)}}#w(){return this.#e.flatMap(e=>e.getAccounts().map(e=>e.walletAccount))}#T(){for(let e of this.#e){let t=e.onAccountsChanged(()=>{this.#u=this.#w(),this.#f.emit(`change`,{accounts:this.#b()})});this.#p.push(t)}}#E=(e,t)=>(this.#f.on(e,t),()=>this.#f.off(e,t));#D=async()=>(this.#C(),this.#s?{accounts:this.accounts}:this.#g?Promise.reject(Error(`A connect request is already pending.`)):new Promise((e,t)=>{this.#g={id:crypto.randomUUID(),resolve:e,reject:t},this.#S()}));#O=async()=>{};#k(e){let t=vo(e);if(!t)throw Error(`Invalid chain identifier: ${e}`);return this.#M(t)}#A(e){if(!this.#l||typeof localStorage>`u`)return{...e};try{let e=localStorage.getItem(Jf);if(e){let t=JSON.parse(e);if(typeof t==`object`&&t&&!Array.isArray(t))return t}}catch{}return{...e}}#j(){!this.#l||typeof localStorage>`u`||localStorage.setItem(Jf,JSON.stringify(this.#t))}#M(e){if(!this.#n[e]){let t=this.#t[e];if(!t)throw Error(`No client for network "${e}". Available: ${this.availableNetworks.join(`, `)}`);this.#n[e]=this.#c(e,t)}return this.#n[e]}#N(e){for(let t of this.#e){let n=t.getAccount(e);if(n)return n.signer}let t=this.#e.flatMap(e=>e.getAccounts().map(e=>e.address));throw Error(`No account found for address "${e}". Available addresses: ${t.join(`, `)}`)}#P(e,t,n,r){return this.getAdapterForAccount(t.address)?.allowAutoSign===!1?!1:this.#o===!0?!0:typeof this.#o==`function`?this.#o({type:e,account:t,chain:n,data:r}):!1}async#F(e,t,n,r){return yo({type:e,signer:this.#N(t.address),data:r,client:e===`sign-personal-message`?void 0:this.#k(n)})}#I(e,t,n,r){return this.#y?Promise.reject(Error(`Wallet has been destroyed.`)):this.#P(e,t,n,r)?this.#F(e,t,n,r):this.#m?Promise.reject(Error(`A signing request is already pending.`)):new Promise((i,a)=>{this.#m={id:crypto.randomUUID(),type:e,account:t,chain:n,data:r,resolve:i,reject:a},this.#x()})}#L=async e=>this.#I(`sign-personal-message`,e.account,e.chain??`sui:unknown`,e.message);#R=async e=>{let t=await e.transaction.toJSON();return this.#I(`sign-transaction`,e.account,e.chain,t)};#z=async e=>{let t=await e.transaction.toJSON();return this.#I(`sign-and-execute-transaction`,e.account,e.chain,t)}},Zf=`modulepreload`,Qf=function(e){return`/`+e},$f={},ep=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=Qf(t,n),t in $f)return;$f[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:Zf,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function tp(){let e=localStorage.getItem(`dev-wallet:jwt-secret`);if(e)return S(e);let t=crypto.getRandomValues(new Uint8Array(32));return localStorage.setItem(`dev-wallet:jwt-secret`,w(t)),t}async function np(){let e=[];typeof indexedDB<`u`&&e.push(ep(async()=>{let{WebCryptoSignerAdapter:e}=await import(`./webcrypto-adapter-CUQmbHDy.js`);return{WebCryptoSignerAdapter:e}},__vite__mapDeps([0,1])).then(async({WebCryptoSignerAdapter:e})=>{let t=new e;return await t.initialize(),t}).catch(()=>null)),e.push(ep(async()=>{let{InMemorySignerAdapter:e}=await import(`./in-memory-adapter-CX7xym4e.js`);return{InMemorySignerAdapter:e}},__vite__mapDeps([2,1])).then(async({InMemorySignerAdapter:e})=>{let t=new e;return await t.initialize(),t})),window.__DEV_WALLET_CLI__&&e.push(ep(async()=>{let{RemoteCliAdapter:e}=await Promise.resolve().then(()=>Fi);return{RemoteCliAdapter:e}},void 0).then(async({RemoteCliAdapter:e})=>{let t=new e;return await t.initialize(),t}));let t=await Promise.allSettled(e);for(let e of t)e.status===`rejected`&&console.warn(`[dev-wallet] Adapter initialization failed:`,e.reason);let n=t.filter(e=>e.status===`fulfilled`&&e.value!==null).map(e=>e.value);if(n.length===0)throw Error(`No adapters could be initialized`);if(!n.some(e=>e.getAccounts().length>0)){let e=n.find(e=>e.createAccount);e?.createAccount&&await e.createAccount({label:`Dev Account`})}return new Xf({adapters:n,activeNetwork:`devnet`,persistNetworks:!0})}async function rp(e){let t=document.getElementById(`app`);if(!t)throw Error(`Missing #app element in document`);try{let n=await np(),r=tp(),i=bo({adapters:[...n.adapters],jwtSecretKey:r,getClient:e=>{try{return n.getClient(e)}catch{return}},hash:e});t.innerHTML=``;let a=i.chain?vo(i.chain):void 0,o=a?n.getClient(a)??n.activeClient:n.activeClient,s=document.createElement(`dev-wallet-popup`);if(s.walletName=`Dev Wallet (Web)`,s.requestType=i.type,s.appName=i.appName,s.appUrl=i.appUrl,s.address=i.address??``,i.address){let e=n.getAdapterForAccount(i.address)?.getAccount(i.address);e&&(s.accountLabel=e.label)}s.chain=i.chain??`sui:unknown`,s.data=i.data??null,s.client=o??null,i.type===`connect`&&(s.connectAccounts=n.adapters.flatMap(e=>e.getAccounts().map(t=>({address:t.address,label:t.label,adapterName:e.name}))));let c=!1;s.addEventListener(`approve`,async e=>{if(!c){c=!0;try{let t=e.detail;await i.approve(t?.selectedAddresses?{selectedAddresses:t.selectedAddresses}:void 0),window.close()}catch(e){c=!1;let t=s.shadowRoot?.querySelector(`dev-wallet-connect`);t&&t.showError(e instanceof Error?e.message:String(e))}}}),s.addEventListener(`reject`,()=>{c||(c=!0,i.reject(`User rejected`),window.close())}),t.appendChild(s)}catch(e){ap(t,`Error`,e)}}async function ip(){let e=document.getElementById(`app`);if(!e)throw Error(`Missing #app element in document`);try{let t=await np();e.innerHTML=``;let n=document.createElement(`dev-wallet-standalone`);n.wallet=t,n.bookmarkletOrigin=window.location.origin,e.appendChild(n)}catch(t){ap(e,`Failed to initialize wallet`,t)}}function ap(e,t,n){e.innerHTML=``;let r=document.createElement(`div`);r.style.cssText=`color: #ef4444; text-align: center;`;let i=document.createElement(`h3`);i.textContent=t,r.appendChild(i);let a=document.createElement(`p`);a.textContent=n instanceof Error?n.message:String(n),a.style.cssText=`font-size: 13px; margin-top: 8px;`,r.appendChild(a),e.appendChild(r)}function op(){let e=new URL(window.location.href),t=e.searchParams.get(`token`);t&&(localStorage.setItem(Hi.TOKEN_KEY,t),e.searchParams.delete(`token`),history.replaceState(null,``,e.pathname+e.hash))}op();var sp=window.location.hash.slice(1);sp?rp(sp):ip();export{Bt as n,Dt as r,Xt as t};
|