@mysten-incubation/dev-wallet 0.5.1 → 0.6.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.
Files changed (68) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +7 -4
  3. package/dist/client/connected-apps.d.mts +35 -0
  4. package/dist/client/connected-apps.d.mts.map +1 -0
  5. package/dist/client/connected-apps.mjs +50 -0
  6. package/dist/client/connected-apps.mjs.map +1 -0
  7. package/dist/client/dev-wallet-client.mjs +1 -1
  8. package/dist/client/dev-wallet-client.mjs.map +1 -1
  9. package/dist/client/index.d.mts +2 -1
  10. package/dist/client/index.mjs +2 -1
  11. package/dist/client/request-handler.d.mts +7 -0
  12. package/dist/client/request-handler.d.mts.map +1 -1
  13. package/dist/client/request-handler.mjs +17 -2
  14. package/dist/client/request-handler.mjs.map +1 -1
  15. package/dist/standalone/assets/{in-memory-adapter-Ban2kRYS.js → in-memory-adapter-uuWG4K4k.js} +1 -1
  16. package/dist/standalone/assets/main-CKYv0eR6.js +7 -0
  17. package/dist/standalone/assets/{webcrypto-adapter-Ddqn-RAu.js → webcrypto-adapter-5ShaPc_M.js} +1 -1
  18. package/dist/standalone/bookmarklet.js +1 -1
  19. package/dist/standalone/index.html +1 -1
  20. package/dist/ui/dev-wallet-balances.d.mts.map +1 -1
  21. package/dist/ui/dev-wallet-balances.mjs +20 -13
  22. package/dist/ui/dev-wallet-balances.mjs.map +1 -1
  23. package/dist/ui/dev-wallet-connect-guide.d.mts +29 -0
  24. package/dist/ui/dev-wallet-connect-guide.d.mts.map +1 -0
  25. package/dist/ui/dev-wallet-connect-guide.mjs +386 -0
  26. package/dist/ui/dev-wallet-connect-guide.mjs.map +1 -0
  27. package/dist/ui/dev-wallet-connected-apps.d.mts +27 -0
  28. package/dist/ui/dev-wallet-connected-apps.d.mts.map +1 -0
  29. package/dist/ui/dev-wallet-connected-apps.mjs +164 -0
  30. package/dist/ui/dev-wallet-connected-apps.mjs.map +1 -0
  31. package/dist/ui/dev-wallet-panel.d.mts.map +1 -1
  32. package/dist/ui/dev-wallet-panel.mjs +0 -9
  33. package/dist/ui/dev-wallet-panel.mjs.map +1 -1
  34. package/dist/ui/dev-wallet-settings.d.mts +8 -2
  35. package/dist/ui/dev-wallet-settings.d.mts.map +1 -1
  36. package/dist/ui/dev-wallet-settings.mjs +86 -171
  37. package/dist/ui/dev-wallet-settings.mjs.map +1 -1
  38. package/dist/ui/dev-wallet-standalone.d.mts +7 -2
  39. package/dist/ui/dev-wallet-standalone.d.mts.map +1 -1
  40. package/dist/ui/dev-wallet-standalone.mjs +68 -222
  41. package/dist/ui/dev-wallet-standalone.mjs.map +1 -1
  42. package/dist/ui/index.d.mts +3 -1
  43. package/dist/ui/index.mjs +3 -1
  44. package/dist/ui/wallet-controller.mjs +15 -3
  45. package/dist/ui/wallet-controller.mjs.map +1 -1
  46. package/dist/wallet/dev-wallet.d.mts +15 -3
  47. package/dist/wallet/dev-wallet.d.mts.map +1 -1
  48. package/dist/wallet/dev-wallet.mjs +94 -30
  49. package/dist/wallet/dev-wallet.mjs.map +1 -1
  50. package/dist/wallet/persisted.mjs +20 -0
  51. package/dist/wallet/persisted.mjs.map +1 -0
  52. package/package.json +6 -6
  53. package/src/app/main.ts +6 -2
  54. package/src/client/connected-apps.ts +79 -0
  55. package/src/client/dev-wallet-client.ts +2 -1
  56. package/src/client/index.ts +2 -0
  57. package/src/client/request-handler.ts +24 -1
  58. package/src/ui/dev-wallet-balances.ts +25 -13
  59. package/src/ui/dev-wallet-connect-guide.ts +428 -0
  60. package/src/ui/dev-wallet-connected-apps.ts +191 -0
  61. package/src/ui/dev-wallet-panel.ts +0 -9
  62. package/src/ui/dev-wallet-settings.ts +101 -179
  63. package/src/ui/dev-wallet-standalone.ts +80 -231
  64. package/src/ui/index.ts +2 -0
  65. package/src/ui/wallet-controller.ts +23 -3
  66. package/src/wallet/dev-wallet.ts +130 -39
  67. package/src/wallet/persisted.ts +24 -0
  68. package/dist/standalone/assets/main-xfzarPod.js +0 -7
@@ -0,0 +1,7 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/webcrypto-adapter-5ShaPc_M.js","assets/base-adapter-C5w5q7XZ.js","assets/in-memory-adapter-uuWG4K4k.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 x,b as re,c as ie,ct as ae,d as oe,dt as S,et as se,ft as C,g as ce,h as le,ht as ue,it as de,j as fe,k as pe,l as me,lt as he,m as ge,mt as _e,n as ve,nt as ye,ot as w,p as be,pt as T,r as xe,rt as Se,st as Ce,t as we,tt as Te,u as Ee,ut as De,v as Oe,w as ke,x as Ae,y as je,z as Me}from"./base-adapter-C5w5q7XZ.js";var Ne=Object.defineProperty,Pe=(e,t)=>{let n={};for(var r in e)Ne(n,r,{get:e[r],enumerable:!0});return t||Ne(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 Fe(e){switch(e){case`testnet`:return`https://faucet.testnet.sui.io`;case`devnet`:return`https://faucet.devnet.sui.io`;case`localnet`:return`http://127.0.0.1:9123`;default:throw Error(`Unknown network: ${e}`)}}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${S(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),E=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=le(`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)-E,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?E: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,E,h(d.Gx*d.Gy));static ZERO=new b(at,E,E,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,E,h(t*n))}static fromBytes(e,n=!1){let i=s.BYTES,{a,d:o}=d;e=t(_(e,i,`point`)),ke(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-E),h(o*p-a));if(!v)throw Error(`bad point: invalid y coordinate`);let ee=(y&E)===E,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),x=h(ee*te),re=h(_*te);return new b(ne,x,h(v*ee),re)}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===E?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:E};if(u!==E)throw Error(`invZ was invalid`);return{x:c,y:l}}clearCofactor(){return p===E?this:this.multiplyUnsafe(p)}toBytes(){let{x:e,y:t}=this.toAffine(),n=s.toBytes(t);return n[n.length-1]|=e&E?128:0,n}toHex(){return i(this.toBytes())}toString(){return`<Point ${this.is0()?`ZERO`:this.toHex()}>`}}let ee=new Oe(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(ke(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=S.secretKey;_(e,S.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 x(e=Uint8Array.of(),...t){return b(r(y(pe(...t),_(e,void 0,`context`),!!s)))}function re(e,t,n={}){e=_(e,void 0,`message`),s&&(e=s(e));let{prefix:r,scalar:i,pointBytes:a}=te(t),o=x(n.context,r,e),c=l.multiply(o).toBytes(),u=x(n.context,c,a,e),d=p.create(o+u*i);if(!p.isValid(d))throw Error(`sign failed: invalid s`);return _(pe(c,p.toBytes(d)),S.signature,`result`)}let ie={zip215:i.zip215};function ae(t,n,r,i=ie){let{context:a}=i,o=i.zip215===void 0?!!ie.zip215:i.zip215,c=S.signature;t=_(t,c,`signature`),n=_(n,void 0,`message`),r=_(r,S.publicKey,`publicKey`),o!==void 0&&ke(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=x(a,d,r,n);return h.add(m.multiplyUnsafe(v)).subtract(g).clearCofactor().is0()}let oe=u.BYTES,S={secretKey:oe,publicKey:oe,signature:2*oe,seed:oe};function se(e){return e=e===void 0?g(S.seed):e,_(e,S.seed,`seed`)}function C(e){return d(e)&&e.length===S.secretKey}function le(t,n){try{return!!e.fromBytes(t,n===void 0?ie.zip215:n)}catch{return!1}}let ue={getExtendedPublicKey:te,randomSecretKey:se,isValidSecretKey:C,isValidPublicKey:le,toMontgomery(t){let{y:n}=e.fromBytes(t),r=S.publicKey,i=r===32;if(!i&&r!==57)throw Error(`only defined for 25519 and 448`);let a=i?u.div(E+n,E-n):u.div(n-E,n+E);return u.toBytes(a)},toMontgomerySecret(e){let t=S.secretKey;return _(e,t),v(r(e.subarray(0,t))).subarray(0,t)}};return Object.freeze(S),Object.freeze(ue),Object.freeze({keygen:ce(se,ne),getPublicKey:ne,sign:re,verify:ae,utils:ue,Point:e,lengths:S})}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=Ae(t*t*t,n),i=yt(e*Ae(r*r*t,n)).pow_p_5_8,a=Ae(e*r*i,n),o=Ae(t*a*a,n),s=a,c=Ae(a*xt,n),l=o===e,u=o===Ae(-e,n),d=o===Ae(-e*xt,n);return l&&(a=s),(u||d)&&(a=c),re(a,n)&&(a=Ae(-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);re(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(!fe(wt.toBytes(o),t)||re(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);re(_,i)&&(_=a(-_));let v=a(c*g),y=a(_*v);if(!p||re(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(re(r*d,i)){let n=a(t*Ot),r=a(e*Ot);e=n,t=r,f=a(l*At)}else f=u;re(e*d,i)&&(t=a(-t));let p=a((n-t)*f);return re(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=ge(e,t?.DST===void 0?`ristretto255_XMD:SHA-512_R255MAP_RO_`:t.DST,64,h);return Rt.deriveToCurve(n)},hashToScalar(e,t={DST:be}){let n=ge(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 Me{static{this.SIZE=zt}constructor(e){if(super(),typeof e==`string`?this.data=C(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=je(Vt.p,{sqrt:Wt}),Kt=Ee(oe(Vt,{Fp:Gt,endo:Ht}),l),qt=33,Jt=class extends Me{static{this.SIZE=qt}constructor(e){if(super(),typeof e==`string`?this.data=C(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 Me{static{this.SIZE=Yt}constructor(e){if(super(),typeof e==`string`?this.data=C(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=ie(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 me.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 D(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 O(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)&&D(this,`input`,e,t),e}}}function k(e){return{kind:`validation`,type:`integer`,reference:k,async:!1,expects:null,requirement:Number.isInteger,message:e,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&D(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)&&D(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)&&D(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 A(e,t){return{kind:`schema`,type:`array`,reference:A,expects:`Array`,async:!1,item:e,message:t,get"~standard"(){return O(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 D(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 O(this)},"~run"(e,t){return typeof e.value==`bigint`?e.typed=!0:D(this,`type`,e,t),e}}}function Sn(e){return{kind:`schema`,type:`boolean`,reference:Sn,expects:`boolean`,async:!1,message:e,get"~standard"(){return O(this)},"~run"(e,t){return typeof e.value==`boolean`?e.typed=!0:D(this,`type`,e,t),e}}}function Cn(e){return{kind:`schema`,type:`lazy`,reference:Cn,expects:`unknown`,async:!1,getter:e,get"~standard"(){return O(this)},"~run"(e,t){return this.getter(e.value)[`~run`](e,t)}}}function j(e,t){return{kind:`schema`,type:`literal`,reference:j,expects:sn(e),async:!1,literal:e,message:t,get"~standard"(){return O(this)},"~run"(e,t){return e.value===this.literal?e.typed=!0:D(this,`type`,e,t),e}}}function wn(e){return{kind:`schema`,type:`null`,reference:wn,expects:`null`,async:!1,message:e,get"~standard"(){return O(this)},"~run"(e,t){return e.value===null?e.typed=!0:D(this,`type`,e,t),e}}}function M(e,t){return{kind:`schema`,type:`nullable`,reference:M,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return O(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 O(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 N(e){return{kind:`schema`,type:`number`,reference:N,expects:`number`,async:!1,message:e,get"~standard"(){return O(this)},"~run"(e,t){return typeof e.value==`number`&&!isNaN(e.value)?e.typed=!0:D(this,`type`,e,t),e}}}function P(e,t){return{kind:`schema`,type:`object`,reference:P,expects:`Object`,async:!1,entries:e,message:t,get"~standard"(){return O(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`&&(D(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 D(this,`type`,e,t);return e}}}function F(e,t){return{kind:`schema`,type:`optional`,reference:F,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return O(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 O(this)},"~run"(e,t){return this.options.includes(e.value)?e.typed=!0:D(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 O(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 D(this,`type`,e,t);return e}}}function I(e){return{kind:`schema`,type:`string`,reference:I,expects:`string`,async:!1,message:e,get"~standard"(){return O(this)},"~run"(e,t){return typeof e.value==`string`?e.typed=!0:D(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 O(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 D(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 O(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];D(this,`type`,e,t,{issues:kn(r)}),e.typed=!0}else if(i?.length===1)return i[0];else D(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 O(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 O(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;D(this,`type`,e,t,{input:n[a],expected:un(o,`|`),path:[{type:`object`,origin:`value`,input:n,key:a,value:n[a]}]})}else D(this,`type`,e,t);return e}}}function L(e,t,n){let r=e[`~run`]({value:t},$t(n));if(r.issues)throw new dn(r.issues);return r.value}function R(...e){return{...e[0],pipe:e,get"~standard"(){return O(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,P({[t]:e[t]}))))}function Pn(e,t){return R(P({...t.entries,$kind:F(j(e))}),mn(t=>({...t,$kind:e})))}var Fn=R(I(),mn(e=>w(e)),pn(de)),In=Fn,Ln=I(),z=R(An([I(),R(N(),k())]),pn(e=>{try{return BigInt(e),BigInt(e)>=0&&BigInt(e)<=18446744073709551615n}catch{return!1}},`Invalid u64`)),Rn=R(N(),k(),pn(e=>e>=0&&e<2**32,`Invalid u32`)),zn=P({objectId:Fn,version:z,digest:I()}),B=An([Pn(`GasCoin`,P({GasCoin:j(!0)})),Pn(`Input`,P({Input:R(N(),k()),type:F(An([j(`pure`),j(`object`),j(`withdrawal`)]))})),Pn(`Result`,P({Result:R(N(),k())})),Pn(`NestedResult`,P({NestedResult:On([R(N(),k()),R(N(),k())])}))]),Bn=P({budget:M(z),price:M(z),owner:M(Fn),payment:M(A(zn))}),Vn=An([P({$kind:j(`address`)}),P({$kind:j(`bool`)}),P({$kind:j(`u8`)}),P({$kind:j(`u16`)}),P({$kind:j(`u32`)}),P({$kind:j(`u64`)}),P({$kind:j(`u128`)}),P({$kind:j(`u256`)}),P({$kind:j(`unknown`)}),P({$kind:j(`vector`),vector:Cn(()=>Vn)}),P({$kind:j(`datatype`),datatype:P({typeName:I(),typeParameters:A(Cn(()=>Vn))})}),P({$kind:j(`typeParameter`),index:R(N(),k())})]),Hn=Nn({MoveCall:P({package:In,module:I(),function:I(),typeArguments:A(I()),arguments:A(B),_argumentTypes:F(M(A(P({reference:M(An([j(`mutable`),j(`immutable`),j(`unknown`)])),body:Vn}))))}),TransferObjects:P({objects:A(B),address:B}),SplitCoins:P({coin:B,amounts:A(B)}),MergeCoins:P({destination:B,sources:A(B)}),Publish:P({modules:A(Ln),dependencies:A(In)}),MakeMoveVec:P({type:M(I()),elements:A(B)}),Upgrade:P({modules:A(Ln),dependencies:A(In),package:In,ticket:B}),$Intent:P({name:I(),inputs:Dn(I(),An([B,A(B)])),data:Dn(I(),jn())})}),Un=Nn({ImmOrOwnedObject:zn,SharedObject:P({objectId:In,initialSharedVersion:z,mutable:Sn()}),Receiving:zn}),Wn=P({reservation:Nn({MaxAmountU64:z}),typeArg:Nn({Balance:I()}),withdrawFrom:Nn({Sender:j(!0),Sponsor:j(!0)})}),Gn=Nn({Object:Un,Pure:P({bytes:Ln}),UnresolvedPure:P({value:jn()}),UnresolvedObject:P({objectId:In,version:F(M(z)),digest:F(M(I())),initialSharedVersion:F(M(z)),mutable:F(M(Sn()))}),FundsWithdrawal:Wn}),Kn=Nn({Object:Un,Pure:P({bytes:Ln})}),qn=P({minEpoch:M(z),maxEpoch:M(z),minTimestamp:M(z),maxTimestamp:M(z),chain:I(),nonce:Rn}),Jn=Nn({None:j(!0),Epoch:z,ValidDuring:qn}),Yn=P({version:j(2),sender:Tn(Fn),expiration:Tn(Jn),gasData:Bn,inputs:A(Gn),commands:A(Hn)});function Xn(e){if(typeof e==`string`)return w(e);if(e.Object)return e.Object.ImmOrOwnedObject?w(e.Object.ImmOrOwnedObject.objectId):e.Object.Receiving?w(e.Object.Receiving.objectId):w(e.Object.SharedObject.objectId);if(e.UnresolvedObject)return w(e.UnresolvedObject.objectId)}function Zn(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 Qn=P({digest:I(),objectId:I(),version:An([R(N(),k()),I(),xn()])}),$n=Nn({Object:Nn({ImmOrOwned:Qn,Shared:P({objectId:In,initialSharedVersion:z,mutable:Sn()}),Receiving:Qn}),Pure:A(R(N(),k()))}),er=An([P({bool:M(j(!0))}),P({u8:M(j(!0))}),P({u64:M(j(!0))}),P({u128:M(j(!0))}),P({address:M(j(!0))}),P({signer:M(j(!0))}),P({vector:Cn(()=>er)}),P({struct:Cn(()=>tr)}),P({u16:M(j(!0))}),P({u32:M(j(!0))}),P({u256:M(j(!0))})]),tr=P({address:I(),module:I(),name:I(),typeParams:A(er)});function nr(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(C(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:Te.parseFromStr(e.MakeMoveVec.type)},objects:e.MakeMoveVec.elements.map(e=>rr(e,t))};if(e.MergeCoins)return{kind:`MergeCoins`,destination:rr(e.MergeCoins.destination,t),sources:e.MergeCoins.sources.map(e=>rr(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=>rr(e,t))};if(e.Publish)return{kind:`Publish`,modules:e.Publish.modules.map(e=>Array.from(C(e))),dependencies:e.Publish.dependencies};if(e.SplitCoins)return{kind:`SplitCoins`,coin:rr(e.SplitCoins.coin,t),amounts:e.SplitCoins.amounts.map(e=>rr(e,t))};if(e.TransferObjects)return{kind:`TransferObjects`,objects:e.TransferObjects.objects.map(e=>rr(e,t)),address:rr(e.TransferObjects.address,t)};if(e.Upgrade)return{kind:`Upgrade`,modules:e.Upgrade.modules.map(e=>Array.from(C(e))),dependencies:e.Upgrade.dependencies,packageId:e.Upgrade.package,ticket:rr(e.Upgrade.ticket,t)};throw Error(`Unknown transaction ${Object.keys(e)}`)})}}function rr(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 ir(e){return L(Yn,{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($n,e.value)){let t=L($n,e.value);if(t.Object){if(t.Object.ImmOrOwned)return{Object:{ImmOrOwnedObject:{objectId:t.Object.ImmOrOwned.objectId,version:String(t.Object.ImmOrOwned.version),digest:t.Object.ImmOrOwned.digest}}};if(t.Object.Shared)return{Object:{SharedObject:{mutable:t.Object.Shared.mutable??null,initialSharedVersion:t.Object.Shared.initialSharedVersion,objectId:t.Object.Shared.objectId}}};if(t.Object.Receiving)return{Object:{Receiving:{digest:t.Object.Receiving.digest,version:String(t.Object.Receiving.version),objectId:t.Object.Receiving.objectId}}};throw Error(`Invalid object input`)}return{Pure:{bytes:T(new Uint8Array(t.Pure))}}}return e.type===`object`?{UnresolvedObject:{objectId:e.value}}:{UnresolvedPure:{value:e.value}}}throw Error(`Invalid input`)}),commands:e.transactions.map(e=>{switch(e.kind){case`MakeMoveVec`:return{MakeMoveVec:{type:`Some`in e.type?Te.tagToString(e.type.Some):null,elements:e.objects.map(e=>ar(e))}};case`MergeCoins`:return{MergeCoins:{destination:ar(e.destination),sources:e.sources.map(e=>ar(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=>ar(e))}}}case`Publish`:return{Publish:{modules:e.modules.map(e=>T(Uint8Array.from(e))),dependencies:e.dependencies}};case`SplitCoins`:return{SplitCoins:{coin:ar(e.coin),amounts:e.amounts.map(e=>ar(e))}};case`TransferObjects`:return{TransferObjects:{objects:e.objects.map(e=>ar(e)),address:ar(e.address)}};case`Upgrade`:return{Upgrade:{modules:e.modules.map(e=>T(Uint8Array.from(e))),dependencies:e.dependencies,package:e.packageId,ticket:ar(e.ticket)}}}throw Error(`Unknown transaction ${Object.keys(e)}`)})})}function ar(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 or(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 sr(e){return w(e).replace(`0x`,``)}var cr=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(L(Yn,t)):new e(L(Yn,ir(t)))}static getDigestFromBytes(e){return ue(or(`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:sr(s),expiration:o||{None:!0},gasData:{payment:c.payment,owner:sr(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 L(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=Xn(r),a=-1;if(i!==void 0&&(a=this.inputs.findIndex(e=>Xn(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]);Zn(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 L(Yn,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(w(e.objectId)!==w(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(w(e.objectId)!==w(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=>L(B,e)),address:L(B,t)}}},SplitCoins(e,t){return{$kind:`SplitCoins`,SplitCoins:{coin:L(B,e),amounts:t.map(e=>L(B,e))}}},MergeCoins(e,t){return{$kind:`MergeCoins`,MergeCoins:{destination:L(B,e),sources:t.map(e=>L(B,e))}}},Publish({modules:e,dependencies:t}){return{$kind:`Publish`,Publish:{modules:e.map(e=>typeof e==`string`?e:T(new Uint8Array(e))),dependencies:t.map(e=>Ce(e))}}},Upgrade({modules:e,dependencies:t,package:n,ticket:r}){return{$kind:`Upgrade`,Upgrade:{modules:e.map(e=>typeof e==`string`?e:T(new Uint8Array(e))),dependencies:t.map(e=>Ce(e)),package:n,ticket:L(B,r)}}},MakeMoveVec({type:e,elements:t}){return{$kind:`MakeMoveVec`,MakeMoveVec:{type:e??null,elements:t.map(e=>L(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=>L(B,e)):L(B,t)])),data:n}}}};function lr(e){return{$kind:`Pure`,Pure:{bytes:e instanceof Uint8Array?T(e):e.toBase64()}}}var H={Pure:lr,ObjectRef({objectId:e,digest:t,version:n}){return{$kind:`Object`,Object:{$kind:`ImmOrOwnedObject`,ImmOrOwnedObject:{digest:t,version:n,objectId:w(e)}}}},SharedObjectRef({objectId:e,mutable:t,initialSharedVersion:n}){return{$kind:`Object`,Object:{$kind:`SharedObject`,SharedObject:{mutable:t,initialSharedVersion:n,objectId:w(e)}}}},ReceivingRef({objectId:e,digest:t,version:n}){return{$kind:`Object`,Object:{$kind:`Receiving`,Receiving:{digest:t,version:n,objectId:w(e)}}}},FundsWithdrawal({reservation:e,typeArg:t,withdrawFrom:n}){return{$kind:`FundsWithdrawal`,FundsWithdrawal:{reservation:e,typeArg:t,withdrawFrom:n}}}};function ur(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 dr(e){if(e.body.$kind!==`datatype`)return!1;let{package:t,module:n,name:r}=ur(e.body.datatype.typeName);return w(t)===`0x0000000000000000000000000000000000000000000000000000000000000002`&&n===`tx_context`&&r===`TxContext`}function fr(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=fr(e.vector);return t?m.vector(t):null}case`datatype`:{let{package:t,module:n,name:r}=ur(e.datatype.typeName),i=w(t);if(i===`0x0000000000000000000000000000000000000000000000000000000000000001`){if(n===`ascii`&&r===`String`||n===`string`&&r===`String`)return m.String;if(n===`option`&&r===`Option`){let t=fr(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 pr=`CoinWithBalance`,mr=x(`0x2::sui::SUI`);function hr({type:e=mr,balance:t,useGasCoin:n=!0}){let r=null;return i=>{if(r)return r;i.addIntentResolver(pr,vr);let a=e===`gas`?e:x(e);return r=i.add(V.Intent({name:pr,inputs:{},data:{type:a===mr&&n?`gas`:a,balance:BigInt(t),outputKind:`coin`}})),r}}function gr({type:e=mr,balance:t,useGasCoin:n=!0}){let r=null;return i=>{if(r)return r;i.addIntentResolver(pr,vr);let a=e===`gas`?e:x(e);return r=i.add(V.Intent({name:pr,inputs:{},data:{type:a===mr&&n?`gas`:a,balance:BigInt(t),outputKind:`balance`}})),r}}var _r=P({type:I(),balance:xn(),outputKind:F(En([`coin`,`balance`]))});async function vr(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}=L(_r,n.$Intent.data);if(s===0n){let n=o===`gas`?mr: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(mr))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 yr({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:mr}).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`?mr: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`?mr: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 yr({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 br(e){return An(Object.entries(e).map(([e,t])=>P({[e]:t})))}var xr=br({GasCoin:j(!0),Input:R(N(),k()),Result:R(N(),k()),NestedResult:On([R(N(),k()),R(N(),k())])}),Sr=P({budget:M(z),price:M(z),owner:M(Fn),payment:M(A(zn))}),Cr=br({MoveCall:P({package:In,module:I(),function:I(),typeArguments:A(I()),arguments:A(xr)}),TransferObjects:P({objects:A(xr),address:xr}),SplitCoins:P({coin:xr,amounts:A(xr)}),MergeCoins:P({destination:xr,sources:A(xr)}),Publish:P({modules:A(Ln),dependencies:A(In)}),MakeMoveVec:P({type:M(I()),elements:A(xr)}),Upgrade:P({modules:A(Ln),dependencies:A(In),package:In,ticket:xr}),$Intent:P({name:I(),inputs:Dn(I(),An([xr,A(xr)])),data:Dn(I(),jn())})}),wr=br({Object:br({ImmOrOwnedObject:zn,SharedObject:P({objectId:In,initialSharedVersion:z,mutable:Sn()}),Receiving:zn}),Pure:P({bytes:Ln}),UnresolvedPure:P({value:jn()}),UnresolvedObject:P({objectId:In,version:F(M(z)),digest:F(M(I())),initialSharedVersion:F(M(z)),mutable:F(M(Sn()))}),FundsWithdrawal:Wn}),Tr=br({None:j(!0),Epoch:z,ValidDuring:qn}),Er=P({version:j(2),sender:Tn(Fn),expiration:Tn(Tr),gasData:Sr,inputs:A(wr),commands:A(Cr),digest:F(M(I()))}),Dr=class extends Error{},Or=class extends Dr{constructor(e,t){super(e,{cause:t?.cause}),this.executionError=t?.executionError}},kr=w(`0xacc`),Ar=Te.parseFromStr(`0x2::accumulator::Key<0x2::balance::Balance<0x2::sui::SUI>>`),jr=new Uint8Array([172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172]);function Mr(e,t){let n=De(Ze(kr,Ar,m.Address.serialize(e).toBytes()).slice(2)),r=_e(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${S(i)}`}function Nr(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(jr,12),L(zn,{objectId:Mr(t,n),version:`0`,digest:ue(i)})}var Pr=50,Fr=1000n,Ir=5e10;function Lr(e,t=1n){let n=Fr*BigInt(t),r=BigInt(e.computationCost)+n,i=r+BigInt(e.storageCost)-BigInt(e.storageRebate);return String(i>r?i:r)}function Rr(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 zr(e,t,n){let r=Rr(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?w(o):null;for(let t of e.inputs){if(t.$kind!==`FundsWithdrawal`||!l||x(t.FundsWithdrawal.typeArg.Balance)!==tt)continue;let n=t.FundsWithdrawal.withdrawFrom.Sender?e.sender:o;n&&w(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([Gr(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 Wr(e,r),!t.onlyTransactionKind){let t=p?.systemState??null,n=g?.chainIdentifier??null;if(t&&!e.gasData.price&&(e.gasData.price=t.referenceGasPrice),await Br(e,r,u&&t&&n?Ur(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.`);Vr({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 Hr(e,r,t,n)}return await n()}async function Br(e,t,n){if(e.gasData.budget)return;let r=await t.core.simulateTransaction({transaction:e.build({overrides:{gasData:{budget:String(Ir),payment:[]},...n&&{expiration:n}}}),include:{effects:!0}});if(r.$kind===`FailedTransaction`){let e=r.FailedTransaction.status.error??void 0;throw new Or(`Transaction resolution failed: ${e?.message??`Unknown error`}`,{cause:r,executionError:e})}e.gasData.budget=Lr(r.Transaction.effects.gasUsed,e.gasData.price?String(e.gasData.price):void 0)}function Vr({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=[Nr(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 Hr(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=Ur(a,i)}function Ur(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 Wr(e,t){let n=e.inputs.filter(e=>e.UnresolvedObject&&!(e.UnresolvedObject.version||e.UnresolvedObject?.initialSharedVersion)),r=[...new Set(n.map(e=>Ce(e.UnresolvedObject.objectId)))],i=r.length?Ie(r,Pr):[],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=w(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||Kr(e,t)}):qr(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 Gr(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&&dr(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=fr(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 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=t.MoveCall._argumentTypes[r].reference!==`immutable`||n}(t.$kind===`MakeMoveVec`||t.$kind===`MergeCoins`||t.$kind===`SplitCoins`||t.$kind===`TransferObjects`)&&(n=!0)}),n}function qr(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=Yr(t.MoveCall._argumentTypes[r])||n}}),n}var Jr=`0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving`;function Yr(e){return e.body.$kind===`datatype`?e.body.datatype.typeName===Jr:!1}function Xr(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 Zr(e,t,n){return ei(e),Xr(e,t)?($r(t).core?.resolveTransactionPlugin()??zr)(e,t,async()=>{await Qr(e),await n()}):(await Qr(e),n())}function Qr(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 $r(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 ei(e){for(let t of e.commands)switch(t.$kind){case`SplitCoins`:t.SplitCoins.amounts.forEach(t=>{ti(t,m.U64,e)});break;case`TransferObjects`:ti(t.TransferObjects.address,m.Address,e);break}}function ti(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 ni(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 ri(t){function n(n,r){if(typeof n==`string`)return t(e(n).serialize(r));if(n instanceof Uint8Array||he(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 ii=`2.18.0`,ai=`/`,oi={"Mvr-Source":`@mysten/sui@${ii}`},si=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},ci(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`,...oi},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 di(e)?{package:await this.#i.load(e)}:{package:e}}async resolveType({type:e}){if(!di(e))return{type:e};let t=[...li(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:ui(e,r)}}async resolve({types:e=[],packages:t=[]}){let n=new Set;for(let t of e??[])li(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:ui(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 ci(e){if(e?.packages)for(let[t,n]of Object.entries(e.packages)){if(!ye(t))throw Error(`Invalid package name: ${t}`);if(!de(w(n)))throw Error(`Invalid package ID: ${n}`)}if(e?.types)for(let[t,n]of Object.entries(e.types)){if(ae(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(!de(ae(n).address))throw Error(`Invalid type: ${n}`)}}function li(e,t=new Set){if(typeof e==`string`&&!di(e))return t;if(typeof e==`string`&&e.startsWith(`vector<`)&&e.endsWith(`>`))return li(e.slice(7,-1),t);let n=fi(e)?e:ae(e);di(n.address)&&t.add(`${n.address}::${n.module}::${n.name}`);for(let e of n.typeParams)li(e,t);return t}function ui(e,t){if(typeof e==`string`&&!e.includes(`::`))return e;if(typeof e==`string`&&e.startsWith(`vector<`)&&e.endsWith(`>`))return`vector<${ui(e.slice(7,-1),t)}>`;let n=fi(e)?e:ae(e),r=t[`${n.address}::${n.module}::${n.name}`];return x({...n,address:r?r.split(`::`)[0]:n.address,typeParams:n.typeParams.map(e=>ui(e,t))})}function di(e){return e.includes(ai)||e.includes(`@`)||e.includes(`.sui`)}function fi(e){return typeof e==`object`&&`address`in e&&`module`in e&&`name`in e&&`typeParams`in e}function pi(e){let t=new Set,n=new Set;for(let r of e.commands)switch(r.$kind){case`MakeMoveVec`:r.MakeMoveVec.type&&hi([r.MakeMoveVec.type]).forEach(e=>{n.add(e)});break;case`MoveCall`:let e=r.MoveCall,i=e.package.split(`::`)[0];if(di(i)){if(!ye(i))throw Error(`Invalid package name: ${i}`);t.add(i)}hi(e.typeArguments??[]).forEach(e=>{n.add(e)});break;default:break}return{packages:[...t],types:[...n]}}function mi(e,t){for(let n of e.commands){if(n.MakeMoveVec?.type){if(!di(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(di(i)&&!t.packages[i])throw Error(`No address found for package: ${i}`);di(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(di(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 hi(e){let t=new Set;for(let n of e)if(di(n)){if(!Se(n))throw Error(`Invalid type with names: ${n}`);t.add(n)}return t}function gi(){return async(e,t,n)=>{let r=pi(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()`);mi(e,await t.client.core.mvr.resolve({types:r.types,packages:r.packages})),await n()}}function _i(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 vi=Symbol.for(`@mysten/transaction`);function yi(e){return!!e&&typeof e==`object`&&e[vi]===!0}var bi=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=cr.fromKindBytes(typeof t==`string`?C(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;yi(t)?r.#c=cr.restore(t.getData()):typeof t!=`string`||!t.startsWith(`{`)?r.#c=cr.fromBytes(typeof t==`string`?C(t):t):r.#c=cr.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([[pr,vr],...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?L(Jn,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=>L(zn,e))}#c;getData(){return this.#c.snapshot()}get[vi](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:ri(e=>he(e)?this.#d(`pure`,{$kind:`Pure`,Pure:{bytes:e.toBase64()}}):this.#d(`pure`,bn(Kn,e)?L(Kn,e):e instanceof Uint8Array?H.Pure(e):{$kind:`UnresolvedPure`,UnresolvedPure:{value:e}}))}),this.pure}constructor(){this.object=ni(e=>{if(typeof e==`function`)return this.object(this.add(e));if(typeof e==`object`&&bn(B,e))return e;let t=Xn(e),n=this.#c.inputs.find(e=>t===Xn(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:w(e)}}:e)}),this.#c=new cr,this.#t=[],this.#e=[]}get gas(){return{$kind:`GasCoin`,GasCoin:!0}}coin({type:e,balance:t,useGasCoin:n}){return this.add(hr({type:e,balance:t,useGasCoin:n}))}balance({type:e,balance:t,useGasCoin:n}){return this.add(gr({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=_i(()=>r.$Intent.data.resultIndex);return this.#s.set(e,i),i}else this.#u(e);return _i(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 he(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):L(B,t)}return L(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),_i(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(nr(this.#c.snapshot()))}async toJSON(e={}){await this.prepareForSerialization(e);let t=this.isFullyResolved();return JSON.stringify(L(Er,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||Xr(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,Zr],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(gi()),await this.#h(n,e)}},xi=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)},Si=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},Ci,wi=void 0,Ti=new Set;function Ei(e){ji=void 0,Ti.add(e)}function Di(e){ji=void 0,Ti.delete(e)}var Oi={};function ki(){if(wi||(wi=Object.freeze({register:Ai,get:Mi,on:Ni}),typeof window>`u`))return wi;let e=Object.freeze({register:Ai});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 Fi(e))}catch(e){console.error(`wallet-standard:app-ready event could not be dispatched
4
+ `,e)}return wi}function Ai(...e){return e=e.filter(e=>!Ti.has(e)),e.length?(e.forEach(e=>Ei(e)),Oi.register?.forEach(t=>Pi(()=>t(...e))),function(){e.forEach(e=>Di(e)),Oi.unregister?.forEach(t=>Pi(()=>t(...e)))}):()=>{}}var ji;function Mi(){return ji||=[...Ti],ji}function Ni(e,t){return Oi[e]?.push(t)||(Oi[e]=[t]),function(){Oi[e]=Oi[e]?.filter(e=>t!==e)}}function Pi(e){try{e()}catch(e){console.error(e)}}var Fi=class extends Event{get detail(){return xi(this,Ci,`f`)}get type(){return`wallet-standard:app-ready`}constructor(e){super(`wallet-standard:app-ready`,{bubbles:!1,cancelable:!1,composed:!1}),Ci.set(this,void 0),Si(this,Ci,e,`f`)}preventDefault(){throw Error(`preventDefault cannot be called`)}stopImmediatePropagation(){throw Error(`stopImmediatePropagation cannot be called`)}stopPropagation(){throw Error(`stopPropagation cannot be called`)}};Ci=new WeakMap;var Ii=Pe({CliProxySigner:()=>Hi,RemoteCliAdapter:()=>Ui}),Li=[`sui:signTransaction`,`sui:signAndExecuteTransaction`],Ri=5e3,zi=class extends Error{constructor(){super(`Unauthorized`),this.name=`AuthError`}},Bi={ed25519:`ED25519`,secp256k1:`Secp256k1`,secp256r1:`Secp256r1`};function Vi(e,t){let n=C(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 Hi=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:T(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:T(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.`)}},Ui=class e extends we{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 zi?(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=>Bi[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=Bi[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<Ri){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 zi;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=Bi[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=Vi(e.publicBase64Key,t),i=new Hi({address:e.suiAddress,publicKey:r,scheme:t,serverOrigin:this.#e,authToken:this.#t}),a=n??e.alias??this.getDefaultLabel();return ve(i,e.suiAddress,a,Li)}};function Wi(e,t,n){let r=e.getItem(t);if(r===null)return null;let i=null;try{i=n(JSON.parse(r))}catch{}return i===null&&console.warn(`[dev-wallet] Ignoring invalid data in "${t}".`),i}var Gi=`dev-wallet:connected-apps:v1`;function Ki(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.origin==`string`&&typeof t.name==`string`&&Array.isArray(t.accounts)&&t.accounts.every(e=>typeof e==`string`)&&typeof t.connectedAt==`number`}var qi=class{#e;constructor(e=localStorage){this.#e=e}list(){return(Wi(this.#e,`dev-wallet:connected-apps:v1`,e=>Array.isArray(e)&&e.every(Ki)?e:null)??[]).sort((e,t)=>t.connectedAt-e.connectedAt)}has(e){return this.list().some(t=>t.origin===e)}record(e){this.#t([e,...this.list().filter(t=>t.origin!==e.origin)])}remove(e){this.#t(this.list().filter(t=>t.origin!==e))}subscribe(e){let t=t=>{(t.key===`dev-wallet:connected-apps:v1`||t.key===null)&&e()};return window.addEventListener(`storage`,t),()=>window.removeEventListener(`storage`,t)}#t(e){this.#e.setItem(Gi,JSON.stringify(e))}},Ji=new TextEncoder,Yi=new TextDecoder;function Xi(...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 Zi(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 $i(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 ea(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(typeof e==`string`?e:Yi.decode(e),{alphabet:`base64url`});let t=e;t instanceof Uint8Array&&(t=Yi.decode(t)),t=t.replace(/-/g,`+`).replace(/_/g,`/`);try{return $i(t)}catch{throw TypeError(`The input to be decoded is not correctly encoded.`)}}function ta(e){let t=e;return typeof t==`string`&&(t=Ji.encode(t)),Uint8Array.prototype.toBase64?t.toBase64({alphabet:`base64url`,omitPadding:!0}):Qi(t).replace(/=/g,``).replace(/\+/g,`-`).replace(/\//g,`_`)}var na=(e,t=`algorithm.name`)=>TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`),ra=(e,t)=>e.name===t;function ia(e){return parseInt(e.name.slice(4),10)}function aa(e,t){if(ia(e.hash)!==t)throw na(`SHA-${t}`,`algorithm.hash`)}function oa(e){switch(e){case`ES256`:return`P-256`;case`ES384`:return`P-384`;case`ES512`:return`P-521`;default:throw Error(`unreachable`)}}function sa(e,t){if(t&&!e.usages.includes(t))throw TypeError(`CryptoKey does not support this operation, its usages must include ${t}.`)}function ca(e,t,n){switch(t){case`HS256`:case`HS384`:case`HS512`:if(!ra(e.algorithm,`HMAC`))throw na(`HMAC`);aa(e.algorithm,parseInt(t.slice(2),10));break;case`RS256`:case`RS384`:case`RS512`:if(!ra(e.algorithm,`RSASSA-PKCS1-v1_5`))throw na(`RSASSA-PKCS1-v1_5`);aa(e.algorithm,parseInt(t.slice(2),10));break;case`PS256`:case`PS384`:case`PS512`:if(!ra(e.algorithm,`RSA-PSS`))throw na(`RSA-PSS`);aa(e.algorithm,parseInt(t.slice(2),10));break;case`Ed25519`:case`EdDSA`:if(!ra(e.algorithm,`Ed25519`))throw na(`Ed25519`);break;case`ML-DSA-44`:case`ML-DSA-65`:case`ML-DSA-87`:if(!ra(e.algorithm,t))throw na(t);break;case`ES256`:case`ES384`:case`ES512`:{if(!ra(e.algorithm,`ECDSA`))throw na(`ECDSA`);let n=oa(t);if(e.algorithm.namedCurve!==n)throw na(n,`algorithm.namedCurve`);break}default:throw TypeError(`CryptoKey does not support this operation`)}sa(e,n)}function la(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 ua=(e,...t)=>la(`Key must be `,e,...t),da=(e,t,...n)=>la(`Key for the ${e} algorithm must be `,t,...n),fa=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)}},pa=class extends fa{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}},ma=class extends fa{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}},ha=class extends fa{static code=`ERR_JOSE_ALG_NOT_ALLOWED`;code=`ERR_JOSE_ALG_NOT_ALLOWED`},ga=class extends fa{static code=`ERR_JOSE_NOT_SUPPORTED`;code=`ERR_JOSE_NOT_SUPPORTED`},U=class extends fa{static code=`ERR_JWS_INVALID`;code=`ERR_JWS_INVALID`},_a=class extends fa{static code=`ERR_JWT_INVALID`;code=`ERR_JWT_INVALID`},va=class extends fa{static code=`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`;code=`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`;constructor(e=`signature verification failed`,t){super(e,t)}},ya=e=>{if(e?.[Symbol.toStringTag]===`CryptoKey`)return!0;try{return e instanceof CryptoKey}catch{return!1}},ba=e=>e?.[Symbol.toStringTag]===`KeyObject`,xa=e=>ya(e)||ba(e);function Sa(e,t){if(e)throw TypeError(`${t} can only be called once`)}function Ca(e,t,n){try{return ea(e)}catch{throw new n(`Failed to base64url decode the ${t}`)}}var wa=e=>typeof e==`object`&&!!e;function Ta(e){if(!wa(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 Ea(...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 Da=e=>Ta(e)&&typeof e.kty==`string`,Oa=e=>e.kty!==`oct`&&(e.kty===`AKP`&&typeof e.priv==`string`||typeof e.d==`string`),ka=e=>e.kty!==`oct`&&e.d===void 0&&e.priv===void 0,Aa=e=>e.kty===`oct`&&typeof e.k==`string`;function ja(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 Ma(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 ga(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}async function Na(e,t,n){if(t instanceof Uint8Array){if(!e.startsWith(`HS`))throw TypeError(ua(t,`CryptoKey`,`KeyObject`,`JSON Web Key`));return crypto.subtle.importKey(`raw`,t,{hash:`SHA-${e.slice(-3)}`,name:`HMAC`},!1,[n])}return ca(t,e,n),t}async function Pa(e,t,n){let r=await Na(e,t,`sign`);ja(e,r);let i=await crypto.subtle.sign(Ma(e,r.algorithm),r,n);return new Uint8Array(i)}async function Fa(e,t,n,r){let i=await Na(e,t,`verify`);ja(e,i);let a=Ma(e,i.algorithm);try{return await crypto.subtle.verify(a,i,n,r)}catch{return!1}}var Ia=`Invalid or unsupported JWK "alg" (Algorithm) Parameter value`;function La(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 ga(Ia)}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 ga(Ia)}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 ga(Ia)}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 ga(Ia)}break;default:throw new ga(`Invalid or unsupported JWK "kty" (Key Type) Parameter value`)}return{algorithm:t,keyUsages:n}}async function Ra(e){if(!e.alg)throw TypeError(`"alg" argument is required when "jwk.alg" is not present`);let{algorithm:t,keyUsages:n}=La(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 za=`given KeyObject instance cannot be used for this algorithm`,Ba,Va=async(e,t,n,r=!1)=>{Ba||=new WeakMap;let i=Ba.get(e);if(i?.[n])return i[n];let a=await Ra({...t,alg:n});return r&&Object.freeze(e),i?i[n]=a:Ba.set(e,{[n]:a}),a},Ha=(e,t)=>{Ba||=new WeakMap;let n=Ba.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(za)}a=e.toCryptoKey(e.asymmetricKeyType,i,r?[]:[`deriveBits`])}if(e.asymmetricKeyType===`ed25519`){if(t!==`EdDSA`&&t!==`Ed25519`)throw TypeError(za);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(za);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(za)}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(za);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(za);return n?n[t]=a:Ba.set(e,{[t]:a}),a};async function Ua(e,t){if(e instanceof Uint8Array||ya(e))return e;if(ba(e)){if(e.type===`secret`)return e.export();if(`toCryptoKey`in e&&typeof e.toCryptoKey==`function`)try{return Ha(e,t)}catch(e){if(e instanceof TypeError)throw e}return Va(e,e.export({format:`jwk`}),t)}if(Da(e))return e.k?ea(e.k):Va(e,e,t,!0);throw Error(`unreachable`)}function Wa(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 ga(`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 Ga(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 Ka=e=>e?.[Symbol.toStringTag],qa=(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},Ja=(e,t,n)=>{if(!(t instanceof Uint8Array)){if(Da(t)){if(Aa(t)&&qa(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(!xa(t))throw TypeError(da(e,t,`CryptoKey`,`KeyObject`,`JSON Web Key`,`Uint8Array`));if(t.type!==`secret`)throw TypeError(`${Ka(t)} instances for symmetric algorithms must be of type "secret"`)}},Ya=(e,t,n)=>{if(Da(t))switch(n){case`decrypt`:case`sign`:if(Oa(t)&&qa(e,t,n))return;throw TypeError(`JSON Web Key for this operation must be a private JWK`);case`encrypt`:case`verify`:if(ka(t)&&qa(e,t,n))return;throw TypeError(`JSON Web Key for this operation must be a public JWK`)}if(!xa(t))throw TypeError(da(e,t,`CryptoKey`,`KeyObject`,`JSON Web Key`));if(t.type===`secret`)throw TypeError(`${Ka(t)} instances for asymmetric algorithms must not be of type "secret"`);if(t.type===`public`)switch(n){case`sign`:throw TypeError(`${Ka(t)} instances for asymmetric algorithm signing must be of type "private"`);case`decrypt`:throw TypeError(`${Ka(t)} instances for asymmetric algorithm decryption must be of type "private"`)}if(t.type===`private`)switch(n){case`verify`:throw TypeError(`${Ka(t)} instances for asymmetric algorithm verifying must be of type "public"`);case`encrypt`:throw TypeError(`${Ka(t)} instances for asymmetric algorithm encryption must be of type "public"`)}};function Xa(e,t,n){switch(e.substring(0,2)){case`A1`:case`A2`:case`di`:case`HS`:case`PB`:Ja(e,t,n);break;default:Ya(e,t,n)}}async function Za(e,t,n){if(!Ta(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&&!Ta(e.header))throw new U(`JWS Unprotected Header incorrect type`);let r={};if(e.protected)try{let t=ea(e.protected);r=JSON.parse(Yi.decode(t))}catch{throw new U(`JWS Protected Header is invalid`)}if(!Ea(r,e.header))throw new U(`JWS Protected and JWS Unprotected Header Parameter names must be disjoint`);let i={...r,...e.header},a=Wa(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&&Ga(`algorithms`,n.algorithms);if(c&&!c.has(s))throw new ha(`"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),Xa(s,t,`verify`);let u=Xi(e.protected===void 0?new Uint8Array:Zi(e.protected),Zi(`.`),typeof e.payload==`string`?o?Zi(e.payload):Ji.encode(e.payload):e.payload),d=Ca(e.signature,`signature`,U),f=await Ua(t,s);if(!await Fa(s,f,d,u))throw new va;let p;p=o?Ca(e.payload,`payload`,U):typeof e.payload==`string`?Ji.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=Yi.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 Za({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 $a=e=>Math.floor(e.getTime()/1e3),eo=60,to=eo*60,no=to*24,ro=no*7,io=no*365.25,ao=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function oo(e){let t=ao.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*eo);break;case`hour`:case`hours`:case`hr`:case`hrs`:case`h`:i=Math.round(n*to);break;case`day`:case`days`:case`d`:i=Math.round(n*no);break;case`week`:case`weeks`:case`w`:i=Math.round(n*ro);break;default:i=Math.round(n*io);break}return t[1]===`-`||t[4]===`ago`?-i:i}function so(e,t){if(!Number.isFinite(t))throw TypeError(`Invalid ${e} input`);return t}var co=e=>e.includes(`/`)?e.toLowerCase():`application/${e.toLowerCase()}`,lo=(e,t)=>typeof e==`string`?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1;function uo(e,t,n={}){let r;try{r=JSON.parse(Yi.decode(t))}catch{}if(!Ta(r))throw new _a(`JWT Claims Set must be a top-level JSON object`);let{typ:i}=n;if(i&&(typeof e.typ!=`string`||co(e.typ)!==co(i)))throw new pa(`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 pa(`missing required "${e}" claim`,r,e,`missing`);if(o&&!(Array.isArray(o)?o:[o]).includes(r.iss))throw new pa(`unexpected "iss" claim value`,r,`iss`,`check_failed`);if(s&&r.sub!==s)throw new pa(`unexpected "sub" claim value`,r,`sub`,`check_failed`);if(c&&!lo(r.aud,typeof c==`string`?[c]:c))throw new pa(`unexpected "aud" claim value`,r,`aud`,`check_failed`);let d;switch(typeof n.clockTolerance){case`string`:d=oo(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=$a(f||new Date);if((r.iat!==void 0||l)&&typeof r.iat!=`number`)throw new pa(`"iat" claim must be a number`,r,`iat`,`invalid`);if(r.nbf!==void 0){if(typeof r.nbf!=`number`)throw new pa(`"nbf" claim must be a number`,r,`nbf`,`invalid`);if(r.nbf>p+d)throw new pa(`"nbf" claim timestamp check failed`,r,`nbf`,`check_failed`)}if(r.exp!==void 0){if(typeof r.exp!=`number`)throw new pa(`"exp" claim must be a number`,r,`exp`,`invalid`);if(r.exp<=p-d)throw new ma(`"exp" claim timestamp check failed`,r,`exp`,`check_failed`)}if(l){let e=p-r.iat,t=typeof l==`number`?l:oo(l);if(e-d>t)throw new ma(`"iat" claim timestamp check failed (too far in the past)`,r,`iat`,`check_failed`);if(e<0-d)throw new pa(`"iat" claim timestamp check failed (it should be in the past)`,r,`iat`,`check_failed`)}return r}var fo=class{#e;constructor(e){if(!Ta(e))throw TypeError(`JWT Claims Set MUST be an object`);this.#e=structuredClone(e)}data(){return Ji.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=so(`setNotBefore`,e):e instanceof Date?this.#e.nbf=so(`setNotBefore`,$a(e)):this.#e.nbf=$a(new Date)+oo(e)}set exp(e){typeof e==`number`?this.#e.exp=so(`setExpirationTime`,e):e instanceof Date?this.#e.exp=so(`setExpirationTime`,$a(e)):this.#e.exp=$a(new Date)+oo(e)}set iat(e){e===void 0?this.#e.iat=$a(new Date):e instanceof Date?this.#e.iat=so(`setIssuedAt`,$a(e)):typeof e==`string`?this.#e.iat=so(`setIssuedAt`,$a(new Date)+oo(e)):this.#e.iat=so(`setIssuedAt`,e)}};async function po(e,t,n){let r=await Qa(e,t,n);if(r.protectedHeader.crit?.includes(`b64`)&&r.protectedHeader.b64===!1)throw new _a(`JWTs MUST NOT use unencoded payload`);let i={payload:uo(r.protectedHeader,r.payload,n),protectedHeader:r.protectedHeader};return typeof t==`function`?{...i,key:r.key}:i}var mo=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 Sa(this.#t,`setProtectedHeader`),this.#t=e,this}setUnprotectedHeader(e){return Sa(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(!Ea(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=Wa(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`);Xa(a,e,`sign`);let o,s;i?(o=ta(this.#e),s=Zi(o)):(s=this.#e,o=``);let c,l;this.#t?(c=ta(JSON.stringify(this.#t)),l=Zi(c)):(c=``,l=new Uint8Array);let u=Xi(l,Zi(`.`),s),d={signature:ta(await Pa(a,await Ua(e,a),u)),payload:o};return this.#n&&(d.header=this.#n),this.#t&&(d.protected=c),d}},ho=class{#e;constructor(e){this.#e=new mo(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}`}},go=class{#e;#t;constructor(e={}){this.#t=new fo(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 ho(this.#t.data());if(n.setProtectedHeader(this.#e),Array.isArray(this.#e?.crit)&&this.#e.crit.includes(`b64`)&&this.#e.b64===!1)throw new _a(`JWTs MUST NOT use unencoded payload`);return n.sign(e,t)}},_o=P({exp:N(),iat:N(),iss:I(),aud:I(),payload:P({accounts:A(P({address:I(),publicKey:I(),label:F(I())}))})});async function vo(e,t){return await new go({payload:e}).setProtectedHeader({alg:`HS256`}).setExpirationTime(t.expirationTime).setIssuedAt().setIssuer(t.issuer).setAudience(t.audience).sign(t.secretKey)}async function yo(e,t){return L(_o,(await po(e,t,{algorithms:[`HS256`]})).payload)}var bo=Cn(()=>An([I(),N(),Sn(),wn(),Dn(I(),bo),A(bo)])),xo=P({version:j(`1`),requestId:R(I("`requestId` is required"),gn()),appUrl:R(I(),hn("`appUrl` must be a valid URL")),appName:I("`appName` is required"),payload:Mn(`type`,[P({type:j(`connect`)}),P({type:j(`sign-transaction`),transaction:I("`transaction` is required"),address:I("`address` is required"),chain:I("`chain` is required"),session:I("`session` is required")}),P({type:j(`sign-and-execute-transaction`),transaction:I("`transaction` is required"),address:I("`address` is required"),chain:I("`chain` is required"),session:I("`session` is required")}),P({type:j(`sign-personal-message`),chain:I("`chain` is required"),message:I("`message` is required"),address:I("`address` is required"),session:I("`session` is required")})]),metadata:F(Dn(I(),bo)),extraRequestOptions:F(Dn(I(),bo))}),So=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(L(xo,t))}static fromUrlHash(t=window.location.hash.slice(1)){let n=atob(decodeURIComponent(t));return new e(L(xo,JSON.parse(n)))}getRequestData(){return this.#e}async verifyJwtSession(e){if(!(`session`in this.#e.payload))return null;let t=await yo(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 Co(e){return e.split(`:`)[1]}async function wo({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 bi.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 bi.from(n).sign({client:r,signer:t}),o=await r.core.executeTransaction({transaction:C(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?T(s.effects.bcs):``}}}}function To(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=So.fromUrlHash(t),r=n.getRequestData(),i=r.payload,a=new URL(r.appUrl).origin;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:T(e.signer.getPublicKey().toSuiBytes()),label:e.label}))),o=t?.selectedAddresses,s=o?i.filter(e=>o.includes(e.address)):i,c=await vo({accounts:s},{secretKey:e.jwtSecretKey,expirationTime:`7d`,issuer:`dev-wallet`,audience:a});e.connectedApps?.record({origin:a,name:r.appName,accounts:s.map(e=>e.address),connectedAt:Date.now()}),n.sendMessage({type:`resolve`,data:{type:`connect`,session:c}})},reject(e){n.sendMessage({type:`reject`,reason:e})}};let o=i.type===`sign-personal-message`?C(i.message):i.transaction;return{type:i.type,appName:r.appName,appUrl:r.appUrl,address:i.address,chain:i.chain,data:o,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}if(e.connectedApps&&!e.connectedApps.has(a)){n.sendMessage({type:`reject`,reason:`${a} was disconnected from the wallet. Reconnect to continue.`});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?Co(i.chain):void 0,a=r?e.getClient?.(r):void 0,s=await wo({type:i.type,signer:t.signer,data:o,client:a}),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 Eo=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})}},Do=class{constructor({network:e,base:t,cache:n=t?.cache??new Eo}){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}})}},Oo={mainnet:`https://mainnet.mvr.mystenlabs.com`,testnet:`https://testnet.mvr.mystenlabs.com`},ko=class extends Do{constructor(e){super(e),this.core=this,this.mvr=new si({cache:this.cache.scope(`core.mvr`),url:e.mvr?.url??Oo[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=Te.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=ae(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]:x(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:x(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})}},Ao=new Intl.PluralRules(`en-US`,{type:`ordinal`}),jo=new Map([[`one`,`st`],[`two`,`nd`],[`few`,`rd`],[`other`,`th`]]);function Mo(e){return`${e}${jo.get(Ao.select(e))}`}function No(e){let{command:t,location:n,abortCode:r,cleverError:i}=e,a=[];if(t==null?a.push(`MoveAbort`):a.push(`MoveAbort in ${Mo(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 Po=m.struct(`MinimalEffectsWithError`,{status:se});m.enum(`MinimalTransactionEffectsWithError`,{V1:Po,V2:Po});var Fo=m.enum(`MinimalExecutionStatusNoError`,{Success:null,Failed:null}),Io=m.struct(`MinimalEffectsNoError`,{status:Fo});m.enum(`MinimalTransactionEffectsNoError`,{V1:Io,V2:Io});function Lo(e){let t=typeof e;if(t==`object`){if(Array.isArray(e))return`array`;if(e===null)return`null`}return t}function Ro(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var zo=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``),Bo=[];for(let e=0;e<zo.length;e++)Bo[zo[e].charCodeAt(0)]=e;Bo[45]=zo.indexOf(`+`),Bo[95]=zo.indexOf(`/`);function Vo(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=Bo[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 Ho(e){let t=``,n=0,r,i=0;for(let a=0;a<e.length;a++)switch(r=e[a],n){case 0:t+=zo[r>>2],i=(r&3)<<4,n=1;break;case 1:t+=zo[i|r>>4],i=(r&15)<<2,n=2;break;case 2:t+=zo[i|r>>6],t+=zo[r&63],n=0;break}return n&&(t+=zo[i],t+=`=`,n==1&&(t+=`=`)),t}var Uo;(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])})(Uo||={});function Wo(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 Go(){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 Ko(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 qo=65536*65536;function Jo(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>=qo&&(i+=r/qo|0,r%=qo)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),[t,r,i]}function Yo(e,t){if(t>>>0<=2097151)return``+(qo*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 Xo(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 Zo(){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 $o(e){if(!e)throw Error(`BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support`)}var es=/^-?[0-9]+$/,ts=4294967296,ns=2147483648,rs=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*ts+(this.lo>>>0);if(!Number.isSafeInteger(e))throw Error(`cannot convert to safe number`);return e}},is=class e extends rs{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(),!es.test(t))throw Error(`string is no integer`);let[n,r,i]=Jo(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/ts)}throw Error(`unknown value `+typeof t)}toString(){return G?this.toBigInt().toString():Yo(this.lo,this.hi)}toBigInt(){return $o(G),G.V.setInt32(0,this.lo,!0),G.V.setInt32(4,this.hi,!0),G.V.getBigUint64(0,!0)}};is.ZERO=new is(0,0);var K=class e extends rs{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(),!es.test(t))throw Error(`string is no integer`);let[n,r,i]=Jo(t);if(n){if(i>ns||i==ns&&r!=0)throw Error(`signed long too small`)}else if(i>=ns)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/ts):new e(-t,-t/ts).negate()}throw Error(`unknown value `+typeof t)}isNegative(){return(this.hi&ns)!==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`-`+Yo(e.lo,e.hi)}return Yo(this.lo,this.hi)}toBigInt(){return $o(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 as={readUnknownField:!0,readerFactory:e=>new ss(e)};function os(e){return e?Object.assign(Object.assign({},as),e):as}var ss=class{constructor(e,t){this.varint64=Go,this.uint32=Zo,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 is(...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 is(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 cs(e,t){throw Error(t??`Unexpected object: `+e)}var ls=34028234663852886e22,us=-34028234663852886e22,ds=4294967295,fs=2147483647,ps=-2147483648;function ms(e){if(typeof e!=`number`)throw Error(`invalid int 32: `+typeof e);if(!Number.isInteger(e)||e>fs||e<ps)throw Error(`invalid int 32: `+e)}function hs(e){if(typeof e!=`number`)throw Error(`invalid uint 32: `+typeof e);if(!Number.isInteger(e)||e>ds||e<0)throw Error(`invalid uint 32: `+e)}function gs(e){if(typeof e!=`number`)throw Error(`invalid float 32: `+typeof e);if(Number.isFinite(e)&&(e>ls||e<us))throw Error(`invalid float 32: `+e)}var _s={writeUnknownFields:!0,writerFactory:()=>new ys};function vs(e){return e?Object.assign(Object.assign({},_s),e):_s}var ys=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(hs(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return ms(e),Xo(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){gs(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){hs(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){ms(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return ms(e),e=(e<<1^e>>31)>>>0,Xo(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=is.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 Ko(t.lo,t.hi,this.buf),this}sint64(e){let t=K.from(e),n=t.hi>>31;return Ko(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=is.from(e);return Ko(t.lo,t.hi,this.buf),this}},bs={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0},xs={ignoreUnknownFields:!1};function Ss(e){return e?Object.assign(Object.assign({},xs),e):xs}function Cs(e){return e?Object.assign(Object.assign({},bs),e):bs}function ws(e,t){let n=Object.assign(Object.assign({},e),t);return n.typeRegistry=[...e?.typeRegistry??[],...t?.typeRegistry??[]],n}var Ts=Symbol.for(`protobuf-ts/message-type`);function Es(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 Ds;(function(e){e[e.BIGINT=0]=`BIGINT`,e[e.STRING=1]=`STRING`,e[e.NUMBER=2]=`NUMBER`})(Ds||={});var Os;(function(e){e[e.NO=0]=`NO`,e[e.PACKED=1]=`PACKED`,e[e.UNPACKED=2]=`UNPACKED`})(Os||={});function ks(e){return e.localName=e.localName??Es(e.name),e.jsonName=e.jsonName??Es(e.name),e.repeat=e.repeat??Os.NO,e.opt=e.opt??(e.repeat||e.oneof?!1:e.kind==`message`),e}function As(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 js=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(!As(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 Ds.BIGINT:return r==`bigint`;case Ds.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,Ds.STRING)}}};function Ms(e,t){switch(t){case Ds.BIGINT:return e.toBigInt();case Ds.NUMBER:return e.toNumber();default:return e.toString()}}var Ns=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=Lo(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(Ro(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,Ds.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&&gs(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?hs(a):ms(a),a;case J.INT64:case J.SFIXED64:case J.SINT64:if(e===null)return Ms(K.ZERO,n);if(typeof e!=`number`&&typeof e!=`string`)break;return Ms(K.from(e),n);case J.FIXED64:case J.UINT64:if(e===null)return Ms(is.ZERO,n);if(typeof e!=`number`&&typeof e!=`string`)break;return Ms(is.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 Vo(e)}}catch(e){i=e.message}this.assert(!1,r+(i?` - `+i:``),e)}},Ps=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:(ms(t),t);case J.FIXED32:case J.UINT32:return t===0?a?0:void 0:(hs(t),t);case J.FLOAT:gs(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=is.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?Ho(t):a?``:void 0}}};function Fs(e,t=Ds.STRING){switch(e){case J.BOOL:return!1;case J.UINT64:case J.FIXED64:return Ms(is.ZERO,t);case J.INT64:case J.SFIXED64:case J.SINT64:return Ms(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 Is=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?Uo.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,Ds.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=Fs(e.K);a=e.K==J.BOOL?t.toString():t}if(o===void 0)switch(e.V.kind){case`scalar`:o=Fs(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 Ms(e.int64(),n);case J.UINT64:return Ms(e.uint64(),n);case J.FIXED64:return Ms(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 Ms(e.sfixed64(),n);case J.SINT32:return e.sint32();case J.SINT64:return Ms(e.sint64(),n)}}},Ls=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==Os.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?Uo.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||is.from(t).isZero(),r=`uint64`;break;case J.FIXED64:a=i||is.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 Rs(e){let t=e.messagePrototype?Object.create(e.messagePrototype):Object.defineProperty({},Ts,{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]=Fs(n.T,n.L);break;case`enum`:t[e]=0;break;case`map`:t[e]={};break}}return t}function zs(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 Bs(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?Us(e,i,a):Hs(e,i,a)))return!1;break;case`map`:if(!(r.V.kind==`message`?Ws(r.V.T(),Vs(i),Vs(a)):Us(r.V.kind==`enum`?J.INT32:r.V.T,Vs(i),Vs(a))))return!1;break;case`message`:let t=r.T();if(!(r.repeat?Ws(t,i,a):t.equals(i,a)))return!1;break}}return!0}var Vs=Object.values;function Hs(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 Us(e,t,n){if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!Hs(e,t[r],n[r]))return!1;return!0}function Ws(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 Gs=Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})),Ks=Gs[Ts]={},Y=class{constructor(e,t,n){this.defaultCheckDepth=16,this.typeName=e,this.fields=t.map(ks),this.options=n??{},Ks.value=this,this.messagePrototype=Object.create(null,Gs),this.refTypeCheck=new js(this),this.refJsonReader=new Ns(this),this.refJsonWriter=new Ps(this),this.refBinReader=new Is(this),this.refBinWriter=new Ls(this)}create(e){let t=Rs(this);return e!==void 0&&zs(this,t,e),t}clone(e){let t=this.create();return zs(this,t,e),t}equals(e,t){return Bs(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){zs(this,e,t)}fromBinary(e,t){let n=os(t);return this.internalBinaryRead(n.readerFactory(e),e.byteLength,n)}fromJson(e,t){return this.internalJsonRead(e,Ss(t))}fromJsonString(e,t){let n=JSON.parse(e);return this.fromJson(n,t)}toJson(e,t){return this.internalJsonWrite(e,Cs(t))}toJsonString(e,t){let n=this.toJson(e,t);return JSON.stringify(n,null,t?.prettySpaces??0)}toBinary(e,t){let n=vs(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 ${Lo(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}},qs=function(e){return e[e.NULL_VALUE=0]=`NULL_VALUE`,e}({}),Js=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(!Ro(e))throw new globalThis.Error(`Unable to parse message `+this.typeName+` from JSON `+Lo(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`,qs]},{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:()=>Js},{no:6,name:`list_value`,kind:`message`,oneof:`kind`,T:()=>Ys}])}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:qs.NULL_VALUE}:globalThis.Array.isArray(e)?n.kind={oneofKind:`listValue`,listValue:Ys.fromJson(e)}:n.kind={oneofKind:`structValue`,structValue:Js.fromJson(e)};break;default:throw new globalThis.Error(`Unable to parse `+this.typeName+` from JSON `+Lo(e))}return n}},Ys=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 `+Lo(e));n||=this.create();let r=e.map(e=>X.fromJson(e));return n.values.push(...r),n}},Xs=function(e){return e[e.DATATYPE_KIND_UNKNOWN=0]=`DATATYPE_KIND_UNKNOWN`,e[e.STRUCT=1]=`STRUCT`,e[e.ENUM=2]=`ENUM`,e}({}),Zs=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}({}),$s=function(e){return e[e.REFERENCE_UNKNOWN=0]=`REFERENCE_UNKNOWN`,e[e.IMMUTABLE=1]=`IMMUTABLE`,e[e.MUTABLE=2]=`MUTABLE`,e}({}),ec=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}({}),tc=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:()=>nc},{no:5,name:`type_origins`,kind:`message`,repeat:2,T:()=>uc},{no:6,name:`linkage`,kind:`message`,repeat:2,T:()=>dc}])}},nc=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:()=>rc},{no:4,name:`functions`,kind:`message`,repeat:2,T:()=>cc}])}},rc=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`,ec]},{no:6,name:`type_parameters`,kind:`message`,repeat:2,T:()=>ic},{no:7,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.DatatypeDescriptor.DatatypeKind`,Xs]},{no:8,name:`fields`,kind:`message`,repeat:2,T:()=>ac},{no:9,name:`variants`,kind:`message`,repeat:2,T:()=>oc}])}},ic=new class extends Y{constructor(){super(`sui.rpc.v2.TypeParameter`,[{no:1,name:`constraints`,kind:`enum`,repeat:1,T:()=>[`sui.rpc.v2.Ability`,ec]},{no:2,name:`is_phantom`,kind:`scalar`,opt:!0,T:8}])}},ac=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:()=>sc}])}},oc=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:()=>ac}])}},sc=new class extends Y{constructor(){super(`sui.rpc.v2.OpenSignatureBody`,[{no:1,name:`type`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.OpenSignatureBody.Type`,Zs]},{no:2,name:`type_name`,kind:`scalar`,opt:!0,T:9},{no:3,name:`type_parameter_instantiation`,kind:`message`,repeat:2,T:()=>sc},{no:4,name:`type_parameter`,kind:`scalar`,opt:!0,T:13}])}},cc=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:()=>ic},{no:8,name:`parameters`,kind:`message`,repeat:2,T:()=>lc},{no:9,name:`returns`,kind:`message`,repeat:2,T:()=>lc}])}},lc=new class extends Y{constructor(){super(`sui.rpc.v2.OpenSignature`,[{no:1,name:`reference`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.OpenSignature.Reference`,$s]},{no:2,name:`body`,kind:`message`,T:()=>sc}])}},uc=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}])}},dc=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}])}},fc=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}({}),pc=new class extends Y{constructor(){super(`sui.rpc.v2.Owner`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.Owner.OwnerKind`,fc]},{no:2,name:`address`,kind:`scalar`,opt:!0,T:9},{no:3,name:`version`,kind:`scalar`,opt:!0,T:4,L:0}])}},mc=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}({}),hc=new class extends Y{constructor(){super(`sui.rpc.v2.Argument`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.Argument.ArgumentKind`,mc]},{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}])}},gc=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}({}),_c=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}({}),vc=function(e){return e[e.SOURCE_UNKNOWN=0]=`SOURCE_UNKNOWN`,e[e.SENDER=1]=`SENDER`,e[e.SPONSOR=2]=`SPONSOR`,e}({}),yc=new class extends Y{constructor(){super(`sui.rpc.v2.Input`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.Input.InputKind`,gc]},{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`,_c]},{no:8,name:`funds_withdrawal`,kind:`message`,T:()=>bc},{no:1e3,name:`literal`,kind:`message`,T:()=>X}])}},bc=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`,vc]}])}},xc=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 `+Lo(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}},Sc=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}])}},Cc=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}])}},wc=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}])}},Tc=new class extends Y{constructor(){super(`sui.rpc.v2.Object`,[{no:1,name:`bcs`,kind:`message`,T:()=>wc},{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:()=>pc},{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:()=>wc},{no:9,name:`package`,kind:`message`,T:()=>tc},{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:()=>Dc}])}},Ec=new class extends Y{constructor(){super(`sui.rpc.v2.ObjectSet`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>Tc}])}},Dc=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}])}},Oc=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 `+Lo(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}},kc=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}])}},Ac=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}({}),jc=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}({}),Mc=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}({}),Nc=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}({}),Pc=new class extends Y{constructor(){super(`sui.rpc.v2.Transaction`,[{no:1,name:`bcs`,kind:`message`,T:()=>wc},{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:()=>Lc},{no:5,name:`sender`,kind:`scalar`,opt:!0,T:9},{no:6,name:`gas_payment`,kind:`message`,T:()=>Fc},{no:7,name:`expiration`,kind:`message`,T:()=>Ic}])}},Fc=new class extends Y{constructor(){super(`sui.rpc.v2.GasPayment`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>kc},{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}])}},Ic=new class extends Y{constructor(){super(`sui.rpc.v2.TransactionExpiration`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.TransactionExpiration.TransactionExpirationKind`,Ac]},{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:()=>Oc},{no:5,name:`max_timestamp`,kind:`message`,T:()=>Oc},{no:6,name:`chain`,kind:`scalar`,opt:!0,T:9},{no:7,name:`nonce`,kind:`scalar`,opt:!0,T:13}])}},Lc=new class extends Y{constructor(){super(`sui.rpc.v2.TransactionKind`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.TransactionKind.Kind`,jc]},{no:2,name:`programmable_transaction`,kind:`message`,oneof:`data`,T:()=>Rc},{no:3,name:`change_epoch`,kind:`message`,oneof:`data`,T:()=>Jc},{no:4,name:`genesis`,kind:`message`,oneof:`data`,T:()=>Xc},{no:5,name:`consensus_commit_prologue`,kind:`message`,oneof:`data`,T:()=>Zc},{no:6,name:`authenticator_state_update`,kind:`message`,oneof:`data`,T:()=>tl},{no:7,name:`end_of_epoch`,kind:`message`,oneof:`data`,T:()=>rl},{no:8,name:`randomness_state_update`,kind:`message`,oneof:`data`,T:()=>qc}])}},Rc=new class extends Y{constructor(){super(`sui.rpc.v2.ProgrammableTransaction`,[{no:1,name:`inputs`,kind:`message`,repeat:2,T:()=>yc},{no:2,name:`commands`,kind:`message`,repeat:2,T:()=>zc}])}},zc=new class extends Y{constructor(){super(`sui.rpc.v2.Command`,[{no:1,name:`move_call`,kind:`message`,oneof:`command`,T:()=>Bc},{no:2,name:`transfer_objects`,kind:`message`,oneof:`command`,T:()=>Vc},{no:3,name:`split_coins`,kind:`message`,oneof:`command`,T:()=>Hc},{no:4,name:`merge_coins`,kind:`message`,oneof:`command`,T:()=>Uc},{no:5,name:`publish`,kind:`message`,oneof:`command`,T:()=>Wc},{no:6,name:`make_move_vector`,kind:`message`,oneof:`command`,T:()=>Gc},{no:7,name:`upgrade`,kind:`message`,oneof:`command`,T:()=>Kc}])}},Bc=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:()=>hc}])}},Vc=new class extends Y{constructor(){super(`sui.rpc.v2.TransferObjects`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>hc},{no:2,name:`address`,kind:`message`,T:()=>hc}])}},Hc=new class extends Y{constructor(){super(`sui.rpc.v2.SplitCoins`,[{no:1,name:`coin`,kind:`message`,T:()=>hc},{no:2,name:`amounts`,kind:`message`,repeat:2,T:()=>hc}])}},Uc=new class extends Y{constructor(){super(`sui.rpc.v2.MergeCoins`,[{no:1,name:`coin`,kind:`message`,T:()=>hc},{no:2,name:`coins_to_merge`,kind:`message`,repeat:2,T:()=>hc}])}},Wc=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}])}},Gc=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:()=>hc}])}},Kc=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:()=>hc}])}},qc=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}])}},Jc=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:()=>Oc},{no:8,name:`system_packages`,kind:`message`,repeat:2,T:()=>Yc}])}},Yc=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}])}},Xc=new class extends Y{constructor(){super(`sui.rpc.v2.GenesisTransaction`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>Tc}])}},Zc=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:()=>Oc},{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:()=>el},{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}])}},$c=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}])}},el=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:()=>$c}])}},tl=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:()=>nl},{no:4,name:`authenticator_object_initial_shared_version`,kind:`scalar`,opt:!0,T:4,L:0}])}},nl=new class extends Y{constructor(){super(`sui.rpc.v2.ActiveJwk`,[{no:1,name:`id`,kind:`message`,T:()=>Sc},{no:2,name:`jwk`,kind:`message`,T:()=>Cc},{no:3,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0}])}},rl=new class extends Y{constructor(){super(`sui.rpc.v2.EndOfEpochTransaction`,[{no:1,name:`transactions`,kind:`message`,repeat:2,T:()=>il}])}},il=new class extends Y{constructor(){super(`sui.rpc.v2.EndOfEpochTransactionKind`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.EndOfEpochTransactionKind.Kind`,Mc]},{no:2,name:`change_epoch`,kind:`message`,oneof:`data`,T:()=>Jc},{no:3,name:`authenticator_state_expire`,kind:`message`,oneof:`data`,T:()=>al},{no:4,name:`execution_time_observations`,kind:`message`,oneof:`data`,T:()=>ol},{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}])}},al=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}])}},ol=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:()=>sl}])}},sl=new class extends Y{constructor(){super(`sui.rpc.v2.ExecutionTimeObservation`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ExecutionTimeObservation.ExecutionTimeObservationKind`,Nc]},{no:2,name:`move_entry_point`,kind:`message`,T:()=>Bc},{no:3,name:`validator_observations`,kind:`message`,repeat:2,T:()=>cl}])}},cl=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:()=>xc}])}};function ll(e){switch(e.$kind){case`Pure`:return{kind:gc.PURE,pure:C(e.Pure.bytes)};case`Object`:if(e.Object.$kind===`ImmOrOwnedObject`)return{kind:gc.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:gc.SHARED,objectId:e.Object.SharedObject.objectId,version:BigInt(e.Object.SharedObject.initialSharedVersion),mutable:e.Object.SharedObject.mutable};if(e.Object.$kind===`Receiving`)return{kind:gc.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:gc.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`?vc.SPONSOR:vc.SENDER}}}default:throw Error(`Unknown CallArg kind: ${JSON.stringify(e)}`)}}function ul(e){if(`GasCoin`in e)return{kind:mc.GAS};if(`Input`in e)return{kind:mc.INPUT,input:e.Input};if(`Result`in e)return{kind:mc.RESULT,result:e.Result};if(`NestedResult`in e)return{kind:mc.RESULT,result:e.NestedResult[0],subresult:e.NestedResult[1]};throw Error(`Unknown Argument: ${JSON.stringify(e)}`)}function dl(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(ul)}}};case`TransferObjects`:return{command:{oneofKind:`transferObjects`,transferObjects:{objects:e.TransferObjects.objects.map(ul),address:ul(e.TransferObjects.address)}}};case`SplitCoins`:return{command:{oneofKind:`splitCoins`,splitCoins:{coin:ul(e.SplitCoins.coin),amounts:e.SplitCoins.amounts.map(ul)}}};case`MergeCoins`:return{command:{oneofKind:`mergeCoins`,mergeCoins:{coin:ul(e.MergeCoins.destination),coinsToMerge:e.MergeCoins.sources.map(ul)}}};case`Publish`:return{command:{oneofKind:`publish`,publish:{modules:e.Publish.modules.map(e=>C(e)),dependencies:e.Publish.dependencies}}};case`MakeMoveVec`:return{command:{oneofKind:`makeMoveVector`,makeMoveVector:{elementType:e.MakeMoveVec.type??void 0,elements:e.MakeMoveVec.elements.map(ul)}}};case`Upgrade`:return{command:{oneofKind:`upgrade`,upgrade:{modules:e.Upgrade.modules.map(e=>C(e)),dependencies:e.Upgrade.dependencies,package:e.Upgrade.package,ticket:ul(e.Upgrade.ticket)}}};default:throw Error(`Unknown Command kind: ${JSON.stringify(e)}`)}}function fl(e){let t={version:1,kind:{data:{oneofKind:`programmableTransaction`,programmableTransaction:{inputs:e.inputs.map(ll),commands:e.commands.map(dl)}}}};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:Ac.NONE};else if(e.expiration.$kind===`Epoch`)t.expiration={kind:Ac.EPOCH,epoch:BigInt(e.expiration.Epoch)};else if(e.expiration.$kind===`ValidDuring`){let n=e.expiration.ValidDuring;t.expiration={kind:Ac.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 pl(e,t,n){let r=vl(t);n?.onlyTransactionKind?e.applyResolvedData({...r,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):e.applyResolvedData(r)}function ml(e){let t=e.getData();return t.sender||=`0x0000000000000000000000000000000000000000000000000000000000000000`,fl(t)}function hl(e){switch(e.kind){case gc.PURE:return{$kind:`Pure`,Pure:{bytes:T(e.pure)}};case gc.IMMUTABLE_OR_OWNED:return{$kind:`Object`,Object:{$kind:`ImmOrOwnedObject`,ImmOrOwnedObject:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case gc.SHARED:return{$kind:`Object`,Object:{$kind:`SharedObject`,SharedObject:{objectId:e.objectId,initialSharedVersion:e.version.toString(),mutable:e.mutable??!1}}};case gc.RECEIVING:return{$kind:`Object`,Object:{$kind:`Receiving`,Receiving:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case gc.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===vc.SPONSOR?{$kind:`Sponsor`,Sponsor:!0}:{$kind:`Sender`,Sender:!0}}};default:throw Error(`Unknown Input kind: ${JSON.stringify(e)}`)}}function gl(e){switch(e.kind){case mc.GAS:return{$kind:`GasCoin`,GasCoin:!0};case mc.INPUT:return{$kind:`Input`,Input:e.input};case mc.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 _l(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(gl)}};case`transferObjects`:return{$kind:`TransferObjects`,TransferObjects:{objects:t.transferObjects.objects.map(gl),address:gl(t.transferObjects.address)}};case`splitCoins`:return{$kind:`SplitCoins`,SplitCoins:{coin:gl(t.splitCoins.coin),amounts:t.splitCoins.amounts.map(gl)}};case`mergeCoins`:return{$kind:`MergeCoins`,MergeCoins:{destination:gl(t.mergeCoins.coin),sources:t.mergeCoins.coinsToMerge.map(gl)}};case`publish`:return{$kind:`Publish`,Publish:{modules:t.publish.modules.map(e=>T(e)),dependencies:t.publish.dependencies??[]}};case`makeMoveVector`:return{$kind:`MakeMoveVec`,MakeMoveVec:{type:t.makeMoveVector.elementType??null,elements:t.makeMoveVector.elements.map(gl)}};case`upgrade`:return{$kind:`Upgrade`,Upgrade:{modules:t.upgrade.modules.map(e=>T(e)),dependencies:t.upgrade.dependencies??[],package:t.upgrade.package,ticket:gl(t.upgrade.ticket)}};default:throw Error(`Unknown Command kind: ${JSON.stringify(t)}`)}}function vl(e){let t=e.kind?.data;if(t?.oneofKind!==`programmableTransaction`)throw Error(`Only programmable transactions are supported`);let n=t.programmableTransaction.inputs.map(hl),r=t.programmableTransaction.commands.map(_l),i=null;if(e.expiration)switch(e.expiration.kind){case Ac.NONE:i={$kind:`None`,None:!0};break;case Ac.EPOCH:i={$kind:`Epoch`,Epoch:e.expiration.epoch.toString()};break;case Ac.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 yl=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}({}),bl=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}({}),xl=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}({}),Sl=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}({}),Cl=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:()=>wl}])}},wl=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`,yl]},{no:4,name:`abort`,kind:`message`,oneof:`errorDetails`,T:()=>Tl},{no:5,name:`size_error`,kind:`message`,oneof:`errorDetails`,T:()=>Ol},{no:6,name:`command_argument_error`,kind:`message`,oneof:`errorDetails`,T:()=>Ml},{no:7,name:`type_argument_error`,kind:`message`,oneof:`errorDetails`,T:()=>Pl},{no:8,name:`package_upgrade_error`,kind:`message`,oneof:`errorDetails`,T:()=>Nl},{no:9,name:`index_error`,kind:`message`,oneof:`errorDetails`,T:()=>kl},{no:10,name:`object_id`,kind:`scalar`,oneof:`errorDetails`,T:9},{no:11,name:`coin_deny_list_error`,kind:`message`,oneof:`errorDetails`,T:()=>Al},{no:12,name:`congested_objects`,kind:`message`,oneof:`errorDetails`,T:()=>jl}])}},Tl=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:()=>El},{no:3,name:`clever_error`,kind:`message`,T:()=>Dl}])}},El=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}])}},Dl=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}])}},Ol=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}])}},kl=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}])}},Al=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}])}},jl=new class extends Y{constructor(){super(`sui.rpc.v2.CongestedObjects`,[{no:1,name:`objects`,kind:`scalar`,repeat:2,T:9}])}},Ml=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`,bl]},{no:3,name:`index_error`,kind:`message`,T:()=>kl}])}},Nl=new class extends Y{constructor(){super(`sui.rpc.v2.PackageUpgradeError`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.PackageUpgradeError.PackageUpgradeErrorKind`,xl]},{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}])}},Pl=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`,Sl]}])}},Fl=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}])}},Il=function(e){return e[e.UNKNOWN=0]=`UNKNOWN`,e[e.DOES_NOT_EXIST=1]=`DOES_NOT_EXIST`,e[e.EXISTS=2]=`EXISTS`,e}({}),Ll=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}({}),Rl=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}({}),zl=function(e){return e[e.ACCUMULATOR_OPERATION_UNKNOWN=0]=`ACCUMULATOR_OPERATION_UNKNOWN`,e[e.MERGE=1]=`MERGE`,e[e.SPLIT=2]=`SPLIT`,e}({}),Bl=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}({}),Vl=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}({}),Hl=new class extends Y{constructor(){super(`sui.rpc.v2.TransactionEffects`,[{no:1,name:`bcs`,kind:`message`,T:()=>wc},{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:()=>Cl},{no:5,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:6,name:`gas_used`,kind:`message`,T:()=>Fl},{no:7,name:`transaction_digest`,kind:`scalar`,opt:!0,T:9},{no:8,name:`gas_object`,kind:`message`,T:()=>Ul},{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:()=>Ul},{no:13,name:`unchanged_consensus_objects`,kind:`message`,repeat:2,T:()=>Kl},{no:14,name:`auxiliary_data_digest`,kind:`scalar`,opt:!0,T:9},{no:15,name:`unchanged_loaded_runtime_objects`,kind:`message`,repeat:2,T:()=>kc}])}},Ul=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`,Il,`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:()=>pc},{no:6,name:`output_state`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ChangedObject.OutputObjectState`,Ll,`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:()=>pc},{no:12,name:`accumulator_write`,kind:`message`,T:()=>Gl},{no:10,name:`id_operation`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ChangedObject.IdOperation`,Rl]},{no:11,name:`object_type`,kind:`scalar`,opt:!0,T:9}])}},Wl=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}])}},Gl=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`,zl]},{no:4,name:`value_kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.AccumulatorWrite.AccumulatorValue`,Bl]},{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:()=>Wl}])}},Kl=new class extends Y{constructor(){super(`sui.rpc.v2.UnchangedConsensusObject`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.UnchangedConsensusObject.UnchangedConsensusObjectKind`,Vl]},{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}])}},ql=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}({}),Jl=new class extends Y{constructor(){super(`sui.rpc.v2.UserSignature`,[{no:1,name:`bcs`,kind:`message`,T:()=>wc},{no:2,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,ql]},{no:3,name:`simple`,kind:`message`,oneof:`signature`,T:()=>Yl},{no:4,name:`multisig`,kind:`message`,oneof:`signature`,T:()=>eu},{no:5,name:`zklogin`,kind:`message`,oneof:`signature`,T:()=>nu},{no:6,name:`passkey`,kind:`message`,oneof:`signature`,T:()=>cu}])}},Yl=new class extends Y{constructor(){super(`sui.rpc.v2.SimpleSignature`,[{no:1,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,ql]},{no:2,name:`signature`,kind:`scalar`,opt:!0,T:12},{no:3,name:`public_key`,kind:`scalar`,opt:!0,T:12}])}},Xl=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}])}},Zl=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigMemberPublicKey`,[{no:1,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,ql]},{no:2,name:`public_key`,kind:`scalar`,opt:!0,T:12},{no:3,name:`zklogin`,kind:`message`,T:()=>Xl}])}},Ql=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigMember`,[{no:1,name:`public_key`,kind:`message`,T:()=>Zl},{no:2,name:`weight`,kind:`scalar`,opt:!0,T:13}])}},$l=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}])}},eu=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigAggregatedSignature`,[{no:1,name:`signatures`,kind:`message`,repeat:2,T:()=>tu},{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:()=>$l}])}},tu=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigMemberSignature`,[{no:1,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,ql]},{no:2,name:`signature`,kind:`scalar`,opt:!0,T:12},{no:3,name:`zklogin`,kind:`message`,T:()=>nu},{no:4,name:`passkey`,kind:`message`,T:()=>cu}])}},nu=new class extends Y{constructor(){super(`sui.rpc.v2.ZkLoginAuthenticator`,[{no:1,name:`inputs`,kind:`message`,T:()=>ru},{no:2,name:`max_epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`signature`,kind:`message`,T:()=>Yl},{no:4,name:`public_identifier`,kind:`message`,T:()=>Xl},{no:5,name:`jwk_id`,kind:`message`,T:()=>Sc}])}},ru=new class extends Y{constructor(){super(`sui.rpc.v2.ZkLoginInputs`,[{no:1,name:`proof_points`,kind:`message`,T:()=>iu},{no:2,name:`iss_base64_details`,kind:`message`,T:()=>au},{no:3,name:`header_base64`,kind:`scalar`,opt:!0,T:9},{no:4,name:`address_seed`,kind:`scalar`,opt:!0,T:9}])}},iu=new class extends Y{constructor(){super(`sui.rpc.v2.ZkLoginProof`,[{no:1,name:`a`,kind:`message`,T:()=>ou},{no:2,name:`b`,kind:`message`,T:()=>su},{no:3,name:`c`,kind:`message`,T:()=>ou}])}},au=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}])}},ou=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}])}},su=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}])}},cu=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:()=>Yl}])}},lu=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:()=>uu}])}},uu=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}])}},du=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}])}},fu=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}])}},pu=new class extends Y{constructor(){super(`sui.rpc.v2.TransactionEvents`,[{no:1,name:`bcs`,kind:`message`,T:()=>wc},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:3,name:`events`,kind:`message`,repeat:2,T:()=>mu}])}},mu=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:()=>wc},{no:6,name:`json`,kind:`message`,T:()=>X}])}},hu=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:()=>Pc},{no:3,name:`signatures`,kind:`message`,repeat:2,T:()=>Jl},{no:4,name:`effects`,kind:`message`,T:()=>Hl},{no:5,name:`events`,kind:`message`,T:()=>pu},{no:6,name:`checkpoint`,kind:`scalar`,opt:!0,T:4,L:0},{no:7,name:`timestamp`,kind:`message`,T:()=>Oc},{no:8,name:`balance_changes`,kind:`message`,repeat:2,T:()=>fu},{no:9,name:`objects`,kind:`message`,T:()=>Ec}])}},gu=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 Es(e)}).join(`,`)}internalJsonRead(e,t,n){if(typeof e!=`string`)throw Error(`Unable to parse FieldMask from JSON `+Lo(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 _u(e,t){let n=e;return n.service=t,n.localName=n.localName??Es(n.name),n.serverStreaming=!!n.serverStreaming,n.clientStreaming=!!n.clientStreaming,n.options=n.options??{},n.idempotency=n.idempotency??void 0,n}var vu=class{constructor(e,t,n){this.typeName=e,this.methods=t.map(e=>_u(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 yu(e,t){if(!t)return e;let n={};bu(e,n),bu(t,n);for(let r of Object.keys(t)){let i=t[r];switch(r){case`jsonOptions`:n.jsonOptions=ws(e.jsonOptions,n.jsonOptions);break;case`binaryOptions`:n.binaryOptions=Wo(e.binaryOptions,n.binaryOptions);break;case`meta`:n.meta={},bu(e.meta,n.meta),bu(t.meta,n.meta);break;case`interceptors`:n.interceptors=e.interceptors?e.interceptors.concat(i):i.concat();break}}return n}function bu(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 xu;(function(e){e[e.PENDING=0]=`PENDING`,e[e.REJECTED=1]=`REJECTED`,e[e.RESOLVED=2]=`RESOLVED`})(xu||={});var Su=class{constructor(e=!0){this._state=xu.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!==xu.PENDING)throw Error(`cannot resolve ${xu[this.state].toLowerCase()}`);this._resolve(e),this._state=xu.RESOLVED}reject(e){if(this.state!==xu.PENDING)throw Error(`cannot reject ${xu[this.state].toLowerCase()}`);this._reject(e),this._state=xu.REJECTED}resolvePending(e){this._state===xu.PENDING&&this.resolve(e)}rejectPending(e){this._state===xu.PENDING&&this.reject(e)}},Cu=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 Su,e.p.promise)}}}pushIt(e){let t=this._itState;if(t.p){let n=t.p;q(n.state==xu.PENDING,`iterator contract broken`),`value`in e?n.resolve(e):n.reject(e),delete t.p}else t.q.push(e)}},wu=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())})},Tu=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 wu(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}})}},Eu=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())})},Du=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 Eu(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)}cs(e)}var Ou=function(e){return e[e.ENABLED=0]=`ENABLED`,e[e.DISABLED=1]=`DISABLED`,e}({}),ku=new class extends Y{constructor(){super(`sui.rpc.v2.ExecuteTransactionRequest`,[{no:1,name:`transaction`,kind:`message`,T:()=>Pc},{no:2,name:`signatures`,kind:`message`,repeat:2,T:()=>Jl},{no:3,name:`read_mask`,kind:`message`,T:()=>gu}])}},Au=new class extends Y{constructor(){super(`sui.rpc.v2.ExecuteTransactionResponse`,[{no:1,name:`transaction`,kind:`message`,T:()=>hu}])}},ju=new class extends Y{constructor(){super(`sui.rpc.v2.SimulateTransactionRequest`,[{no:1,name:`transaction`,kind:`message`,T:()=>Pc},{no:2,name:`read_mask`,kind:`message`,T:()=>gu},{no:3,name:`checks`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SimulateTransactionRequest.TransactionChecks`,Ou]},{no:4,name:`do_gas_selection`,kind:`scalar`,opt:!0,T:8}])}},Mu=new class extends Y{constructor(){super(`sui.rpc.v2.SimulateTransactionResponse`,[{no:1,name:`transaction`,kind:`message`,T:()=>hu},{no:2,name:`command_outputs`,kind:`message`,repeat:2,T:()=>Nu},{no:3,name:`suggested_gas_price`,kind:`scalar`,opt:!0,T:4,L:0}])}},Nu=new class extends Y{constructor(){super(`sui.rpc.v2.CommandResult`,[{no:1,name:`return_values`,kind:`message`,repeat:2,T:()=>Pu},{no:2,name:`mutated_by_ref`,kind:`message`,repeat:2,T:()=>Pu}])}},Pu=new class extends Y{constructor(){super(`sui.rpc.v2.CommandOutput`,[{no:1,name:`argument`,kind:`message`,T:()=>hc},{no:2,name:`value`,kind:`message`,T:()=>wc},{no:3,name:`json`,kind:`message`,T:()=>X}])}},Fu=new vu(`sui.rpc.v2.TransactionExecutionService`,[{name:`ExecuteTransaction`,options:{},I:ku,O:Au},{name:`SimulateTransaction`,options:{},I:ju,O:Mu}]),Iu=class extends ko{#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(`::`)?x(i):i??``,o=e.include?.json?t.result.object.json?X.toJson(t.result.object.json):null:void 0,s=Lu(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:Ru(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?C(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:Ru(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:Lu(e.include?.display,t.display)})),cursor:n.response.nextPageToken?T(n.response.nextPageToken):null,hasNextPage:n.response.nextPageToken!==void 0}}async listCoins(e){let t=[`owner`,`object_type`,`digest`,`version`,`object_id`,`balance`],n=e.coinType??tt,r=await this.#e.stateService.listOwnedObjects({owner:e.owner,objectType:`0x2::coin::Coin<${(await this.mvr.resolveType({type:n})).type}>`,pageToken:e.cursor?C(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:Ru(e.owner),type:e.objectType,balance:e.balance?.toString()})),cursor:r.response.nextPageToken?T(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}async getBalance(e){let t=e.coinType??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?C(e.cursor):void 0,pageSize:e.limit});return{hasNextPage:!!t.response.nextPageToken,cursor:t.response.nextPageToken?T(t.response.nextPageToken):null,balances:t.response.balances.map(e=>({balance:e.balance?.toString()??`0`,coinType:e.coinType,coinBalance:e.coinBalance?.toString()??`0`,addressBalance:e.addressBalance?.toString()??`0`}))}}async getTransaction(e){let t=[`digest`,`transaction.digest`,`signatures`,`effects.status`];e.include?.transaction&&t.push(`transaction.sender`,`transaction.gas_payment`,`transaction.expiration`,`transaction.kind`),e.include?.bcs&&t.push(`transaction.bcs`),e.include?.balanceChanges&&t.push(`balance_changes`),e.include?.effects&&t.push(`effects`),e.include?.events&&t.push(`events`),e.include?.objectTypes&&(t.push(`effects.changed_objects.object_type`),t.push(`effects.changed_objects.object_id`));let{response:n}=await this.#e.ledgerService.getTransaction({digest:e.digest,readMask:{paths:t}});if(!n.transaction)throw Error(`Transaction ${e.digest} not found`);return qu(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:C(e)},signature:{oneofKind:void 0}})),readMask:{paths:t}});return qu(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}}:ml(e.transaction),readMask:{paths:t},doGasSelection:!1,checks:e.checksEnabled===!1?Ou.DISABLED:Ou.ENABLED}),r=qu(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=C(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:C(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:w(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 ec.COPY:return`copy`;case ec.DROP:return`drop`;case ec.STORE:return`store`;case ec.KEY:return`key`;default:return`unknown`}})??[]}))??[],parameters:n.function?.parameters?.map(e=>Ju(e))??[],returns:n.function?.returns?.map(e=>Ju(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=fl(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 Or(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?zu(o.transaction.effects.status.error):void 0;throw new Or(`Transaction resolution failed: ${e?.message??`Transaction failed`}`,{executionError:e})}if(!o.transaction?.transaction)throw Error(`simulateTransaction did not return resolved transaction data`);return pl(t,o.transaction.transaction,n),await r()}}};function Lu(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 Ru(e){if(!e)return null;if(e.kind===fc.IMMUTABLE)return{$kind:`Immutable`,Immutable:!0};if(e.kind===fc.ADDRESS)return{AddressOwner:e.address,$kind:`AddressOwner`};if(e.kind===fc.OBJECT)return{$kind:`ObjectOwner`,ObjectOwner:e.address};if(e.kind===fc.SHARED)return{$kind:`Shared`,Shared:{initialSharedVersion:e.version?.toString()}};if(e.kind===fc.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 zu(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:No({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:Bu(e)}}case`sizeError`:return{$kind:`SizeError`,message:t,command:n,SizeError:{name:Vu(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:Vu(r.commandArgumentError.kind)}};case`typeArgumentError`:return{$kind:`TypeArgumentError`,message:t,command:n,TypeArgumentError:{typeArgument:r.typeArgumentError.typeArgument??0,name:Vu(r.typeArgumentError.kind)}};case`packageUpgradeError`:return{$kind:`PackageUpgradeError`,message:t,command:n,PackageUpgradeError:{name:Vu(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:Vu(e.kind),coinType:r.coinDenyListError.coinType,address:r.coinDenyListError.address}};case`congestedObjects`:return{$kind:`CongestedObjects`,message:t,command:n,CongestedObjects:{name:Vu(e.kind),objects:r.congestedObjects.objects}};case`objectId`:return{$kind:`ObjectIdError`,message:t,command:n,ObjectIdError:{name:Vu(e.kind),objectId:r.objectId}};default:return{$kind:`Unknown`,message:t,command:n,Unknown:null}}}function Bu(e){return{abortCode:String(e.abortCode??0n),location:{...e.location},cleverError:e.cleverError?{errorCode:e.cleverError.errorCode==null?void 0:Number(e.cleverError.errorCode),lineNumber:e.cleverError.lineNumber==null?void 0:Number(e.cleverError.lineNumber),constantName:e.cleverError.constantName,constantType:e.cleverError.constantType,value:e.cleverError.value?.oneofKind===`rendered`?e.cleverError.value.rendered:e.cleverError.value?.oneofKind===`raw`?T(e.cleverError.value.raw):void 0}:void 0}}function Vu(e){if(e==null)return`Unknown`;let t=bl[e];return!t||t.endsWith(`_UNKNOWN`)?`Unknown`:t.split(`_`).map(e=>e.charAt(0)+e.slice(1).toLowerCase()).join(``)}function Hu(e){if(e==null)return null;switch(e){case Rl.CREATED:return`Created`;case Rl.DELETED:return`Deleted`;case Rl.NONE:case Rl.ID_OPERATION_UNKNOWN:return`None`;default:return`Unknown`}}function Uu(e){if(e==null)return null;switch(e){case Il.EXISTS:return`Exists`;case Il.DOES_NOT_EXIST:return`DoesNotExist`;case Il.UNKNOWN:return`Unknown`;default:return`Unknown`}}function Wu(e){if(e==null)return null;switch(e){case Ll.OBJECT_WRITE:return`ObjectWrite`;case Ll.PACKAGE_WRITE:return`PackageWrite`;case Ll.DOES_NOT_EXIST:return`DoesNotExist`;case Ll.ACCUMULATOR_WRITE:return`AccumulatorWriteV1`;case Ll.UNKNOWN:return`Unknown`;default:return`Unknown`}}function Gu(e){if(e==null)return null;switch(e){case Vl.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN:return`Unknown`;case Vl.READ_ONLY_ROOT:return`ReadOnlyRoot`;case Vl.MUTATE_CONSENSUS_STREAM_ENDED:return`MutateConsensusStreamEnded`;case Vl.READ_CONSENSUS_STREAM_ENDED:return`ReadConsensusStreamEnded`;case Vl.CANCELED:return`Cancelled`;case Vl.PER_EPOCH_CONFIG:return`PerEpochConfig`;default:return`Unknown`}}function Ku({effects:e}){if(!e)return null;let t=e.changedObjects.map(e=>({objectId:e.objectId,inputState:Uu(e.inputState),inputVersion:e.inputVersion?.toString()??null,inputDigest:e.inputDigest??null,inputOwner:Ru(e.inputOwner),outputState:Wu(e.outputState),outputVersion:e.outputVersion?.toString()??null,outputDigest:e.outputDigest??null,outputOwner:Ru(e.outputOwner),idOperation:Hu(e.idOperation)}));return{bcs:e.bcs?.value,version:2,status:e.status?.success?{success:!0,error:null}:{success:!1,error:zu(e.status.error)},gasUsed:{computationCost:e.gasUsed?.computationCost?.toString(),storageCost:e.gasUsed?.storageCost?.toString(),storageRebate:e.gasUsed?.storageRebate?.toString(),nonRefundableStorageFee:e.gasUsed?.nonRefundableStorageFee?.toString()},transactionDigest:e.transactionDigest,gasObject:{objectId:e.gasObject?.objectId,inputState:Uu(e.gasObject?.inputState),inputVersion:e.gasObject?.inputVersion?.toString()??null,inputDigest:e.gasObject?.inputDigest??null,inputOwner:Ru(e.gasObject?.inputOwner),outputState:Wu(e.gasObject?.outputState),outputVersion:e.gasObject?.outputVersion?.toString()??null,outputDigest:e.gasObject?.outputDigest??null,outputOwner:Ru(e.gasObject?.outputOwner),idOperation:Hu(e.gasObject?.idOperation)},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies,lamportVersion:e.lamportVersion?.toString()??null,changedObjects:t,unchangedConsensusObjects:e.unchangedConsensusObjects.map(e=>({kind:Gu(e.kind),objectId:e.objectId,version:e.version?.toString()??null,digest:e.digest??null})),auxiliaryDataDigest:e.auxiliaryDataDigest??null}}function qu(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=vl(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?Ku({effects:e.effects}):void 0,o=e.effects?.status?.success?{success:!0,error:null}:{success:!1,error:e.effects?.status?.error?zu(e.effects.status.error):{$kind:`Unknown`,message:`Transaction failed`,Unknown:null}},s={digest:e.digest,epoch:e.effects?.epoch?.toString()??null,status:o,effects:a,objectTypes:t?.objectTypes?n:void 0,transaction:r,bcs:i,signatures:e.signatures?.map(e=>T(e.bcs?.value))??[],balanceChanges:t?.balanceChanges?e.balanceChanges?.map(e=>({coinType:e.coinType,address:e.address,amount:e.amount}))??[]:void 0,events:t?.events?e.events?.events.map(e=>({packageId:w(e.packageId),module:e.module,sender:w(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 Ju(e){let t=null;return e.reference===$s.IMMUTABLE?t=`immutable`:e.reference===$s.MUTABLE&&(t=`mutable`),{reference:t,body:Yu(e.body)}}function Yu(e){switch(e.type){case Zs.TYPE_UNKNOWN:return{$kind:`unknown`};case Zs.ADDRESS:return{$kind:`address`};case Zs.BOOL:return{$kind:`bool`};case Zs.U8:return{$kind:`u8`};case Zs.U16:return{$kind:`u16`};case Zs.U32:return{$kind:`u32`};case Zs.U64:return{$kind:`u64`};case Zs.U128:return{$kind:`u128`};case Zs.U256:return{$kind:`u256`};case Zs.VECTOR:return{$kind:`vector`,vector:Yu(e.typeParameterInstantiation[0])};case Zs.DATATYPE:return{$kind:`datatype`,datatype:{typeName:e.typeName,typeParameters:e.typeParameterInstantiation.map(e=>Yu(e))}};case Zs.TYPE_PARAMETER:return{$kind:`typeParameter`,index:e.typeParameter};default:return{$kind:`unknown`}}}var Xu=class{constructor(e){this._transport=e,this.typeName=Fu.typeName,this.methods=Fu.methods,this.options=Fu.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)}},Zu=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:()=>id},{no:5,name:`storage_fund`,kind:`message`,T:()=>rd},{no:6,name:`parameters`,kind:`message`,T:()=>ed},{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:()=>$u},{no:9,name:`stake_subsidy`,kind:`message`,T:()=>nd},{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:()=>td}])}},$u=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}])}},ed=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:()=>td}])}},td=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}])}},nd=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:()=>td}])}},rd=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}])}},id=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:()=>ad},{no:3,name:`pending_active_validators`,kind:`message`,T:()=>td},{no:4,name:`pending_removals`,kind:`scalar`,repeat:1,T:4,L:0},{no:5,name:`staking_pool_mappings`,kind:`message`,T:()=>td},{no:6,name:`inactive_validators`,kind:`message`,T:()=>td},{no:7,name:`validator_candidates`,kind:`message`,T:()=>td},{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:()=>td}])}},ad=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:()=>td},{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:()=>od},{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:()=>td}])}},od=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:()=>td},{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:()=>td}])}},sd=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:()=>lu},{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:()=>Oc},{no:7,name:`end`,kind:`message`,T:()=>Oc},{no:8,name:`reference_gas_price`,kind:`scalar`,opt:!0,T:4,L:0},{no:9,name:`protocol_config`,kind:`message`,T:()=>Zu}])}},cd=new class extends Y{constructor(){super(`sui.rpc.v2.CheckpointContents`,[{no:1,name:`bcs`,kind:`message`,T:()=>wc},{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:()=>ld}])}},ld=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:()=>Jl},{no:4,name:`address_aliases_versions`,kind:`message`,repeat:2,T:()=>ud}])}},ud=new class extends Y{constructor(){super(`sui.rpc.v2.AddressAliasesVersion`,[{no:1,name:`version`,kind:`scalar`,opt:!0,T:4,L:0}])}},dd=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}({}),fd=new class extends Y{constructor(){super(`sui.rpc.v2.CheckpointSummary`,[{no:1,name:`bcs`,kind:`message`,T:()=>wc},{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:()=>Fl},{no:9,name:`timestamp`,kind:`message`,T:()=>Oc},{no:10,name:`commitments`,kind:`message`,repeat:2,T:()=>md},{no:11,name:`end_of_epoch_data`,kind:`message`,T:()=>pd},{no:12,name:`version_specific_data`,kind:`scalar`,opt:!0,T:12}])}},pd=new class extends Y{constructor(){super(`sui.rpc.v2.EndOfEpochData`,[{no:1,name:`next_epoch_committee`,kind:`message`,repeat:2,T:()=>uu},{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:()=>md}])}},md=new class extends Y{constructor(){super(`sui.rpc.v2.CheckpointCommitment`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.CheckpointCommitment.CheckpointCommitmentKind`,dd]},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9}])}},hd=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:()=>fd},{no:4,name:`signature`,kind:`message`,T:()=>du},{no:5,name:`contents`,kind:`message`,T:()=>cd},{no:6,name:`transactions`,kind:`message`,repeat:2,T:()=>hu},{no:7,name:`objects`,kind:`message`,T:()=>Ec}])}},gd=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=Cs(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.`)||!Ro(o))&&(o={value:o}),o[`@type`]=e.typeUrl,o}internalJsonRead(e,t,n){if(!Ro(e))throw new globalThis.Error(`Unable to parse google.protobuf.Any from JSON `+Lo(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}},_d=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:()=>gd}])}},vd=new class extends Y{constructor(){super(`sui.rpc.v2.GetServiceInfoRequest`,[])}},yd=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:()=>Oc},{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}])}},bd=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:()=>gu}])}},xd=new class extends Y{constructor(){super(`sui.rpc.v2.GetObjectResponse`,[{no:1,name:`object`,kind:`message`,T:()=>Tc}])}},Sd=new class extends Y{constructor(){super(`sui.rpc.v2.BatchGetObjectsRequest`,[{no:1,name:`requests`,kind:`message`,repeat:2,T:()=>bd},{no:2,name:`read_mask`,kind:`message`,T:()=>gu}])}},Cd=new class extends Y{constructor(){super(`sui.rpc.v2.BatchGetObjectsResponse`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>wd}])}},wd=new class extends Y{constructor(){super(`sui.rpc.v2.GetObjectResult`,[{no:1,name:`object`,kind:`message`,oneof:`result`,T:()=>Tc},{no:2,name:`error`,kind:`message`,oneof:`result`,T:()=>_d}])}},Td=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:()=>gu}])}},Ed=new class extends Y{constructor(){super(`sui.rpc.v2.GetTransactionResponse`,[{no:1,name:`transaction`,kind:`message`,T:()=>hu}])}},Dd=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:()=>gu}])}},Od=new class extends Y{constructor(){super(`sui.rpc.v2.BatchGetTransactionsResponse`,[{no:1,name:`transactions`,kind:`message`,repeat:2,T:()=>kd}])}},kd=new class extends Y{constructor(){super(`sui.rpc.v2.GetTransactionResult`,[{no:1,name:`transaction`,kind:`message`,oneof:`result`,T:()=>hu},{no:2,name:`error`,kind:`message`,oneof:`result`,T:()=>_d}])}},Ad=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:()=>gu}])}},jd=new class extends Y{constructor(){super(`sui.rpc.v2.GetCheckpointResponse`,[{no:1,name:`checkpoint`,kind:`message`,T:()=>hd}])}},Md=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:()=>gu}])}},Nd=new class extends Y{constructor(){super(`sui.rpc.v2.GetEpochResponse`,[{no:1,name:`epoch`,kind:`message`,T:()=>sd}])}},Pd=new vu(`sui.rpc.v2.LedgerService`,[{name:`GetServiceInfo`,options:{},I:vd,O:yd},{name:`GetObject`,options:{},I:bd,O:xd},{name:`BatchGetObjects`,options:{},I:Sd,O:Cd},{name:`GetTransaction`,options:{},I:Td,O:Ed},{name:`BatchGetTransactions`,options:{},I:Dd,O:Od},{name:`GetCheckpoint`,options:{},I:Ad,O:jd},{name:`GetEpoch`,options:{},I:Md,O:Nd}]),Fd=class{constructor(e){this._transport=e,this.typeName=Pd.typeName,this.methods=Pd.methods,this.options=Pd.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)}},Id=new class extends Y{constructor(){super(`sui.rpc.v2.GetPackageRequest`,[{no:1,name:`package_id`,kind:`scalar`,opt:!0,T:9}])}},Ld=new class extends Y{constructor(){super(`sui.rpc.v2.GetPackageResponse`,[{no:1,name:`package`,kind:`message`,T:()=>tc}])}},Rd=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}])}},zd=new class extends Y{constructor(){super(`sui.rpc.v2.GetDatatypeResponse`,[{no:1,name:`datatype`,kind:`message`,T:()=>rc}])}},Bd=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}])}},Vd=new class extends Y{constructor(){super(`sui.rpc.v2.GetFunctionResponse`,[{no:1,name:`function`,kind:`message`,T:()=>cc}])}},Hd=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}])}},Ud=new class extends Y{constructor(){super(`sui.rpc.v2.ListPackageVersionsResponse`,[{no:1,name:`versions`,kind:`message`,repeat:2,T:()=>Wd},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},Wd=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}])}},Gd=new vu(`sui.rpc.v2.MovePackageService`,[{name:`GetPackage`,options:{},I:Id,O:Ld},{name:`GetDatatype`,options:{},I:Rd,O:zd},{name:`GetFunction`,options:{},I:Bd,O:Vd},{name:`ListPackageVersions`,options:{},I:Hd,O:Ud}]),Kd=class{constructor(e){this._transport=e,this.typeName=Gd.typeName,this.methods=Gd.methods,this.options=Gd.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)}},qd=new vu(`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:()=>wc},{no:2,name:`signature`,kind:`message`,T:()=>Jl},{no:3,name:`address`,kind:`scalar`,opt:!0,T:9},{no:4,name:`jwks`,kind:`message`,repeat:2,T:()=>nl}])}},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}])}}}]),Jd=class{constructor(e){this._transport=e,this.typeName=qd.typeName,this.methods=qd.methods,this.options=qd.options}verifySignature(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Q(`unary`,this._transport,n,r,e)}},Yd=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}({}),Xd=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}({}),Zd=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}({}),$d=new class extends Y{constructor(){super(`sui.rpc.v2.GetCoinInfoRequest`,[{no:1,name:`coin_type`,kind:`scalar`,opt:!0,T:9}])}},ef=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:()=>tf},{no:3,name:`treasury`,kind:`message`,T:()=>nf},{no:4,name:`regulated_metadata`,kind:`message`,T:()=>rf}])}},tf=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`,Yd]}])}},nf=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`,Xd]}])}},rf=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`,Zd]}])}},af=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}])}},of=new class extends Y{constructor(){super(`sui.rpc.v2.GetBalanceResponse`,[{no:1,name:`balance`,kind:`message`,T:()=>lf}])}},sf=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}])}},cf=new class extends Y{constructor(){super(`sui.rpc.v2.ListBalancesResponse`,[{no:1,name:`balances`,kind:`message`,repeat:2,T:()=>lf},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},lf=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}])}},uf=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:()=>gu}])}},df=new class extends Y{constructor(){super(`sui.rpc.v2.ListDynamicFieldsResponse`,[{no:1,name:`dynamic_fields`,kind:`message`,repeat:2,T:()=>ff},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},ff=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:()=>Tc},{no:5,name:`name`,kind:`message`,T:()=>wc},{no:6,name:`value`,kind:`message`,T:()=>wc},{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:()=>Tc}])}},pf=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:()=>gu},{no:5,name:`object_type`,kind:`scalar`,opt:!0,T:9}])}},mf=new class extends Y{constructor(){super(`sui.rpc.v2.ListOwnedObjectsResponse`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>Tc},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},hf=new vu(`sui.rpc.v2.StateService`,[{name:`ListDynamicFields`,options:{},I:uf,O:df},{name:`ListOwnedObjects`,options:{},I:pf,O:mf},{name:`GetCoinInfo`,options:{},I:$d,O:ef},{name:`GetBalance`,options:{},I:af,O:of},{name:`ListBalances`,options:{},I:sf,O:cf}]),gf=class{constructor(e){this._transport=e,this.typeName=hf.typeName,this.methods=hf.methods,this.options=hf.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)}},_f=new vu(`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:()=>gu}])}},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:()=>hd}])}}}]),vf=class{constructor(e){this._transport=e,this.typeName=_f.typeName,this.methods=_f.methods,this.options=_f.options}subscribeCheckpoints(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Q(`serverStreaming`,this._transport,n,r,e)}},yf=new class extends Y{constructor(){super(`sui.rpc.v2.LookupNameRequest`,[{no:1,name:`name`,kind:`scalar`,opt:!0,T:9}])}},bf=new class extends Y{constructor(){super(`sui.rpc.v2.LookupNameResponse`,[{no:1,name:`record`,kind:`message`,T:()=>Cf}])}},xf=new class extends Y{constructor(){super(`sui.rpc.v2.ReverseLookupNameRequest`,[{no:1,name:`address`,kind:`scalar`,opt:!0,T:9}])}},Sf=new class extends Y{constructor(){super(`sui.rpc.v2.ReverseLookupNameResponse`,[{no:1,name:`record`,kind:`message`,T:()=>Cf}])}},Cf=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:()=>Oc},{no:5,name:`target_address`,kind:`scalar`,opt:!0,T:9},{no:6,name:`data`,kind:`map`,K:9,V:{kind:`scalar`,T:9}}])}},wf=new vu(`sui.rpc.v2.NameService`,[{name:`LookupName`,options:{},I:yf,O:bf},{name:`ReverseLookupName`,options:{},I:xf,O:Sf}]),Tf=class{constructor(e){this._transport=e,this.typeName=wf.typeName,this.methods=wf.methods,this.options=wf.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)}},Ef=new class extends Y{constructor(){super(`sui.forking.v1alpha.AdvanceClockRequest`,[{no:1,name:`duration_ms`,kind:`scalar`,opt:!0,T:4,L:0}])}},Df=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}])}},Of=new class extends Y{constructor(){super(`sui.forking.v1alpha.AdvanceCheckpointRequest`,[])}},kf=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}])}},Af=new class extends Y{constructor(){super(`sui.forking.v1alpha.GetStatusRequest`,[])}},jf=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}])}},Mf=new vu(`sui.forking.v1alpha.ForkingService`,[{name:`AdvanceClock`,options:{},I:Ef,O:Df},{name:`AdvanceCheckpoint`,options:{},I:Of,O:kf},{name:`GetStatus`,options:{},I:Af,O:jf}]),Nf=class{constructor(e){this._transport=e,this.typeName=Mf.typeName,this.methods=Mf.methods,this.options=Mf.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 Pf=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 Ff(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 If(e,t){let n=new Uint8Array(5+e.length);n[0]=zf.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:Ho(n)}function Lf(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 Lf(qf(t.headers),t.status,t.statusText)}let r=e,i=t>=200&&t<300,a=Gf(r),[o,s]=Wf(r);return(o===void 0||o===$.OK)&&!i&&(o=Jf(t),s=n),[o,s,a]}function Rf(e){let t=Kf(e),[n,r]=Wf(t),i=Gf(t);return[n??$.OK,r,i]}var zf;(function(e){e[e.DATA=0]=`DATA`,e[e.TRAILER=128]=`TRAILER`})(zf||={});function Bf(e,t,n){return Pf(this,void 0,void 0,function*(){let r,i=``,a=new Uint8Array,o=Uf(t);if(Vf(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=Hf(a,Vo(i.substring(0,t))),i=i.substring(t)}else a=Hf(a,e.value);for(;a.length>=5&&a[0]===zf.DATA;){let e=0;for(let t=1;t<5;t++)e=(e<<8)+a[t];if(a.length-5>=e)n(zf.DATA,a.subarray(5,5+e)),a=a.subarray(5+e);else break}}if(e.done){if(a.length===0)break;if(a[0]!==zf.TRAILER||a.length<5)throw new Z(`premature EOF`,$[$.DATA_LOSS]);n(zf.TRAILER,a.subarray(5));break}}})}var Vf=e=>typeof e.getReader==`function`;function Hf(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function Uf(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 Wf(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 Gf(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 Kf(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 qf(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 Jf(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 Yf=class{constructor(e){this.defaultOptions=e}mergeOptions(e){return yu(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 Su,u=new Cu,d=!0,f,p=new Su,m,h=new Su;return a(s,Object.assign(Object.assign({},o),{method:`POST`,headers:Ff(new globalThis.Headers,i,r.timeout,r.meta),body:If(c,i),signal:n.abort??null})).then(e=>{let[t,n,r]=Lf(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 Bf(t.body,t.headers.get(`content-type`),(t,n)=>{switch(t){case zf.DATA:u.notifyMessage(e.O.fromBinary(n,r.binaryOptions)),d=!1;break;case zf.TRAILER:let t,i;[t,i,m]=Rf(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 Du(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 Su,u,d=new Su,f,p=new Su,m,h=new Su;return a(s,Object.assign(Object.assign({},o),{method:`POST`,headers:Ff(new globalThis.Headers,i,r.timeout,r.meta),body:If(c,i),signal:n.abort??null})).then(e=>{let[t,n,r]=Lf(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 Bf(t.body,t.headers.get(`content-type`),(t,n)=>{switch(t){case zf.DATA:if(u)throw new Z(`unary call received 2nd message`,$[$.DATA_LOSS]);u=e.O.fromBinary(n,r.binaryOptions);break;case zf.TRAILER:let t,i;[t,i,m]=Rf(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 Tu(e,r.meta??{},t,l.promise,d.promise,p.promise,h.promise)}},Xf=Symbol.for(`@mysten/SuiGrpcClient`),Zf=class extends Do{get mvr(){return this.core.mvr}get[Xf](){return!0}constructor(e){super({network:e.network});let t=e.transport??new Yf({baseUrl:e.baseUrl,fetchInit:e.fetchInit});this.transactionExecutionService=new Xu(t),this.ledgerService=new Fd(t),this.stateService=new gf(t),this.subscriptionService=new vf(t),this.movePackageService=new Kd(t),this.signatureVerificationService=new Jd(t),this.nameService=new Tf(t),this.forkingService=new Nf(t),this.core=new Iu({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?C(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:x(r),childId:e.childId,value:t?{type:e.valueType,bcs:e.value?.value??new Uint8Array}:void 0}}),cursor:r.response.nextPageToken?T(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}getDynamicField(e){return this.core.getDynamicField(e)}getMoveFunction(e){return this.core.getMoveFunction(e)}resolveTransactionPlugin(){return this.core.resolveTransactionPlugin()}verifyZkLoginSignature(e){return this.core.verifyZkLoginSignature(e)}defaultNameServiceName(e){return this.core.defaultNameServiceName(e)}},Qf=`Dev Wallet`,$f=`dev-wallet:state:v1`;function ep(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.values(e).every(e=>typeof e==`string`)}function tp(e,t){let n;try{n=new URL(e)}catch{throw Error(`Invalid URL for ${t}: ${e}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw Error(`Invalid URL for ${t}: must use http or https (got ${n.protocol})`)}function np(e,t){let n={...e,...t};for(let[e,t]of Object.entries(n))t===``&&delete n[e];return n}function rp(e){if(typeof e!=`object`||!e)return null;let{version:t,networks:n,faucets:r,activeNetwork:i,activeAccount:a}=e;return t!==1||!ep(n)||r!==void 0&&!ep(r)||i!==void 0&&typeof i!=`string`||a!==void 0&&typeof a!=`string`?null:{version:t,networks:n,faucets:r,activeNetwork:i,activeAccount:a}}var ip={devnet:`https://fullnode.devnet.sui.io:443`,testnet:`https://fullnode.testnet.sui.io:443`,localnet:`http://127.0.0.1:9000`},ap=class{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=null;#h;#g;#_;#v;#y;#b;#x;#S=!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.#d=e.persistState??!1;let t=this.#N();this.#t=t?.networks??{...e.networks??ip},this.#r={...e.faucets},this.#n=np(this.#r,t?.faucets),this.#i={},this.#a=t?.activeNetwork&&t.activeNetwork in this.#t?t.activeNetwork:e.activeNetwork??Object.keys(this.#t)[0]??``,this.#f=t?.activeAccount??null,this.#o=e.name??Qf,this.#s=e.icon??`data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0Ij4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0id2FsbGV0R3JhZCIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0eWxlPSJzdG9wLWNvbG9yOiM2MzY2RjEiIC8+CiAgICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3R5bGU9InN0b3AtY29sb3I6IzI1NjNFQiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImZsYXBHcmFkIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjEwMCUiIHkyPSIxMDAlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3R5bGU9InN0b3AtY29sb3I6IzgxOENGOCIgLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdHlsZT0ic3RvcC1jb2xvcjojNEY0NkU1IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICA8L2RlZnM+CiAgPCEtLSBTaGFkb3cgLS0+CiAgPHJlY3QgeD0iOSIgeT0iMjEiIHdpZHRoPSI1MCIgaGVpZ2h0PSIzNiIgcng9IjYiIHJ5PSI2IiBmaWxsPSIjMDAwIiBvcGFjaXR5PSIwLjEiIC8+CiAgPCEtLSBXYWxsZXQgYm9keSAtLT4KICA8cmVjdCB4PSI2IiB5PSIxOCIgd2lkdGg9IjUwIiBoZWlnaHQ9IjM2IiByeD0iNiIgcnk9IjYiIGZpbGw9InVybCgjd2FsbGV0R3JhZCkiIC8+CiAgPCEtLSBGbGFwIC0tPgogIDxwYXRoIGQ9Ik02IDI2IEw2IDIyIEM2IDE1IDggMTIgMTQgMTIgTDQ2IDEyIEM1MiAxMiA1NiAxNSA1NiAyMiBMNTYgMjYgWiIgZmlsbD0idXJsKCNmbGFwR3JhZCkiIC8+CiAgPCEtLSBDbGFzcCAtLT4KICA8cmVjdCB4PSI0MiIgeT0iMzAiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMiIgcng9IjQiIHJ5PSI0IiBmaWxsPSIjNDMzOENBIiAvPgogIDwhLS0gR29sZCBjb2luIGluIGNsYXNwIC0tPgogIDxjaXJjbGUgY3g9IjQ4IiBjeT0iMzYiIHI9IjMuNSIgZmlsbD0iI0ZDRDM0RCIgLz4KICA8Y2lyY2xlIGN4PSI0OCIgY3k9IjM2IiByPSIyIiBmaWxsPSIjRjU5RTBCIiAvPgogIDwhLS0gRW1ib3NzZWQgRFcgdGV4dCAtLT4KICA8dGV4dCB4PSIyNiIgeT0iNDUiIGZvbnQtZmFtaWx5PSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBmb250LXdlaWdodD0iOTAwIiBmb250LXNpemU9IjE4IiBmaWxsPSIjMzczMEEzIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkb21pbmFudC1iYXNlbGluZT0ibWlkZGxlIiBsZXR0ZXItc3BhY2luZz0iMiI+RFc8L3RleHQ+CiAgPHRleHQgeD0iMjYiIHk9IjQ0IiBmb250LWZhbWlseT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgZm9udC13ZWlnaHQ9IjkwMCIgZm9udC1zaXplPSIxOCIgZmlsbD0iI0M3RDJGRSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZG9taW5hbnQtYmFzZWxpbmU9Im1pZGxlIiBsZXR0ZXItc3BhY2luZz0iMiI+RFc8L3RleHQ+Cjwvc3ZnPgo=`,this.#c=e.autoApprove??!1,this.#l=e.autoConnect??!1,this.#u=e.clientFactory??((e,t)=>new Zf({baseUrl:t,network:e})),this.#p=this.#D(),this.#h=Xe(),this.#g=[],this.#_=null,this.#v=new Set,this.#y=null,this.#b=new Set,this.#x=new Set,this.#O()}get version(){return`1.0.0`}get name(){return this.#o}get icon(){return this.#s}get chains(){return xe(Object.keys(this.#t))}get accounts(){return this.#C()}setSelectedAccount(e){if(e!==null){let t=this.#p.find(t=>t.address.toLowerCase()===e.toLowerCase());if(t===void 0){let t=this.#p.map(e=>e.address).join(`, `);throw Error(`No dev-wallet account for address "${e}". Available: ${t||`(none)`}`)}this.#m=t.address}else this.#m=null;this.#h.emit(`change`,{accounts:this.#C()})}#C(){return this.#m===null?this.#p:this.#p.filter(e=>e.address.toLowerCase()===this.#m.toLowerCase())}get features(){return{"standard:connect":{version:`1.0.0`,connect:this.#A},"standard:events":{version:`1.0.0`,on:this.#k},"standard:disconnect":{version:`1.0.0`,disconnect:this.#j},"sui:signPersonalMessage":{version:`1.1.0`,signPersonalMessage:this.#V},"sui:signTransaction":{version:`2.0.0`,signTransaction:this.#H},"sui:signAndExecuteTransaction":{version:`2.0.0`,signAndExecuteTransaction:this.#U}}}get pendingRequest(){return this.#_}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.#I(e);return{...this.#i}}getClient(e){return this.#I(e)}get networkUrls(){return{...this.#t}}get faucetUrls(){return{...this.#n}}getFaucet(e){return this.#n[e]??null}get activeFaucet(){return this.getFaucet(this.#a)}get activeNetwork(){return this.#a}get activeClient(){return!this.#a||!this.#t[this.#a]?null:this.#I(this.#a)}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.#a=e,this.#F(),this.#h.emit(`change`,{accounts:this.#C()})}get activeAccount(){return this.#f}setActiveAccount(e){this.#f=e,this.#F()}addNetwork(e,t,n){tp(t,`network "${e}"`),n&&tp(n,`the faucet of network "${e}"`),this.#t[e]=t,this.#i[e]=this.#u(e,t),n?this.#n[e]=n:n===null&&delete this.#n[e],this.#F(),this.#h.emit(`change`,{accounts:this.#C()})}removeNetwork(e){delete this.#t[e],delete this.#n[e],delete this.#i[e],this.#a===e&&(this.#a=Object.keys(this.#t)[0]??``),this.#F(),this.#h.emit(`change`,{accounts:this.#C()})}register(){return typeof process<`u`&&console.warn(`[@mysten-incubation/dev-wallet] DevWallet is intended for development only. Do not use in production.`),ki().register(this)}destroy(){this.#S=!0;for(let e of this.#g)e();this.#g=[];for(let e of this.#e)e.destroy();this.#_&&=(this.#_.reject(Error(`Wallet destroyed.`)),null),this.#y&&=(this.#y.reject(Error(`Wallet destroyed.`)),null),this.#v.clear(),this.#b.clear(),this.#x.clear(),this.#h.all.clear()}async approveRequest(){let e=this.#_;if(!e)throw Error(`No pending request to approve.`);try{let t=await this.#z(e.type,e.account,e.chain,e.data);this.#_=null,this.#w(),e.resolve(t)}catch(t){this.#_=null,this.#w(),e.reject(t instanceof Error?t:Error(String(t)))}}rejectRequest(e){let t=this.#_;if(!t)throw Error(`No pending request to reject.`);this.#_=null,this.#w(),t.reject(Error(e??`Request rejected by user.`))}onRequestChange(e){return this.#v.add(e),()=>{this.#v.delete(e)}}get pendingConnect(){return this.#y}approveConnect(e){let t=this.#y;if(!t)throw Error(`No pending connect request to approve.`);let n=e.length>0?this.#p.filter(t=>e.includes(t.address)):[...this.#p];this.#y=null,this.#T(),t.resolve({accounts:n})}rejectConnect(e){let t=this.#y;if(!t)throw Error(`No pending connect request to reject.`);this.#y=null,this.#T(),t.reject(Error(e??`Connection rejected by user.`))}onConnectChange(e){return this.#b.add(e),()=>{this.#b.delete(e)}}#w(){let e=this.#_;for(let t of this.#v)t(e)}#T(){let e=this.#y;for(let t of this.#b)t(e)}onDAppConnected(e){return this.#x.add(e),()=>{this.#x.delete(e)}}#E(){for(let e of this.#x)try{e()}catch(e){console.error(`[dev-wallet] onDAppConnected listener threw:`,e)}}#D(){return this.#e.flatMap(e=>e.getAccounts().map(e=>e.walletAccount))}#O(){for(let e of this.#e){let t=e.onAccountsChanged(()=>{this.#p=this.#D(),this.#h.emit(`change`,{accounts:this.#C()})});this.#g.push(t)}}#k=(e,t)=>(this.#h.on(e,t),()=>this.#h.off(e,t));#A=async()=>(this.#E(),this.#l?{accounts:this.accounts}:this.#y?Promise.reject(Error(`A connect request is already pending.`)):new Promise((e,t)=>{this.#y={id:crypto.randomUUID(),resolve:e,reject:t},this.#T()}));#j=async()=>{};#M(e){let t=Co(e);if(!t)throw Error(`Invalid chain identifier: ${e}`);return this.#I(t)}#N(){return!this.#d||typeof localStorage>`u`?null:Wi(localStorage,$f,rp)}#P(){let e={...this.#n};for(let t of Object.keys(this.#r))t in e||(e[t]=``);return e}#F(){if(!this.#d||typeof localStorage>`u`)return;let e={version:1,networks:this.#t,faucets:this.#P(),activeNetwork:this.#a,...this.#f?{activeAccount:this.#f}:{}};localStorage.setItem($f,JSON.stringify(e))}#I(e){if(!this.#i[e]){let t=this.#t[e];if(!t)throw Error(`No client for network "${e}". Available: ${this.availableNetworks.join(`, `)}`);this.#i[e]=this.#u(e,t)}return this.#i[e]}#L(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(`, `)}`)}#R(e,t,n,r){return this.getAdapterForAccount(t.address)?.allowAutoSign===!1?!1:this.#c===!0?!0:typeof this.#c==`function`?this.#c({type:e,account:t,chain:n,data:r}):!1}async#z(e,t,n,r){return wo({type:e,signer:this.#L(t.address),data:r,client:e===`sign-personal-message`?void 0:this.#M(n)})}#B(e,t,n,r){return this.#S?Promise.reject(Error(`Wallet has been destroyed.`)):this.#R(e,t,n,r)?this.#z(e,t,n,r):this.#_?Promise.reject(Error(`A signing request is already pending.`)):new Promise((i,a)=>{this.#_={id:crypto.randomUUID(),type:e,account:t,chain:n,data:r,resolve:i,reject:a},this.#w()})}#V=async e=>this.#B(`sign-personal-message`,e.account,e.chain??`sui:unknown`,e.message);#H=async e=>{let t=await e.transaction.toJSON();return this.#B(`sign-transaction`,e.account,e.chain,t)};#U=async e=>{let t=await e.transaction.toJSON();return this.#B(`sign-and-execute-transaction`,e.account,e.chain,t)}},op=`modulepreload`,sp=function(e){return`/`+e},cp={},lp=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=sp(t,n),t in cp)return;cp[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`:op,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 up(){let e=localStorage.getItem(`dev-wallet:jwt-secret`);if(e)return C(e);let t=crypto.getRandomValues(new Uint8Array(32));return localStorage.setItem(`dev-wallet:jwt-secret`,T(t)),t}async function dp(){let e=[];typeof indexedDB<`u`&&e.push(lp(async()=>{let{WebCryptoSignerAdapter:e}=await import(`./webcrypto-adapter-5ShaPc_M.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(lp(async()=>{let{InMemorySignerAdapter:e}=await import(`./in-memory-adapter-uuWG4K4k.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(lp(async()=>{let{RemoteCliAdapter:e}=await Promise.resolve().then(()=>Ii);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 ap({adapters:n,activeNetwork:`devnet`,persistState:!0,faucets:{devnet:Fe(`devnet`),localnet:Fe(`localnet`)}})}async function fp(e){let t=document.getElementById(`app`);if(!t)throw Error(`Missing #app element in document`);try{let n=await dp(),r=up(),i=To({adapters:[...n.adapters],jwtSecretKey:r,connectedApps:new qi,getClient:e=>{try{return n.getClient(e)}catch{return}},hash:e});t.innerHTML=``;let a=i.chain?Co(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){mp(t,`Error`,e)}}async function pp(){let e=document.getElementById(`app`);if(!e)throw Error(`Missing #app element in document`);try{let t=await dp();e.innerHTML=``;let n=document.createElement(`dev-wallet-standalone`);n.wallet=t,n.connectedApps=new qi,e.appendChild(n)}catch(t){mp(e,`Failed to initialize wallet`,t)}}function mp(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 hp(){let e=new URL(window.location.href),t=e.searchParams.get(`token`);t&&(localStorage.setItem(Ui.TOKEN_KEY,t),e.searchParams.delete(`token`),history.replaceState(null,``,e.pathname+e.hash))}hp();var gp=window.location.hash.slice(1);gp?fp(gp):pp();export{Bt as n,Dt as r,Xt as t};