phala 1.1.0-beta.11 → 1.1.0-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,110 +1,110 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module';const require = createRequire(import.meta.url);
3
- var wv=Object.create;var tf=Object.defineProperty;var vv=Object.getOwnPropertyDescriptor;var Cv=Object.getOwnPropertyNames;var Ev=Object.getPrototypeOf,kv=Object.prototype.hasOwnProperty;var Gr=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var S=(e,t)=>()=>(e&&(t=e(e=0)),t);var mt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),rf=(e,t)=>{for(var r in t)tf(e,r,{get:t[r],enumerable:!0})},Sv=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Cv(t))!kv.call(e,n)&&n!==r&&tf(e,n,{get:()=>t[n],enumerable:!(o=vv(t,n))||o.enumerable});return e};var Di=(e,t,r)=>(r=e!=null?wv(Ev(e)):{},Sv(t||!e||!e.__esModule?tf(r,"default",{value:e,enumerable:!0}):r,e));var p0=mt((lA,u0)=>{var rs=1e3,os=rs*60,ns=os*60,xn=ns*24,Fv=xn*7,Mv=xn*365.25;u0.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return Dv(e);if(r==="number"&&isFinite(e))return t.long?zv(e):Nv(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Dv(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),o=(t[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return r*Mv;case"weeks":case"week":case"w":return r*Fv;case"days":case"day":case"d":return r*xn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*ns;case"minutes":case"minute":case"mins":case"min":case"m":return r*os;case"seconds":case"second":case"secs":case"sec":case"s":return r*rs;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Nv(e){var t=Math.abs(e);return t>=xn?Math.round(e/xn)+"d":t>=ns?Math.round(e/ns)+"h":t>=os?Math.round(e/os)+"m":t>=rs?Math.round(e/rs)+"s":e+"ms"}function zv(e){var t=Math.abs(e);return t>=xn?sc(e,t,xn,"day"):t>=ns?sc(e,t,ns,"hour"):t>=os?sc(e,t,os,"minute"):t>=rs?sc(e,t,rs,"second"):e+" ms"}function sc(e,t,r,o){var n=t>=r*1.5;return Math.round(e/r)+" "+o+(n?"s":"")}});var af=mt((dA,f0)=>{function Lv(e){r.debug=r,r.default=r,r.coerce=c,r.disable=i,r.enable=n,r.enabled=a,r.humanize=p0(),r.destroy=m,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let f=0;for(let p=0;p<u.length;p++)f=(f<<5)-f+u.charCodeAt(p),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=t;function r(u){let f,p=null,d,h;function g(...b){if(!g.enabled)return;let y=g,v=Number(new Date),C=v-(f||v);y.diff=C,y.prev=f,y.curr=v,f=v,b[0]=r.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let k=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(I,A)=>{if(I==="%%")return"%";k++;let R=r.formatters[A];if(typeof R=="function"){let N=b[k];I=R.call(y,N),b.splice(k,1),k--}return I}),r.formatArgs.call(y,b),(y.log||r.log).apply(y,b)}return g.namespace=u,g.useColors=r.useColors(),g.color=r.selectColor(u),g.extend=o,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(d!==r.namespaces&&(d=r.namespaces,h=r.enabled(u)),h),set:b=>{p=b}}),typeof r.init=="function"&&r.init(g),g}function o(u,f){let p=r(this.namespace+(typeof f>"u"?":":f)+u);return p.log=this.log,p}function n(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let f=(typeof u=="string"?u:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let p of f)p[0]==="-"?r.skips.push(p.slice(1)):r.names.push(p)}function s(u,f){let p=0,d=0,h=-1,g=0;for(;p<u.length;)if(d<f.length&&(f[d]===u[p]||f[d]==="*"))f[d]==="*"?(h=d,g=p,d++):(p++,d++);else if(h!==-1)d=h+1,g++,p=g;else return!1;for(;d<f.length&&f[d]==="*";)d++;return d===f.length}function i(){let u=[...r.names,...r.skips.map(f=>"-"+f)].join(",");return r.enable(""),u}function a(u){for(let f of r.skips)if(s(u,f))return!1;for(let f of r.names)if(s(u,f))return!0;return!1}function c(u){return u instanceof Error?u.stack||u.message:u}function m(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}f0.exports=Lv});var l0=mt((pt,ic)=>{pt.formatArgs=Uv;pt.save=Hv;pt.load=jv;pt.useColors=Ov;pt.storage=Gv();pt.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();pt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Ov(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Uv(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+ic.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,o=0;e[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(r++,n==="%c"&&(o=r))}),e.splice(o,0,t)}pt.log=console.debug||console.log||(()=>{});function Hv(e){try{e?pt.storage.setItem("debug",e):pt.storage.removeItem("debug")}catch{}}function jv(){let e;try{e=pt.storage.getItem("debug")||pt.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function Gv(){try{return localStorage}catch{}}ic.exports=af()(pt);var{formatters:qv}=ic.exports;qv.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var h0=mt((hA,d0)=>{"use strict";d0.exports=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",o=t.indexOf(r+e),n=t.indexOf("--");return o!==-1&&(n===-1||o<n)}});var b0=mt((gA,y0)=>{"use strict";var Vv=Gr("os"),g0=Gr("tty"),Ft=h0(),{env:Ne}=process,bo;Ft("no-color")||Ft("no-colors")||Ft("color=false")||Ft("color=never")?bo=0:(Ft("color")||Ft("colors")||Ft("color=true")||Ft("color=always"))&&(bo=1);"FORCE_COLOR"in Ne&&(Ne.FORCE_COLOR==="true"?bo=1:Ne.FORCE_COLOR==="false"?bo=0:bo=Ne.FORCE_COLOR.length===0?1:Math.min(parseInt(Ne.FORCE_COLOR,10),3));function cf(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function mf(e,t){if(bo===0)return 0;if(Ft("color=16m")||Ft("color=full")||Ft("color=truecolor"))return 3;if(Ft("color=256"))return 2;if(e&&!t&&bo===void 0)return 0;let r=bo||0;if(Ne.TERM==="dumb")return r;if(process.platform==="win32"){let o=Vv.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in Ne)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(o=>o in Ne)||Ne.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Ne)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ne.TEAMCITY_VERSION)?1:0;if(Ne.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ne){let o=parseInt((Ne.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ne.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ne.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ne.TERM)||"COLORTERM"in Ne?1:r}function Kv(e){let t=mf(e,e&&e.isTTY);return cf(t)}y0.exports={supportsColor:Kv,stdout:cf(mf(!0,g0.isatty(1))),stderr:cf(mf(!0,g0.isatty(2)))}});var w0=mt((ze,cc)=>{var Wv=Gr("tty"),ac=Gr("util");ze.init=t5;ze.log=Xv;ze.formatArgs=Zv;ze.save=Qv;ze.load=e5;ze.useColors=Jv;ze.destroy=ac.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");ze.colors=[6,2,3,4,5,1];try{let e=b0();e&&(e.stderr||e).level>=2&&(ze.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}ze.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let r=t.substring(6).toLowerCase().replace(/_([a-z])/g,(n,s)=>s.toUpperCase()),o=process.env[t];return/^(yes|on|true|enabled)$/i.test(o)?o=!0:/^(no|off|false|disabled)$/i.test(o)?o=!1:o==="null"?o=null:o=Number(o),e[r]=o,e},{});function Jv(){return"colors"in ze.inspectOpts?!!ze.inspectOpts.colors:Wv.isatty(process.stderr.fd)}function Zv(e){let{namespace:t,useColors:r}=this;if(r){let o=this.color,n="\x1B[3"+(o<8?o:"8;5;"+o),s=` ${n};1m${t} \x1B[0m`;e[0]=s+e[0].split(`
3
+ var Pw=Object.create;var nf=Object.defineProperty;var Tw=Object.getOwnPropertyDescriptor;var $w=Object.getOwnPropertyNames;var Rw=Object.getPrototypeOf,Bw=Object.prototype.hasOwnProperty;var Or=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var _=(e,t)=>()=>(e&&(t=e(e=0)),t);var ft=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),sf=(e,t)=>{for(var r in t)nf(e,r,{get:t[r],enumerable:!0})},Fw=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of $w(t))!Bw.call(e,n)&&n!==r&&nf(e,n,{get:()=>t[n],enumerable:!(o=Tw(t,n))||o.enumerable});return e};var Li=(e,t,r)=>(r=e!=null?Pw(Rw(e)):{},Fw(t||!e||!e.__esModule?nf(r,"default",{value:e,enumerable:!0}):r,e));var E0=ft((CA,C0)=>{var zn=1e3,Ln=zn*60,Un=Ln*60,Qo=Un*24,jw=Qo*7,Gw=Qo*365.25;C0.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return Vw(e);if(r==="number"&&isFinite(e))return t.long?Kw(e):qw(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Vw(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),o=(t[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return r*Gw;case"weeks":case"week":case"w":return r*jw;case"days":case"day":case"d":return r*Qo;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Un;case"minutes":case"minute":case"mins":case"min":case"m":return r*Ln;case"seconds":case"second":case"secs":case"sec":case"s":return r*zn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function qw(e){var t=Math.abs(e);return t>=Qo?Math.round(e/Qo)+"d":t>=Un?Math.round(e/Un)+"h":t>=Ln?Math.round(e/Ln)+"m":t>=zn?Math.round(e/zn)+"s":e+"ms"}function Kw(e){var t=Math.abs(e);return t>=Qo?cc(e,t,Qo,"day"):t>=Un?cc(e,t,Un,"hour"):t>=Ln?cc(e,t,Ln,"minute"):t>=zn?cc(e,t,zn,"second"):e+" ms"}function cc(e,t,r,o){var n=t>=r*1.5;return Math.round(e/r)+" "+o+(n?"s":"")}});var uf=ft((EA,k0)=>{function Ww(e){r.debug=r,r.default=r,r.coerce=c,r.disable=i,r.enable=n,r.enabled=a,r.humanize=E0(),r.destroy=m,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let p=0;for(let f=0;f<u.length;f++)p=(p<<5)-p+u.charCodeAt(f),p|=0;return r.colors[Math.abs(p)%r.colors.length]}r.selectColor=t;function r(u){let p,f=null,d,h;function g(...b){if(!g.enabled)return;let y=g,v=Number(new Date),C=v-(p||v);y.diff=C,y.prev=p,y.curr=v,p=v,b[0]=r.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let k=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(P,S)=>{if(P==="%%")return"%";k++;let $=r.formatters[S];if(typeof $=="function"){let M=b[k];P=$.call(y,M),b.splice(k,1),k--}return P}),r.formatArgs.call(y,b),(y.log||r.log).apply(y,b)}return g.namespace=u,g.useColors=r.useColors(),g.color=r.selectColor(u),g.extend=o,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(d!==r.namespaces&&(d=r.namespaces,h=r.enabled(u)),h),set:b=>{f=b}}),typeof r.init=="function"&&r.init(g),g}function o(u,p){let f=r(this.namespace+(typeof p>"u"?":":p)+u);return f.log=this.log,f}function n(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let p=(typeof u=="string"?u:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let f of p)f[0]==="-"?r.skips.push(f.slice(1)):r.names.push(f)}function s(u,p){let f=0,d=0,h=-1,g=0;for(;f<u.length;)if(d<p.length&&(p[d]===u[f]||p[d]==="*"))p[d]==="*"?(h=d,g=f,d++):(f++,d++);else if(h!==-1)d=h+1,g++,f=g;else return!1;for(;d<p.length&&p[d]==="*";)d++;return d===p.length}function i(){let u=[...r.names,...r.skips.map(p=>"-"+p)].join(",");return r.enable(""),u}function a(u){for(let p of r.skips)if(s(u,p))return!1;for(let p of r.names)if(s(u,p))return!0;return!1}function c(u){return u instanceof Error?u.stack||u.message:u}function m(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}k0.exports=Ww});var S0=ft((dt,mc)=>{dt.formatArgs=Zw;dt.save=Yw;dt.load=Xw;dt.useColors=Jw;dt.storage=Qw();dt.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();dt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Jw(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Zw(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+mc.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,o=0;e[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(r++,n==="%c"&&(o=r))}),e.splice(o,0,t)}dt.log=console.debug||console.log||(()=>{});function Yw(e){try{e?dt.storage.setItem("debug",e):dt.storage.removeItem("debug")}catch{}}function Xw(){let e;try{e=dt.storage.getItem("debug")||dt.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function Qw(){try{return localStorage}catch{}}mc.exports=uf()(dt);var{formatters:e5}=mc.exports;e5.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var I0=ft((kA,_0)=>{"use strict";_0.exports=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",o=t.indexOf(r+e),n=t.indexOf("--");return o!==-1&&(n===-1||o<n)}});var T0=ft((SA,P0)=>{"use strict";var t5=Or("os"),A0=Or("tty"),Dt=I0(),{env:Ne}=process,ho;Dt("no-color")||Dt("no-colors")||Dt("color=false")||Dt("color=never")?ho=0:(Dt("color")||Dt("colors")||Dt("color=true")||Dt("color=always"))&&(ho=1);"FORCE_COLOR"in Ne&&(Ne.FORCE_COLOR==="true"?ho=1:Ne.FORCE_COLOR==="false"?ho=0:ho=Ne.FORCE_COLOR.length===0?1:Math.min(parseInt(Ne.FORCE_COLOR,10),3));function pf(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function ff(e,t){if(ho===0)return 0;if(Dt("color=16m")||Dt("color=full")||Dt("color=truecolor"))return 3;if(Dt("color=256"))return 2;if(e&&!t&&ho===void 0)return 0;let r=ho||0;if(Ne.TERM==="dumb")return r;if(process.platform==="win32"){let o=t5.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in Ne)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(o=>o in Ne)||Ne.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Ne)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ne.TEAMCITY_VERSION)?1:0;if(Ne.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ne){let o=parseInt((Ne.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ne.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ne.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ne.TERM)||"COLORTERM"in Ne?1:r}function r5(e){let t=ff(e,e&&e.isTTY);return pf(t)}P0.exports={supportsColor:r5,stdout:pf(ff(!0,A0.isatty(1))),stderr:pf(ff(!0,A0.isatty(2)))}});var R0=ft((ze,pc)=>{var o5=Or("tty"),uc=Or("util");ze.init=u5;ze.log=a5;ze.formatArgs=s5;ze.save=c5;ze.load=m5;ze.useColors=n5;ze.destroy=uc.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");ze.colors=[6,2,3,4,5,1];try{let e=T0();e&&(e.stderr||e).level>=2&&(ze.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}ze.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let r=t.substring(6).toLowerCase().replace(/_([a-z])/g,(n,s)=>s.toUpperCase()),o=process.env[t];return/^(yes|on|true|enabled)$/i.test(o)?o=!0:/^(no|off|false|disabled)$/i.test(o)?o=!1:o==="null"?o=null:o=Number(o),e[r]=o,e},{});function n5(){return"colors"in ze.inspectOpts?!!ze.inspectOpts.colors:o5.isatty(process.stderr.fd)}function s5(e){let{namespace:t,useColors:r}=this;if(r){let o=this.color,n="\x1B[3"+(o<8?o:"8;5;"+o),s=` ${n};1m${t} \x1B[0m`;e[0]=s+e[0].split(`
4
4
  `).join(`
5
- `+s),e.push(n+"m+"+cc.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=Yv()+t+" "+e[0]}function Yv(){return ze.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Xv(...e){return process.stderr.write(ac.formatWithOptions(ze.inspectOpts,...e)+`
6
- `)}function Qv(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function e5(){return process.env.DEBUG}function t5(e){e.inspectOpts={};let t=Object.keys(ze.inspectOpts);for(let r=0;r<t.length;r++)e.inspectOpts[t[r]]=ze.inspectOpts[t[r]]}cc.exports=af()(ze);var{formatters:x0}=cc.exports;x0.o=function(e){return this.inspectOpts.colors=this.useColors,ac.inspect(e,this.inspectOpts).split(`
7
- `).map(t=>t.trim()).join(" ")};x0.O=function(e){return this.inspectOpts.colors=this.useColors,ac.inspect(e,this.inspectOpts)}});var v0=mt((yA,uf)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?uf.exports=l0():uf.exports=w0()});var pf,E0=S(()=>{pf="2.38.6"});function k0(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?k0(e.cause,t):t?null:e}var ff,x,H=S(()=>{E0();ff={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${pf}`},x=class extends Error{constructor(t,r={}){let o=(()=>r.cause instanceof x?r.cause.details:r.cause?.message?r.cause.message:r.details)(),n=(()=>r.cause instanceof x&&r.cause.docsPath||r.docsPath)(),s=ff.getDocsUrl?.({...r,docsPath:n}),i=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...o?[`Details: ${o}`]:[],...ff.version?[`Version: ${ff.version}`]:[]].join(`
8
- `);super(i,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=o,this.docsPath=n,this.metaMessages=r.metaMessages,this.name=r.name??this.name,this.shortMessage=t,this.version=pf}walk(t){return k0(this,t)}}});var ss,mc,uc,pc,zi=S(()=>{H();ss=class extends x{constructor({max:t,min:r,signed:o,size:n,value:s}){super(`Number "${s}" is not in safe ${n?`${n*8}-bit ${o?"signed":"unsigned"} `:""}integer range ${t?`(${r} to ${t})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}},mc=class extends x{constructor(t){super(`Bytes value "${t}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}},uc=class extends x{constructor(t){super(`Hex value "${t}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}},pc=class extends x{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}});function ce(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}var kt=S(()=>{});function Z(e){return ce(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Mt=S(()=>{kt()});function Le(e,{dir:t="left"}={}){let r=typeof e=="string"?e.replace("0x",""):e,o=0;for(let n=0;n<r.length-1&&r[t==="left"?n:r.length-n-1].toString()==="0";n++)o++;return r=t==="left"?r.slice(o):r.slice(0,r.length-o),typeof e=="string"?(r.length===1&&t==="right"&&(r=`${r}0`),`0x${r.length%2===1?`0${r}`:r}`):r}var vn=S(()=>{});var Li,Oi,Ui,fc=S(()=>{H();Li=class extends x{constructor({offset:t,position:r,size:o}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${o}).`,{name:"SliceOffsetOutOfBoundsError"})}},Oi=class extends x{constructor({size:t,targetSize:r,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} size (${t}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}},Ui=class extends x{constructor({size:t,targetSize:r,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} is expected to be ${r} ${o} long, but is ${t} ${o} long.`,{name:"InvalidBytesLengthError"})}}});function xo(e,{dir:t,size:r=32}={}){return typeof e=="string"?qr(e,{dir:t,size:r}):r5(e,{dir:t,size:r})}function qr(e,{dir:t,size:r=32}={}){if(r===null)return e;let o=e.replace("0x","");if(o.length>r*2)throw new Oi({size:Math.ceil(o.length/2),targetSize:r,type:"hex"});return`0x${o[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function r5(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new Oi({size:e.length,targetSize:r,type:"bytes"});let o=new Uint8Array(r);for(let n=0;n<r;n++){let s=t==="right";o[s?n:r-n-1]=e[s?n:e.length-n-1]}return o}var lc=S(()=>{fc()});function se(e,t={}){return typeof e=="number"||typeof e=="bigint"?E(e,t):typeof e=="string"?er(e,t):typeof e=="boolean"?dc(e,t):Y(e,t)}function dc(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(ft(r,{size:t.size}),xo(r,{size:t.size})):r}function Y(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=o5[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(ft(o,{size:t.size}),xo(o,{dir:"right",size:t.size})):o}function E(e,t={}){let{signed:r,size:o}=t,n=BigInt(e),s;o?r?s=(1n<<BigInt(o)*8n-1n)-1n:s=2n**(BigInt(o)*8n)-1n:typeof e=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));let i=typeof s=="bigint"&&r?-s-1n:0;if(s&&n>s||n<i){let c=typeof e=="bigint"?"n":"";throw new ss({max:s?`${s}${c}`:void 0,min:`${i}${c}`,signed:r,size:o,value:`${e}${c}`})}let a=`0x${(r&&n<0?(1n<<BigInt(o*8))+BigInt(n):n).toString(16)}`;return o?xo(a,{size:o}):a}function er(e,t={}){let r=n5.encode(e);return Y(r,t)}var o5,n5,F=S(()=>{zi();lc();Be();o5=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));n5=new TextEncoder});function Dt(e,t={}){return typeof e=="number"||typeof e=="bigint"?a5(e,t):typeof e=="boolean"?i5(e,t):ce(e)?Fe(e,t):tr(e,t)}function i5(e,t={}){let r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(ft(r,{size:t.size}),xo(r,{size:t.size})):r}function S0(e){if(e>=Vr.zero&&e<=Vr.nine)return e-Vr.zero;if(e>=Vr.A&&e<=Vr.F)return e-(Vr.A-10);if(e>=Vr.a&&e<=Vr.f)return e-(Vr.a-10)}function Fe(e,t={}){let r=e;t.size&&(ft(r,{size:t.size}),r=xo(r,{dir:"right",size:t.size}));let o=r.slice(2);o.length%2&&(o=`0${o}`);let n=o.length/2,s=new Uint8Array(n);for(let i=0,a=0;i<n;i++){let c=S0(o.charCodeAt(a++)),m=S0(o.charCodeAt(a++));if(c===void 0||m===void 0)throw new x(`Invalid byte sequence ("${o[a-2]}${o[a-1]}" in "${o}").`);s[i]=c*16+m}return s}function a5(e,t){let r=E(e,t);return Fe(r)}function tr(e,t={}){let r=s5.encode(e);return typeof t.size=="number"?(ft(r,{size:t.size}),xo(r,{dir:"right",size:t.size})):r}var s5,Vr,Oe=S(()=>{H();kt();lc();Be();F();s5=new TextEncoder;Vr={zero:48,nine:57,A:65,F:70,a:97,f:102}});function ft(e,{size:t}){if(Z(e)>t)throw new pc({givenSize:Z(e),maxSize:t})}function ie(e,t={}){let{signed:r}=t;t.size&&ft(e,{size:t.size});let o=BigInt(e);if(!r)return o;let n=(e.length-2)/2,s=(1n<<BigInt(n)*8n-1n)-1n;return o<=s?o:o-BigInt(`0x${"f".padStart(n*2,"f")}`)-1n}function lf(e,t={}){let r=e;if(t.size&&(ft(r,{size:t.size}),r=Le(r)),Le(r)==="0x00")return!1;if(Le(r)==="0x01")return!0;throw new uc(r)}function xe(e,t={}){return Number(ie(e,t))}var Be=S(()=>{zi();Mt();vn()});function is(e,t){return({exclude:r,format:o})=>({exclude:r,format:(n,s)=>{let i=t(n,s);if(r)for(let a of r)delete i[a];return{...i,...o(n,s)}},type:e})}var hc=S(()=>{});function lt(e,t){let r={};return typeof e.authorizationList<"u"&&(r.authorizationList=u5(e.authorizationList)),typeof e.accessList<"u"&&(r.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(r.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?r.blobs=e.blobs.map(o=>Y(o)):r.blobs=e.blobs),typeof e.data<"u"&&(r.data=e.data),e.account&&(r.from=e.account.address),typeof e.from<"u"&&(r.from=e.from),typeof e.gas<"u"&&(r.gas=E(e.gas)),typeof e.gasPrice<"u"&&(r.gasPrice=E(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(r.maxFeePerBlobGas=E(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(r.maxFeePerGas=E(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(r.maxPriorityFeePerGas=E(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(r.nonce=E(e.nonce)),typeof e.to<"u"&&(r.to=e.to),typeof e.type<"u"&&(r.type=m5[e.type]),typeof e.value<"u"&&(r.value=E(e.value)),r}function u5(e){return e.map(t=>({address:t.address,r:t.r?E(BigInt(t.r)):t.r,s:t.s?E(BigInt(t.s)):t.s,chainId:E(t.chainId),nonce:E(t.nonce),...typeof t.yParity<"u"?{yParity:E(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:E(t.v)}:{}}))}var m5,wo=S(()=>{F();m5={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"}});var cP,mP,uP,pP,fP,lP,dP,hP,gP,yP,bP,xP,wP,vP,CP,EP,kP,SP,_P,IP,AP,PP,TP,$P,RP,BP,FP,MP,DP,NP,zP,LP,OP,UP,HP,jP,GP,qP,VP,KP,WP,JP,ZP,YP,XP,QP,e4,t4,r4,o4,n4,s4,i4,a4,c4,m4,u4,p4,f4,l4,d4,h4,g4,y4,b4,x4,w4,v4,C4,E4,k4,S4,_4,I4,A4,P4,T4,$4,R4,B4,F4,M4,D4,N4,z4,L4,O4,U4,H4,j4,G4,q4,V4,K4,W4,as,gf=S(()=>{cP=2n**(8n-1n)-1n,mP=2n**(16n-1n)-1n,uP=2n**(24n-1n)-1n,pP=2n**(32n-1n)-1n,fP=2n**(40n-1n)-1n,lP=2n**(48n-1n)-1n,dP=2n**(56n-1n)-1n,hP=2n**(64n-1n)-1n,gP=2n**(72n-1n)-1n,yP=2n**(80n-1n)-1n,bP=2n**(88n-1n)-1n,xP=2n**(96n-1n)-1n,wP=2n**(104n-1n)-1n,vP=2n**(112n-1n)-1n,CP=2n**(120n-1n)-1n,EP=2n**(128n-1n)-1n,kP=2n**(136n-1n)-1n,SP=2n**(144n-1n)-1n,_P=2n**(152n-1n)-1n,IP=2n**(160n-1n)-1n,AP=2n**(168n-1n)-1n,PP=2n**(176n-1n)-1n,TP=2n**(184n-1n)-1n,$P=2n**(192n-1n)-1n,RP=2n**(200n-1n)-1n,BP=2n**(208n-1n)-1n,FP=2n**(216n-1n)-1n,MP=2n**(224n-1n)-1n,DP=2n**(232n-1n)-1n,NP=2n**(240n-1n)-1n,zP=2n**(248n-1n)-1n,LP=2n**(256n-1n)-1n,OP=-(2n**(8n-1n)),UP=-(2n**(16n-1n)),HP=-(2n**(24n-1n)),jP=-(2n**(32n-1n)),GP=-(2n**(40n-1n)),qP=-(2n**(48n-1n)),VP=-(2n**(56n-1n)),KP=-(2n**(64n-1n)),WP=-(2n**(72n-1n)),JP=-(2n**(80n-1n)),ZP=-(2n**(88n-1n)),YP=-(2n**(96n-1n)),XP=-(2n**(104n-1n)),QP=-(2n**(112n-1n)),e4=-(2n**(120n-1n)),t4=-(2n**(128n-1n)),r4=-(2n**(136n-1n)),o4=-(2n**(144n-1n)),n4=-(2n**(152n-1n)),s4=-(2n**(160n-1n)),i4=-(2n**(168n-1n)),a4=-(2n**(176n-1n)),c4=-(2n**(184n-1n)),m4=-(2n**(192n-1n)),u4=-(2n**(200n-1n)),p4=-(2n**(208n-1n)),f4=-(2n**(216n-1n)),l4=-(2n**(224n-1n)),d4=-(2n**(232n-1n)),h4=-(2n**(240n-1n)),g4=-(2n**(248n-1n)),y4=-(2n**(256n-1n)),b4=2n**8n-1n,x4=2n**16n-1n,w4=2n**24n-1n,v4=2n**32n-1n,C4=2n**40n-1n,E4=2n**48n-1n,k4=2n**56n-1n,S4=2n**64n-1n,_4=2n**72n-1n,I4=2n**80n-1n,A4=2n**88n-1n,P4=2n**96n-1n,T4=2n**104n-1n,$4=2n**112n-1n,R4=2n**120n-1n,B4=2n**128n-1n,F4=2n**136n-1n,M4=2n**144n-1n,D4=2n**152n-1n,N4=2n**160n-1n,z4=2n**168n-1n,L4=2n**176n-1n,O4=2n**184n-1n,U4=2n**192n-1n,H4=2n**200n-1n,j4=2n**208n-1n,G4=2n**216n-1n,q4=2n**224n-1n,V4=2n**232n-1n,K4=2n**240n-1n,W4=2n**248n-1n,as=2n**256n-1n});function Pe(e){return typeof e[0]=="string"?Ue(e):p5(e)}function p5(e){let t=0;for(let n of e)t+=n.length;let r=new Uint8Array(t),o=0;for(let n of e)r.set(n,o),o+=n.length;return r}function Ue(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}var nt=S(()=>{});var Gi,cs,gc,yf=S(()=>{H();Gi=class extends x{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}},cs=class extends x{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}},gc=class extends x{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function ms(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(f5);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var f5,yc=S(()=>{yf();f5={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new gc({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new cs({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Gi({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Gi({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}}});var bc,$0,xc=S(()=>{bc={gwei:9,wei:18},$0={ether:-9,wei:9}});function wc(e,t){let r=e.toString(),o=r.startsWith("-");o&&(r=r.slice(1)),r=r.padStart(t,"0");let[n,s]=[r.slice(0,r.length-t),r.slice(r.length-t)];return s=s.replace(/(0+)$/,""),`${o?"-":""}${n||"0"}${s?`.${s}`:""}`}var bf=S(()=>{});function us(e,t="wei"){return wc(e,bc[t])}var vc=S(()=>{xc();bf()});function Me(e,t="wei"){return wc(e,$0[t])}var ps=S(()=>{xc();bf()});function En(e){let t=Object.entries(e).map(([o,n])=>n===void 0||n===!1?null:[o,n]).filter(Boolean),r=t.reduce((o,[n])=>Math.max(o,n.length),0);return t.map(([o,n])=>` ${`${o}:`.padEnd(r+1)} ${n}`).join(`
9
- `)}var Cc,Ec,kc,Sc,_c,fs,ls,ds,Ic,St=S(()=>{vc();ps();H();Cc=class extends x{constructor(){super(["Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.","Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others."].join(`
10
- `),{name:"FeeConflictError"})}},Ec=class extends x{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}},kc=class extends x{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",En(t),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}},Sc=class extends x{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}},_c=class extends x{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:f,value:p}){let d=En({chain:n&&`${n?.name} (id: ${n?.id})`,from:r?.address,to:f,value:typeof p<"u"&&`${us(p)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Me(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Me(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Me(m)} gwei`,nonce:u});super(t.shortMessage,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Request Arguments:",d].filter(Boolean),name:"TransactionExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}},fs=class extends x{constructor({blockHash:t,blockNumber:r,blockTag:o,hash:n,index:s}){let i="Transaction";o&&s!==void 0&&(i=`Transaction at block time "${o}" at index "${s}"`),t&&s!==void 0&&(i=`Transaction at block hash "${t}" at index "${s}"`),r&&s!==void 0&&(i=`Transaction at block number "${r}" at index "${s}"`),n&&(i=`Transaction with hash "${n}"`),super(`${i} could not be found.`,{name:"TransactionNotFoundError"})}},ls=class extends x{constructor({hash:t}){super(`Transaction receipt with hash "${t}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}},ds=class extends x{constructor({receipt:t}){super(`Transaction with hash "${t.transactionHash}" reverted.`,{metaMessages:['The receipt marked the transaction as "reverted". This could mean that the function on the contract you are trying to call threw an error.'," ","You can attempt to extract the revert reason by:","- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract","- using the `call` Action with raw `data`"],name:"TransactionReceiptRevertedError"}),Object.defineProperty(this,"receipt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=t}},Ic=class extends x{constructor({hash:t}){super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}});function h5(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function xf(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function kn(e,...t){if(!h5(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function xs(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Ac(e,t){kn(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function B0(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function vo(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Pc(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function or(e,t){return e<<32-t|e>>>t}function y5(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function b5(e){for(let t=0;t<e.length;t++)e[t]=y5(e[t]);return e}function x5(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function qi(e){return typeof e=="string"&&(e=x5(e)),kn(e),e}function Tc(e){let t=o=>e().update(qi(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}var g5,wf,bs,$c=S(()=>{g5=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();wf=g5?e=>e:b5;bs=class{}});function v5(e,t=!1){return t?{h:Number(e&Bc),l:Number(e>>D0&Bc)}:{h:Number(e>>D0&Bc)|0,l:Number(e&Bc)|0}}function N0(e,t=!1){let r=e.length,o=new Uint32Array(r),n=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=v5(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var Bc,D0,z0,L0,O0,U0,H0=S(()=>{Bc=BigInt(4294967295),D0=BigInt(32);z0=(e,t,r)=>e<<r|t>>>32-r,L0=(e,t,r)=>t<<r|e>>>32-r,O0=(e,t,r)=>t<<r-32|e>>>64-r,U0=(e,t,r)=>e<<r-32|t>>>64-r});var oe,nr=S(()=>{H();oe=class extends x{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}});var Sn,Oc,Uc,Vi,_n,Ki=S(()=>{H();Sn=class extends x{constructor({blockNumber:t,chain:r,contract:o}){super(`Chain "${r.name}" does not support contract "${o.name}".`,{metaMessages:["This could be due to any of the following:",...t&&o.blockCreated&&o.blockCreated>t?[`- The contract "${o.name}" was not deployed until block ${o.blockCreated} (current block ${t}).`]:[`- The chain does not have the contract "${o.name}" configured.`]],name:"ChainDoesNotSupportContract"})}},Oc=class extends x{constructor({chain:t,currentChainId:r}){super(`The current chain of the wallet (id: ${r}) does not match the target chain for the transaction (id: ${t.id} \u2013 ${t.name}).`,{metaMessages:[`Current Chain ID: ${r}`,`Expected Chain ID: ${t.id} \u2013 ${t.name}`],name:"ChainMismatchError"})}},Uc=class extends x{constructor(){super(["No chain was provided to the request.","Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient."].join(`
11
- `),{name:"ChainNotFoundError"})}},Vi=class extends x{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}},_n=class extends x{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}});var Wr,Nt,vs,Cs,Es,ks,Ss,_s,Is,As,hr,zt,Eo=S(()=>{ps();H();Wr=class extends x{constructor({cause:t,message:r}={}){let o=r?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${o?`with reason: ${o}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}};Object.defineProperty(Wr,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(Wr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});Nt=class extends x{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Me(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}};Object.defineProperty(Nt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});vs=class extends x{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Me(r)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}};Object.defineProperty(vs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});Cs=class extends x{constructor({cause:t,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}};Object.defineProperty(Cs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});Es=class extends x{constructor({cause:t,nonce:r}={}){super([`Nonce provided for the transaction ${r?`(${r}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
12
- `),{cause:t,name:"NonceTooLowError"})}};Object.defineProperty(Es,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});ks=class extends x{constructor({cause:t,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}exceeds the maximum allowed nonce.`,{cause:t,name:"NonceMaxValueError"})}};Object.defineProperty(ks,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});Ss=class extends x{constructor({cause:t}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
13
- `),{cause:t,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}};Object.defineProperty(Ss,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});_s=class extends x{constructor({cause:t,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:t,name:"IntrinsicGasTooHighError"})}};Object.defineProperty(_s,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});Is=class extends x{constructor({cause:t,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction is too low.`,{cause:t,name:"IntrinsicGasTooLowError"})}};Object.defineProperty(Is,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});As=class extends x{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}};Object.defineProperty(As,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});hr=class extends x{constructor({cause:t,maxPriorityFeePerGas:r,maxFeePerGas:o}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${Me(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${o?` = ${Me(o)} gwei`:""}).`].join(`
14
- `),{cause:t,name:"TipAboveFeeCapError"})}};Object.defineProperty(hr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});zt=class extends x{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}});var Lt,Ps=S(()=>{Lt=class extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){let r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){let o=this.keys().next().value;o&&this.delete(o)}return this}}});function R5(e,t=24){let r=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let i=0;i<10;i++)r[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){let a=(i+8)%10,c=(i+2)%10,m=r[c],u=r[c+1],f=W0(m,u,1)^r[a],p=J0(m,u,1)^r[a+1];for(let d=0;d<50;d+=10)e[i+d]^=f,e[i+d+1]^=p}let n=e[2],s=e[3];for(let i=0;i<24;i++){let a=Y0[i],c=W0(n,s,a),m=J0(n,s,a),u=Z0[i];n=e[u],s=e[u+1],e[u]=c,e[u+1]=m}for(let i=0;i<50;i+=10){for(let a=0;a<10;a++)r[a]=e[i+a];for(let a=0;a<10;a++)e[i+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=T5[o],e[1]^=$5[o]}vo(r)}var S5,Wi,_5,I5,A5,P5,Z0,Y0,X0,Q0,T5,$5,W0,J0,Ji,B5,Hc,vf=S(()=>{H0();$c();S5=BigInt(0),Wi=BigInt(1),_5=BigInt(2),I5=BigInt(7),A5=BigInt(256),P5=BigInt(113),Z0=[],Y0=[],X0=[];for(let e=0,t=Wi,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],Z0.push(2*(5*o+r)),Y0.push((e+1)*(e+2)/2%64);let n=S5;for(let s=0;s<7;s++)t=(t<<Wi^(t>>I5)*P5)%A5,t&_5&&(n^=Wi<<(Wi<<BigInt(s))-Wi);X0.push(n)}Q0=N0(X0,!0),T5=Q0[0],$5=Q0[1],W0=(e,t,r)=>r>32?O0(e,t,r):z0(e,t,r),J0=(e,t,r)=>r>32?U0(e,t,r):L0(e,t,r);Ji=class extends bs{constructor(t,r,o,n=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=r,this.outputLen=o,this.enableXOF=n,this.rounds=s,xf(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=B0(this.state)}clone(){return this._cloneInto()}keccak(){wf(this.state32),R5(this.state32,this.rounds),wf(this.state32),this.posOut=0,this.pos=0}update(t){xs(this),t=qi(t),kn(t);let{blockLen:r,state:o}=this,n=t.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);for(let a=0;a<i;a++)o[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:o,blockLen:n}=this;t[o]^=r,r&128&&o===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){xs(this,!1),kn(t),this.finish();let r=this.state,{blockLen:o}=this;for(let n=0,s=t.length;n<s;){this.posOut>=o&&this.keccak();let i=Math.min(o-this.posOut,s-n);t.set(r.subarray(this.posOut,this.posOut+i),n),this.posOut+=i,n+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return xf(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Ac(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,vo(this.state)}_cloneInto(t){let{blockLen:r,suffix:o,outputLen:n,rounds:s,enableXOF:i}=this;return t||(t=new Ji(r,o,n,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=o,t.outputLen=n,t.enableXOF=i,t.destroyed=this.destroyed,t}},B5=(e,t,r)=>Tc(()=>new Ji(t,e,r)),Hc=(()=>B5(1,136,256/8))()});function ne(e,t){let r=t||"hex",o=Hc(ce(e,{strict:!1})?Dt(e):e);return r==="bytes"?o:se(o)}var Ot=S(()=>{vf();kt();Oe();F()});function Jr(e,t){if(Cf.has(`${e}.${t}`))return Cf.get(`${e}.${t}`);let r=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),o=ne(tr(r),"bytes"),n=(t?r.substring(`${t}0x`.length):r).split("");for(let i=0;i<40;i+=2)o[i>>1]>>4>=8&&n[i]&&(n[i]=n[i].toUpperCase()),(o[i>>1]&15)>=8&&n[i+1]&&(n[i+1]=n[i+1].toUpperCase());let s=`0x${n.join("")}`;return Cf.set(`${e}.${t}`,s),s}function Ts(e,t){if(!Q(e,{strict:!1}))throw new oe({address:e});return Jr(e,t)}var Cf,ko=S(()=>{nr();Oe();Ot();Ps();_t();Cf=new Lt(8192)});function Q(e,t){let{strict:r=!0}=t??{},o=`${e}.${r}`;if(Ef.has(o))return Ef.get(o);let n=(()=>F5.test(e)?e.toLowerCase()===e?!0:r?Jr(e)===e:!0:!1)();return Ef.set(o,n),n}var F5,Ef,_t=S(()=>{Ps();ko();F5=/^0x[a-fA-F0-9]{40}$/,Ef=new Lt(8192)});function Ut(e,t,r,{strict:o}={}){return ce(e,{strict:!1})?jc(e,t,r,{strict:o}):kf(e,t,r,{strict:o})}function eh(e,t){if(typeof t=="number"&&t>0&&t>Z(e)-1)throw new Li({offset:t,position:"start",size:Z(e)})}function th(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Z(e)!==r-t)throw new Li({offset:r,position:"end",size:Z(e)})}function kf(e,t,r,{strict:o}={}){eh(e,t);let n=e.slice(t,r);return o&&th(n,t,r),n}function jc(e,t,r,{strict:o}={}){eh(e,t);let n=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return o&&th(n,t,r),n}var So=S(()=>{fc();kt();Mt()});function Ht({blockNumber:e,chain:t,contract:r}){let o=t?.contracts?.[r];if(!o)throw new Sn({chain:t,contract:{name:r}});if(e&&o.blockCreated&&o.blockCreated>e)throw new Sn({blockNumber:e,chain:t,contract:{name:r,blockCreated:o.blockCreated}});return o.address}var In=S(()=>{Ki()});function j(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}var ve=S(()=>{});var mh,Wc,uh,Jc=S(()=>{mh={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},Wc={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},uh={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"}});function De(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new Zc(e.type);return`${e.name}(${Qi(e.inputs,{includeName:t})})`}function Qi(e,{includeName:t=!1}={}){return e?e.map(r=>q5(r,{includeName:t})).join(t?", ":","):""}function q5(e,{includeName:t}){return e.type.startsWith("tuple")?`(${Qi(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}var Zr=S(()=>{Ce()});var Yc,ea,Rs,Gt,Xc,Qc,em,tm,ta,Bs,rm,Fs,ra,sr,Ms,om,nm,sm,ir,gr,im,am,Ds,Zc,Ce=S(()=>{Zr();Mt();H();Yc=class extends x{constructor({docsPath:t}){super(["A constructor was not found on the ABI.","Make sure you are using the correct ABI and that the constructor exists on it."].join(`
15
- `),{docsPath:t,name:"AbiConstructorNotFoundError"})}},ea=class extends x{constructor({docsPath:t}){super(["Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.","Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists."].join(`
16
- `),{docsPath:t,name:"AbiConstructorParamsNotFoundError"})}},Rs=class extends x{constructor({data:t,params:r,size:o}){super([`Data size of ${o} bytes is too small for given parameters.`].join(`
17
- `),{metaMessages:[`Params: (${Qi(r,{includeName:!0})})`,`Data: ${t} (${o} bytes)`],name:"AbiDecodingDataSizeTooSmallError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t,this.params=r,this.size=o}},Gt=class extends x{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}},Xc=class extends x{constructor({expectedLength:t,givenLength:r,type:o}){super([`ABI encoding array length mismatch for type ${o}.`,`Expected length: ${t}`,`Given length: ${r}`].join(`
18
- `),{name:"AbiEncodingArrayLengthMismatchError"})}},Qc=class extends x{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${Z(r)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}},em=class extends x{constructor({expectedLength:t,givenLength:r}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${t}`,`Given length (values): ${r}`].join(`
19
- `),{name:"AbiEncodingLengthMismatchError"})}},tm=class extends x{constructor(t,{docsPath:r}){super([`Arguments (\`args\`) were provided to "${t}", but "${t}" on the ABI does not contain any parameters (\`inputs\`).`,"Cannot encode error result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the inputs exist on it."].join(`
20
- `),{docsPath:r,name:"AbiErrorInputsNotFoundError"})}},ta=class extends x{constructor(t,{docsPath:r}={}){super([`Error ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it."].join(`
21
- `),{docsPath:r,name:"AbiErrorNotFoundError"})}},Bs=class extends x{constructor(t,{docsPath:r}){super([`Encoded error signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${t}.`].join(`
22
- `),{docsPath:r,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=t}},rm=class extends x{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}},Fs=class extends x{constructor(t,{docsPath:r}){super([`Encoded event signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${t}.`].join(`
23
- `),{docsPath:r,name:"AbiEventSignatureNotFoundError"})}},ra=class extends x{constructor(t,{docsPath:r}={}){super([`Event ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join(`
5
+ `+s),e.push(n+"m+"+pc.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=i5()+t+" "+e[0]}function i5(){return ze.inspectOpts.hideDate?"":new Date().toISOString()+" "}function a5(...e){return process.stderr.write(uc.formatWithOptions(ze.inspectOpts,...e)+`
6
+ `)}function c5(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function m5(){return process.env.DEBUG}function u5(e){e.inspectOpts={};let t=Object.keys(ze.inspectOpts);for(let r=0;r<t.length;r++)e.inspectOpts[t[r]]=ze.inspectOpts[t[r]]}pc.exports=uf()(ze);var{formatters:$0}=pc.exports;$0.o=function(e){return this.inspectOpts.colors=this.useColors,uc.inspect(e,this.inspectOpts).split(`
7
+ `).map(t=>t.trim()).join(" ")};$0.O=function(e){return this.inspectOpts.colors=this.useColors,uc.inspect(e,this.inspectOpts)}});var B0=ft((_A,lf)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?lf.exports=S0():lf.exports=R0()});var df,M0=_(()=>{df="2.38.6"});function D0(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?D0(e.cause,t):t?null:e}var hf,x,H=_(()=>{M0();hf={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${df}`},x=class e extends Error{constructor(t,r={}){let o=r.cause instanceof e?r.cause.details:r.cause?.message?r.cause.message:r.details,n=r.cause instanceof e&&r.cause.docsPath||r.docsPath,s=hf.getDocsUrl?.({...r,docsPath:n}),i=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...o?[`Details: ${o}`]:[],...hf.version?[`Version: ${hf.version}`]:[]].join(`
8
+ `);super(i,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=o,this.docsPath=n,this.metaMessages=r.metaMessages,this.name=r.name??this.name,this.shortMessage=t,this.version=df}walk(t){return D0(this,t)}}});var On,fc,lc,dc,Oi=_(()=>{H();On=class extends x{constructor({max:t,min:r,signed:o,size:n,value:s}){super(`Number "${s}" is not in safe ${n?`${n*8}-bit ${o?"signed":"unsigned"} `:""}integer range ${t?`(${r} to ${t})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}},fc=class extends x{constructor(t){super(`Bytes value "${t}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}},lc=class extends x{constructor(t){super(`Hex value "${t}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}},dc=class extends x{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}});function ce(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}var _t=_(()=>{});function Y(e){return ce(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Nt=_(()=>{_t()});function Le(e,{dir:t="left"}={}){let r=typeof e=="string"?e.replace("0x",""):e,o=0;for(let n=0;n<r.length-1&&r[t==="left"?n:r.length-n-1].toString()==="0";n++)o++;return r=t==="left"?r.slice(o):r.slice(0,r.length-o),typeof e=="string"?(r.length===1&&t==="right"&&(r=`${r}0`),`0x${r.length%2===1?`0${r}`:r}`):r}var tn=_(()=>{});var Hi,ji,Gi,hc=_(()=>{H();Hi=class extends x{constructor({offset:t,position:r,size:o}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${o}).`,{name:"SliceOffsetOutOfBoundsError"})}},ji=class extends x{constructor({size:t,targetSize:r,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} size (${t}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}},Gi=class extends x{constructor({size:t,targetSize:r,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} is expected to be ${r} ${o} long, but is ${t} ${o} long.`,{name:"InvalidBytesLengthError"})}}});function go(e,{dir:t,size:r=32}={}){return typeof e=="string"?Hr(e,{dir:t,size:r}):p5(e,{dir:t,size:r})}function Hr(e,{dir:t,size:r=32}={}){if(r===null)return e;let o=e.replace("0x","");if(o.length>r*2)throw new ji({size:Math.ceil(o.length/2),targetSize:r,type:"hex"});return`0x${o[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function p5(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new ji({size:e.length,targetSize:r,type:"bytes"});let o=new Uint8Array(r);for(let n=0;n<r;n++){let s=t==="right";o[s?n:r-n-1]=e[s?n:e.length-n-1]}return o}var gc=_(()=>{hc()});function ie(e,t={}){return typeof e=="number"||typeof e=="bigint"?E(e,t):typeof e=="string"?er(e,t):typeof e=="boolean"?yc(e,t):X(e,t)}function yc(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(ht(r,{size:t.size}),go(r,{size:t.size})):r}function X(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=f5[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(ht(o,{size:t.size}),go(o,{dir:"right",size:t.size})):o}function E(e,t={}){let{signed:r,size:o}=t,n=BigInt(e),s;o?r?s=(1n<<BigInt(o)*8n-1n)-1n:s=2n**(BigInt(o)*8n)-1n:typeof e=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));let i=typeof s=="bigint"&&r?-s-1n:0;if(s&&n>s||n<i){let c=typeof e=="bigint"?"n":"";throw new On({max:s?`${s}${c}`:void 0,min:`${i}${c}`,signed:r,size:o,value:`${e}${c}`})}let a=`0x${(r&&n<0?(1n<<BigInt(o*8))+BigInt(n):n).toString(16)}`;return o?go(a,{size:o}):a}function er(e,t={}){let r=l5.encode(e);return X(r,t)}var f5,l5,F=_(()=>{Oi();gc();Be();f5=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));l5=new TextEncoder});function zt(e,t={}){return typeof e=="number"||typeof e=="bigint"?g5(e,t):typeof e=="boolean"?h5(e,t):ce(e)?Fe(e,t):tr(e,t)}function h5(e,t={}){let r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(ht(r,{size:t.size}),go(r,{size:t.size})):r}function N0(e){if(e>=jr.zero&&e<=jr.nine)return e-jr.zero;if(e>=jr.A&&e<=jr.F)return e-(jr.A-10);if(e>=jr.a&&e<=jr.f)return e-(jr.a-10)}function Fe(e,t={}){let r=e;t.size&&(ht(r,{size:t.size}),r=go(r,{dir:"right",size:t.size}));let o=r.slice(2);o.length%2&&(o=`0${o}`);let n=o.length/2,s=new Uint8Array(n);for(let i=0,a=0;i<n;i++){let c=N0(o.charCodeAt(a++)),m=N0(o.charCodeAt(a++));if(c===void 0||m===void 0)throw new x(`Invalid byte sequence ("${o[a-2]}${o[a-1]}" in "${o}").`);s[i]=c*16+m}return s}function g5(e,t){let r=E(e,t);return Fe(r)}function tr(e,t={}){let r=d5.encode(e);return typeof t.size=="number"?(ht(r,{size:t.size}),go(r,{dir:"right",size:t.size})):r}var d5,jr,Ue=_(()=>{H();_t();gc();Be();F();d5=new TextEncoder;jr={zero:48,nine:57,A:65,F:70,a:97,f:102}});function ht(e,{size:t}){if(Y(e)>t)throw new dc({givenSize:Y(e),maxSize:t})}function ae(e,t={}){let{signed:r}=t;t.size&&ht(e,{size:t.size});let o=BigInt(e);if(!r)return o;let n=(e.length-2)/2,s=(1n<<BigInt(n)*8n-1n)-1n;return o<=s?o:o-BigInt(`0x${"f".padStart(n*2,"f")}`)-1n}function gf(e,t={}){let r=e;if(t.size&&(ht(r,{size:t.size}),r=Le(r)),Le(r)==="0x00")return!1;if(Le(r)==="0x01")return!0;throw new lc(r)}function be(e,t={}){return Number(ae(e,t))}var Be=_(()=>{Oi();Nt();tn()});function Hn(e,t){return({exclude:r,format:o})=>({exclude:r,format:(n,s)=>{let i=t(n,s);if(r)for(let a of r)delete i[a];return{...i,...o(n,s)}},type:e})}var bc=_(()=>{});function gt(e,t){let r={};return typeof e.authorizationList<"u"&&(r.authorizationList=x5(e.authorizationList)),typeof e.accessList<"u"&&(r.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(r.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?r.blobs=e.blobs.map(o=>X(o)):r.blobs=e.blobs),typeof e.data<"u"&&(r.data=e.data),e.account&&(r.from=e.account.address),typeof e.from<"u"&&(r.from=e.from),typeof e.gas<"u"&&(r.gas=E(e.gas)),typeof e.gasPrice<"u"&&(r.gasPrice=E(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(r.maxFeePerBlobGas=E(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(r.maxFeePerGas=E(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(r.maxPriorityFeePerGas=E(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(r.nonce=E(e.nonce)),typeof e.to<"u"&&(r.to=e.to),typeof e.type<"u"&&(r.type=b5[e.type]),typeof e.value<"u"&&(r.value=E(e.value)),r}function x5(e){return e.map(t=>({address:t.address,r:t.r?E(BigInt(t.r)):t.r,s:t.s?E(BigInt(t.s)):t.s,chainId:E(t.chainId),nonce:E(t.nonce),...typeof t.yParity<"u"?{yParity:E(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:E(t.v)}:{}}))}var b5,yo=_(()=>{F();b5={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"}});var yP,bP,xP,vP,wP,CP,EP,kP,SP,_P,IP,AP,PP,TP,$P,RP,BP,FP,MP,DP,NP,zP,LP,UP,OP,HP,jP,GP,VP,qP,KP,WP,JP,ZP,YP,XP,QP,e4,t4,r4,o4,n4,s4,i4,a4,c4,m4,u4,p4,f4,l4,d4,h4,g4,y4,b4,x4,v4,w4,C4,E4,k4,S4,_4,I4,A4,P4,T4,$4,R4,B4,F4,M4,D4,N4,z4,L4,U4,O4,H4,j4,G4,V4,q4,K4,W4,J4,Z4,Y4,X4,Q4,eT,tT,rT,oT,jn,xf=_(()=>{yP=2n**(8n-1n)-1n,bP=2n**(16n-1n)-1n,xP=2n**(24n-1n)-1n,vP=2n**(32n-1n)-1n,wP=2n**(40n-1n)-1n,CP=2n**(48n-1n)-1n,EP=2n**(56n-1n)-1n,kP=2n**(64n-1n)-1n,SP=2n**(72n-1n)-1n,_P=2n**(80n-1n)-1n,IP=2n**(88n-1n)-1n,AP=2n**(96n-1n)-1n,PP=2n**(104n-1n)-1n,TP=2n**(112n-1n)-1n,$P=2n**(120n-1n)-1n,RP=2n**(128n-1n)-1n,BP=2n**(136n-1n)-1n,FP=2n**(144n-1n)-1n,MP=2n**(152n-1n)-1n,DP=2n**(160n-1n)-1n,NP=2n**(168n-1n)-1n,zP=2n**(176n-1n)-1n,LP=2n**(184n-1n)-1n,UP=2n**(192n-1n)-1n,OP=2n**(200n-1n)-1n,HP=2n**(208n-1n)-1n,jP=2n**(216n-1n)-1n,GP=2n**(224n-1n)-1n,VP=2n**(232n-1n)-1n,qP=2n**(240n-1n)-1n,KP=2n**(248n-1n)-1n,WP=2n**(256n-1n)-1n,JP=-(2n**(8n-1n)),ZP=-(2n**(16n-1n)),YP=-(2n**(24n-1n)),XP=-(2n**(32n-1n)),QP=-(2n**(40n-1n)),e4=-(2n**(48n-1n)),t4=-(2n**(56n-1n)),r4=-(2n**(64n-1n)),o4=-(2n**(72n-1n)),n4=-(2n**(80n-1n)),s4=-(2n**(88n-1n)),i4=-(2n**(96n-1n)),a4=-(2n**(104n-1n)),c4=-(2n**(112n-1n)),m4=-(2n**(120n-1n)),u4=-(2n**(128n-1n)),p4=-(2n**(136n-1n)),f4=-(2n**(144n-1n)),l4=-(2n**(152n-1n)),d4=-(2n**(160n-1n)),h4=-(2n**(168n-1n)),g4=-(2n**(176n-1n)),y4=-(2n**(184n-1n)),b4=-(2n**(192n-1n)),x4=-(2n**(200n-1n)),v4=-(2n**(208n-1n)),w4=-(2n**(216n-1n)),C4=-(2n**(224n-1n)),E4=-(2n**(232n-1n)),k4=-(2n**(240n-1n)),S4=-(2n**(248n-1n)),_4=-(2n**(256n-1n)),I4=2n**8n-1n,A4=2n**16n-1n,P4=2n**24n-1n,T4=2n**32n-1n,$4=2n**40n-1n,R4=2n**48n-1n,B4=2n**56n-1n,F4=2n**64n-1n,M4=2n**72n-1n,D4=2n**80n-1n,N4=2n**88n-1n,z4=2n**96n-1n,L4=2n**104n-1n,U4=2n**112n-1n,O4=2n**120n-1n,H4=2n**128n-1n,j4=2n**136n-1n,G4=2n**144n-1n,V4=2n**152n-1n,q4=2n**160n-1n,K4=2n**168n-1n,W4=2n**176n-1n,J4=2n**184n-1n,Z4=2n**192n-1n,Y4=2n**200n-1n,X4=2n**208n-1n,Q4=2n**216n-1n,eT=2n**224n-1n,tT=2n**232n-1n,rT=2n**240n-1n,oT=2n**248n-1n,jn=2n**256n-1n});function Pe(e){return typeof e[0]=="string"?Oe(e):v5(e)}function v5(e){let t=0;for(let n of e)t+=n.length;let r=new Uint8Array(t),o=0;for(let n of e)r.set(n,o),o+=n.length;return r}function Oe(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}var at=_(()=>{});var Ki,Gn,xc,vf=_(()=>{H();Ki=class extends x{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}},Gn=class extends x{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}},xc=class extends x{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function Vn(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(w5);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var w5,vc=_(()=>{vf();w5={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new xc({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Gn({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Ki({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Ki({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}}});var wc,j0,Cc=_(()=>{wc={gwei:9,wei:18},j0={ether:-9,wei:9}});function Ec(e,t){let r=e.toString(),o=r.startsWith("-");o&&(r=r.slice(1)),r=r.padStart(t,"0");let[n,s]=[r.slice(0,r.length-t),r.slice(r.length-t)];return s=s.replace(/(0+)$/,""),`${o?"-":""}${n||"0"}${s?`.${s}`:""}`}var wf=_(()=>{});function qn(e,t="wei"){return Ec(e,wc[t])}var kc=_(()=>{Cc();wf()});function Me(e,t="wei"){return Ec(e,j0[t])}var Kn=_(()=>{Cc();wf()});function on(e){let t=Object.entries(e).map(([o,n])=>n===void 0||n===!1?null:[o,n]).filter(Boolean),r=t.reduce((o,[n])=>Math.max(o,n.length),0);return t.map(([o,n])=>` ${`${o}:`.padEnd(r+1)} ${n}`).join(`
9
+ `)}var Sc,_c,Ic,Ac,Pc,Wn,Jn,Zn,Tc,It=_(()=>{kc();Kn();H();Sc=class extends x{constructor(){super(["Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.","Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others."].join(`
10
+ `),{name:"FeeConflictError"})}},_c=class extends x{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}},Ic=class extends x{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",on(t),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}},Ac=class extends x{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}},Pc=class extends x{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:p,value:f}){let d=on({chain:n&&`${n?.name} (id: ${n?.id})`,from:r?.address,to:p,value:typeof f<"u"&&`${qn(f)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Me(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Me(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Me(m)} gwei`,nonce:u});super(t.shortMessage,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Request Arguments:",d].filter(Boolean),name:"TransactionExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}},Wn=class extends x{constructor({blockHash:t,blockNumber:r,blockTag:o,hash:n,index:s}){let i="Transaction";o&&s!==void 0&&(i=`Transaction at block time "${o}" at index "${s}"`),t&&s!==void 0&&(i=`Transaction at block hash "${t}" at index "${s}"`),r&&s!==void 0&&(i=`Transaction at block number "${r}" at index "${s}"`),n&&(i=`Transaction with hash "${n}"`),super(`${i} could not be found.`,{name:"TransactionNotFoundError"})}},Jn=class extends x{constructor({hash:t}){super(`Transaction receipt with hash "${t}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}},Zn=class extends x{constructor({receipt:t}){super(`Transaction with hash "${t.transactionHash}" reverted.`,{metaMessages:['The receipt marked the transaction as "reverted". This could mean that the function on the contract you are trying to call threw an error.'," ","You can attempt to extract the revert reason by:","- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract","- using the `call` Action with raw `data`"],name:"TransactionReceiptRevertedError"}),Object.defineProperty(this,"receipt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=t}},Tc=class extends x{constructor({hash:t}){super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}});function k5(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Cf(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function nn(e,...t){if(!k5(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function ts(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function $c(e,t){nn(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function V0(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function bo(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Rc(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function or(e,t){return e<<32-t|e>>>t}function _5(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function I5(e){for(let t=0;t<e.length;t++)e[t]=_5(e[t]);return e}function A5(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Wi(e){return typeof e=="string"&&(e=A5(e)),nn(e),e}function Bc(e){let t=o=>e().update(Wi(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}var S5,Ef,es,Fc=_(()=>{S5=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;Ef=S5?e=>e:I5;es=class{}});function T5(e,t=!1){return t?{h:Number(e&Dc),l:Number(e>>W0&Dc)}:{h:Number(e>>W0&Dc)|0,l:Number(e&Dc)|0}}function J0(e,t=!1){let r=e.length,o=new Uint32Array(r),n=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=T5(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var Dc,W0,Z0,Y0,X0,Q0,eh=_(()=>{Dc=BigInt(4294967295),W0=BigInt(32);Z0=(e,t,r)=>e<<r|t>>>32-r,Y0=(e,t,r)=>t<<r|e>>>32-r,X0=(e,t,r)=>t<<r-32|e>>>64-r,Q0=(e,t,r)=>e<<r-32|t>>>64-r});var ne,nr=_(()=>{H();ne=class extends x{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}});var sn,jc,Gc,Ji,an,Zi=_(()=>{H();sn=class extends x{constructor({blockNumber:t,chain:r,contract:o}){super(`Chain "${r.name}" does not support contract "${o.name}".`,{metaMessages:["This could be due to any of the following:",...t&&o.blockCreated&&o.blockCreated>t?[`- The contract "${o.name}" was not deployed until block ${o.blockCreated} (current block ${t}).`]:[`- The chain does not have the contract "${o.name}" configured.`]],name:"ChainDoesNotSupportContract"})}},jc=class extends x{constructor({chain:t,currentChainId:r}){super(`The current chain of the wallet (id: ${r}) does not match the target chain for the transaction (id: ${t.id} \u2013 ${t.name}).`,{metaMessages:[`Current Chain ID: ${r}`,`Expected Chain ID: ${t.id} \u2013 ${t.name}`],name:"ChainMismatchError"})}},Gc=class extends x{constructor(){super(["No chain was provided to the request.","Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient."].join(`
11
+ `),{name:"ChainNotFoundError"})}},Ji=class extends x{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}},an=class extends x{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}});var Vr,Lt,os,ns,ss,is,as,cs,ms,us,dr,Ut,vo=_(()=>{Kn();H();Vr=class extends x{constructor({cause:t,message:r}={}){let o=r?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${o?`with reason: ${o}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}};Object.defineProperty(Vr,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(Vr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});Lt=class extends x{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Me(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}};Object.defineProperty(Lt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});os=class extends x{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Me(r)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}};Object.defineProperty(os,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});ns=class extends x{constructor({cause:t,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}};Object.defineProperty(ns,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});ss=class extends x{constructor({cause:t,nonce:r}={}){super([`Nonce provided for the transaction ${r?`(${r}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
12
+ `),{cause:t,name:"NonceTooLowError"})}};Object.defineProperty(ss,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});is=class extends x{constructor({cause:t,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}exceeds the maximum allowed nonce.`,{cause:t,name:"NonceMaxValueError"})}};Object.defineProperty(is,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});as=class extends x{constructor({cause:t}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
13
+ `),{cause:t,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}};Object.defineProperty(as,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});cs=class extends x{constructor({cause:t,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:t,name:"IntrinsicGasTooHighError"})}};Object.defineProperty(cs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});ms=class extends x{constructor({cause:t,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction is too low.`,{cause:t,name:"IntrinsicGasTooLowError"})}};Object.defineProperty(ms,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});us=class extends x{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}};Object.defineProperty(us,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});dr=class extends x{constructor({cause:t,maxPriorityFeePerGas:r,maxFeePerGas:o}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${Me(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${o?` = ${Me(o)} gwei`:""}).`].join(`
14
+ `),{cause:t,name:"TipAboveFeeCapError"})}};Object.defineProperty(dr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});Ut=class extends x{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}});var Ot,ps=_(()=>{Ot=class extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){let r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){let o=this.keys().next().value;o&&this.delete(o)}return this}}});function O5(e,t=24){let r=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let i=0;i<10;i++)r[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){let a=(i+8)%10,c=(i+2)%10,m=r[c],u=r[c+1],p=ih(m,u,1)^r[a],f=ah(m,u,1)^r[a+1];for(let d=0;d<50;d+=10)e[i+d]^=p,e[i+d+1]^=f}let n=e[2],s=e[3];for(let i=0;i<24;i++){let a=mh[i],c=ih(n,s,a),m=ah(n,s,a),u=ch[i];n=e[u],s=e[u+1],e[u]=c,e[u+1]=m}for(let i=0;i<50;i+=10){for(let a=0;a<10;a++)r[a]=e[i+a];for(let a=0;a<10;a++)e[i+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=L5[o],e[1]^=U5[o]}bo(r)}var F5,Yi,M5,D5,N5,z5,ch,mh,uh,ph,L5,U5,ih,ah,kf,H5,Vc,Sf=_(()=>{eh();Fc();F5=BigInt(0),Yi=BigInt(1),M5=BigInt(2),D5=BigInt(7),N5=BigInt(256),z5=BigInt(113),ch=[],mh=[],uh=[];for(let e=0,t=Yi,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],ch.push(2*(5*o+r)),mh.push((e+1)*(e+2)/2%64);let n=F5;for(let s=0;s<7;s++)t=(t<<Yi^(t>>D5)*z5)%N5,t&M5&&(n^=Yi<<(Yi<<BigInt(s))-Yi);uh.push(n)}ph=J0(uh,!0),L5=ph[0],U5=ph[1],ih=(e,t,r)=>r>32?X0(e,t,r):Z0(e,t,r),ah=(e,t,r)=>r>32?Q0(e,t,r):Y0(e,t,r);kf=class e extends es{constructor(t,r,o,n=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=r,this.outputLen=o,this.enableXOF=n,this.rounds=s,Cf(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=V0(this.state)}clone(){return this._cloneInto()}keccak(){Ef(this.state32),O5(this.state32,this.rounds),Ef(this.state32),this.posOut=0,this.pos=0}update(t){ts(this),t=Wi(t),nn(t);let{blockLen:r,state:o}=this,n=t.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);for(let a=0;a<i;a++)o[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:o,blockLen:n}=this;t[o]^=r,(r&128)!==0&&o===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){ts(this,!1),nn(t),this.finish();let r=this.state,{blockLen:o}=this;for(let n=0,s=t.length;n<s;){this.posOut>=o&&this.keccak();let i=Math.min(o-this.posOut,s-n);t.set(r.subarray(this.posOut,this.posOut+i),n),this.posOut+=i,n+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Cf(t),this.xofInto(new Uint8Array(t))}digestInto(t){if($c(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,bo(this.state)}_cloneInto(t){let{blockLen:r,suffix:o,outputLen:n,rounds:s,enableXOF:i}=this;return t||(t=new e(r,o,n,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=o,t.outputLen=n,t.enableXOF=i,t.destroyed=this.destroyed,t}},H5=(e,t,r)=>Bc(()=>new kf(t,e,r)),Vc=H5(1,136,256/8)});function se(e,t){let r=t||"hex",o=Vc(ce(e,{strict:!1})?zt(e):e);return r==="bytes"?o:ie(o)}var Ht=_(()=>{Sf();_t();Ue();F()});function qr(e,t){if(_f.has(`${e}.${t}`))return _f.get(`${e}.${t}`);let r=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),o=se(tr(r),"bytes"),n=(t?r.substring(`${t}0x`.length):r).split("");for(let i=0;i<40;i+=2)o[i>>1]>>4>=8&&n[i]&&(n[i]=n[i].toUpperCase()),(o[i>>1]&15)>=8&&n[i+1]&&(n[i+1]=n[i+1].toUpperCase());let s=`0x${n.join("")}`;return _f.set(`${e}.${t}`,s),s}function fs(e,t){if(!ee(e,{strict:!1}))throw new ne({address:e});return qr(e,t)}var _f,wo=_(()=>{nr();Ue();Ht();ps();At();_f=new Ot(8192)});function ee(e,t){let{strict:r=!0}=t??{},o=`${e}.${r}`;if(If.has(o))return If.get(o);let n=j5.test(e)?e.toLowerCase()===e?!0:r?qr(e)===e:!0:!1;return If.set(o,n),n}var j5,If,At=_(()=>{ps();wo();j5=/^0x[a-fA-F0-9]{40}$/,If=new Ot(8192)});function jt(e,t,r,{strict:o}={}){return ce(e,{strict:!1})?qc(e,t,r,{strict:o}):Af(e,t,r,{strict:o})}function fh(e,t){if(typeof t=="number"&&t>0&&t>Y(e)-1)throw new Hi({offset:t,position:"start",size:Y(e)})}function lh(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Y(e)!==r-t)throw new Hi({offset:r,position:"end",size:Y(e)})}function Af(e,t,r,{strict:o}={}){fh(e,t);let n=e.slice(t,r);return o&&lh(n,t,r),n}function qc(e,t,r,{strict:o}={}){fh(e,t);let n=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return o&&lh(n,t,r),n}var Co=_(()=>{hc();_t();Nt()});function Gt({blockNumber:e,chain:t,contract:r}){let o=t?.contracts?.[r];if(!o)throw new sn({chain:t,contract:{name:r}});if(e&&o.blockCreated&&o.blockCreated>e)throw new sn({blockNumber:e,chain:t,contract:{name:r,blockCreated:o.blockCreated}});return o.address}var cn=_(()=>{Zi()});function j(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}var ve=_(()=>{});var wh,Yc,Ch,Xc=_(()=>{wh={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},Yc={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},Ch={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"}});function De(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new Qc(e.type);return`${e.name}(${ta(e.inputs,{includeName:t})})`}function ta(e,{includeName:t=!1}={}){return e?e.map(r=>e2(r,{includeName:t})).join(t?", ":","):""}function e2(e,{includeName:t}){return e.type.startsWith("tuple")?`(${ta(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}var Kr=_(()=>{we()});var em,ra,ds,qt,tm,rm,om,nm,oa,hs,sm,gs,na,sr,ys,im,am,cm,ir,hr,mm,um,bs,Qc,we=_(()=>{Kr();Nt();H();em=class extends x{constructor({docsPath:t}){super(["A constructor was not found on the ABI.","Make sure you are using the correct ABI and that the constructor exists on it."].join(`
15
+ `),{docsPath:t,name:"AbiConstructorNotFoundError"})}},ra=class extends x{constructor({docsPath:t}){super(["Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.","Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists."].join(`
16
+ `),{docsPath:t,name:"AbiConstructorParamsNotFoundError"})}},ds=class extends x{constructor({data:t,params:r,size:o}){super([`Data size of ${o} bytes is too small for given parameters.`].join(`
17
+ `),{metaMessages:[`Params: (${ta(r,{includeName:!0})})`,`Data: ${t} (${o} bytes)`],name:"AbiDecodingDataSizeTooSmallError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t,this.params=r,this.size=o}},qt=class extends x{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}},tm=class extends x{constructor({expectedLength:t,givenLength:r,type:o}){super([`ABI encoding array length mismatch for type ${o}.`,`Expected length: ${t}`,`Given length: ${r}`].join(`
18
+ `),{name:"AbiEncodingArrayLengthMismatchError"})}},rm=class extends x{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${Y(r)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}},om=class extends x{constructor({expectedLength:t,givenLength:r}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${t}`,`Given length (values): ${r}`].join(`
19
+ `),{name:"AbiEncodingLengthMismatchError"})}},nm=class extends x{constructor(t,{docsPath:r}){super([`Arguments (\`args\`) were provided to "${t}", but "${t}" on the ABI does not contain any parameters (\`inputs\`).`,"Cannot encode error result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the inputs exist on it."].join(`
20
+ `),{docsPath:r,name:"AbiErrorInputsNotFoundError"})}},oa=class extends x{constructor(t,{docsPath:r}={}){super([`Error ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it."].join(`
21
+ `),{docsPath:r,name:"AbiErrorNotFoundError"})}},hs=class extends x{constructor(t,{docsPath:r}){super([`Encoded error signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${t}.`].join(`
22
+ `),{docsPath:r,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=t}},sm=class extends x{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}},gs=class extends x{constructor(t,{docsPath:r}){super([`Encoded event signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${t}.`].join(`
23
+ `),{docsPath:r,name:"AbiEventSignatureNotFoundError"})}},na=class extends x{constructor(t,{docsPath:r}={}){super([`Event ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join(`
24
24
  `),{docsPath:r,name:"AbiEventNotFoundError"})}},sr=class extends x{constructor(t,{docsPath:r}={}){super([`Function ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(`
25
- `),{docsPath:r,name:"AbiFunctionNotFoundError"})}},Ms=class extends x{constructor(t,{docsPath:r}){super([`Function "${t}" does not contain any \`outputs\` on ABI.`,"Cannot decode function result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the function exists on it."].join(`
26
- `),{docsPath:r,name:"AbiFunctionOutputsNotFoundError"})}},om=class extends x{constructor(t,{docsPath:r}){super([`Encoded function signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${t}.`].join(`
27
- `),{docsPath:r,name:"AbiFunctionSignatureNotFoundError"})}},nm=class extends x{constructor(t,r){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${De(t.abiItem)}\`, and`,`\`${r.type}\` in \`${De(r.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}},sm=class extends x{constructor({expectedSize:t,givenSize:r}){super(`Expected bytes${t}, got bytes${r}.`,{name:"BytesSizeMismatchError"})}},ir=class extends x{constructor({abiItem:t,data:r,params:o,size:n}){super([`Data size of ${n} bytes is too small for non-indexed event parameters.`].join(`
28
- `),{metaMessages:[`Params: (${Qi(o,{includeName:!0})})`,`Data: ${r} (${n} bytes)`],name:"DecodeLogDataMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t,this.data=r,this.params=o,this.size=n}},gr=class extends x{constructor({abiItem:t,param:r}){super([`Expected a topic for indexed event parameter${r.name?` "${r.name}"`:""} on event "${De(t,{includeName:!0})}".`].join(`
29
- `),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t}},im=class extends x{constructor(t,{docsPath:r}){super([`Type "${t}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(`
30
- `),{docsPath:r,name:"InvalidAbiEncodingType"})}},am=class extends x{constructor(t,{docsPath:r}){super([`Type "${t}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(`
31
- `),{docsPath:r,name:"InvalidAbiDecodingType"})}},Ds=class extends x{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
32
- `),{name:"InvalidArrayError"})}},Zc=class extends x{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
33
- `),{name:"InvalidDefinitionTypeError"})}}});function ph(e){return V5(e)}var V5,fh=S(()=>{Oe();Ot();V5=e=>ne(Dt(e))});var lh,dh=S(()=>{lh="1.1.0"});var de,Ns=S(()=>{dh();de=class extends Error{constructor(t,r={}){let o=r.cause instanceof de?r.cause.details:r.cause?.message?r.cause.message:r.details,n=r.cause instanceof de&&r.cause.docsPath||r.docsPath,s=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...n?[`Docs: https://abitype.dev${n}`]:[],...o?[`Details: ${o}`]:[],`Version: abitype@${lh}`].join(`
34
- `);super(s),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),r.cause&&(this.cause=r.cause),this.details=o,this.docsPath=n,this.metaMessages=r.metaMessages,this.shortMessage=t}}});function It(e,t){return e.exec(t)?.groups}var _f,If,cm,oa=S(()=>{_f=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,If=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,cm=/^\(.+?\).*?$/});function mm(e){let t=e.type;if(hh.test(e.type)&&"components"in e){t="(";let r=e.components.length;for(let n=0;n<r;n++){let s=e.components[n];t+=mm(s),n<r-1&&(t+=", ")}let o=It(hh,e.type);return t+=`)${o?.array??""}`,mm({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var hh,gh=S(()=>{oa();hh=/^tuple(?<array>(\[(\d*)\])*)$/});function Yr(e){let t="",r=e.length;for(let o=0;o<r;o++){let n=e[o];t+=mm(n),o!==r-1&&(t+=", ")}return t}var Af=S(()=>{gh()});function An(e){return e.type==="function"?`function ${e.name}(${Yr(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${Yr(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${Yr(e.inputs)})`:e.type==="error"?`error ${e.name}(${Yr(e.inputs)})`:e.type==="constructor"?`constructor(${Yr(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}var yh=S(()=>{Af()});function xh(e){return bh.test(e)}function wh(e){return It(bh,e)}function Ch(e){return vh.test(e)}function Eh(e){return It(vh,e)}function Sh(e){return kh.test(e)}function _h(e){return It(kh,e)}function _o(e){return Ih.test(e)}function Ah(e){return It(Ih,e)}function Th(e){return Ph.test(e)}function $h(e){return It(Ph,e)}function Bh(e){return Rh.test(e)}function Fh(e){return It(Rh,e)}function Mh(e){return K5.test(e)}var bh,vh,kh,Ih,Ph,Rh,K5,Pf,Dh,um,zs=S(()=>{oa();bh=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;vh=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;kh=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;Ih=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;Ph=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;Rh=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;K5=/^receive\(\) external payable$/;Pf=new Set(["memory","indexed","storage","calldata"]),Dh=new Set(["indexed"]),um=new Set(["calldata","memory","storage"])});var pm,fm,lm,dm=S(()=>{Ns();pm=class extends de{constructor({signature:t}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}},fm=class extends de{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}},lm=class extends de{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}});var hm,gm,ym,bm,xm,wm,vm=S(()=>{Ns();hm=class extends de{constructor({params:t}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}},gm=class extends de{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},ym=class extends de{constructor({param:t,name:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`"${r}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}},bm=class extends de{constructor({param:t,type:r,modifier:o}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${o}" not allowed${r?` in "${r}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}},xm=class extends de{constructor({param:t,type:r,modifier:o}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${o}" not allowed${r?` in "${r}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${o}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}},wm=class extends de{constructor({abiParameter:t}){super("Invalid ABI parameter.",{details:JSON.stringify(t,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}});var yr,Cm,Em,Tf=S(()=>{Ns();yr=class extends de{constructor({signature:t,type:r}){super(`Invalid ${r} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}},Cm=class extends de{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},Em=class extends de{constructor({signature:t}){super("Invalid struct signature.",{details:t,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}});var km,Nh=S(()=>{Ns();km=class extends de{constructor({type:t}){super("Circular reference detected.",{metaMessages:[`Struct "${t}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}});var Sm,zh=S(()=>{Ns();Sm=class extends de{constructor({current:t,depth:r}){super("Unbalanced parentheses.",{metaMessages:[`"${t.trim()}" has too many ${r>0?"opening":"closing"} parentheses.`],details:`Depth "${r}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}});function Lh(e,t,r){let o="";if(r)for(let n of Object.entries(r)){if(!n)continue;let s="";for(let i of n[1])s+=`[${i.type}${i.name?`:${i.name}`:""}]`;o+=`(${n[0]}{${s}})`}return t?`${t}:${e}${o}`:e}var _m,Oh=S(()=>{_m=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]])});function na(e,t={}){if(Sh(e))return W5(e,t);if(Ch(e))return J5(e,t);if(xh(e))return Z5(e,t);if(Th(e))return Y5(e,t);if(Bh(e))return X5(e);if(Mh(e))return{type:"receive",stateMutability:"payable"};throw new Cm({signature:e})}function W5(e,t={}){let r=_h(e);if(!r)throw new yr({signature:e,type:"function"});let o=dt(r.parameters),n=[],s=o.length;for(let a=0;a<s;a++)n.push(ar(o[a],{modifiers:um,structs:t,type:"function"}));let i=[];if(r.returns){let a=dt(r.returns),c=a.length;for(let m=0;m<c;m++)i.push(ar(a[m],{modifiers:um,structs:t,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:n,outputs:i}}function J5(e,t={}){let r=Eh(e);if(!r)throw new yr({signature:e,type:"event"});let o=dt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(ar(o[i],{modifiers:Dh,structs:t,type:"event"}));return{name:r.name,type:"event",inputs:n}}function Z5(e,t={}){let r=wh(e);if(!r)throw new yr({signature:e,type:"error"});let o=dt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(ar(o[i],{structs:t,type:"error"}));return{name:r.name,type:"error",inputs:n}}function Y5(e,t={}){let r=$h(e);if(!r)throw new yr({signature:e,type:"constructor"});let o=dt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(ar(o[i],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:n}}function X5(e){let t=Fh(e);if(!t)throw new yr({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}function ar(e,t){let r=Lh(e,t?.type,t?.structs);if(_m.has(r))return _m.get(r);let o=cm.test(e),n=It(o?e2:Q5,e);if(!n)throw new gm({param:e});if(n.name&&o2(n.name))throw new ym({param:e,name:n.name});let s=n.name?{name:n.name}:{},i=n.modifier==="indexed"?{indexed:!0}:{},a=t?.structs??{},c,m={};if(o){c="tuple";let f=dt(n.type),p=[],d=f.length;for(let h=0;h<d;h++)p.push(ar(f[h],{structs:a}));m={components:p}}else if(n.type in a)c="tuple",m={components:a[n.type]};else if(t2.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,t?.type!=="struct"&&!$f(c))throw new lm({type:c});if(n.modifier){if(!t?.modifiers?.has?.(n.modifier))throw new bm({param:e,type:t?.type,modifier:n.modifier});if(um.has(n.modifier)&&!n2(c,!!n.array))throw new xm({param:e,type:t?.type,modifier:n.modifier})}let u={type:`${c}${n.array??""}`,...s,...i,...m};return _m.set(r,u),u}function dt(e,t=[],r="",o=0){let n=e.trim().length;for(let s=0;s<n;s++){let i=e[s],a=e.slice(s+1);switch(i){case",":return o===0?dt(a,[...t,r.trim()]):dt(a,t,`${r}${i}`,o);case"(":return dt(a,t,`${r}${i}`,o+1);case")":return dt(a,t,`${r}${i}`,o-1);default:return dt(a,t,`${r}${i}`,o)}}if(r==="")return t;if(o!==0)throw new Sm({current:r,depth:o});return t.push(r.trim()),t}function $f(e){return e==="address"||e==="bool"||e==="function"||e==="string"||_f.test(e)||If.test(e)}function o2(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||_f.test(e)||If.test(e)||r2.test(e)}function n2(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}var Q5,e2,t2,r2,Ls=S(()=>{oa();dm();vm();Tf();zh();Oh();zs();Q5=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,e2=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,t2=/^u?int$/;r2=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/});function Os(e){let t={},r=e.length;for(let i=0;i<r;i++){let a=e[i];if(!_o(a))continue;let c=Ah(a);if(!c)throw new yr({signature:a,type:"struct"});let m=c.properties.split(";"),u=[],f=m.length;for(let p=0;p<f;p++){let h=m[p].trim();if(!h)continue;let g=ar(h,{type:"struct"});u.push(g)}if(!u.length)throw new Em({signature:a});t[c.name]=u}let o={},n=Object.entries(t),s=n.length;for(let i=0;i<s;i++){let[a,c]=n[i];o[a]=Uh(c,t)}return o}function Uh(e,t,r=new Set){let o=[],n=e.length;for(let s=0;s<n;s++){let i=e[s];if(cm.test(i.type))o.push(i);else{let c=It(s2,i.type);if(!c?.type)throw new wm({abiParameter:i});let{array:m,type:u}=c;if(u in t){if(r.has(u))throw new km({type:u});o.push({...i,type:`tuple${m??""}`,components:Uh(t[u]??[],t,new Set([...r,u]))})}else if($f(u))o.push(i);else throw new fm({type:u})}}return o}var s2,Im=S(()=>{oa();dm();vm();Tf();Nh();zs();Ls();s2=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/});function Am(e){let t=Os(e),r=[],o=e.length;for(let n=0;n<o;n++){let s=e[n];_o(s)||r.push(na(s,t))}return r}var Hh=S(()=>{zs();Im();Ls()});function Pm(e){let t;if(typeof e=="string")t=na(e);else{let r=Os(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(!_o(s)){t=na(s,r);break}}}if(!t)throw new pm({signature:e});return t}var jh=S(()=>{dm();zs();Im();Ls()});function Tm(e){let t=[];if(typeof e=="string"){let r=dt(e),o=r.length;for(let n=0;n<o;n++)t.push(ar(r[n],{modifiers:Pf}))}else{let r=Os(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(_o(s))continue;let i=dt(s),a=i.length;for(let c=0;c<a;c++)t.push(ar(i[c],{modifiers:Pf,structs:r}))}}if(t.length===0)throw new hm({params:e});return t}var Gh=S(()=>{vm();zs();Im();Ls();Ls()});var sa=S(()=>{yh();Af();Hh();jh();Gh()});function Vh(e){let t=!0,r="",o=0,n="",s=!1;for(let i=0;i<e.length;i++){let a=e[i];if(["(",")",","].includes(a)&&(t=!0),a==="("&&o++,a===")"&&o--,!!t){if(o===0){if(a===" "&&["event","function",""].includes(n))n="";else if(n+=a,a===")"){s=!0;break}continue}if(a===" "){e[i-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}n+=a,r+=a}}if(!s)throw new x("Unable to normalize signature.");return n}var Kh=S(()=>{H()});var Wh,Jh=S(()=>{sa();Kh();Wh=e=>{let t=(()=>typeof e=="string"?e:An(e))();return Vh(t)}});function $m(e){return ph(Wh(e))}var Rf=S(()=>{fh();Jh()});var br,Us=S(()=>{So();Rf();br=e=>Ut($m(e),0,4)});function Zh(e,t={}){typeof t.size<"u"&&ft(e,{size:t.size});let r=Y(e,t);return ie(r,t)}function Yh(e,t={}){let r=e;if(typeof t.size<"u"&&(ft(r,{size:t.size}),r=Le(r)),r.length>1||r[0]>1)throw new mc(r);return!!r[0]}function xr(e,t={}){typeof t.size<"u"&&ft(e,{size:t.size});let r=Y(e,t);return xe(r,t)}function Xh(e,t={}){let r=e;return typeof t.size<"u"&&(ft(r,{size:t.size}),r=Le(r,{dir:"right"})),new TextDecoder().decode(r)}var Qh=S(()=>{zi();vn();Be();F()});var eg,Rm,Bf=S(()=>{eg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Rm=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/});function st(e,t){if(e.length!==t.length)throw new em({expectedLength:e.length,givenLength:t.length});let r=i2({params:e,values:t}),o=Mf(r);return o.length===0?"0x":o}function i2({params:e,values:t}){let r=[];for(let o=0;o<e.length;o++)r.push(Ff({param:e[o],value:t[o]}));return r}function Ff({param:e,value:t}){let r=Bm(e.type);if(r){let[o,n]=r;return c2(t,{length:o,param:{...e,type:n}})}if(e.type==="tuple")return l2(t,{param:e});if(e.type==="address")return a2(t);if(e.type==="bool")return u2(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){let o=e.type.startsWith("int"),[,,n="256"]=Rm.exec(e.type)??[];return p2(t,{signed:o,size:Number(n)})}if(e.type.startsWith("bytes"))return m2(t,{param:e});if(e.type==="string")return f2(t);throw new im(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function Mf(e){let t=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?t+=32:t+=Z(a)}let r=[],o=[],n=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?(r.push(E(t+n,{size:32})),o.push(a),n+=Z(a)):r.push(a)}return Pe([...r,...o])}function a2(e){if(!Q(e))throw new oe({address:e});return{dynamic:!1,encoded:qr(e.toLowerCase())}}function c2(e,{length:t,param:r}){let o=t===null;if(!Array.isArray(e))throw new Ds(e);if(!o&&e.length!==t)throw new Xc({expectedLength:t,givenLength:e.length,type:`${r.type}[${t}]`});let n=!1,s=[];for(let i=0;i<e.length;i++){let a=Ff({param:r,value:e[i]});a.dynamic&&(n=!0),s.push(a)}if(o||n){let i=Mf(s);if(o){let a=E(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?Pe([a,i]):a}}if(n)return{dynamic:!0,encoded:i}}return{dynamic:!1,encoded:Pe(s.map(({encoded:i})=>i))}}function m2(e,{param:t}){let[,r]=t.type.split("bytes"),o=Z(e);if(!r){let n=e;return o%32!==0&&(n=qr(n,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Pe([qr(E(o,{size:32})),n])}}if(o!==Number.parseInt(r,10))throw new Qc({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:qr(e,{dir:"right"})}}function u2(e){if(typeof e!="boolean")throw new x(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:qr(dc(e))}}function p2(e,{signed:t,size:r=256}){if(typeof r=="number"){let o=2n**(BigInt(r)-(t?1n:0n))-1n,n=t?-o-1n:0n;if(e>o||e<n)throw new ss({max:o.toString(),min:n.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:E(e,{size:32,signed:t})}}function f2(e){let t=er(e),r=Math.ceil(Z(t)/32),o=[];for(let n=0;n<r;n++)o.push(qr(Ut(t,n*32,(n+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Pe([qr(E(Z(t),{size:32})),...o])}}function l2(e,{param:t}){let r=!1,o=[];for(let n=0;n<t.components.length;n++){let s=t.components[n],i=Array.isArray(e)?n:s.name,a=Ff({param:s,value:e[i]});o.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?Mf(o):Pe(o.map(({encoded:n})=>n))}}function Bm(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var Xr=S(()=>{Ce();nr();H();zi();_t();nt();lc();Mt();So();F();Bf()});function Qr(e,t){let r=typeof t=="string"?Fe(t):t,o=ms(r);if(Z(r)===0&&e.length>0)throw new Gt;if(Z(t)&&Z(t)<32)throw new Rs({data:typeof t=="string"?t:Y(t),params:e,size:Z(t)});let n=0,s=[];for(let i=0;i<e.length;++i){let a=e[i];o.setPosition(n);let[c,m]=Hs(o,a,{staticPosition:0});n+=m,s.push(c)}return s}function Hs(e,t,{staticPosition:r}){let o=Bm(t.type);if(o){let[n,s]=o;return h2(e,{...t,type:s},{length:n,staticPosition:r})}if(t.type==="tuple")return x2(e,t,{staticPosition:r});if(t.type==="address")return d2(e);if(t.type==="bool")return g2(e);if(t.type.startsWith("bytes"))return y2(e,t,{staticPosition:r});if(t.type.startsWith("uint")||t.type.startsWith("int"))return b2(e,t);if(t.type==="string")return w2(e,{staticPosition:r});throw new am(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function d2(e){let t=e.readBytes(32);return[Jr(Y(kf(t,-20))),32]}function h2(e,t,{length:r,staticPosition:o}){if(!r){let i=xr(e.readBytes(Df)),a=o+i,c=a+tg;e.setPosition(a);let m=xr(e.readBytes(tg)),u=ia(t),f=0,p=[];for(let d=0;d<m;++d){e.setPosition(c+(u?d*32:f));let[h,g]=Hs(e,t,{staticPosition:c});f+=g,p.push(h)}return e.setPosition(o+32),[p,32]}if(ia(t)){let i=xr(e.readBytes(Df)),a=o+i,c=[];for(let m=0;m<r;++m){e.setPosition(a+m*32);let[u]=Hs(e,t,{staticPosition:a});c.push(u)}return e.setPosition(o+32),[c,32]}let n=0,s=[];for(let i=0;i<r;++i){let[a,c]=Hs(e,t,{staticPosition:o+n});n+=c,s.push(a)}return[s,n]}function g2(e){return[Yh(e.readBytes(32),{size:32}),32]}function y2(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=xr(e.readBytes(32));e.setPosition(r+i);let a=xr(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[Y(c),32]}return[Y(e.readBytes(Number.parseInt(n,10),32)),32]}function b2(e,t){let r=t.type.startsWith("int"),o=Number.parseInt(t.type.split("int")[1]||"256",10),n=e.readBytes(32);return[o>48?Zh(n,{signed:r}):xr(n,{signed:r}),32]}function x2(e,t,{staticPosition:r}){let o=t.components.length===0||t.components.some(({name:i})=>!i),n=o?[]:{},s=0;if(ia(t)){let i=xr(e.readBytes(Df)),a=r+i;for(let c=0;c<t.components.length;++c){let m=t.components[c];e.setPosition(a+s);let[u,f]=Hs(e,m,{staticPosition:a});s+=f,n[o?c:m?.name]=u}return e.setPosition(r+32),[n,32]}for(let i=0;i<t.components.length;++i){let a=t.components[i],[c,m]=Hs(e,a,{staticPosition:r});n[o?i:a?.name]=c,s+=m}return[n,s]}function w2(e,{staticPosition:t}){let r=xr(e.readBytes(32)),o=t+r;e.setPosition(o);let n=xr(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=Xh(Le(s));return e.setPosition(t+32),[i,32]}function ia(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(ia);let r=Bm(e.type);return!!(r&&ia({...e,type:r[1]}))}var tg,Df,aa=S(()=>{Ce();ko();yc();Mt();So();vn();Qh();Oe();F();Xr();tg=32,Df=32});function Fm(e){let{abi:t,data:r}=e,o=Ut(r,0,4);if(o==="0x")throw new Gt;let s=[...t||[],Wc,uh].find(i=>i.type==="error"&&o===br(De(i)));if(!s)throw new Bs(o,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:s,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Qr(s.inputs,Ut(r,4)):void 0,errorName:s.name}}var Nf=S(()=>{Jc();Ce();So();Us();aa();Zr()});var W,Ye=S(()=>{W=(e,t,r)=>JSON.stringify(e,(o,n)=>{let s=typeof n=="bigint"?n.toString():n;return typeof t=="function"?t(o,s):s},r)});function zf({abiItem:e,args:t,includeFunctionName:r=!0,includeName:o=!1}){if("name"in e&&"inputs"in e&&e.inputs)return`${r?e.name:""}(${e.inputs.map((n,s)=>`${o&&n.name?`${n.name}: `:""}${typeof t[s]=="object"?W(t[s]):t[s]}`).join(", ")})`}var rg=S(()=>{Ye()});var Io,ca=S(()=>{Rf();Io=$m});function ht(e){let{abi:t,args:r=[],name:o}=e,n=ce(o,{strict:!1}),s=t.filter(a=>n?a.type==="function"?br(a)===o:a.type==="event"?Io(a)===o:!1:"name"in a&&a.name===o);if(s.length===0)return;if(s.length===1)return s[0];let i;for(let a of s){if(!("inputs"in a))continue;if(!r||r.length===0){if(!a.inputs||a.inputs.length===0)return a;continue}if(!a.inputs||a.inputs.length===0||a.inputs.length!==r.length)continue;if(r.every((m,u)=>{let f="inputs"in a&&a.inputs[u];return f?Lf(m,f):!1})){if(i&&"inputs"in i&&i.inputs){let m=og(a.inputs,i.inputs,r);if(m)throw new nm({abiItem:a,type:m[0]},{abiItem:i,type:m[1]})}i=a}}return i||s[0]}function Lf(e,t){let r=typeof e,o=t.type;switch(o){case"address":return Q(e,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return o==="tuple"&&"components"in t?Object.values(t.components).every((n,s)=>Lf(Object.values(e)[s],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(o)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(o)?r==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(o)?Array.isArray(e)&&e.every(n=>Lf(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function og(e,t,r){for(let o in e){let n=e[o],s=t[o];if(n.type==="tuple"&&s.type==="tuple"&&"components"in n&&"components"in s)return og(n.components,s.components,r[o]);let i=[n.type,s.type];if((()=>i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?Q(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?Q(r[o],{strict:!1}):!1)())return i}}var Ao=S(()=>{Ce();kt();_t();ca();Us()});function ng(e){return e.reduce((t,{slot:r,value:o})=>`${t} ${r}: ${o}
35
- `,"")}function sg(e){return e.reduce((t,{address:r,...o})=>{let n=`${t} ${r}:
25
+ `),{docsPath:r,name:"AbiFunctionNotFoundError"})}},ys=class extends x{constructor(t,{docsPath:r}){super([`Function "${t}" does not contain any \`outputs\` on ABI.`,"Cannot decode function result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the function exists on it."].join(`
26
+ `),{docsPath:r,name:"AbiFunctionOutputsNotFoundError"})}},im=class extends x{constructor(t,{docsPath:r}){super([`Encoded function signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${t}.`].join(`
27
+ `),{docsPath:r,name:"AbiFunctionSignatureNotFoundError"})}},am=class extends x{constructor(t,r){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${De(t.abiItem)}\`, and`,`\`${r.type}\` in \`${De(r.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}},cm=class extends x{constructor({expectedSize:t,givenSize:r}){super(`Expected bytes${t}, got bytes${r}.`,{name:"BytesSizeMismatchError"})}},ir=class extends x{constructor({abiItem:t,data:r,params:o,size:n}){super([`Data size of ${n} bytes is too small for non-indexed event parameters.`].join(`
28
+ `),{metaMessages:[`Params: (${ta(o,{includeName:!0})})`,`Data: ${r} (${n} bytes)`],name:"DecodeLogDataMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t,this.data=r,this.params=o,this.size=n}},hr=class extends x{constructor({abiItem:t,param:r}){super([`Expected a topic for indexed event parameter${r.name?` "${r.name}"`:""} on event "${De(t,{includeName:!0})}".`].join(`
29
+ `),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t}},mm=class extends x{constructor(t,{docsPath:r}){super([`Type "${t}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(`
30
+ `),{docsPath:r,name:"InvalidAbiEncodingType"})}},um=class extends x{constructor(t,{docsPath:r}){super([`Type "${t}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(`
31
+ `),{docsPath:r,name:"InvalidAbiDecodingType"})}},bs=class extends x{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
32
+ `),{name:"InvalidArrayError"})}},Qc=class extends x{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
33
+ `),{name:"InvalidDefinitionTypeError"})}}});function Eh(e){return t2(e)}var t2,kh=_(()=>{Ue();Ht();t2=e=>se(zt(e))});var Sh,_h=_(()=>{Sh="1.1.0"});var _e,xs=_(()=>{_h();_e=class e extends Error{constructor(t,r={}){let o=r.cause instanceof e?r.cause.details:r.cause?.message?r.cause.message:r.details,n=r.cause instanceof e&&r.cause.docsPath||r.docsPath,s=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...n?[`Docs: https://abitype.dev${n}`]:[],...o?[`Details: ${o}`]:[],`Version: abitype@${Sh}`].join(`
34
+ `);super(s),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),r.cause&&(this.cause=r.cause),this.details=o,this.docsPath=n,this.metaMessages=r.metaMessages,this.shortMessage=t}}});function Pt(e,t){return e.exec(t)?.groups}var Tf,$f,pm,sa=_(()=>{Tf=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,$f=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,pm=/^\(.+?\).*?$/});function fm(e){let t=e.type;if(Ih.test(e.type)&&"components"in e){t="(";let r=e.components.length;for(let n=0;n<r;n++){let s=e.components[n];t+=fm(s),n<r-1&&(t+=", ")}let o=Pt(Ih,e.type);return t+=`)${o?.array??""}`,fm({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var Ih,Ah=_(()=>{sa();Ih=/^tuple(?<array>(\[(\d*)\])*)$/});function Wr(e){let t="",r=e.length;for(let o=0;o<r;o++){let n=e[o];t+=fm(n),o!==r-1&&(t+=", ")}return t}var Rf=_(()=>{Ah()});function mn(e){return e.type==="function"?`function ${e.name}(${Wr(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${Wr(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${Wr(e.inputs)})`:e.type==="error"?`error ${e.name}(${Wr(e.inputs)})`:e.type==="constructor"?`constructor(${Wr(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}var Ph=_(()=>{Rf()});function $h(e){return Th.test(e)}function Rh(e){return Pt(Th,e)}function Fh(e){return Bh.test(e)}function Mh(e){return Pt(Bh,e)}function Nh(e){return Dh.test(e)}function zh(e){return Pt(Dh,e)}function Eo(e){return Lh.test(e)}function Uh(e){return Pt(Lh,e)}function Hh(e){return Oh.test(e)}function jh(e){return Pt(Oh,e)}function Vh(e){return Gh.test(e)}function qh(e){return Pt(Gh,e)}function Kh(e){return r2.test(e)}var Th,Bh,Dh,Lh,Oh,Gh,r2,Bf,Wh,lm,vs=_(()=>{sa();Th=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;Bh=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;Dh=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;Lh=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;Oh=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;Gh=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;r2=/^receive\(\) external payable$/;Bf=new Set(["memory","indexed","storage","calldata"]),Wh=new Set(["indexed"]),lm=new Set(["calldata","memory","storage"])});var dm,hm,gm,ym=_(()=>{xs();dm=class extends _e{constructor({signature:t}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}},hm=class extends _e{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}},gm=class extends _e{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}});var bm,xm,vm,wm,Cm,Em,km=_(()=>{xs();bm=class extends _e{constructor({params:t}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}},xm=class extends _e{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},vm=class extends _e{constructor({param:t,name:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`"${r}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}},wm=class extends _e{constructor({param:t,type:r,modifier:o}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${o}" not allowed${r?` in "${r}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}},Cm=class extends _e{constructor({param:t,type:r,modifier:o}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${o}" not allowed${r?` in "${r}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${o}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}},Em=class extends _e{constructor({abiParameter:t}){super("Invalid ABI parameter.",{details:JSON.stringify(t,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}});var gr,Sm,_m,Ff=_(()=>{xs();gr=class extends _e{constructor({signature:t,type:r}){super(`Invalid ${r} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}},Sm=class extends _e{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},_m=class extends _e{constructor({signature:t}){super("Invalid struct signature.",{details:t,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}});var Im,Jh=_(()=>{xs();Im=class extends _e{constructor({type:t}){super("Circular reference detected.",{metaMessages:[`Struct "${t}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}});var Am,Zh=_(()=>{xs();Am=class extends _e{constructor({current:t,depth:r}){super("Unbalanced parentheses.",{metaMessages:[`"${t.trim()}" has too many ${r>0?"opening":"closing"} parentheses.`],details:`Depth "${r}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}});function Yh(e,t,r){let o="";if(r)for(let n of Object.entries(r)){if(!n)continue;let s="";for(let i of n[1])s+=`[${i.type}${i.name?`:${i.name}`:""}]`;o+=`(${n[0]}{${s}})`}return t?`${t}:${e}${o}`:e}var Pm,Xh=_(()=>{Pm=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]])});function ia(e,t={}){if(Nh(e))return o2(e,t);if(Fh(e))return n2(e,t);if($h(e))return s2(e,t);if(Hh(e))return i2(e,t);if(Vh(e))return a2(e);if(Kh(e))return{type:"receive",stateMutability:"payable"};throw new Sm({signature:e})}function o2(e,t={}){let r=zh(e);if(!r)throw new gr({signature:e,type:"function"});let o=yt(r.parameters),n=[],s=o.length;for(let a=0;a<s;a++)n.push(ar(o[a],{modifiers:lm,structs:t,type:"function"}));let i=[];if(r.returns){let a=yt(r.returns),c=a.length;for(let m=0;m<c;m++)i.push(ar(a[m],{modifiers:lm,structs:t,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:n,outputs:i}}function n2(e,t={}){let r=Mh(e);if(!r)throw new gr({signature:e,type:"event"});let o=yt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(ar(o[i],{modifiers:Wh,structs:t,type:"event"}));return{name:r.name,type:"event",inputs:n}}function s2(e,t={}){let r=Rh(e);if(!r)throw new gr({signature:e,type:"error"});let o=yt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(ar(o[i],{structs:t,type:"error"}));return{name:r.name,type:"error",inputs:n}}function i2(e,t={}){let r=jh(e);if(!r)throw new gr({signature:e,type:"constructor"});let o=yt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(ar(o[i],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:n}}function a2(e){let t=qh(e);if(!t)throw new gr({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}function ar(e,t){let r=Yh(e,t?.type,t?.structs);if(Pm.has(r))return Pm.get(r);let o=pm.test(e),n=Pt(o?m2:c2,e);if(!n)throw new xm({param:e});if(n.name&&f2(n.name))throw new vm({param:e,name:n.name});let s=n.name?{name:n.name}:{},i=n.modifier==="indexed"?{indexed:!0}:{},a=t?.structs??{},c,m={};if(o){c="tuple";let p=yt(n.type),f=[],d=p.length;for(let h=0;h<d;h++)f.push(ar(p[h],{structs:a}));m={components:f}}else if(n.type in a)c="tuple",m={components:a[n.type]};else if(u2.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,t?.type!=="struct"&&!Mf(c))throw new gm({type:c});if(n.modifier){if(!t?.modifiers?.has?.(n.modifier))throw new wm({param:e,type:t?.type,modifier:n.modifier});if(lm.has(n.modifier)&&!l2(c,!!n.array))throw new Cm({param:e,type:t?.type,modifier:n.modifier})}let u={type:`${c}${n.array??""}`,...s,...i,...m};return Pm.set(r,u),u}function yt(e,t=[],r="",o=0){let n=e.trim().length;for(let s=0;s<n;s++){let i=e[s],a=e.slice(s+1);switch(i){case",":return o===0?yt(a,[...t,r.trim()]):yt(a,t,`${r}${i}`,o);case"(":return yt(a,t,`${r}${i}`,o+1);case")":return yt(a,t,`${r}${i}`,o-1);default:return yt(a,t,`${r}${i}`,o)}}if(r==="")return t;if(o!==0)throw new Am({current:r,depth:o});return t.push(r.trim()),t}function Mf(e){return e==="address"||e==="bool"||e==="function"||e==="string"||Tf.test(e)||$f.test(e)}function f2(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||Tf.test(e)||$f.test(e)||p2.test(e)}function l2(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}var c2,m2,u2,p2,ws=_(()=>{sa();ym();km();Ff();Zh();Xh();vs();c2=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,m2=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,u2=/^u?int$/;p2=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/});function Cs(e){let t={},r=e.length;for(let i=0;i<r;i++){let a=e[i];if(!Eo(a))continue;let c=Uh(a);if(!c)throw new gr({signature:a,type:"struct"});let m=c.properties.split(";"),u=[],p=m.length;for(let f=0;f<p;f++){let h=m[f].trim();if(!h)continue;let g=ar(h,{type:"struct"});u.push(g)}if(!u.length)throw new _m({signature:a});t[c.name]=u}let o={},n=Object.entries(t),s=n.length;for(let i=0;i<s;i++){let[a,c]=n[i];o[a]=Qh(c,t)}return o}function Qh(e,t,r=new Set){let o=[],n=e.length;for(let s=0;s<n;s++){let i=e[s];if(pm.test(i.type))o.push(i);else{let c=Pt(d2,i.type);if(!c?.type)throw new Em({abiParameter:i});let{array:m,type:u}=c;if(u in t){if(r.has(u))throw new Im({type:u});o.push({...i,type:`tuple${m??""}`,components:Qh(t[u]??[],t,new Set([...r,u]))})}else if(Mf(u))o.push(i);else throw new hm({type:u})}}return o}var d2,Tm=_(()=>{sa();ym();km();Ff();Jh();vs();ws();d2=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/});function $m(e){let t=Cs(e),r=[],o=e.length;for(let n=0;n<o;n++){let s=e[n];Eo(s)||r.push(ia(s,t))}return r}var eg=_(()=>{vs();Tm();ws()});function Rm(e){let t;if(typeof e=="string")t=ia(e);else{let r=Cs(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(!Eo(s)){t=ia(s,r);break}}}if(!t)throw new dm({signature:e});return t}var tg=_(()=>{ym();vs();Tm();ws()});function Bm(e){let t=[];if(typeof e=="string"){let r=yt(e),o=r.length;for(let n=0;n<o;n++)t.push(ar(r[n],{modifiers:Bf}))}else{let r=Cs(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(Eo(s))continue;let i=yt(s),a=i.length;for(let c=0;c<a;c++)t.push(ar(i[c],{modifiers:Bf,structs:r}))}}if(t.length===0)throw new bm({params:e});return t}var rg=_(()=>{km();vs();Tm();ws();ws()});var aa=_(()=>{Ph();Rf();eg();tg();rg()});function ng(e){let t=!0,r="",o=0,n="",s=!1;for(let i=0;i<e.length;i++){let a=e[i];if(["(",")",","].includes(a)&&(t=!0),a==="("&&o++,a===")"&&o--,!!t){if(o===0){if(a===" "&&["event","function",""].includes(n))n="";else if(n+=a,a===")"){s=!0;break}continue}if(a===" "){e[i-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}n+=a,r+=a}}if(!s)throw new x("Unable to normalize signature.");return n}var sg=_(()=>{H()});var ig,ag=_(()=>{aa();sg();ig=e=>{let t=typeof e=="string"?e:mn(e);return ng(t)}});function Fm(e){return Eh(ig(e))}var Df=_(()=>{kh();ag()});var yr,Es=_(()=>{Co();Df();yr=e=>jt(Fm(e),0,4)});function cg(e,t={}){typeof t.size<"u"&&ht(e,{size:t.size});let r=X(e,t);return ae(r,t)}function mg(e,t={}){let r=e;if(typeof t.size<"u"&&(ht(r,{size:t.size}),r=Le(r)),r.length>1||r[0]>1)throw new fc(r);return!!r[0]}function br(e,t={}){typeof t.size<"u"&&ht(e,{size:t.size});let r=X(e,t);return be(r,t)}function ug(e,t={}){let r=e;return typeof t.size<"u"&&(ht(r,{size:t.size}),r=Le(r,{dir:"right"})),new TextDecoder().decode(r)}var pg=_(()=>{Oi();tn();Be();F()});var fg,Mm,Nf=_(()=>{fg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Mm=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/});function ct(e,t){if(e.length!==t.length)throw new om({expectedLength:e.length,givenLength:t.length});let r=h2({params:e,values:t}),o=Lf(r);return o.length===0?"0x":o}function h2({params:e,values:t}){let r=[];for(let o=0;o<e.length;o++)r.push(zf({param:e[o],value:t[o]}));return r}function zf({param:e,value:t}){let r=Dm(e.type);if(r){let[o,n]=r;return y2(t,{length:o,param:{...e,type:n}})}if(e.type==="tuple")return C2(t,{param:e});if(e.type==="address")return g2(t);if(e.type==="bool")return x2(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){let o=e.type.startsWith("int"),[,,n="256"]=Mm.exec(e.type)??[];return v2(t,{signed:o,size:Number(n)})}if(e.type.startsWith("bytes"))return b2(t,{param:e});if(e.type==="string")return w2(t);throw new mm(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function Lf(e){let t=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?t+=32:t+=Y(a)}let r=[],o=[],n=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?(r.push(E(t+n,{size:32})),o.push(a),n+=Y(a)):r.push(a)}return Pe([...r,...o])}function g2(e){if(!ee(e))throw new ne({address:e});return{dynamic:!1,encoded:Hr(e.toLowerCase())}}function y2(e,{length:t,param:r}){let o=t===null;if(!Array.isArray(e))throw new bs(e);if(!o&&e.length!==t)throw new tm({expectedLength:t,givenLength:e.length,type:`${r.type}[${t}]`});let n=!1,s=[];for(let i=0;i<e.length;i++){let a=zf({param:r,value:e[i]});a.dynamic&&(n=!0),s.push(a)}if(o||n){let i=Lf(s);if(o){let a=E(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?Pe([a,i]):a}}if(n)return{dynamic:!0,encoded:i}}return{dynamic:!1,encoded:Pe(s.map(({encoded:i})=>i))}}function b2(e,{param:t}){let[,r]=t.type.split("bytes"),o=Y(e);if(!r){let n=e;return o%32!==0&&(n=Hr(n,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Pe([Hr(E(o,{size:32})),n])}}if(o!==Number.parseInt(r,10))throw new rm({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:Hr(e,{dir:"right"})}}function x2(e){if(typeof e!="boolean")throw new x(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Hr(yc(e))}}function v2(e,{signed:t,size:r=256}){if(typeof r=="number"){let o=2n**(BigInt(r)-(t?1n:0n))-1n,n=t?-o-1n:0n;if(e>o||e<n)throw new On({max:o.toString(),min:n.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:E(e,{size:32,signed:t})}}function w2(e){let t=er(e),r=Math.ceil(Y(t)/32),o=[];for(let n=0;n<r;n++)o.push(Hr(jt(t,n*32,(n+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Pe([Hr(E(Y(t),{size:32})),...o])}}function C2(e,{param:t}){let r=!1,o=[];for(let n=0;n<t.components.length;n++){let s=t.components[n],i=Array.isArray(e)?n:s.name,a=zf({param:s,value:e[i]});o.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?Lf(o):Pe(o.map(({encoded:n})=>n))}}function Dm(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var Jr=_(()=>{we();nr();H();Oi();At();at();gc();Nt();Co();F();Nf()});function Zr(e,t){let r=typeof t=="string"?Fe(t):t,o=Vn(r);if(Y(r)===0&&e.length>0)throw new qt;if(Y(t)&&Y(t)<32)throw new ds({data:typeof t=="string"?t:X(t),params:e,size:Y(t)});let n=0,s=[];for(let i=0;i<e.length;++i){let a=e[i];o.setPosition(n);let[c,m]=ks(o,a,{staticPosition:0});n+=m,s.push(c)}return s}function ks(e,t,{staticPosition:r}){let o=Dm(t.type);if(o){let[n,s]=o;return k2(e,{...t,type:s},{length:n,staticPosition:r})}if(t.type==="tuple")return A2(e,t,{staticPosition:r});if(t.type==="address")return E2(e);if(t.type==="bool")return S2(e);if(t.type.startsWith("bytes"))return _2(e,t,{staticPosition:r});if(t.type.startsWith("uint")||t.type.startsWith("int"))return I2(e,t);if(t.type==="string")return P2(e,{staticPosition:r});throw new um(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function E2(e){let t=e.readBytes(32);return[qr(X(Af(t,-20))),32]}function k2(e,t,{length:r,staticPosition:o}){if(!r){let i=br(e.readBytes(Uf)),a=o+i,c=a+lg;e.setPosition(a);let m=br(e.readBytes(lg)),u=ca(t),p=0,f=[];for(let d=0;d<m;++d){e.setPosition(c+(u?d*32:p));let[h,g]=ks(e,t,{staticPosition:c});p+=g,f.push(h)}return e.setPosition(o+32),[f,32]}if(ca(t)){let i=br(e.readBytes(Uf)),a=o+i,c=[];for(let m=0;m<r;++m){e.setPosition(a+m*32);let[u]=ks(e,t,{staticPosition:a});c.push(u)}return e.setPosition(o+32),[c,32]}let n=0,s=[];for(let i=0;i<r;++i){let[a,c]=ks(e,t,{staticPosition:o+n});n+=c,s.push(a)}return[s,n]}function S2(e){return[mg(e.readBytes(32),{size:32}),32]}function _2(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=br(e.readBytes(32));e.setPosition(r+i);let a=br(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[X(c),32]}return[X(e.readBytes(Number.parseInt(n,10),32)),32]}function I2(e,t){let r=t.type.startsWith("int"),o=Number.parseInt(t.type.split("int")[1]||"256",10),n=e.readBytes(32);return[o>48?cg(n,{signed:r}):br(n,{signed:r}),32]}function A2(e,t,{staticPosition:r}){let o=t.components.length===0||t.components.some(({name:i})=>!i),n=o?[]:{},s=0;if(ca(t)){let i=br(e.readBytes(Uf)),a=r+i;for(let c=0;c<t.components.length;++c){let m=t.components[c];e.setPosition(a+s);let[u,p]=ks(e,m,{staticPosition:a});s+=p,n[o?c:m?.name]=u}return e.setPosition(r+32),[n,32]}for(let i=0;i<t.components.length;++i){let a=t.components[i],[c,m]=ks(e,a,{staticPosition:r});n[o?i:a?.name]=c,s+=m}return[n,s]}function P2(e,{staticPosition:t}){let r=br(e.readBytes(32)),o=t+r;e.setPosition(o);let n=br(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=ug(Le(s));return e.setPosition(t+32),[i,32]}function ca(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(ca);let r=Dm(e.type);return!!(r&&ca({...e,type:r[1]}))}var lg,Uf,ma=_(()=>{we();wo();vc();Nt();Co();tn();pg();Ue();F();Jr();lg=32,Uf=32});function Nm(e){let{abi:t,data:r}=e,o=jt(r,0,4);if(o==="0x")throw new qt;let s=[...t||[],Yc,Ch].find(i=>i.type==="error"&&o===yr(De(i)));if(!s)throw new hs(o,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:s,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Zr(s.inputs,jt(r,4)):void 0,errorName:s.name}}var Of=_(()=>{Xc();we();Co();Es();ma();Kr()});var W,et=_(()=>{W=(e,t,r)=>JSON.stringify(e,(o,n)=>{let s=typeof n=="bigint"?n.toString():n;return typeof t=="function"?t(o,s):s},r)});function Hf({abiItem:e,args:t,includeFunctionName:r=!0,includeName:o=!1}){if("name"in e&&"inputs"in e&&e.inputs)return`${r?e.name:""}(${e.inputs.map((n,s)=>`${o&&n.name?`${n.name}: `:""}${typeof t[s]=="object"?W(t[s]):t[s]}`).join(", ")})`}var dg=_(()=>{et()});var ko,ua=_(()=>{Df();ko=Fm});function bt(e){let{abi:t,args:r=[],name:o}=e,n=ce(o,{strict:!1}),s=t.filter(a=>n?a.type==="function"?yr(a)===o:a.type==="event"?ko(a)===o:!1:"name"in a&&a.name===o);if(s.length===0)return;if(s.length===1)return s[0];let i;for(let a of s){if(!("inputs"in a))continue;if(!r||r.length===0){if(!a.inputs||a.inputs.length===0)return a;continue}if(!a.inputs||a.inputs.length===0||a.inputs.length!==r.length)continue;if(r.every((m,u)=>{let p="inputs"in a&&a.inputs[u];return p?jf(m,p):!1})){if(i&&"inputs"in i&&i.inputs){let m=hg(a.inputs,i.inputs,r);if(m)throw new am({abiItem:a,type:m[0]},{abiItem:i,type:m[1]})}i=a}}return i||s[0]}function jf(e,t){let r=typeof e,o=t.type;switch(o){case"address":return ee(e,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return o==="tuple"&&"components"in t?Object.values(t.components).every((n,s)=>jf(Object.values(e)[s],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(o)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(o)?r==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(o)?Array.isArray(e)&&e.every(n=>jf(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function hg(e,t,r){for(let o in e){let n=e[o],s=t[o];if(n.type==="tuple"&&s.type==="tuple"&&"components"in n&&"components"in s)return hg(n.components,s.components,r[o]);let i=[n.type,s.type];if(i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?ee(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?ee(r[o],{strict:!1}):!1)return i}}var So=_(()=>{we();_t();At();ua();Es()});function gg(e){return e.reduce((t,{slot:r,value:o})=>`${t} ${r}: ${o}
35
+ `,"")}function yg(e){return e.reduce((t,{address:r,...o})=>{let n=`${t} ${r}:
36
36
  `;return o.nonce&&(n+=` nonce: ${o.nonce}
37
37
  `),o.balance&&(n+=` balance: ${o.balance}
38
38
  `),o.code&&(n+=` code: ${o.code}
39
39
  `),o.state&&(n+=` state:
40
- `,n+=ng(o.state)),o.stateDiff&&(n+=` stateDiff:
41
- `,n+=ng(o.stateDiff)),n},` State Override:
42
- `).slice(0,-1)}var Mm,Dm,Of=S(()=>{H();Mm=class extends x{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}},Dm=class extends x{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}});var ig,Pn,Nm=S(()=>{ig=e=>e,Pn=e=>e});var js,Gs,Tn,zm,Lm,wr,Po=S(()=>{ve();Jc();Nf();Zr();rg();Ao();vc();ps();Ce();H();Of();St();Nm();js=class extends x{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:f,value:p,stateOverride:d}){let h=r?j(r):void 0,g=En({from:h?.address,to:f,value:typeof p<"u"&&`${us(p)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Me(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Me(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Me(m)} gwei`,nonce:u});d&&(g+=`
43
- ${sg(d)}`),super(t.shortMessage,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",g].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}},Gs=class extends x{constructor(t,{abi:r,args:o,contractAddress:n,docsPath:s,functionName:i,sender:a}){let c=ht({abi:r,args:o,name:i}),m=c?zf({abiItem:c,args:o,includeFunctionName:!1,includeName:!1}):void 0,u=c?De(c,{includeName:!0}):void 0,f=En({address:n&&ig(n),function:u,args:m&&m!=="()"&&`${[...Array(i?.length??0).keys()].map(()=>" ").join("")}${m}`,sender:a});super(t.shortMessage||`An unknown error occurred while executing the contract function "${i}".`,{cause:t,docsPath:s,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],f&&"Contract Call:",f].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=r,this.args=o,this.cause=t,this.contractAddress=n,this.functionName=i,this.sender=a}},Tn=class extends x{constructor({abi:t,data:r,functionName:o,message:n}){let s,i,a,c;if(r&&r!=="0x")try{i=Fm({abi:t,data:r});let{abiItem:u,errorName:f,args:p}=i;if(f==="Error")c=p[0];else if(f==="Panic"){let[d]=p;c=mh[d]}else{let d=u?De(u,{includeName:!0}):void 0,h=u&&p?zf({abiItem:u,args:p,includeFunctionName:!1,includeName:!1}):void 0;a=[d?`Error: ${d}`:"",h&&h!=="()"?` ${[...Array(f?.length??0).keys()].map(()=>" ").join("")}${h}`:""]}}catch(u){s=u}else n&&(c=n);let m;s instanceof Bs&&(m=s.signature,a=[`Unable to decode signature "${m}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${m}.`]),super(c&&c!=="execution reverted"||m?[`The contract function "${o}" reverted with the following ${m?"signature":"reason"}:`,c||m].join(`
44
- `):`The contract function "${o}" reverted.`,{cause:s,metaMessages:a,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=i,this.raw=r,this.reason=c,this.signature=m}},zm=class extends x{constructor({functionName:t}){super(`The contract function "${t}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${t}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError"})}},Lm=class extends x{constructor({factory:t}){super(`Deployment for counterfactual contract call failed${t?` for factory "${t}".`:""}`,{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}},wr=class extends x{constructor({data:t,message:r}){super(r||"",{name:"RawContractError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t}}});var qt,To,ma,$n=S(()=>{Ye();H();Nm();qt=class extends x{constructor({body:t,cause:r,details:o,headers:n,status:s,url:i}){super("HTTP request failed.",{cause:r,details:o,metaMessages:[s&&`Status: ${s}`,`URL: ${Pn(i)}`,t&&`Request body: ${W(t)}`].filter(Boolean),name:"HttpRequestError"}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=t,this.headers=n,this.status=s,this.url=i}},To=class extends x{constructor({body:t,error:r,url:o}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${Pn(o)}`,`Request body: ${W(t)}`],name:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=r.code,this.data=r.data}},ma=class extends x{constructor({body:t,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${Pn(r)}`,`Request body: ${W(t)}`],name:"TimeoutError"})}}});var v2,Xe,it,$o,Ro,Bo,Fo,cr,Vt,Mo,Do,No,vr,eo,zo,to,Lo,Oo,Uo,Ho,jo,Cr,Go,qo,Vo,Ko,Wo,Er,Om,qs=S(()=>{H();$n();v2=-1,Xe=class extends x{constructor(t,{code:r,docsPath:o,metaMessages:n,name:s,shortMessage:i}){super(i,{cause:t,docsPath:o,metaMessages:n||t?.metaMessages,name:s||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=s||t.name,this.code=t instanceof To?t.code:r??v2}},it=class extends Xe{constructor(t,r){super(t,r),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r.data}},$o=class extends Xe{constructor(t){super(t,{code:$o.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}};Object.defineProperty($o,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});Ro=class extends Xe{constructor(t){super(t,{code:Ro.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}};Object.defineProperty(Ro,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});Bo=class extends Xe{constructor(t,{method:r}={}){super(t,{code:Bo.code,name:"MethodNotFoundRpcError",shortMessage:`The method${r?` "${r}"`:""} does not exist / is not available.`})}};Object.defineProperty(Bo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});Fo=class extends Xe{constructor(t){super(t,{code:Fo.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
45
- `)})}};Object.defineProperty(Fo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});cr=class extends Xe{constructor(t){super(t,{code:cr.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}};Object.defineProperty(cr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});Vt=class extends Xe{constructor(t){super(t,{code:Vt.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
46
- `)})}};Object.defineProperty(Vt,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});Mo=class extends Xe{constructor(t){super(t,{code:Mo.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}};Object.defineProperty(Mo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});Do=class extends Xe{constructor(t){super(t,{code:Do.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}};Object.defineProperty(Do,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});No=class extends Xe{constructor(t){super(t,{code:No.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}};Object.defineProperty(No,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});vr=class extends Xe{constructor(t,{method:r}={}){super(t,{code:vr.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}};Object.defineProperty(vr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});eo=class extends Xe{constructor(t){super(t,{code:eo.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}};Object.defineProperty(eo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});zo=class extends Xe{constructor(t){super(t,{code:zo.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}};Object.defineProperty(zo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});to=class extends it{constructor(t){super(t,{code:to.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}};Object.defineProperty(to,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});Lo=class extends it{constructor(t){super(t,{code:Lo.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}};Object.defineProperty(Lo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});Oo=class extends it{constructor(t,{method:r}={}){super(t,{code:Oo.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}};Object.defineProperty(Oo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});Uo=class extends it{constructor(t){super(t,{code:Uo.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}};Object.defineProperty(Uo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});Ho=class extends it{constructor(t){super(t,{code:Ho.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}};Object.defineProperty(Ho,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});jo=class extends it{constructor(t){super(t,{code:jo.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}};Object.defineProperty(jo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});Cr=class extends it{constructor(t){super(t,{code:Cr.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}};Object.defineProperty(Cr,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});Go=class extends it{constructor(t){super(t,{code:Go.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}};Object.defineProperty(Go,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});qo=class extends it{constructor(t){super(t,{code:qo.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}};Object.defineProperty(qo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});Vo=class extends it{constructor(t){super(t,{code:Vo.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}};Object.defineProperty(Vo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});Ko=class extends it{constructor(t){super(t,{code:Ko.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}};Object.defineProperty(Ko,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});Wo=class extends it{constructor(t){super(t,{code:Wo.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}};Object.defineProperty(Wo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});Er=class extends it{constructor(t){super(t,{code:Er.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}};Object.defineProperty(Er,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});Om=class extends Xe{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}});function Jo(e,t){let r=(e.details||"").toLowerCase(),o=e instanceof x?e.walk(n=>n?.code===Wr.code):e;return o instanceof x?new Wr({cause:e,message:o.details}):Wr.nodeMessage.test(r)?new Wr({cause:e,message:e.details}):Nt.nodeMessage.test(r)?new Nt({cause:e,maxFeePerGas:t?.maxFeePerGas}):vs.nodeMessage.test(r)?new vs({cause:e,maxFeePerGas:t?.maxFeePerGas}):Cs.nodeMessage.test(r)?new Cs({cause:e,nonce:t?.nonce}):Es.nodeMessage.test(r)?new Es({cause:e,nonce:t?.nonce}):ks.nodeMessage.test(r)?new ks({cause:e,nonce:t?.nonce}):Ss.nodeMessage.test(r)?new Ss({cause:e}):_s.nodeMessage.test(r)?new _s({cause:e,gas:t?.gas}):Is.nodeMessage.test(r)?new Is({cause:e,gas:t?.gas}):As.nodeMessage.test(r)?new As({cause:e}):hr.nodeMessage.test(r)?new hr({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new zt({cause:e})}var ua=S(()=>{H();Eo()});function Um(e,{docsPath:t,...r}){let o=(()=>{let n=Jo(e,r);return n instanceof zt?e:n})();return new js(o,{docsPath:t,...r})}var Uf=S(()=>{Po();Eo();ua()});function kr(e,{format:t}){if(!t)return{};let r={};function o(s){let i=Object.keys(s);for(let a of i)a in e&&(r[a]=e[a]),s[a]&&typeof s[a]=="object"&&!Array.isArray(s[a])&&o(s[a])}let n=t(e||{});return o(n),r}var Vs=S(()=>{});function Qe(e){let{account:t,gasPrice:r,maxFeePerGas:o,maxPriorityFeePerGas:n,to:s}=e,i=t?j(t):void 0;if(i&&!Q(i.address))throw new oe({address:i.address});if(s&&!Q(s))throw new oe({address:s});if(typeof r<"u"&&(typeof o<"u"||typeof n<"u"))throw new Cc;if(o&&o>as)throw new Nt({maxFeePerGas:o});if(n&&o&&n>o)throw new hr({maxFeePerGas:o,maxPriorityFeePerGas:n})}var ro=S(()=>{ve();gf();nr();Eo();St();_t()});function ug(e){let{abi:t,args:r,functionName:o}=e,n=t[0];if(o){let s=ht({abi:t,args:r,name:o});if(!s)throw new sr(o,{docsPath:mg});n=s}if(n.type!=="function")throw new sr(void 0,{docsPath:mg});return{abi:[n],functionName:br(De(n))}}var mg,pg=S(()=>{Ce();Us();Zr();Ao();mg="/docs/contract/encodeFunctionData"});function pe(e){let{args:t}=e,{abi:r,functionName:o}=(()=>e.abi.length===1&&e.functionName?.startsWith("0x")?e:ug(e))(),n=r[0],s=o,i="inputs"in n&&n.inputs?st(n.inputs,t??[]):void 0;return Ue([s,i??"0x"])}var At=S(()=>{nt();Xr();pg()});function hg(e){if(!(!e||e.length===0))return e.reduce((t,{slot:r,value:o})=>{if(r.length!==66)throw new Ui({size:r.length,targetSize:66,type:"hex"});if(o.length!==66)throw new Ui({size:o.length,targetSize:66,type:"hex"});return t[r]=o,t},{})}function E2(e){let{balance:t,nonce:r,state:o,stateDiff:n,code:s}=e,i={};if(s!==void 0&&(i.code=s),t!==void 0&&(i.balance=E(t)),r!==void 0&&(i.nonce=E(r)),o!==void 0&&(i.state=hg(o)),n!==void 0){if(i.state)throw new Dm;i.stateDiff=hg(n)}return i}function Ks(e){if(!e)return;let t={};for(let{address:r,...o}of e){if(!Q(r,{strict:!1}))throw new oe({address:r});if(t[r])throw new Mm({address:r});t[r]=E2(o)}return t}var Jm=S(()=>{nr();fc();Of();_t();F()});function Kt(e,t){if(!Q(e,{strict:!1}))throw new oe({address:e});if(!Q(t,{strict:!1}))throw new oe({address:t});return e.toLowerCase()===t.toLowerCase()}var Rn=S(()=>{nr();_t()});function yt(e){let{abi:t,args:r,functionName:o,data:n}=e,s=t[0];if(o){let a=ht({abi:t,args:r,name:o});if(!a)throw new sr(o,{docsPath:jf});s=a}if(s.type!=="function")throw new sr(void 0,{docsPath:jf});if(!s.outputs)throw new Ms(s.name,{docsPath:jf});let i=Qr(s.outputs,n);if(i&&i.length>1)return i;if(i&&i.length===1)return i[0]}var jf,Qo=S(()=>{Ce();aa();Ao();jf="/docs/contract/decodeFunctionResult"});var vg,Cg=S(()=>{vg="0.1.1"});function Eg(){return vg}var kg=S(()=>{Cg()});function Sg(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?Sg(e.cause,t):t?null:e}var B,bt=S(()=>{kg();B=class extends Error{constructor(t,r={}){let o=(()=>{if(r.cause instanceof B){if(r.cause.details)return r.cause.details;if(r.cause.shortMessage)return r.cause.shortMessage}return r.cause&&"details"in r.cause&&typeof r.cause.details=="string"?r.cause.details:r.cause?.message?r.cause.message:r.details})(),n=(()=>r.cause instanceof B&&r.cause.docsPath||r.docsPath)(),i=`https://oxlib.sh${n??""}`,a=[t||"An error occurred.",...r.metaMessages?["",...r.metaMessages]:[],...o||n?["",o?`Details: ${o}`:void 0,n?`See: ${i}`:void 0]:[]].filter(c=>typeof c=="string").join(`
47
- `);super(a,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${Eg()}`}),this.cause=r.cause,this.details=o,this.docs=i,this.docsPath=n,this.shortMessage=t}walk(t){return Sg(this,t)}}});function ei(e,t){if(Wt(e)>t)throw new eu({givenSize:Wt(e),maxSize:t})}function _g(e,t){if(typeof t=="number"&&t>0&&t>Wt(e)-1)throw new fa({offset:t,position:"start",size:Wt(e)})}function Ig(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Wt(e)!==r-t)throw new fa({offset:r,position:"end",size:Wt(e)})}function Gf(e){if(e>=oo.zero&&e<=oo.nine)return e-oo.zero;if(e>=oo.A&&e<=oo.F)return e-(oo.A-10);if(e>=oo.a&&e<=oo.f)return e-(oo.a-10)}function Ag(e,t={}){let{dir:r,size:o=32}=t;if(o===0)return e;if(e.length>o)throw new tu({size:e.length,targetSize:o,type:"Bytes"});let n=new Uint8Array(o);for(let s=0;s<o;s++){let i=r==="right";n[i?s:o-s-1]=e[i?s:e.length-s-1]}return n}function qf(e,t={}){let{dir:r="left"}=t,o=e,n=0;for(let s=0;s<o.length-1&&o[r==="left"?s:o.length-s-1].toString()==="0";s++)n++;return o=r==="left"?o.slice(n):o.slice(0,o.length-n),o}var oo,Pg=S(()=>{en();oo={zero:48,nine:57,A:65,F:70,a:97,f:102}});function ti(e,t){if(he(e)>t)throw new ru({givenSize:he(e),maxSize:t})}function Tg(e,t){if(typeof t=="number"&&t>0&&t>he(e)-1)throw new la({offset:t,position:"start",size:he(e)})}function $g(e,t,r){if(typeof t=="number"&&typeof r=="number"&&he(e)!==r-t)throw new la({offset:r,position:"end",size:he(e)})}function Vf(e,t={}){let{dir:r,size:o=32}=t;if(o===0)return e;let n=e.replace("0x","");if(n.length>o*2)throw new ou({size:Math.ceil(n.length/2),targetSize:o,type:"Hex"});return`0x${n[r==="right"?"padEnd":"padStart"](o*2,"0")}`}function Rg(e,t={}){let{dir:r="left"}=t,o=e.replace("0x",""),n=0;for(let s=0;s<o.length-1&&o[r==="left"?s:o.length-s-1].toString()==="0";s++)n++;return o=r==="left"?o.slice(n):o.slice(0,o.length-n),o==="0"?"0x":r==="right"&&o.length%2===1?`0x${o}0`:`0x${o}`}var Kf=S(()=>{je()});function tn(e,t,r){return JSON.stringify(e,(o,n)=>typeof t=="function"?t(o,n):typeof n=="bigint"?n.toString()+I2:n,r)}var I2,da=S(()=>{I2="#__bigint"});import{equalBytes as oN}from"@noble/curves/abstract/utils";function T2(e){if(!(e instanceof Uint8Array)){if(!e)throw new ri(e);if(typeof e!="object")throw new ri(e);if(!("BYTES_PER_ELEMENT"in e))throw new ri(e);if(e.BYTES_PER_ELEMENT!==1||e.constructor.name!=="Uint8Array")throw new ri(e)}}function Fg(e){return e instanceof Uint8Array?e:typeof e=="string"?oi(e):$2(e)}function $2(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function oi(e,t={}){let{size:r}=t,o=e;r&&(ti(e,r),o=Ar(e,r));let n=o.slice(2);n.length%2&&(n=`0${n}`);let s=n.length/2,i=new Uint8Array(s);for(let a=0,c=0;a<s;a++){let m=Gf(n.charCodeAt(c++)),u=Gf(n.charCodeAt(c++));if(m===void 0||u===void 0)throw new B(`Invalid byte sequence ("${n[c-2]}${n[c-1]}" in "${n}").`);i[a]=m*16+u}return i}function Mg(e,t={}){let{size:r}=t,o=P2.encode(e);return typeof r=="number"?(ei(o,r),R2(o,r)):o}function R2(e,t){return Ag(e,{dir:"right",size:t})}function Wt(e){return e.length}function Dg(e,t,r,o={}){let{strict:n}=o;_g(e,t);let s=e.slice(t,r);return n&&Ig(s,t,r),s}function Ng(e,t={}){let{size:r}=t;typeof r<"u"&&ei(e,r);let o=Ie(e,t);return Zf(o,t)}function zg(e,t={}){let{size:r}=t,o=e;if(typeof r<"u"&&(ei(o,r),o=Jf(o)),o.length>1||o[0]>1)throw new Wf(o);return!!o[0]}function Ir(e,t={}){let{size:r}=t;typeof r<"u"&&ei(e,r);let o=Ie(e,t);return su(o,t)}function Lg(e,t={}){let{size:r}=t,o=e;return typeof r<"u"&&(ei(o,r),o=B2(o)),A2.decode(o)}function Jf(e){return qf(e,{dir:"left"})}function B2(e){return qf(e,{dir:"right"})}function Og(e){try{return T2(e),!0}catch{return!1}}var A2,P2,Wf,ri,eu,fa,tu,en=S(()=>{bt();je();Pg();Kf();da();A2=new TextDecoder,P2=new TextEncoder;Wf=class extends B{constructor(t){super(`Bytes value \`${t}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"})}},ri=class extends B{constructor(t){super(`Value \`${typeof t=="object"?tn(t):t}\` of type \`${typeof t}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"})}},eu=class extends B{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}},fa=class extends B{constructor({offset:t,position:r,size:o}){super(`Slice ${r==="start"?"starting":"ending"} at offset \`${t}\` is out-of-bounds (size: \`${o}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"})}},tu=class extends B{constructor({size:t,targetSize:r,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}}});import{equalBytes as sN}from"@noble/curves/abstract/utils";function D2(e,t={}){let{strict:r=!1}=t;if(!e)throw new iu(e);if(typeof e!="string")throw new iu(e);if(r&&!/^0x[0-9a-fA-F]*$/.test(e))throw new au(e);if(!e.startsWith("0x"))throw new au(e)}function we(...e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}function ni(e){return e instanceof Uint8Array?Ie(e):Array.isArray(e)?Ie(new Uint8Array(e)):e}function cu(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(ti(r,t.size),no(r,t.size)):r}function Ie(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=M2[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(ti(o,t.size),Ar(o,t.size)):o}function ee(e,t={}){let{signed:r,size:o}=t,n=BigInt(e),s;o?r?s=(1n<<BigInt(o)*8n-1n)-1n:s=2n**(BigInt(o)*8n)-1n:typeof e=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));let i=typeof s=="bigint"&&r?-s-1n:0;if(s&&n>s||n<i){let m=typeof e=="bigint"?"n":"";throw new ha({max:s?`${s}${m}`:void 0,min:`${i}${m}`,signed:r,size:o,value:`${e}${m}`})}let c=`0x${(r&&n<0?(1n<<BigInt(o*8))+BigInt(n):n).toString(16)}`;return o?no(c,o):c}function si(e,t={}){return Ie(F2.encode(e),t)}function no(e,t){return Vf(e,{dir:"left",size:t})}function Ar(e,t){return Vf(e,{dir:"right",size:t})}function ge(e,t,r,o={}){let{strict:n}=o;Tg(e,t);let s=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return n&&$g(s,t,r),s}function he(e){return Math.ceil((e.length-2)/2)}function Yf(e){return Rg(e,{dir:"left"})}function Zf(e,t={}){let{signed:r}=t;t.size&&ti(e,t.size);let o=BigInt(e);if(!r)return o;let n=(e.length-2)/2,s=(1n<<BigInt(n)*8n)-1n,i=s>>1n;return o<=i?o:o-s-1n}function su(e,t={}){let{signed:r,size:o}=t;return Number(!r&&!o?e:Zf(e,t))}function ga(e,t={}){let{strict:r=!1}=t;try{return D2(e,{strict:r}),!0}catch{return!1}}var F2,M2,ha,iu,au,ru,la,ou,je=S(()=>{bt();Kf();da();F2=new TextEncoder,M2=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));ha=class extends B{constructor({max:t,min:r,signed:o,size:n,value:s}){super(`Number \`${s}\` is not in safe${n?` ${n*8}-bit`:""}${o?" signed":" unsigned"} integer range ${t?`(\`${r}\` to \`${t}\`)`:`(above \`${r}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}},iu=class extends B{constructor(t){super(`Value \`${typeof t=="object"?tn(t):t}\` of type \`${typeof t}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}},au=class extends B{constructor(t){super(`Value \`${t}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}},ru=class extends B{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}},la=class extends B{constructor({offset:t,position:r,size:o}){super(`Slice ${r==="start"?"starting":"ending"} at offset \`${t}\` is out-of-bounds (size: \`${o}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}},ou=class extends B{constructor({size:t,targetSize:r,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}});function Ug(e){return{address:e.address,amount:ee(e.amount),index:ee(e.index),validatorIndex:ee(e.validatorIndex)}}var Hg=S(()=>{je()});function mu(e){return{...typeof e.baseFeePerGas=="bigint"&&{baseFeePerGas:ee(e.baseFeePerGas)},...typeof e.blobBaseFee=="bigint"&&{blobBaseFee:ee(e.blobBaseFee)},...typeof e.feeRecipient=="string"&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit=="bigint"&&{gasLimit:ee(e.gasLimit)},...typeof e.number=="bigint"&&{number:ee(e.number)},...typeof e.prevRandao=="bigint"&&{prevRandao:ee(e.prevRandao)},...typeof e.time=="bigint"&&{time:ee(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Ug)}}}var Xf=S(()=>{je();Hg()});var Fn,uu,Gg,pu,qg,Qf,el,tl,rl,rn=S(()=>{Fn=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],uu=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],Gg=[{inputs:[{name:"dns",type:"bytes"}],name:"DNSDecodingFailed",type:"error"},{inputs:[{name:"ens",type:"string"}],name:"DNSEncodingFailed",type:"error"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"HttpError",type:"error"},{inputs:[],name:"InvalidBatchGatewayResponse",type:"error"},{inputs:[{name:"errorData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{name:"name",type:"bytes"},{name:"resolver",type:"address"}],name:"ResolverNotContract",type:"error"},{inputs:[{name:"name",type:"bytes"}],name:"ResolverNotFound",type:"error"},{inputs:[{name:"primary",type:"string"},{name:"primaryAddress",type:"bytes"}],name:"ReverseAddressMismatch",type:"error"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"UnsupportedResolverProfile",type:"error"}],pu=[...Gg,{name:"resolveWithGateways",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],qg=[...Gg,{name:"reverseWithGateways",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"},{type:"uint256",name:"coinType"},{type:"string[]",name:"gateways"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolver"},{type:"address",name:"reverseResolver"}]}],Qf=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],el=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],tl=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],rl=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}]});var Vg,Kg=S(()=>{Vg="0x82ad56cb"});var fu,Wg,Jg,ii,ya=S(()=>{fu="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",Wg="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",Jg="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",ii="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033"});function Mn(e){let{abi:t,args:r,bytecode:o}=e;if(!r||r.length===0)return o;let n=t.find(i=>"type"in i&&i.type==="constructor");if(!n)throw new Yc({docsPath:ol});if(!("inputs"in n))throw new ea({docsPath:ol});if(!n.inputs||n.inputs.length===0)throw new ea({docsPath:ol});let s=st(n.inputs,r);return Ue([o,s])}var ol,lu=S(()=>{Ce();nt();Xr();ol="/docs/contract/encodeDeployData"});function ai(){let e=()=>{},t=()=>{};return{promise:new Promise((o,n)=>{e=o,t=n}),resolve:e,reject:t}}var du=S(()=>{});function hu({fn:e,id:t,shouldSplitBatch:r,wait:o=0,sort:n}){let s=async()=>{let u=c();i();let f=u.map(({args:p})=>p);f.length!==0&&e(f).then(p=>{n&&Array.isArray(p)&&p.sort(n);for(let d=0;d<u.length;d++){let{resolve:h}=u[d];h?.([p[d],p])}}).catch(p=>{for(let d=0;d<u.length;d++){let{reject:h}=u[d];h?.(p)}})},i=()=>nl.delete(t),a=()=>c().map(({args:u})=>u),c=()=>nl.get(t)||[],m=u=>nl.set(t,[...c(),u]);return{flush:i,async schedule(u){let{promise:f,resolve:p,reject:d}=ai();return r?.([...a(),u])&&s(),c().length>0?(m({args:u,resolve:p,reject:d}),f):(m({args:u,resolve:p,reject:d}),setTimeout(s,o),f)}}}var nl,sl=S(()=>{du();nl=new Map});var gu,yu,bu,Zg=S(()=>{Ye();H();Nm();gu=class extends x{constructor({callbackSelector:t,cause:r,data:o,extraData:n,sender:s,urls:i}){super(r.shortMessage||"An error occurred while fetching for an offchain result.",{cause:r,metaMessages:[...r.metaMessages||[],r.metaMessages?.length?"":[],"Offchain Gateway Call:",i&&[" Gateway URL(s):",...i.map(a=>` ${Pn(a)}`)],` Sender: ${s}`,` Data: ${o}`,` Callback selector: ${t}`,` Extra data: ${n}`].flat(),name:"OffchainLookupError"})}},yu=class extends x{constructor({result:t,url:r}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${Pn(r)}`,`Response: ${W(t)}`],name:"OffchainLookupResponseMalformedError"})}},bu=class extends x{constructor({sender:t,to:r}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${r}`,`OffchainLookup sender address: ${t}`],name:"OffchainLookupSenderMismatchError"})}}});function Yg(e){let{abi:t,data:r}=e,o=Ut(r,0,4),n=t.find(s=>s.type==="function"&&o===br(De(s)));if(!n)throw new om(o,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:n.name,args:"inputs"in n&&n.inputs&&n.inputs.length>0?Qr(n.inputs,Ut(r,4)):void 0}}var Xg=S(()=>{Ce();So();Us();aa();Zr()});function al(e){let{abi:t,errorName:r,args:o}=e,n=t[0];if(r){let c=ht({abi:t,args:o,name:r});if(!c)throw new ta(r,{docsPath:il});n=c}if(n.type!=="error")throw new ta(void 0,{docsPath:il});let s=De(n),i=br(s),a="0x";if(o&&o.length>0){if(!n.inputs)throw new tm(n.name,{docsPath:il});a=st(n.inputs,o)}return Ue([i,a])}var il,Qg=S(()=>{Ce();nt();Us();Xr();Zr();Ao();il="/docs/contract/encodeErrorResult"});function ey(e){let{abi:t,functionName:r,result:o}=e,n=t[0];if(r){let i=ht({abi:t,name:r});if(!i)throw new sr(r,{docsPath:cl});n=i}if(n.type!=="function")throw new sr(void 0,{docsPath:cl});if(!n.outputs)throw new Ms(n.name,{docsPath:cl});let s=(()=>{if(n.outputs.length===0)return[];if(n.outputs.length===1)return[o];if(Array.isArray(o))return o;throw new Ds(o)})();return st(n.outputs,s)}var cl,ty=S(()=>{Ce();Xr();Ao();cl="/docs/contract/encodeFunctionResult"});async function ml(e){let{data:t,ccipRequest:r}=e,{args:[o]}=Yg({abi:uu,data:t}),n=[],s=[];return await Promise.all(o.map(async(i,a)=>{try{s[a]=i.urls.includes(so)?await ml({data:i.data,ccipRequest:r}):await r(i),n[a]=!1}catch(c){n[a]=!0,s[a]=z2(c)}})),ey({abi:uu,functionName:"query",result:[n,s]})}function z2(e){return e.name==="HttpRequestError"&&e.status?al({abi:uu,errorName:"HttpError",args:[e.status,e.shortMessage]}):al({abi:[Wc],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}var so,ba=S(()=>{rn();Jc();Xg();Qg();ty();so="x-batch-gateway:true"});var ny={};rf(ny,{ccipRequest:()=>oy,offchainLookup:()=>O2,offchainLookupAbiItem:()=>ry,offchainLookupSignature:()=>L2});async function O2(e,{blockNumber:t,blockTag:r,data:o,to:n}){let{args:s}=Fm({data:o,abi:[ry]}),[i,a,c,m,u]=s,{ccipRead:f}=e,p=f&&typeof f?.request=="function"?f.request:oy;try{if(!Kt(n,i))throw new bu({sender:i,to:n});let d=a.includes(so)?await ml({data:c,ccipRequest:p}):await p({data:c,sender:i,urls:a}),{data:h}=await Pr(e,{blockNumber:t,blockTag:r,data:Pe([m,st([{type:"bytes"},{type:"bytes"}],[d,u])]),to:n});return h}catch(d){throw new gu({callbackSelector:m,cause:d,data:o,extraData:u,sender:i,urls:a})}}async function oy({data:e,sender:t,urls:r}){let o=new Error("An unknown error occurred.");for(let n=0;n<r.length;n++){let s=r[n],i=s.includes("{data}")?"GET":"POST",a=i==="POST"?{data:e,sender:t}:void 0,c=i==="POST"?{"Content-Type":"application/json"}:{};try{let m=await fetch(s.replace("{sender}",t.toLowerCase()).replace("{data}",e),{body:JSON.stringify(a),headers:c,method:i}),u;if(m.headers.get("Content-Type")?.startsWith("application/json")?u=(await m.json()).data:u=await m.text(),!m.ok){o=new qt({body:a,details:u?.error?W(u.error):m.statusText,headers:m.headers,status:m.status,url:s});continue}if(!ce(u)){o=new yu({result:u,url:s});continue}return u}catch(m){o=new qt({body:a,details:m.message,url:s})}}throw o}var L2,ry,sy=S(()=>{ci();Zg();$n();Nf();Xr();Rn();nt();kt();ba();Ye();L2="0x556f1830",ry={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]}});async function Pr(e,t){let{account:r=e.account,authorizationList:o,batch:n=!!e.batch?.multicall,blockNumber:s,blockTag:i=e.experimental_blockTag??"latest",accessList:a,blobs:c,blockOverrides:m,code:u,data:f,factory:p,factoryData:d,gas:h,gasPrice:g,maxFeePerBlobGas:b,maxFeePerGas:y,maxPriorityFeePerGas:v,nonce:C,to:k,value:_,stateOverride:I,...A}=t,R=r?j(r):void 0;if(u&&(p||d))throw new x("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(u&&k)throw new x("Cannot provide both `code` & `to` as parameters.");let N=u&&f,M=p&&d&&k&&f,U=N||M,G=(()=>N?iy({code:u,data:f}):M?j2({data:f,factory:p,factoryData:d,to:k}):f)();try{Qe(t);let me=(typeof s=="bigint"?E(s):void 0)||i,Ae=m?mu(m):void 0,qe=Ks(I),Bt=e.chain?.formatters?.transactionRequest?.format,_e=(Bt||lt)({...kr(A,{format:Bt}),accessList:a,account:R,authorizationList:o,blobs:c,data:G,gas:h,gasPrice:g,maxFeePerBlobGas:b,maxFeePerGas:y,maxPriorityFeePerGas:v,nonce:C,to:U?void 0:k,value:_},"call");if(n&&U2({request:_e})&&!qe&&!Ae)try{return await H2(e,{..._e,blockNumber:s,blockTag:i})}catch(ue){if(!(ue instanceof Vi)&&!(ue instanceof Sn))throw ue}let dr=(()=>{let ue=[_e,me];return qe&&Ae?[...ue,qe,Ae]:qe?[...ue,qe]:Ae?[...ue,{},Ae]:ue})(),go=await e.request({method:"eth_call",params:dr});return go==="0x"?{data:void 0}:{data:go}}catch(q){let me=G2(q),{offchainLookup:Ae,offchainLookupSignature:qe}=await Promise.resolve().then(()=>(sy(),ny));if(e.ccipRead!==!1&&me?.slice(0,10)===qe&&k)return{data:await Ae(e,{data:me,to:k})};throw U&&me?.slice(0,10)==="0x101bb98d"?new Lm({factory:p}):Um(q,{...t,account:R,chain:e.chain})}}function U2({request:e}){let{data:t,to:r,...o}=e;return!(!t||t.startsWith(Vg)||!r||Object.values(o).filter(n=>typeof n<"u").length>0)}async function H2(e,t){let{batchSize:r=1024,deployless:o=!1,wait:n=0}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},{blockNumber:s,blockTag:i=e.experimental_blockTag??"latest",data:a,to:c}=t,m=(()=>{if(o)return null;if(t.multicallAddress)return t.multicallAddress;if(e.chain)return Ht({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Vi})(),f=(typeof s=="bigint"?E(s):void 0)||i,{schedule:p}=hu({id:`${e.uid}.${f}`,wait:n,shouldSplitBatch(g){return g.reduce((y,{data:v})=>y+(v.length-2),0)>r*2},fn:async g=>{let b=g.map(C=>({allowFailure:!0,callData:C.data,target:C.to})),y=pe({abi:Fn,args:[b],functionName:"aggregate3"}),v=await e.request({method:"eth_call",params:[{...m===null?{data:iy({code:ii,data:y})}:{to:m,data:y}},f]});return yt({abi:Fn,args:[b],functionName:"aggregate3",data:v||"0x"})}}),[{returnData:d,success:h}]=await p({data:a,to:c});if(!h)throw new wr({data:d});return d==="0x"?{data:void 0}:{data:d}}function iy(e){let{code:t,data:r}=e;return Mn({abi:Am(["constructor(bytes, bytes)"]),bytecode:fu,args:[t,r]})}function j2(e){let{data:t,factory:r,factoryData:o,to:n}=e;return Mn({abi:Am(["constructor(address, bytes, address, bytes)"]),bytecode:Wg,args:[n,t,r,o]})}function G2(e){if(!(e instanceof x))return;let t=e.walk();return typeof t?.data=="object"?t.data?.data:t.data}var ci=S(()=>{sa();Xf();ve();rn();Kg();ya();H();Ki();Po();Qo();lu();At();In();F();Uf();Vs();wo();sl();Jm();ro()});var ed=mt(Fa=>{"use strict";var l8=Fa&&Fa.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fa,"__esModule",{value:!0});Fa.encryptEnvVars=g8;var Xl=Gr("@noble/curves/ed25519"),Ql=l8(Gr("crypto"));function d8(e){var t,r;return e=e.startsWith("0x")?e.slice(2):e,new Uint8Array((r=(t=e.match(/.{1,2}/g))===null||t===void 0?void 0:t.map(o=>parseInt(o,16)))!==null&&r!==void 0?r:[])}function h8(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}async function g8(e,t){let r=JSON.stringify({env:e}),o=Xl.x25519.utils.randomPrivateKey(),n=Xl.x25519.getPublicKey(o),s=d8(t),i=Xl.x25519.getSharedSecret(o,s),a=await Ql.default.subtle.importKey("raw",i,{name:"AES-GCM",length:256},!0,["encrypt"]),c=Ql.default.getRandomValues(new Uint8Array(12)),m=await Ql.default.subtle.encrypt({name:"AES-GCM",iv:c},a,new TextEncoder().encode(r)),u=new Uint8Array(n.length+c.length+m.byteLength);return u.set(n),u.set(c,n.length),u.set(new Uint8Array(m),n.length+c.length),h8(u)}});var rx=mt(Ma=>{"use strict";var y8=Ma&&Ma.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ma,"__esModule",{value:!0});Ma.getComposeHash=v8;var b8=y8(Gr("crypto"));function td(e){return e==null?e:Array.isArray(e)?e.map(td):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=td(o),t},{}):e}function x8(e){let t={...e};return t.runner==="bash"&&"docker_compose_file"in t?delete t.docker_compose_file:t.runner==="docker-compose"&&"bash_script"in t&&delete t.bash_script,"pre_launch_script"in t&&!t.pre_launch_script&&delete t.pre_launch_script,t}function w8(e){let t=td(e);return JSON.stringify(t,(r,o)=>typeof o=="number"&&(isNaN(o)||!isFinite(o))?null:o)}function v8(e,t=!1){t&&(e=x8(e));let r=w8(e);return b8.default.createHash("sha256").update(r,"utf8").digest("hex")}});var kx=mt(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.toBig=O.shrSL=O.shrSH=O.rotrSL=O.rotrSH=O.rotrBL=O.rotrBH=O.rotr32L=O.rotr32H=O.rotlSL=O.rotlSH=O.rotlBL=O.rotlBH=O.add5L=O.add5H=O.add4L=O.add4H=O.add3L=O.add3H=void 0;O.add=yx;O.fromBig=od;O.split=ox;var gp=BigInt(2**32-1),rd=BigInt(32);function od(e,t=!1){return t?{h:Number(e&gp),l:Number(e>>rd&gp)}:{h:Number(e>>rd&gp)|0,l:Number(e&gp)|0}}function ox(e,t=!1){let r=e.length,o=new Uint32Array(r),n=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=od(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var nx=(e,t)=>BigInt(e>>>0)<<rd|BigInt(t>>>0);O.toBig=nx;var sx=(e,t,r)=>e>>>r;O.shrSH=sx;var ix=(e,t,r)=>e<<32-r|t>>>r;O.shrSL=ix;var ax=(e,t,r)=>e>>>r|t<<32-r;O.rotrSH=ax;var cx=(e,t,r)=>e<<32-r|t>>>r;O.rotrSL=cx;var mx=(e,t,r)=>e<<64-r|t>>>r-32;O.rotrBH=mx;var ux=(e,t,r)=>e>>>r-32|t<<64-r;O.rotrBL=ux;var px=(e,t)=>t;O.rotr32H=px;var fx=(e,t)=>e;O.rotr32L=fx;var lx=(e,t,r)=>e<<r|t>>>32-r;O.rotlSH=lx;var dx=(e,t,r)=>t<<r|e>>>32-r;O.rotlSL=dx;var hx=(e,t,r)=>t<<r-32|e>>>64-r;O.rotlBH=hx;var gx=(e,t,r)=>e<<r-32|t>>>64-r;O.rotlBL=gx;function yx(e,t,r,o){let n=(t>>>0)+(o>>>0);return{h:e+r+(n/2**32|0)|0,l:n|0}}var bx=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);O.add3L=bx;var xx=(e,t,r,o)=>t+r+o+(e/2**32|0)|0;O.add3H=xx;var wx=(e,t,r,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0);O.add4L=wx;var vx=(e,t,r,o,n)=>t+r+o+n+(e/2**32|0)|0;O.add4H=vx;var Cx=(e,t,r,o,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0)+(n>>>0);O.add5L=Cx;var Ex=(e,t,r,o,n,s)=>t+r+o+n+s+(e/2**32|0)|0;O.add5H=Ex;var C8={fromBig:od,split:ox,toBig:nx,shrSH:sx,shrSL:ix,rotrSH:ax,rotrSL:cx,rotrBH:mx,rotrBL:ux,rotr32H:px,rotr32L:fx,rotlSH:lx,rotlSL:dx,rotlBH:hx,rotlBL:gx,add:yx,add3L:bx,add3H:xx,add4L:wx,add4H:vx,add5H:Ex,add5L:Cx};O.default=C8});var Sx=mt(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});yp.crypto=void 0;var pn=Gr("node:crypto");yp.crypto=pn&&typeof pn=="object"&&"webcrypto"in pn?pn.webcrypto:pn&&typeof pn=="object"&&"randomBytes"in pn?pn:void 0});var Bx=mt(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.wrapXOFConstructorWithOpts=D.wrapConstructorWithOpts=D.wrapConstructor=D.Hash=D.nextTick=D.swap32IfBE=D.byteSwapIfBE=D.swap8IfBE=D.isLE=void 0;D.isBytes=Ix;D.anumber=nd;D.abytes=Ci;D.ahash=E8;D.aexists=k8;D.aoutput=S8;D.u8=_8;D.u32=I8;D.clean=A8;D.createView=P8;D.rotr=T8;D.rotl=$8;D.byteSwap=id;D.byteSwap32=Ax;D.bytesToHex=B8;D.hexToBytes=F8;D.asyncLoop=D8;D.utf8ToBytes=ad;D.bytesToUtf8=N8;D.toBytes=bp;D.kdfInputToBytes=z8;D.concatBytes=L8;D.checkOpts=O8;D.createHasher=Tx;D.createOptHasher=$x;D.createXOFer=Rx;D.randomBytes=U8;var vi=Sx();function Ix(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function nd(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Ci(e,...t){if(!Ix(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function E8(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");nd(e.outputLen),nd(e.blockLen)}function k8(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function S8(e,t){Ci(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function _8(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function I8(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function A8(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function P8(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function T8(e,t){return e<<32-t|e>>>t}function $8(e,t){return e<<t|e>>>32-t>>>0}D.isLE=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function id(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}D.swap8IfBE=D.isLE?e=>e:e=>id(e);D.byteSwapIfBE=D.swap8IfBE;function Ax(e){for(let t=0;t<e.length;t++)e[t]=id(e[t]);return e}D.swap32IfBE=D.isLE?e=>e:Ax;var Px=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),R8=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function B8(e){if(Ci(e),Px)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=R8[e[r]];return t}var co={_0:48,_9:57,A:65,F:70,a:97,f:102};function _x(e){if(e>=co._0&&e<=co._9)return e-co._0;if(e>=co.A&&e<=co.F)return e-(co.A-10);if(e>=co.a&&e<=co.f)return e-(co.a-10)}function F8(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Px)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let o=new Uint8Array(r);for(let n=0,s=0;n<r;n++,s+=2){let i=_x(e.charCodeAt(s)),a=_x(e.charCodeAt(s+1));if(i===void 0||a===void 0){let c=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}o[n]=i*16+a}return o}var M8=async()=>{};D.nextTick=M8;async function D8(e,t,r){let o=Date.now();for(let n=0;n<e;n++){r(n);let s=Date.now()-o;s>=0&&s<t||(await(0,D.nextTick)(),o+=s)}}function ad(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function N8(e){return new TextDecoder().decode(e)}function bp(e){return typeof e=="string"&&(e=ad(e)),Ci(e),e}function z8(e){return typeof e=="string"&&(e=ad(e)),Ci(e),e}function L8(...e){let t=0;for(let o=0;o<e.length;o++){let n=e[o];Ci(n),t+=n.length}let r=new Uint8Array(t);for(let o=0,n=0;o<e.length;o++){let s=e[o];r.set(s,n),n+=s.length}return r}function O8(e,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(e,t)}var sd=class{};D.Hash=sd;function Tx(e){let t=o=>e().update(bp(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function $x(e){let t=(o,n)=>e(n).update(bp(o)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=o=>e(o),t}function Rx(e){let t=(o,n)=>e(n).update(bp(o)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=o=>e(o),t}D.wrapConstructor=Tx;D.wrapConstructorWithOpts=$x;D.wrapXOFConstructorWithOpts=Rx;function U8(e=32){if(vi.crypto&&typeof vi.crypto.getRandomValues=="function")return vi.crypto.getRandomValues(new Uint8Array(e));if(vi.crypto&&typeof vi.crypto.randomBytes=="function")return Uint8Array.from(vi.crypto.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}});var Hx=mt(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.shake256=fe.shake128=fe.keccak_512=fe.keccak_384=fe.keccak_256=fe.keccak_224=fe.sha3_512=fe.sha3_384=fe.sha3_256=fe.sha3_224=fe.Keccak=void 0;fe.keccakP=Ox;var Na=kx(),rt=Bx(),H8=BigInt(0),Da=BigInt(1),j8=BigInt(2),G8=BigInt(7),q8=BigInt(256),V8=BigInt(113),Dx=[],Nx=[],zx=[];for(let e=0,t=Da,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],Dx.push(2*(5*o+r)),Nx.push((e+1)*(e+2)/2%64);let n=H8;for(let s=0;s<7;s++)t=(t<<Da^(t>>G8)*V8)%q8,t&j8&&(n^=Da<<(Da<<BigInt(s))-Da);zx.push(n)}var Lx=(0,Na.split)(zx,!0),K8=Lx[0],W8=Lx[1],Fx=(e,t,r)=>r>32?(0,Na.rotlBH)(e,t,r):(0,Na.rotlSH)(e,t,r),Mx=(e,t,r)=>r>32?(0,Na.rotlBL)(e,t,r):(0,Na.rotlSL)(e,t,r);function Ox(e,t=24){let r=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let i=0;i<10;i++)r[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){let a=(i+8)%10,c=(i+2)%10,m=r[c],u=r[c+1],f=Fx(m,u,1)^r[a],p=Mx(m,u,1)^r[a+1];for(let d=0;d<50;d+=10)e[i+d]^=f,e[i+d+1]^=p}let n=e[2],s=e[3];for(let i=0;i<24;i++){let a=Nx[i],c=Fx(n,s,a),m=Mx(n,s,a),u=Dx[i];n=e[u],s=e[u+1],e[u]=c,e[u+1]=m}for(let i=0;i<50;i+=10){for(let a=0;a<10;a++)r[a]=e[i+a];for(let a=0;a<10;a++)e[i+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=K8[o],e[1]^=W8[o]}(0,rt.clean)(r)}var Gn=class extends rt.Hash{constructor(t,r,o,n=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=r,this.outputLen=o,this.enableXOF=n,this.rounds=s,(0,rt.anumber)(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=(0,rt.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,rt.swap32IfBE)(this.state32),Ox(this.state32,this.rounds),(0,rt.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(t){(0,rt.aexists)(this),t=(0,rt.toBytes)(t),(0,rt.abytes)(t);let{blockLen:r,state:o}=this,n=t.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);for(let a=0;a<i;a++)o[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:o,blockLen:n}=this;t[o]^=r,r&128&&o===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){(0,rt.aexists)(this,!1),(0,rt.abytes)(t),this.finish();let r=this.state,{blockLen:o}=this;for(let n=0,s=t.length;n<s;){this.posOut>=o&&this.keccak();let i=Math.min(o-this.posOut,s-n);t.set(r.subarray(this.posOut,this.posOut+i),n),this.posOut+=i,n+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return(0,rt.anumber)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,rt.aoutput)(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,rt.clean)(this.state)}_cloneInto(t){let{blockLen:r,suffix:o,outputLen:n,rounds:s,enableXOF:i}=this;return t||(t=new Gn(r,o,n,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=o,t.outputLen=n,t.enableXOF=i,t.destroyed=this.destroyed,t}};fe.Keccak=Gn;var fn=(e,t,r)=>(0,rt.createHasher)(()=>new Gn(t,e,r));fe.sha3_224=(()=>fn(6,144,224/8))();fe.sha3_256=(()=>fn(6,136,256/8))();fe.sha3_384=(()=>fn(6,104,384/8))();fe.sha3_512=(()=>fn(6,72,512/8))();fe.keccak_224=(()=>fn(1,144,224/8))();fe.keccak_256=(()=>fn(1,136,256/8))();fe.keccak_384=(()=>fn(1,104,384/8))();fe.keccak_512=(()=>fn(1,72,512/8))();var Ux=(e,t,r)=>(0,rt.createXOFer)((o={})=>new Gn(t,e,o.dkLen===void 0?r:o.dkLen,!0));fe.shake128=(()=>Ux(31,168,128/8))();fe.shake256=(()=>Ux(31,136,256/8))()});var jx=mt(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});cd.verifyEnvEncryptPublicKey=Y8;var J8=Hx(),Z8=Gr("@noble/curves/secp256k1");function Y8(e,t,r){if(t.length!==65)return null;let o=Buffer.from("dstack-env-encrypt-pubkey","utf8"),n=r;r.startsWith("0x")&&(n=r.slice(2));let s=Buffer.from(n,"hex"),i=Buffer.from(":","utf8"),a=Buffer.concat([o,i,s,Buffer.from(e)]),c=(0,J8.keccak_256)(a);try{let m=t.slice(0,32),u=t.slice(32,64),f=t[64],p=new Uint8Array(64);p.set(m,0),p.set(u,32);let d=Z8.secp256k1.Signature.fromCompact(p).addRecoveryBit(f).recoverPublicKey(c);return"0x"+Buffer.from(d.toRawBytes(!0)).toString("hex")}catch(m){return console.error("signature verification failed:",m),null}}});import{readFileSync as jI}from"node:fs";import{dirname as GI,join as qI}from"node:path";import{fileURLToPath as VI}from"node:url";import{ZodError as k_}from"zod";import Ha from"chalk";function oc(e){return e.split(/[\s-]+/).filter(Boolean).map((t,r)=>r===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function n0(e){return e===void 0?[]:Array.isArray(e)?[...e]:[e]}function s0(e,t){let r={};for(let a of t.flagConfig.descriptors.values()){let c=t.flags[a.canonicalKey];c!==void 0&&(r[a.target]=c)}for(let a of t.flagConfig.negatedLookup.values())a.negatedKey&&t.flags[a.negatedKey]&&(r[a.target]=!1);let o={},n=e.arguments??[],s=[...t.positionals],i=0;for(let a of n){let c=a.target??oc(a.name);if(a.variadic){o[c]=s.slice(i),i=s.length;break}o[c]=s[i],i+=1}return{options:r,positionals:o,raw:{flags:t.flags,positionals:t.positionals}}}import Tv from"arg";var _v={name:"help",shorthand:"h",description:"Show help information for the current command",type:"boolean",target:"help"},Iv={name:"version",shorthand:"v",description:"Show CLI version",type:"boolean",target:"version"};var Av={name:"api-token",description:"API token used for authentication",type:"string",target:"apiToken",aliases:["api-key"],argumentName:"token"},es=[_v,Iv],ts=[Av];import i0 from"arg";function a0(e){let t={},r=new Map,o=new Map;if(!e)return{spec:t,descriptors:r,negatedLookup:o};for(let n of e){let s=`--${n.name}`,i=n.target??oc(n.name),a=Pv(n.type);r.set(s,{option:n,canonicalKey:s,target:i,negatedKey:n.negatedName?`--${n.negatedName}`:void 0}),t[s]=a,n.shorthand&&(t[`-${n.shorthand}`]=s);for(let c of n0(n.aliases))t[`--${c}`]=s;if(n.negatedName){let c=`--${n.negatedName}`;if(n.type!=="boolean")throw new Error(`Negated option is only supported for boolean types: ${n.name}`);t[c]=i0.flag(()=>!0),o.set(c,{option:n,canonicalKey:s,target:i,negatedKey:c})}}return{spec:t,descriptors:r,negatedLookup:o}}function Pv(e){switch(e){case"string":return(t="")=>t;case"number":return(t,r)=>{let o=Number(t);if(Number.isNaN(o))throw new Error(`Invalid value for ${r}: expected a number.`);return o};case"boolean":return i0.flag(()=>!0);case"string[]":return(t,r,o)=>{let n=Array.isArray(o)?[...o]:[];if(t==="")throw new Error(`Option ${r} expects a value.`);return n.push(t),n};case"number[]":return(t,r,o)=>{let n=Array.isArray(o)?[...o]:[],s=Number(t);if(Number.isNaN(s))throw new Error(`Invalid value for ${r}: expected a number.`);return n.push(s),n};default:throw new Error(`Unsupported option type: ${e}`)}}function Ni(e,t,r={}){let o=[...es,...t?[...t]:[]],n=a0(o),{permissive:s=!1,stopAtPositional:i=!1}=r,a=Tv(n.spec,{argv:e,permissive:s,stopAtPositional:i}),{_:c,...m}=a;return{positionals:c??[],flags:m,flagConfig:n}}function nc(e){let{registry:t,executableName:r}=e,o=[];o.push(`Usage: ${r} <command> [options]`),o.push(""),o.push("Available commands:");for(let n of t.getChildren()){let s=n.command?.meta.description??n.group?.meta.description??"",i=n.name??"";o.push(` ${i.padEnd(18)}${s}`.trimEnd())}o.push(""),o.push("Global options:");for(let n of es)o.push(` ${of(n).padEnd(24)}${n.description??""}`.trimEnd());return o.join(`
48
- `)}function c0(e){let{registry:t,executableName:r,groupPath:o}=e,n=t.getNode(o);if(!n?.group)return nc({registry:t,executableName:r});let s=[],i=o.join(" "),a=`${r} ${i}`;s.push(`Usage: ${a} <command> [options]`),s.push(""),n.group.meta.description&&(s.push(n.group.meta.description),s.push(""));let c=t.getChildren(o);if(c.length>0){s.push("Available commands:");for(let m of c){let u=m.command?.meta.description??m.group?.meta.description??"",f=m.name??"";s.push(` ${f.padEnd(18)}${u}`.trimEnd())}s.push("")}s.push("Global options:");for(let m of es)s.push(` ${of(m).padEnd(24)}${m.description??""}`.trimEnd());return s.join(`
49
- `)}function m0(e){let{executableName:t,definition:r,registry:o}=e,s=[$v({executableName:t,definition:r}),"",r.meta.description],i=r.meta.arguments??[];if(i.length>0){s.push(""),s.push("Arguments:");for(let m of i){let u=Bv(m);s.push(` ${u.padEnd(18)}${m.description??""}`.trimEnd())}}let a=[...es,...r.meta.options??[]];if(a.length>0){s.push(""),s.push("Options:");for(let m of a)m.hidden||s.push(` ${of(m).padEnd(24)}${m.description??""}`.trimEnd())}if(r.meta.examples&&r.meta.examples.length>0){s.push(""),s.push("Examples:");for(let m of r.meta.examples)s.push(` # ${m.name}`),s.push(` ${m.value}`)}let c=o.getChildren(r.path);if(c.length>0){s.push(""),s.push("Subcommands:");for(let m of c){let u=m.command?.meta.description??m.group?.meta.description??"",f=m.name??"";s.push(` ${f.padEnd(18)}${u}`.trimEnd())}}return s.join(`
50
- `)}function $v({executableName:e,definition:t}){let r=[e,...t.path],n=(t.meta.arguments??[]).map(c=>Rv(c)).join(" "),i=(t.meta.options?.length??0)>0?" [options]":"",a=n?` ${n}`:"";return`Usage: ${r.join(" ")}${i}${a}`}function Rv(e){let t=`<${e.name}>`;return e.variadic?`${t}...`:e.required===!1?`[${t}]`:t}function Bv(e){return e.variadic?`<${e.name}...>`:e.required===!1?`<${e.name}>?`:`<${e.name}>`}function of(e){let t=[];e.shorthand&&t.push(`-${e.shorthand}`);let r=`--${e.name}`;if(e.argumentName?r+=` ${e.argumentName.toUpperCase()}`:e.type!=="boolean"&&(r+=" <value>"),t.push(r),e.aliases&&e.aliases.length>0)for(let o of e.aliases){let n=`--${o}`;e.argumentName?n+=` ${e.argumentName.toUpperCase()}`:e.type!=="boolean"&&(n+=" <value>"),t.push(n)}return e.type==="boolean"&&e.negatedName&&t.push(`--${e.negatedName}`),t.join(", ")}var nf=!1;function Ve(e){nf=e}function ut(){return nf}function sf(){return!nf}import x_ from"node:path";import xd from"fs-extra";import w_ from"@iarna/toml";import{z as kp}from"zod";var Wx=Di(v0(),1);import{ofetch as X8}from"ofetch";function C0(e){return{all:e=e||new Map,on:function(t,r){var o=e.get(t);o?o.push(r):e.set(t,[r])},off:function(t,r){var o=e.get(t);o&&(r?o.splice(o.indexOf(r)>>>0,1):e.set(t,[]))},emit:function(t,r){var o=e.get(t);o&&o.slice().map(function(n){n(r)}),(o=e.get("*"))&&o.slice().map(function(n){n(t,r)})}}}import{z as Ge}from"zod";import{z as ln}from"zod";import{z as K}from"zod";import{z as dn}from"zod";function wn(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}hc();Be();hc();var df={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Cn(e,t){let r={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?xe(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?xe(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?df[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(r.authorizationList=c5(e.authorizationList)),r.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof r.v=="bigint"){if(r.v===0n||r.v===27n)return 0;if(r.v===1n||r.v===28n)return 1;if(r.v>=35n)return r.v%2n===0n?1:0}})(),r.type==="legacy"&&(delete r.accessList,delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.yParity),r.type==="eip2930"&&(delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas),r.type==="eip1559"&&delete r.maxFeePerBlobGas,r}var _0=is("transaction",Cn);function c5(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function Hi(e,t){let r=(e.transactions??[]).map(o=>typeof o=="string"?o:Cn(o));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:r,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}var I0=is("block",Hi);function Ze(e,{args:t,eventName:r}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...r?{args:t,eventName:r}:{}}}Be();hc();var hf={"0x0":"reverted","0x1":"success"};function ji(e,t){let r={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(o=>Ze(o)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?xe(e.transactionIndex):null,status:e.status?hf[e.status]:null,type:e.type?df[e.type]||e.type:null};return e.blobGasPrice&&(r.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(r.blobGasUsed=BigInt(e.blobGasUsed)),r}var A0=is("transactionReceipt",ji);H();yc();Oe();F();function rr(e,t="hex"){let r=P0(e),o=ms(new Uint8Array(r.length));return r.encode(o),t==="hex"?Y(o.bytes):o.bytes}function P0(e){return Array.isArray(e)?l5(e.map(t=>P0(t))):d5(e)}function l5(e){let t=e.reduce((n,s)=>n+s.length,0),r=T0(t);return{length:(()=>t<=55?1+t:1+r+t)(),encode(n){t<=55?n.pushByte(192+t):(n.pushByte(192+55+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:s}of e)s(n)}}}function d5(e){let t=typeof e=="string"?Fe(e):e,r=T0(t.length);return{length:(()=>t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length)(),encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(128+55+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function T0(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new x("Length is too large.")}St();F();function R0(e){if(!e||e.length===0)return[];let t=[];for(let r of e){let{chainId:o,nonce:n,...s}=r,i=r.address;t.push([o?se(o):"0x",i,n?se(n):"0x",...hs({},s)])}return t}Oe();F();function gs(e){let{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),o=typeof e.blobs[0]=="string"?e.blobs.map(s=>Fe(s)):e.blobs,n=[];for(let s of o)n.push(Uint8Array.from(t.blobToKzgCommitment(s)));return r==="bytes"?n:n.map(s=>Y(s))}Oe();F();function ys(e){let{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),o=typeof e.blobs[0]=="string"?e.blobs.map(i=>Fe(i)):e.blobs,n=typeof e.commitments[0]=="string"?e.commitments.map(i=>Fe(i)):e.commitments,s=[];for(let i=0;i<o.length;i++){let a=o[i],c=n[i];s.push(Uint8Array.from(t.computeBlobKzgProof(a,c)))}return r==="bytes"?s:s.map(i=>Y(i))}F();$c();function w5(e,t,r,o){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,o);let n=BigInt(32),s=BigInt(4294967295),i=Number(r>>n&s),a=Number(r&s),c=o?4:0,m=o?0:4;e.setUint32(t+c,i,o),e.setUint32(t+m,a,o)}function F0(e,t,r){return e&t^~e&r}function M0(e,t,r){return e&t^e&r^t&r}var Rc=class extends bs{constructor(t,r,o,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=o,this.isLE=n,this.buffer=new Uint8Array(t),this.view=Pc(this.buffer)}update(t){xs(this),t=qi(t),kn(t);let{view:r,buffer:o,blockLen:n}=this,s=t.length;for(let i=0;i<s;){let a=Math.min(n-this.pos,s-i);if(a===n){let c=Pc(t);for(;n<=s-i;i+=n)this.process(c,i);continue}o.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){xs(this),Ac(t,this),this.finished=!0;let{buffer:r,view:o,blockLen:n,isLE:s}=this,{pos:i}=this;r[i++]=128,vo(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(o,0),i=0);for(let f=i;f<n;f++)r[f]=0;w5(o,n-8,BigInt(this.length*8),s),this.process(o,0);let a=Pc(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let m=c/4,u=this.get();if(m>u.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<m;f++)a.setUint32(4*f,u[f],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let o=t.slice(0,r);return this.destroy(),o}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:o,length:n,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=n,t.pos=a,n%r&&t.buffer.set(o),t}clone(){return this._cloneInto()}},Kr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);$c();var C5=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Co=new Uint32Array(64),Fc=class extends Rc{constructor(t=32){super(64,t,8,!1),this.A=Kr[0]|0,this.B=Kr[1]|0,this.C=Kr[2]|0,this.D=Kr[3]|0,this.E=Kr[4]|0,this.F=Kr[5]|0,this.G=Kr[6]|0,this.H=Kr[7]|0}get(){let{A:t,B:r,C:o,D:n,E:s,F:i,G:a,H:c}=this;return[t,r,o,n,s,i,a,c]}set(t,r,o,n,s,i,a,c){this.A=t|0,this.B=r|0,this.C=o|0,this.D=n|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let f=0;f<16;f++,r+=4)Co[f]=t.getUint32(r,!1);for(let f=16;f<64;f++){let p=Co[f-15],d=Co[f-2],h=or(p,7)^or(p,18)^p>>>3,g=or(d,17)^or(d,19)^d>>>10;Co[f]=g+Co[f-7]+h+Co[f-16]|0}let{A:o,B:n,C:s,D:i,E:a,F:c,G:m,H:u}=this;for(let f=0;f<64;f++){let p=or(a,6)^or(a,11)^or(a,25),d=u+p+F0(a,c,m)+C5[f]+Co[f]|0,g=(or(o,2)^or(o,13)^or(o,22))+M0(o,n,s)|0;u=m,m=c,c=a,a=i+d|0,i=s,s=n,n=o,o=d+g|0}o=o+this.A|0,n=n+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,m=m+this.G|0,u=u+this.H|0,this.set(o,n,s,i,a,c,m,u)}roundClean(){vo(Co)}destroy(){this.set(0,0,0,0,0,0,0,0),vo(this.buffer)}};var j0=Tc(()=>new Fc);var G0=j0;kt();Oe();F();function q0(e,t){let r=t||"hex",o=G0(ce(e,{strict:!1})?Dt(e):e);return r==="bytes"?o:se(o)}function V0(e){let{commitment:t,version:r=1}=e,o=e.to??(typeof t=="string"?"hex":"bytes"),n=q0(t,"bytes");return n.set([r],0),o==="bytes"?n:Y(n)}function Mc(e){let{commitments:t,version:r}=e,o=e.to??(typeof t[0]=="string"?"hex":"bytes"),n=[];for(let s of t)n.push(V0({commitment:s,to:o,version:r}));return n}H();var Dc=class extends x{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}},ws=class extends x{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}},Nc=class extends x{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}},zc=class extends x{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${1}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}};yc();Mt();Oe();F();function K0(e){let t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?Fe(e.data):e.data,o=Z(r);if(!o)throw new ws;if(o>761855)throw new Dc({maxSize:761855,size:o});let n=[],s=!0,i=0;for(;s;){let a=ms(new Uint8Array(131072)),c=0;for(;c<4096;){let m=r.slice(i,i+(32-1));if(a.pushByte(0),a.pushBytes(m),m.length<31){a.pushByte(128),s=!1;break}c++,i+=31}n.push(a)}return t==="bytes"?n.map(a=>a.bytes):n.map(a=>Y(a.bytes))}function Lc(e){let{data:t,kzg:r,to:o}=e,n=e.blobs??K0({data:t,to:o}),s=e.commitments??gs({blobs:n,kzg:r,to:o}),i=e.proofs??ys({blobs:n,commitments:s,kzg:r,to:o}),a=[];for(let c=0;c<n.length;c++)a.push({blob:n[c],commitment:s[c],proof:i[c]});return a}nt();vn();F();gf();nr();H();Ki();Eo();_t();Mt();So();Be();function rh(e){let{authorizationList:t}=e;if(t)for(let r of t){let{chainId:o}=r,n=r.address;if(!Q(n))throw new oe({address:n});if(o<0)throw new _n({chainId:o})}Gc(e)}function oh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new ws;for(let r of t){let o=Z(r),n=xe(Ut(r,0,1));if(o!==32)throw new Nc({hash:r,size:o});if(n!==1)throw new zc({hash:r,version:n})}}Gc(e)}function Gc(e){let{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:o,to:n}=e;if(t<=0)throw new _n({chainId:t});if(n&&!Q(n))throw new oe({address:n});if(o&&o>as)throw new Nt({maxFeePerGas:o});if(r&&o&&r>o)throw new hr({maxFeePerGas:o,maxPriorityFeePerGas:r})}function nh(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(t<=0)throw new _n({chainId:t});if(s&&!Q(s))throw new oe({address:s});if(r||n)throw new x("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(o&&o>as)throw new Nt({maxFeePerGas:o})}function sh(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(s&&!Q(s))throw new oe({address:s});if(typeof t<"u"&&t<=0)throw new _n({chainId:t});if(r||n)throw new x("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(o&&o>as)throw new Nt({maxFeePerGas:o})}St();function qc(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new kc({transaction:e})}nr();St();_t();function Zi(e){if(!e||e.length===0)return[];let t=[];for(let r=0;r<e.length;r++){let{address:o,storageKeys:n}=e[r];for(let s=0;s<n.length;s++)if(n[s].length-2!==64)throw new Sc({storageKey:n[s]});if(!Q(o,{strict:!1}))throw new oe({address:o});t.push([o,n])}return t}function Vc(e,t){let r=qc(e);return r==="eip1559"?N5(e,t):r==="eip2930"?z5(e,t):r==="eip4844"?D5(e,t):r==="eip7702"?M5(e,t):L5(e,t)}function M5(e,t){let{authorizationList:r,chainId:o,gas:n,nonce:s,to:i,value:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:f}=e;rh(e);let p=Zi(u),d=R0(r);return Ue(["0x04",rr([E(o),s?E(s):"0x",m?E(m):"0x",c?E(c):"0x",n?E(n):"0x",i??"0x",a?E(a):"0x",f??"0x",p,d,...hs(e,t)])])}function D5(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:f}=e;oh(e);let p=e.blobVersionedHashes,d=e.sidecars;if(e.blobs&&(typeof p>"u"||typeof d>"u")){let C=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(I=>Y(I)),k=e.kzg,_=gs({blobs:C,kzg:k});if(typeof p>"u"&&(p=Mc({commitments:_})),typeof d>"u"){let I=ys({blobs:C,commitments:_,kzg:k});d=Lc({blobs:C,commitments:_,proofs:I})}}let h=Zi(u),g=[E(r),n?E(n):"0x",m?E(m):"0x",c?E(c):"0x",o?E(o):"0x",s??"0x",i?E(i):"0x",f??"0x",h,a?E(a):"0x",p??[],...hs(e,t)],b=[],y=[],v=[];if(d)for(let C=0;C<d.length;C++){let{blob:k,commitment:_,proof:I}=d[C];b.push(k),y.push(_),v.push(I)}return Ue(["0x03",d?rr([g,b,y,v]):rr(g)])}function N5(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:m,data:u}=e;Gc(e);let f=Zi(m),p=[E(r),n?E(n):"0x",c?E(c):"0x",a?E(a):"0x",o?E(o):"0x",s??"0x",i?E(i):"0x",u??"0x",f,...hs(e,t)];return Ue(["0x02",rr(p)])}function z5(e,t){let{chainId:r,gas:o,data:n,nonce:s,to:i,value:a,accessList:c,gasPrice:m}=e;nh(e);let u=Zi(c),f=[E(r),s?E(s):"0x",m?E(m):"0x",o?E(o):"0x",i??"0x",a?E(a):"0x",n??"0x",u,...hs(e,t)];return Ue(["0x01",rr(f)])}function L5(e,t){let{chainId:r=0,gas:o,data:n,nonce:s,to:i,value:a,gasPrice:c}=e;sh(e);let m=[s?E(s):"0x",c?E(c):"0x",o?E(o):"0x",i??"0x",a?E(a):"0x",n??"0x"];if(t){let u=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+t.v-27n);let d=27n+(t.v===27n?0n:1n);if(t.v!==d)throw new Ec({v:t.v});return d})(),f=Le(t.r),p=Le(t.s);m=[...m,E(u),f==="0x00"?"0x":f,p==="0x00"?"0x":p]}else r>0&&(m=[...m,E(r),"0x","0x"]);return rr(m)}function hs(e,t){let r=t??e,{v:o,yParity:n}=r;if(typeof r.r>"u")return[];if(typeof r.s>"u")return[];if(typeof o>"u"&&typeof n>"u")return[];let s=Le(r.r),i=Le(r.s);return[(()=>typeof n=="number"?n?E(1):"0x":o===0n?"0x":o===1n?E(1):o===27n?"0x":E(1))(),s==="0x00"?"0x":s,i==="0x00"?"0x":i]}var ih={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}};Be();var ah={block:I0({format(e){return{transactions:e.transactions?.map(r=>{if(typeof r=="string")return r;let o=Cn(r);return o.typeHex==="0x7e"&&(o.isSystemTx=r.isSystemTx,o.mint=r.mint?ie(r.mint):void 0,o.sourceHash=r.sourceHash,o.type="deposit"),o}),stateRoot:e.stateRoot}}}),transaction:_0({format(e){let t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?ie(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:A0({format(e){return{l1GasPrice:e.l1GasPrice?ie(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?ie(e.l1GasUsed):null,l1Fee:e.l1Fee?ie(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};nr();_t();nt();F();function O5(e,t){return H5(e)?U5(e):Vc(e,t)}var ch={transaction:O5};function U5(e){j5(e);let{sourceHash:t,data:r,from:o,gas:n,isSystemTx:s,mint:i,to:a,value:c}=e,m=[t,o,a??"0x",i?se(i):"0x",c?se(c):"0x",n?se(n):"0x",s?"0x1":"0x",r??"0x"];return Ue(["0x7e",rr(m)])}function H5(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function j5(e){let{from:t,to:r}=e;if(t&&!Q(t))throw new oe({address:t});if(r&&!Q(r))throw new oe({address:r})}var Sf={blockTime:2e3,contracts:ih,formatters:ah,serializers:ch};var Kc=wn({id:31337,name:"Anvil",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["http://127.0.0.1:8545"],webSocket:["ws://127.0.0.1:8545"]}}});var Yi=1,Xi=wn({...Sf,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...Sf.contracts,disputeGameFactory:{[Yi]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Yi]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Yi]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Yi]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:Yi}),G5=wn({...Xi,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://mainnet-preconf.base.org"]}}});Ki();function $s({chain:e,currentChainId:t}){if(!e)throw new Uc;if(t!==e.id)throw new Oc({chain:e,currentChainId:t})}H();var He=class extends x{constructor({docsPath:t}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
51
- `),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}},jt=class extends x{constructor({docsPath:t,metaMessages:r,type:o}){super(`Account type "${o}" is not supported.`,{docsPath:t,metaMessages:r,name:"AccountTypeNotSupportedError"})}};var Hm=wn({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}});import{z as Se}from"zod";import{z as $t}from"zod";import{z as T}from"zod";import{z as za}from"zod";import{z as Zt}from"zod";import{z as V}from"zod";import{z as J}from"zod";import{z as at}from"zod";import YE from"crypto";import{z as Mr}from"zod";import{z as pr}from"zod";import{z as We}from"zod";import{z as xt}from"zod";import{z as wt}from"zod";import{z as Ik}from"zod";import{z as qx}from"zod";import{z as Dr}from"zod";import{z as _i}from"zod";import{z as qn}from"zod";import{z as Qk}from"zod";import{z as oS}from"zod";import{z as re}from"zod";import{z as Br}from"zod";import{z as bS}from"zod";import{z as ke}from"zod";import{z as L}from"zod";import{z as Si}from"zod";import{z as Vx}from"zod";import{z as ot}from"zod";import{z as a1}from"zod";import{z as Rr}from"zod";import{z as $e}from"zod";function P(e,t,r){let o=e[t.name];if(typeof o=="function")return o;let n=e[r];return typeof n=="function"?n:s=>t(e,s)}Ce();H();var jm=class extends x{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}};Oe();Ot();ca();Xr();Zr();Ao();var ag="/docs/contract/encodeEventTopics";function Sr(e){let{abi:t,eventName:r,args:o}=e,n=t[0];if(r){let c=ht({abi:t,name:r});if(!c)throw new ra(r,{docsPath:ag});n=c}if(n.type!=="event")throw new ra(void 0,{docsPath:ag});let s=De(n),i=Io(s),a=[];if(o&&"inputs"in n){let c=n.inputs?.filter(u=>"indexed"in u&&u.indexed),m=Array.isArray(o)?o:Object.values(o).length>0?c?.map(u=>o[u.name])??[]:[];m.length>0&&(a=c?.map((u,f)=>Array.isArray(m[f])?m[f].map((p,d)=>cg({param:u,value:m[f][d]})):typeof m[f]<"u"&&m[f]!==null?cg({param:u,value:m[f]}):null)??[])}return[i,...a]}function cg({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return ne(Dt(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new jm(e.type);return st([e],[t])}F();function Zo(e,{method:t}){let r={};return e.transport.type==="fallback"&&e.transport.onResponse?.(({method:o,response:n,status:s,transport:i})=>{s==="success"&&t===o&&(r[n]=i.request)}),o=>r[o]||e.request}async function Gm(e,t){let{address:r,abi:o,args:n,eventName:s,fromBlock:i,strict:a,toBlock:c}=t,m=Zo(e,{method:"eth_newFilter"}),u=s?Sr({abi:o,args:n,eventName:s}):void 0,f=await e.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof i=="bigint"?E(i):i,toBlock:typeof c=="bigint"?E(c):c,topics:u}]});return{abi:o,args:n,eventName:s,id:f,request:m(f),strict:!!a,type:"event"}}ve();At();Ce();H();Po();$n();qs();var C2=3;function Pt(e,{abi:t,address:r,args:o,docsPath:n,functionName:s,sender:i}){let a=e instanceof wr?e:e instanceof x?e.walk(h=>"data"in h)||e.walk():{},{code:c,data:m,details:u,message:f,shortMessage:p}=a,d=(()=>e instanceof Gt?new zm({functionName:s}):[C2,cr.code].includes(c)&&(m||u||f||p)?new Tn({abi:t,data:typeof m=="object"?m.data:m,functionName:s,message:a instanceof To?u:p??f}):e)();return new Gs(d,{abi:t,args:o,contractAddress:r,docsPath:n,functionName:s,sender:i})}ve();H();ko();Ot();function qm(e){let t=ne(`0x${e.substring(4)}`).substring(26);return Jr(`0x${t}`)}kt();Mt();Be();F();async function lg({hash:e,signature:t}){let r=ce(e)?e:se(e),{secp256k1:o}=await import("@noble/curves/secp256k1");return`0x${(()=>{if(typeof t=="object"&&"r"in t&&"s"in t){let{r:m,s:u,v:f,yParity:p}=t,d=Number(p??f),h=fg(d);return new o.Signature(ie(m),ie(u)).addRecoveryBit(h)}let i=ce(t)?t:se(t);if(Z(i)!==65)throw new Error("invalid signature length");let a=xe(`0x${i.slice(130)}`),c=fg(a);return o.Signature.fromCompact(i.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function fg(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw new Error("Invalid yParityOrV value")}async function Vm({hash:e,signature:t}){return qm(await lg({hash:e,signature:t}))}nt();Oe();F();Ot();function Km(e){let{chainId:t,nonce:r,to:o}=e,n=e.contractAddress??e.address,s=ne(Ue(["0x05",rr([t?E(t):"0x",n,r?E(r):"0x"])]));return o==="bytes"?Fe(s):s}async function Yo(e){let{authorization:t,signature:r}=e;return Vm({hash:Km(t),signature:r??t})}F();vc();ps();H();St();var Wm=class extends x{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:f,value:p}){let d=En({from:r?.address,to:f,value:typeof p<"u"&&`${us(p)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Me(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Me(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Me(m)} gwei`,nonce:u});super(t.shortMessage,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Estimate Gas Arguments:",d].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}};Eo();ua();function dg(e,{docsPath:t,...r}){let o=(()=>{let n=Jo(e,r);return n instanceof zt?e:n})();return new Wm(o,{docsPath:t,...r})}Vs();wo();Jm();ro();ve();ps();H();var Zm=class extends x{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}},Xo=class extends x{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}},Ym=class extends x{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Me(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};Be();H();var Ws=class extends x{constructor({blockHash:t,blockNumber:r}){let o="Block";t&&(o=`Block at hash "${t}"`),r&&(o=`Block at number "${r}"`),super(`${o} could not be found.`,{name:"BlockNotFoundError"})}};F();async function et(e,{blockHash:t,blockNumber:r,blockTag:o=e.experimental_blockTag??"latest",includeTransactions:n}={}){let s=n??!1,i=r!==void 0?E(r):void 0,a=null;if(t?a=await e.request({method:"eth_getBlockByHash",params:[t,s]},{dedupe:!0}):a=await e.request({method:"eth_getBlockByNumber",params:[i||o,s]},{dedupe:!!i}),!a)throw new Ws({blockHash:t,blockNumber:r});return(e.chain?.formatters?.block?.format||Hi)(a,"getBlock")}async function Js(e){let t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function gg(e,t){return Hf(e,t)}async function Hf(e,t){let{block:r,chain:o=e.chain,request:n}=t||{};try{let s=o?.fees?.maxPriorityFeePerGas??o?.fees?.defaultPriorityFee;if(typeof s=="function"){let a=r||await P(e,et,"getBlock")({}),c=await s({block:a,client:e,request:n});if(c===null)throw new Error;return c}if(typeof s<"u")return s;let i=await e.request({method:"eth_maxPriorityFeePerGas"});return ie(i)}catch{let[s,i]=await Promise.all([r?Promise.resolve(r):P(e,et,"getBlock")({}),P(e,Js,"getGasPrice")({})]);if(typeof s.baseFeePerGas!="bigint")throw new Xo;let a=i-s.baseFeePerGas;return a<0n?0n:a}}async function yg(e,t){return Xm(e,t)}async function Xm(e,t){let{block:r,chain:o=e.chain,request:n,type:s="eip1559"}=t||{},i=await(async()=>typeof o?.fees?.baseFeeMultiplier=="function"?o.fees.baseFeeMultiplier({block:r,client:e,request:n}):o?.fees?.baseFeeMultiplier??1.2)();if(i<1)throw new Zm;let c=10**(i.toString().split(".")[1]?.length??0),m=p=>p*BigInt(Math.ceil(i*c))/BigInt(c),u=r||await P(e,et,"getBlock")({});if(typeof o?.fees?.estimateFeesPerGas=="function"){let p=await o.fees.estimateFeesPerGas({block:r,client:e,multiply:m,request:n,type:s});if(p!==null)return p}if(s==="eip1559"){if(typeof u.baseFeePerGas!="bigint")throw new Xo;let p=typeof n?.maxPriorityFeePerGas=="bigint"?n.maxPriorityFeePerGas:await Hf(e,{block:u,chain:o,request:n}),d=m(u.baseFeePerGas);return{maxFeePerGas:n?.maxFeePerGas??d+p,maxPriorityFeePerGas:p}}return{gasPrice:n?.gasPrice??m(await P(e,Js,"getGasPrice")({}))}}Be();F();async function Zs(e,{address:t,blockTag:r="latest",blockNumber:o}){let n=await e.request({method:"eth_getTransactionCount",params:[t,typeof o=="bigint"?E(o):r]},{dedupe:!!o});return xe(n)}ro();Be();async function gt(e){let t=await e.request({method:"eth_chainId"},{dedupe:!0});return xe(t)}var pa=["blobVersionedHashes","chainId","fees","gas","nonce","type"],bg=new Map;async function _r(e,t){let{account:r=e.account,blobs:o,chain:n,gas:s,kzg:i,nonce:a,nonceManager:c,parameters:m=pa,type:u}=t,f=r&&j(r),p={...t,...f?{from:f?.address}:{}},d;async function h(){return d||(d=await P(e,et,"getBlock")({blockTag:"latest"}),d)}let g;async function b(){return g||(n?n.id:typeof t.chainId<"u"?t.chainId:(g=await P(e,gt,"getChainId")({}),g))}if(m.includes("nonce")&&typeof a>"u"&&f)if(c){let y=await b();p.nonce=await c.consume({address:f.address,chainId:y,client:e})}else p.nonce=await P(e,Zs,"getTransactionCount")({address:f.address,blockTag:"pending"});if((m.includes("blobVersionedHashes")||m.includes("sidecars"))&&o&&i){let y=gs({blobs:o,kzg:i});if(m.includes("blobVersionedHashes")){let v=Mc({commitments:y,to:"hex"});p.blobVersionedHashes=v}if(m.includes("sidecars")){let v=ys({blobs:o,commitments:y,kzg:i}),C=Lc({blobs:o,commitments:y,proofs:v,to:"hex"});p.sidecars=C}}if(m.includes("chainId")&&(p.chainId=await b()),(m.includes("fees")||m.includes("type"))&&typeof u>"u")try{p.type=qc(p)}catch{let y=bg.get(e.uid);typeof y>"u"&&(y=typeof(await h())?.baseFeePerGas=="bigint",bg.set(e.uid,y)),p.type=y?"eip1559":"legacy"}if(m.includes("fees"))if(p.type!=="legacy"&&p.type!=="eip2930"){if(typeof p.maxFeePerGas>"u"||typeof p.maxPriorityFeePerGas>"u"){let y=await h(),{maxFeePerGas:v,maxPriorityFeePerGas:C}=await Xm(e,{block:y,chain:n,request:p});if(typeof t.maxPriorityFeePerGas>"u"&&t.maxFeePerGas&&t.maxFeePerGas<C)throw new Ym({maxPriorityFeePerGas:C});p.maxPriorityFeePerGas=C,p.maxFeePerGas=v}}else{if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")throw new Xo;if(typeof t.gasPrice>"u"){let y=await h(),{gasPrice:v}=await Xm(e,{block:y,chain:n,request:p,type:"legacy"});p.gasPrice=v}}return m.includes("gas")&&typeof s>"u"&&(p.gas=await P(e,Ys,"estimateGas")({...p,account:f,prepare:f?.type==="local"?[]:["blobVersionedHashes"]})),Qe(p),delete p.parameters,p}async function Ys(e,t){let{account:r=e.account,prepare:o=!0}=t,n=r?j(r):void 0,s=(()=>{if(Array.isArray(o))return o;if(n?.type!=="local")return["blobVersionedHashes"]})();try{let{accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,blockNumber:u,blockTag:f,data:p,gas:d,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:v,value:C,stateOverride:k,..._}=o?await _r(e,{...t,parameters:s}):t,A=(typeof u=="bigint"?E(u):void 0)||f,R=Ks(k),N=await(async()=>{if(_.to)return _.to;if(a&&a.length>0)return await Yo({authorization:a[0]}).catch(()=>{throw new x("`to` is required. Could not infer from `authorizationList`")})})();Qe(t);let M=e.chain?.formatters?.transactionRequest?.format,G=(M||lt)({...kr(_,{format:M}),account:n,accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,data:p,gas:d,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:v,to:N,value:C},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:R?[G,A??e.experimental_blockTag??"latest",R]:A?[G,A]:[G]}))}catch(i){throw dg(i,{...t,account:n,chain:e.chain})}}async function xg(e,t){let{abi:r,address:o,args:n,functionName:s,dataSuffix:i,...a}=t,c=pe({abi:r,args:n,functionName:s});try{return await P(e,Ys,"estimateGas")({data:`${c}${i?i.replace("0x",""):""}`,to:o,...a})}catch(m){let u=a.account?j(a.account):void 0;throw Pt(m,{abi:r,address:o,args:n,docsPath:"/docs/contract/estimateContractGas",functionName:s,sender:u?.address})}}Ao();Ce();Rn();Oe();Ot();ca();Ce();yf();Mt();ca();aa();Zr();var wg="/docs/contract/decodeEventLog";function Xs(e){let{abi:t,data:r,strict:o,topics:n}=e,s=o??!0,[i,...a]=n;if(!i)throw new rm({docsPath:wg});let c=t.find(g=>g.type==="event"&&i===Io(De(g)));if(!(c&&"name"in c)||c.type!=="event")throw new Fs(i,{docsPath:wg});let{name:m,inputs:u}=c,f=u?.some(g=>!("name"in g&&g.name)),p=f?[]:{},d=u.map((g,b)=>[g,b]).filter(([g])=>"indexed"in g&&g.indexed);for(let g=0;g<d.length;g++){let[b,y]=d[g],v=a[g];if(!v)throw new gr({abiItem:c,param:b});p[f?y:b.name||y]=k2({param:b,value:v})}let h=u.filter(g=>!("indexed"in g&&g.indexed));if(h.length>0){if(r&&r!=="0x")try{let g=Qr(h,r);if(g)if(f)for(let b=0;b<u.length;b++)p[b]=p[b]??g.shift();else for(let b=0;b<h.length;b++)p[h[b].name]=g[b]}catch(g){if(s)throw g instanceof Rs||g instanceof cs?new ir({abiItem:c,data:r,params:h,size:Z(r)}):g}else if(s)throw new ir({abiItem:c,data:"0x",params:h,size:0})}return{eventName:m,args:Object.values(p).length>0?p:void 0}}function k2({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Qr([e],t)||[])[0]}function mr(e){let{abi:t,args:r,logs:o,strict:n=!0}=e,s=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})();return o.map(i=>{try{let a=t.find(m=>m.type==="event"&&i.topics[0]===Io(m));if(!a)return null;let c=Xs({...i,abi:[a],strict:n});return s&&!s.includes(c.eventName)||!S2({args:c.args,inputs:a.inputs,matchArgs:r})?null:{...c,...i}}catch(a){let c,m;if(a instanceof Fs)return null;if(a instanceof ir||a instanceof gr){if(n)return null;c=a.abiItem.name,m=a.abiItem.inputs?.some(u=>!("name"in u&&u.name))}return{...i,args:m?[]:{},eventName:c}}}).filter(Boolean)}function S2(e){let{args:t,inputs:r,matchArgs:o}=e;if(!o)return!0;if(!t)return!1;function n(s,i,a){try{return s.type==="address"?Kt(i,a):s.type==="string"||s.type==="bytes"?ne(Dt(i))===a:i===a}catch{return!1}}return Array.isArray(t)&&Array.isArray(o)?o.every((s,i)=>{if(s==null)return!0;let a=r[i];return a?(Array.isArray(s)?s:[s]).some(m=>n(a,m,t[i])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof o=="object"&&!Array.isArray(o)?Object.entries(o).every(([s,i])=>{if(i==null)return!0;let a=r.find(m=>m.name===s);return a?(Array.isArray(i)?i:[i]).some(m=>n(a,m,t[s])):!1}):!1}F();async function Qs(e,{address:t,blockHash:r,fromBlock:o,toBlock:n,event:s,events:i,args:a,strict:c}={}){let m=c??!1,u=i??(s?[s]:void 0),f=[];u&&(f=[u.flatMap(g=>Sr({abi:[g],eventName:g.name,args:i?void 0:a}))],s&&(f=f[0]));let p;r?p=await e.request({method:"eth_getLogs",params:[{address:t,topics:f,blockHash:r}]}):p=await e.request({method:"eth_getLogs",params:[{address:t,topics:f,fromBlock:typeof o=="bigint"?E(o):o,toBlock:typeof n=="bigint"?E(n):n}]});let d=p.map(h=>Ze(h));return u?mr({abi:u,args:a,logs:d,strict:m}):d}async function Qm(e,t){let{abi:r,address:o,args:n,blockHash:s,eventName:i,fromBlock:a,toBlock:c,strict:m}=t,u=i?ht({abi:r,name:i}):void 0,f=u?void 0:r.filter(p=>p.type==="event");return P(e,Qs,"getLogs")({address:o,args:n,blockHash:s,event:u,events:f,fromBlock:a,toBlock:c,strict:m})}Qo();At();ci();async function Te(e,t){let{abi:r,address:o,args:n,functionName:s,...i}=t,a=pe({abi:r,args:n,functionName:s});try{let{data:c}=await P(e,Pr,"call")({...i,data:a,to:o});return yt({abi:r,args:n,functionName:s,data:c||"0x"})}catch(c){throw Pt(c,{abi:r,address:o,args:n,docsPath:"/docs/contract/readContract",functionName:s})}}ve();Qo();At();ci();async function ay(e,t){let{abi:r,address:o,args:n,dataSuffix:s,functionName:i,...a}=t,c=a.account?j(a.account):e.account,m=pe({abi:r,args:n,functionName:i});try{let{data:u}=await P(e,Pr,"call")({batch:!1,data:`${m}${s?s.replace("0x",""):""}`,to:o,...a,account:c}),f=yt({abi:r,args:n,functionName:i,data:u||"0x"}),p=r.filter(d=>"name"in d&&d.name===t.functionName);return{result:f,request:{abi:p,address:o,args:n,dataSuffix:s,functionName:i,...a,account:c}}}catch(u){throw Pt(u,{abi:r,address:o,args:n,docsPath:"/docs/contract/simulateContract",functionName:i,sender:c?.address})}}Ce();qs();var ul=new Map,cy=new Map,q2=0;function tt(e,t,r){let o=++q2,n=()=>ul.get(e)||[],s=()=>{let u=n();ul.set(e,u.filter(f=>f.id!==o))},i=()=>{let u=n();if(!u.some(p=>p.id===o))return;let f=cy.get(e);if(u.length===1&&f){let p=f();p instanceof Promise&&p.catch(()=>{})}s()},a=n();if(ul.set(e,[...a,{id:o,fns:t}]),a&&a.length>0)return i;let c={};for(let u in t)c[u]=(...f)=>{let p=n();if(p.length!==0)for(let d of p)d.fns[u]?.(...f)};let m=r(c);return typeof m=="function"&&cy.set(e,m),i}async function xa(e){return new Promise(t=>setTimeout(t,e))}function Jt(e,{emitOnBegin:t,initialWaitTime:r,interval:o}){let n=!0,s=()=>n=!1;return(async()=>{let a;t&&(a=await e({unpoll:s}));let c=await r?.(a)??o;await xa(c);let m=async()=>{n&&(await e({unpoll:s}),await xa(o),m())};m()})(),s}Ye();var V2=new Map,K2=new Map;function my(e){let t=(n,s)=>({clear:()=>s.delete(n),get:()=>s.get(n),set:i=>s.set(n,i)}),r=t(e,V2),o=t(e,K2);return{clear:()=>{r.clear(),o.clear()},promise:r,response:o}}async function uy(e,{cacheKey:t,cacheTime:r=Number.POSITIVE_INFINITY}){let o=my(t),n=o.response.get();if(n&&r>0&&Date.now()-n.created.getTime()<r)return n.data;let s=o.promise.get();s||(s=e(),o.promise.set(s));try{let i=await s;return o.response.set({created:new Date,data:i}),i}finally{o.promise.clear()}}var W2=e=>`blockNumber.${e}`;async function Tr(e,{cacheTime:t=e.cacheTime}={}){let r=await uy(()=>e.request({method:"eth_blockNumber"}),{cacheKey:W2(e.uid),cacheTime:t});return BigInt(r)}async function on(e,{filter:t}){let r="strict"in t&&t.strict,o=await t.request({method:"eth_getFilterChanges",params:[t.id]});if(typeof o[0]=="string")return o;let n=o.map(s=>Ze(s));return!("abi"in t)||!t.abi?n:mr({abi:t.abi,logs:n,strict:r})}async function nn(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function py(e,t){let{abi:r,address:o,args:n,batch:s=!0,eventName:i,fromBlock:a,onError:c,onLogs:m,poll:u,pollingInterval:f=e.pollingInterval,strict:p}=t;return(()=>typeof u<"u"?u:typeof a=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))()?(()=>{let b=p??!1,y=W(["watchContractEvent",o,n,s,e.uid,i,f,b,a]);return tt(y,{onLogs:m,onError:c},v=>{let C;a!==void 0&&(C=a-1n);let k,_=!1,I=Jt(async()=>{if(!_){try{k=await P(e,Gm,"createContractEventFilter")({abi:r,address:o,args:n,eventName:i,strict:b,fromBlock:a})}catch{}_=!0;return}try{let A;if(k)A=await P(e,on,"getFilterChanges")({filter:k});else{let R=await P(e,Tr,"getBlockNumber")({});C&&C<R?A=await P(e,Qm,"getContractEvents")({abi:r,address:o,args:n,eventName:i,fromBlock:C+1n,toBlock:R,strict:b}):A=[],C=R}if(A.length===0)return;if(s)v.onLogs(A);else for(let R of A)v.onLogs([R])}catch(A){k&&A instanceof Vt&&(_=!1),v.onError?.(A)}},{emitOnBegin:!0,interval:f});return async()=>{k&&await P(e,nn,"uninstallFilter")({filter:k}),I()}})})():(()=>{let b=p??!1,y=W(["watchContractEvent",o,n,s,e.uid,i,f,b]),v=!0,C=()=>v=!1;return tt(y,{onLogs:m,onError:c},k=>((async()=>{try{let _=(()=>{if(e.transport.type==="fallback"){let R=e.transport.transports.find(N=>N.config.type==="webSocket"||N.config.type==="ipc");return R?R.value:e.transport}return e.transport})(),I=i?Sr({abi:r,eventName:i,args:n}):[],{unsubscribe:A}=await _.subscribe({params:["logs",{address:o,topics:I}],onData(R){if(!v)return;let N=R.result;try{let{eventName:M,args:U}=Xs({abi:r,data:N.data,topics:N.topics,strict:p}),G=Ze(N,{args:U,eventName:M});k.onLogs([G])}catch(M){let U,G;if(M instanceof ir||M instanceof gr){if(p)return;U=M.abiItem.name,G=M.abiItem.inputs?.some(me=>!("name"in me&&me.name))}let q=Ze(N,{args:G?[]:{},eventName:U});k.onLogs([q])}},onError(R){k.onError?.(R)}});C=A,v||C()}catch(_){c?.(_)}})(),()=>C()))})()}ve();At();ve();H();Eo();St();ua();function mi(e,{docsPath:t,...r}){let o=(()=>{let n=Jo(e,r);return n instanceof zt?e:n})();return new _c(o,{docsPath:t,...r})}Vs();wo();Ps();ro();async function ui(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}var pl=new Lt(128);async function sn(e,t){let{account:r=e.account,chain:o=e.chain,accessList:n,authorizationList:s,blobs:i,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,type:h,value:g,...b}=t;if(typeof r>"u")throw new He({docsPath:"/docs/actions/wallet/sendTransaction"});let y=r?j(r):null;try{Qe(t);let v=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await Yo({authorization:s[0]}).catch(()=>{throw new x("`to` is required. Could not infer from `authorizationList`.")})})();if(y?.type==="json-rpc"||y===null){let C;o!==null&&(C=await P(e,gt,"getChainId")({}),$s({currentChainId:C,chain:o}));let k=e.chain?.formatters?.transactionRequest?.format,I=(k||lt)({...kr(b,{format:k}),accessList:n,account:y,authorizationList:s,blobs:i,chainId:C,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,to:v,type:h,value:g},"sendTransaction"),A=pl.get(e.uid),R=A?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:R,params:[I]},{retryCount:0})}catch(N){if(A===!1)throw N;let M=N;if(M.name==="InvalidInputRpcError"||M.name==="InvalidParamsRpcError"||M.name==="MethodNotFoundRpcError"||M.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[I]},{retryCount:0}).then(U=>(pl.set(e.uid,!0),U)).catch(U=>{let G=U;throw G.name==="MethodNotFoundRpcError"||G.name==="MethodNotSupportedRpcError"?(pl.set(e.uid,!1),M):G});throw M}}if(y?.type==="local"){let C=await P(e,_r,"prepareTransactionRequest")({account:y,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,nonceManager:y.nonceManager,parameters:[...pa,"sidecars"],type:h,value:g,...b,to:v}),k=o?.serializers?.transaction,_=await y.signTransaction(C,{serializer:k});return await P(e,ui,"sendRawTransaction")({serializedTransaction:_})}throw y?.type==="smart"?new jt({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new jt({docsPath:"/docs/actions/wallet/sendTransaction",type:y?.type})}catch(v){throw v instanceof jt?v:mi(v,{...t,account:y,chain:t.chain||void 0})}}async function Dn(e,t){return Dn.internal(e,sn,"sendTransaction",t)}(function(e){async function t(r,o,n,s){let{abi:i,account:a=r.account,address:c,args:m,dataSuffix:u,functionName:f,...p}=s;if(typeof a>"u")throw new He({docsPath:"/docs/contract/writeContract"});let d=a?j(a):null,h=pe({abi:i,args:m,functionName:f});try{return await P(r,o,n)({data:`${h}${u?u.replace("0x",""):""}`,to:c,account:d,...p})}catch(g){throw Pt(g,{abi:i,address:c,args:m,docsPath:"/docs/contract/writeContract",functionName:f,sender:d?.address})}}e.internal=t})(Dn||(Dn={}));H();H();var xu=class extends x{constructor(t){super(`Call bundle failed with status: ${t.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=t}};du();function Nn(e,{delay:t=100,retryCount:r=2,shouldRetry:o=()=>!0}={}){return new Promise((n,s)=>{let i=async({count:a=0}={})=>{let c=async({error:m})=>{let u=typeof t=="function"?t({count:a,error:m}):t;u&&await xa(u),i({count:a+1})};try{let m=await e();n(m)}catch(m){if(a<r&&await o({count:a,error:m}))return c({error:m});s(m)}};i()})}Ye();So();vn();Be();ve();H();qs();At();nt();Be();F();var fl="0x5792579257925792579257925792579257925792579257925792579257925792",ll=E(0,{size:32});async function wu(e,t){let{account:r=e.account,capabilities:o,chain:n=e.chain,experimental_fallback:s,experimental_fallbackDelay:i=32,forceAtomic:a=!1,id:c,version:m="2.0.0"}=t,u=r?j(r):null,f=t.calls.map(p=>{let d=p,h=d.abi?pe({abi:d.abi,functionName:d.functionName,args:d.args}):d.data;return{data:d.dataSuffix&&h?Pe([h,d.dataSuffix]):h,to:d.to,value:d.value?E(d.value):void 0}});try{let p=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:a,calls:f,capabilities:o,chainId:E(n.id),from:u?.address,id:c,version:m}]},{retryCount:0});return typeof p=="string"?{id:p}:p}catch(p){let d=p;if(s&&(d.name==="MethodNotFoundRpcError"||d.name==="MethodNotSupportedRpcError"||d.name==="UnknownRpcError"||d.details.toLowerCase().includes("does not exist / is not available")||d.details.toLowerCase().includes("missing or invalid. request()")||d.details.toLowerCase().includes("did not match any variant of untagged enum")||d.details.toLowerCase().includes("account upgraded to unsupported contract")||d.details.toLowerCase().includes("eip-7702 not supported")||d.details.toLowerCase().includes("unsupported wc_ method")||d.details.toLowerCase().includes("feature toggled misconfigured")||d.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(o&&Object.values(o).some(v=>!v.optional)){let v="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new Cr(new x(v,{details:v}))}if(a&&f.length>1){let y="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new Er(new x(y,{details:y}))}let h=[];for(let y of f){let v=sn(e,{account:u,chain:n,data:y.data,to:y.to,value:y.value?ie(y.value):void 0});h.push(v),i>0&&await new Promise(C=>setTimeout(C,i))}let g=await Promise.allSettled(h);if(g.every(y=>y.status==="rejected"))throw g[0].reason;let b=g.map(y=>y.status==="fulfilled"?y.value:ll);return{id:Pe([...b,E(n.id,{size:32}),fl])}}throw mi(p,{...t,account:u,chain:t.chain})}}async function vu(e,t){async function r(u){if(u.endsWith(fl.slice(2))){let p=Le(jc(u,-64,-32)),d=jc(u,0,-64).slice(2).match(/.{1,64}/g),h=await Promise.all(d.map(b=>ll.slice(2)!==b?e.request({method:"eth_getTransactionReceipt",params:[`0x${b}`]},{dedupe:!0}):void 0)),g=(()=>h.some(b=>b===null)?100:h.every(b=>b?.status==="0x1")?200:h.every(b=>b?.status==="0x0")?500:600)();return{atomic:!1,chainId:xe(p),receipts:h.filter(Boolean),status:g,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[u]})}let{atomic:o=!1,chainId:n,receipts:s,version:i="2.0.0",...a}=await r(t.id),[c,m]=(()=>{let u=a.status;return u>=100&&u<200?["pending",u]:u>=200&&u<300?["success",u]:u>=300&&u<700?["failure",u]:u==="CONFIRMED"?["success",200]:u==="PENDING"?["pending",100]:[void 0,u]})();return{...a,atomic:o,chainId:n?xe(n):void 0,receipts:s?.map(u=>({...u,blockNumber:ie(u.blockNumber),gasUsed:ie(u.gasUsed),status:hf[u.status]}))??[],statusCode:m,status:c,version:i}}async function Cu(e,t){let{id:r,pollingInterval:o=e.pollingInterval,status:n=({statusCode:g})=>g===200||g>=300,retryCount:s=4,retryDelay:i=({count:g})=>~~(1<<g)*200,timeout:a=6e4,throwOnFailure:c=!1}=t,m=W(["waitForCallsStatus",e.uid,r]),{promise:u,resolve:f,reject:p}=ai(),d,h=tt(m,{resolve:f,reject:p},g=>{let b=Jt(async()=>{let y=v=>{clearTimeout(d),b(),v(),h()};try{let v=await Nn(async()=>{let C=await P(e,vu,"getCallsStatus")({id:r});if(c&&C.status==="failure")throw new xu(C);return C},{retryCount:s,delay:i});if(!n(v))return;y(()=>g.resolve(v))}catch(v){y(()=>g.reject(v))}},{interval:o,emitOnBegin:!0});return b});return d=a?setTimeout(()=>{h(),clearTimeout(d),p(new dl({id:r}))},a):void 0,await u}var dl=class extends x{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}};ve();var Eu=256,ku;function Su(e=11){if(!ku||Eu+e>256*2){ku="",Eu=0;for(let t=0;t<256;t++)ku+=(256+Math.random()*256|0).toString(16).substring(1)}return ku.substring(Eu,Eu+++e)}function _u(e){let{batch:t,chain:r,ccipRead:o,key:n="base",name:s="Base Client",type:i="base"}=e,a=e.experimental_blockTag??(typeof r?.experimental_preconfirmationTime=="number"?"pending":void 0),c=r?.blockTime??12e3,m=Math.min(Math.max(Math.floor(c/2),500),4e3),u=e.pollingInterval??m,f=e.cacheTime??u,p=e.account?j(e.account):void 0,{config:d,request:h,value:g}=e.transport({chain:r,pollingInterval:u}),b={...d,...g},y={account:p,batch:t,cacheTime:f,ccipRead:o,chain:r,key:n,name:s,pollingInterval:u,request:h,transport:b,type:i,uid:Su(),...a?{experimental_blockTag:a}:{}};function v(C){return k=>{let _=k(C);for(let A in y)delete _[A];let I={...C,..._};return Object.assign(I,{extend:v(I)})}}return Object.assign(y,{extend:v(y)})}rn();Qo();At();In();vn();F();H();Po();function pi(e){if(!(e instanceof x))return!1;let t=e.walk(r=>r instanceof Tn);return t instanceof Tn?t.data?.errorName==="HttpError"||t.data?.errorName==="ResolverError"||t.data?.errorName==="ResolverNotContract"||t.data?.errorName==="ResolverNotFound"||t.data?.errorName==="ReverseAddressMismatch"||t.data?.errorName==="UnsupportedResolverProfile":!1}ba();nt();Oe();F();Ot();kt();function Iu(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;let t=`0x${e.slice(1,65)}`;return ce(t)?t:null}function wa(e){let t=new Uint8Array(32).fill(0);if(!e)return Y(t);let r=e.split(".");for(let o=r.length-1;o>=0;o-=1){let n=Iu(r[o]),s=n?Dt(n):ne(tr(r[o]),"bytes");t=ne(Pe([t,s]),"bytes")}return Y(t)}Oe();function fy(e){return`[${e.slice(2)}]`}Oe();F();Ot();function ly(e){let t=new Uint8Array(32).fill(0);return e?Iu(e)||ne(tr(e)):Y(t)}function fi(e){let t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);let r=new Uint8Array(tr(t).byteLength+2),o=0,n=t.split(".");for(let s=0;s<n.length;s++){let i=tr(n[s]);i.byteLength>255&&(i=tr(fy(ly(n[s])))),r[o]=i.length,r.set(i,o+1),o+=i.length+1}return r.byteLength!==o+1?r.slice(0,o+1):r}async function dy(e,t){let{blockNumber:r,blockTag:o,coinType:n,name:s,gatewayUrls:i,strict:a}=t,{chain:c}=e,m=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Ht({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c?.ensTlds;if(u&&!u.some(p=>s.endsWith(p)))return null;let f=(()=>n!=null?[wa(s),BigInt(n)]:[wa(s)])();try{let p=pe({abi:el,functionName:"addr",args:f}),d={address:m,abi:pu,functionName:"resolveWithGateways",args:[se(fi(s)),p,i??[so]],blockNumber:r,blockTag:o},g=await P(e,Te,"readContract")(d);if(g[0]==="0x")return null;let b=yt({abi:el,args:f,functionName:"addr",data:g[0]});return b==="0x"||Le(b)==="0x00"?null:b}catch(p){if(a)throw p;if(pi(p))return null;throw p}}H();var Au=class extends x{constructor({data:t}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(t)}`],name:"EnsAvatarInvalidMetadataError"})}},an=class extends x{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}},li=class extends x{constructor({uri:t}){super(`Unable to resolve ENS avatar URI "${t}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}},Pu=class extends x{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}};var J2=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,Z2=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,Y2=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,X2=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function Q2(e){try{let t=await fetch(e,{method:"HEAD"});return t.status===200?t.headers.get("content-type")?.startsWith("image/"):!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(r=>{let o=new Image;o.onload=()=>{r(!0)},o.onerror=()=>{r(!1)},o.src=e})}}function hy(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function hl({uri:e,gatewayUrls:t}){let r=Y2.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};let o=hy(t?.ipfs,"https://ipfs.io"),n=hy(t?.arweave,"https://arweave.net"),s=e.match(J2),{protocol:i,subpath:a,target:c,subtarget:m=""}=s?.groups||{},u=i==="ipns:/"||a==="ipns/",f=i==="ipfs:/"||a==="ipfs/"||Z2.test(e);if(e.startsWith("http")&&!u&&!f){let d=e;return t?.arweave&&(d=e.replace(/https:\/\/arweave.net/g,t?.arweave)),{uri:d,isOnChain:!1,isEncoded:!1}}if((u||f)&&c)return{uri:`${o}/${u?"ipns":"ipfs"}/${c}${m}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&c)return{uri:`${n}/${c}${m||""}`,isOnChain:!1,isEncoded:!1};let p=e.replace(X2,"");if(p.startsWith("<svg")&&(p=`data:image/svg+xml;base64,${btoa(p)}`),p.startsWith("data:")||p.startsWith("{"))return{uri:p,isOnChain:!0,isEncoded:!1};throw new li({uri:e})}function gl(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new Au({data:e});return e.image||e.image_url||e.image_data}async function gy({gatewayUrls:e,uri:t}){try{let r=await fetch(t).then(n=>n.json());return await Tu({gatewayUrls:e,uri:gl(r)})}catch{throw new li({uri:t})}}async function Tu({gatewayUrls:e,uri:t}){let{uri:r,isOnChain:o}=hl({uri:t,gatewayUrls:e});if(o||await Q2(r))return r;throw new li({uri:t})}function yy(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));let[r,o,n]=t.split("/"),[s,i]=r.split(":"),[a,c]=o.split(":");if(!s||s.toLowerCase()!=="eip155")throw new an({reason:"Only EIP-155 supported"});if(!i)throw new an({reason:"Chain ID not found"});if(!c)throw new an({reason:"Contract address not found"});if(!n)throw new an({reason:"Token ID not found"});if(!a)throw new an({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i,10),namespace:a.toLowerCase(),contractAddress:c,tokenID:n}}async function by(e,{nft:t}){if(t.namespace==="erc721")return Te(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if(t.namespace==="erc1155")return Te(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new Pu({namespace:t.namespace})}async function xy(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?eC(e,{gatewayUrls:t,record:r}):Tu({uri:r,gatewayUrls:t})}async function eC(e,{gatewayUrls:t,record:r}){let o=yy(r),n=await by(e,{nft:o}),{uri:s,isOnChain:i,isEncoded:a}=hl({uri:n,gatewayUrls:t});if(i&&(s.includes("data:application/json;base64,")||s.startsWith("{"))){let m=a?atob(s.replace("data:application/json;base64,","")):s,u=JSON.parse(m);return Tu({uri:gl(u),gatewayUrls:t})}let c=o.tokenID;return o.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),gy({gatewayUrls:t,uri:s.replace(/(?:0x)?{id}/,c)})}rn();Qo();At();In();F();ba();async function $u(e,t){let{blockNumber:r,blockTag:o,key:n,name:s,gatewayUrls:i,strict:a}=t,{chain:c}=e,m=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Ht({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c?.ensTlds;if(u&&!u.some(f=>s.endsWith(f)))return null;try{let f={address:m,abi:pu,args:[se(fi(s)),pe({abi:Qf,functionName:"text",args:[wa(s),n]}),i??[so]],functionName:"resolveWithGateways",blockNumber:r,blockTag:o},d=await P(e,Te,"readContract")(f);if(d[0]==="0x")return null;let h=yt({abi:Qf,functionName:"text",data:d[0]});return h===""?null:h}catch(f){if(a)throw f;if(pi(f))return null;throw f}}async function wy(e,{blockNumber:t,blockTag:r,assetGatewayUrls:o,name:n,gatewayUrls:s,strict:i,universalResolverAddress:a}){let c=await P(e,$u,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:n,universalResolverAddress:a,gatewayUrls:s,strict:i});if(!c)return null;try{return await xy(e,{record:c,gatewayUrls:o})}catch{return null}}rn();In();ba();async function vy(e,t){let{address:r,blockNumber:o,blockTag:n,coinType:s=60n,gatewayUrls:i,strict:a}=t,{chain:c}=e,m=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Ht({blockNumber:o,chain:c,contract:"ensUniversalResolver"})})();try{let u={address:m,abi:qg,args:[r,s,i??[so]],functionName:"reverseWithGateways",blockNumber:o,blockTag:n},f=P(e,Te,"readContract"),[p]=await f(u);return p||null}catch(u){if(a)throw u;if(pi(u))return null;throw u}}In();F();async function Cy(e,t){let{blockNumber:r,blockTag:o,name:n}=t,{chain:s}=e,i=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!s)throw new Error("client chain not configured. universalResolverAddress is required.");return Ht({blockNumber:r,chain:s,contract:"ensUniversalResolver"})})(),a=s?.ensTlds;if(a&&!a.some(m=>n.endsWith(m)))throw new Error(`${n} is not a valid ENS TLD (${a?.join(", ")}) for chain "${s.name}" (id: ${s.id}).`);let[c]=await P(e,Te,"readContract")({address:i,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[se(fi(n))],blockNumber:r,blockTag:o});return c}ci();ve();F();Uf();Vs();wo();ro();async function Ru(e,t){let{account:r=e.account,blockNumber:o,blockTag:n="latest",blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:m,maxFeePerGas:u,maxPriorityFeePerGas:f,to:p,value:d,...h}=t,g=r?j(r):void 0;try{Qe(t);let y=(typeof o=="bigint"?E(o):void 0)||n,v=e.chain?.formatters?.transactionRequest?.format,k=(v||lt)({...kr(h,{format:v}),account:g,blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:m,maxFeePerGas:u,maxPriorityFeePerGas:f,to:p,value:d},"createAccessList"),_=await e.request({method:"eth_createAccessList",params:[k,y]});return{accessList:_.accessList,gasUsed:BigInt(_.gasUsed)}}catch(b){throw Um(b,{...t,account:g,chain:e.chain})}}async function Ey(e){let t=Zo(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}F();async function Bu(e,{address:t,args:r,event:o,events:n,fromBlock:s,strict:i,toBlock:a}={}){let c=n??(o?[o]:void 0),m=Zo(e,{method:"eth_newFilter"}),u=[];c&&(u=[c.flatMap(d=>Sr({abi:[d],eventName:d.name,args:r}))],o&&(u=u[0]));let f=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof s=="bigint"?E(s):s,toBlock:typeof a=="bigint"?E(a):a,...u.length?{topics:u}:{}}]});return{abi:c,args:r,eventName:o?o.name:void 0,fromBlock:s,id:f,request:m(f),strict:!!i,toBlock:a,type:"event"}}async function Fu(e){let t=Zo(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}F();async function ky(e,{address:t,blockNumber:r,blockTag:o=e.experimental_blockTag??"latest"}){let n=typeof r=="bigint"?E(r):void 0,s=await e.request({method:"eth_getBalance",params:[t,n||o]});return BigInt(s)}async function Sy(e){let t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}Be();F();async function _y(e,{blockHash:t,blockNumber:r,blockTag:o="latest"}={}){let n=r!==void 0?E(r):void 0,s;return t?s=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):s=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[n||o]},{dedupe:!!n}),xe(s)}F();async function va(e,{address:t,blockNumber:r,blockTag:o="latest"}){let n=r!==void 0?E(r):void 0,s=await e.request({method:"eth_getCode",params:[t,n||o]},{dedupe:!!n});if(s!=="0x")return s}H();var Mu=class extends x{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}};async function Iy(e,t){let{address:r,factory:o,factoryData:n}=t;try{let[s,i,a,c,m,u,f]=await P(e,Te,"readContract")({abi:tC,address:r,functionName:"eip712Domain",factory:o,factoryData:n});return{domain:{name:i,version:a,chainId:Number(c),verifyingContract:m,salt:u},extensions:f,fields:s}}catch(s){let i=s;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new Mu({address:r}):i}}var tC=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];F();function Ay(e){return{baseFeePerGas:e.baseFeePerGas.map(t=>BigInt(t)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:e.reward?.map(t=>t.map(r=>BigInt(r)))}}async function Py(e,{blockCount:t,blockNumber:r,blockTag:o="latest",rewardPercentiles:n}){let s=typeof r=="bigint"?E(r):void 0,i=await e.request({method:"eth_feeHistory",params:[E(t),s||o,n]},{dedupe:!!s});return Ay(i)}async function Ty(e,{filter:t}){let r=t.strict??!1,n=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(s=>Ze(s));return t.abi?mr({abi:t.abi,logs:n,strict:r}):n}F();ko();Rn();async function $y({address:e,authorization:t,signature:r}){return Kt(Ts(e),await Yo({authorization:t,signature:r}))}H();$n();qs();F();Ps();var Du=new Lt(8192);function Ry(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(Du.get(r))return Du.get(r);let o=e().finally(()=>Du.delete(r));return Du.set(r,o),o}Ye();function By(e,t={}){return async(r,o={})=>{let{dedupe:n=!1,methods:s,retryDelay:i=150,retryCount:a=3,uid:c}={...t,...o},{method:m}=r;if(s?.exclude?.includes(m))throw new vr(new Error("method not supported"),{method:m});if(s?.include&&!s.include.includes(m))throw new vr(new Error("method not supported"),{method:m});let u=n?er(`${c}.${W(r)}`):void 0;return Ry(()=>Nn(async()=>{try{return await e(r)}catch(f){let p=f;switch(p.code){case $o.code:throw new $o(p);case Ro.code:throw new Ro(p);case Bo.code:throw new Bo(p,{method:r.method});case Fo.code:throw new Fo(p);case cr.code:throw new cr(p);case Vt.code:throw new Vt(p);case Mo.code:throw new Mo(p);case Do.code:throw new Do(p);case No.code:throw new No(p);case vr.code:throw new vr(p,{method:r.method});case eo.code:throw new eo(p);case zo.code:throw new zo(p);case to.code:throw new to(p);case Lo.code:throw new Lo(p);case Oo.code:throw new Oo(p);case Uo.code:throw new Uo(p);case Ho.code:throw new Ho(p);case jo.code:throw new jo(p);case Cr.code:throw new Cr(p);case Go.code:throw new Go(p);case qo.code:throw new qo(p);case Vo.code:throw new Vo(p);case Ko.code:throw new Ko(p);case Wo.code:throw new Wo(p);case Er.code:throw new Er(p);case 5e3:throw new to(p);default:throw f instanceof x?f:new Om(p)}}},{delay:({count:f,error:p})=>{if(p&&p instanceof qt){let d=p?.headers?.get("Retry-After");if(d?.match(/\d/))return Number.parseInt(d,10)*1e3}return~~(1<<f)*i},retryCount:a,shouldRetry:({error:f})=>rC(f)}),{enabled:n,id:u})}}function rC(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===eo.code||e.code===cr.code:e instanceof qt&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}Be();F();$n();function Fy(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:o}){return new Promise((n,s)=>{(async()=>{let i;try{let a=new AbortController;r>0&&(i=setTimeout(()=>{o?a.abort():s(t)},r)),n(await e({signal:a?.signal||null}))}catch(a){a?.name==="AbortError"&&s(t),s(a)}finally{clearTimeout(i)}})()})}Ye();function oC(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var yl=oC();function My(e,t={}){return{async request(r){let{body:o,fetchFn:n=t.fetchFn??fetch,onRequest:s=t.onRequest,onResponse:i=t.onResponse,timeout:a=t.timeout??1e4}=r,c={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:m,method:u,signal:f}=c;try{let p=await Fy(async({signal:h})=>{let g={...c,body:Array.isArray(o)?W(o.map(C=>({jsonrpc:"2.0",id:C.id??yl.take(),...C}))):W({jsonrpc:"2.0",id:o.id??yl.take(),...o}),headers:{"Content-Type":"application/json",...m},method:u||"POST",signal:f||(a>0?h:null)},b=new Request(e,g),y=await s?.(b,g)??{...g,url:e};return await n(y.url??e,y)},{errorInstance:new ma({body:o,url:e}),timeout:a,signal:!0});i&&await i(p);let d;if(p.headers.get("Content-Type")?.startsWith("application/json"))d=await p.json();else{d=await p.text();try{d=JSON.parse(d||"{}")}catch(h){if(p.ok)throw h;d={error:d}}}if(!p.ok)throw new qt({body:o,details:W(d.error)||p.statusText,headers:p.headers,status:p.status,url:e});return d}catch(p){throw p instanceof qt||p instanceof ma?p:new qt({body:o,cause:p,url:e})}}}}Ot();var Dy=`Ethereum Signed Message:
52
- `;nt();Mt();F();function Ny(e){let t=(()=>typeof e=="string"?er(e):typeof e.raw=="string"?e.raw:Y(e.raw))(),r=er(`${Dy}${Z(t)}`);return Pe([r,t])}function di(e,t){return ne(Ny(e),t)}Xr();nt();F();Ot();Ce();nr();Ye();H();var Nu=class extends x{constructor({domain:t}){super(`Invalid domain "${W(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}},zu=class extends x{constructor({primaryType:t,types:r}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}},Lu=class extends x{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}};_t();Mt();F();Bf();Ye();function zy(e){let{domain:t,message:r,primaryType:o,types:n}=e,s=(c,m)=>{let u={...m};for(let f of c){let{name:p,type:d}=f;d==="address"&&(u[p]=u[p].toLowerCase())}return u},i=(()=>n.EIP712Domain?t?s(n.EIP712Domain,t):{}:{})(),a=(()=>{if(o!=="EIP712Domain")return s(n[o],r)})();return W({domain:i,message:a,primaryType:o,types:n})}function Ou(e){let{domain:t,message:r,primaryType:o,types:n}=e,s=(i,a)=>{for(let c of i){let{name:m,type:u}=c,f=a[m],p=u.match(Rm);if(p&&(typeof f=="number"||typeof f=="bigint")){let[g,b,y]=p;E(f,{signed:b==="int",size:Number.parseInt(y,10)/8})}if(u==="address"&&typeof f=="string"&&!Q(f))throw new oe({address:f});let d=u.match(eg);if(d){let[g,b]=d;if(b&&Z(f)!==Number.parseInt(b,10))throw new sm({expectedSize:Number.parseInt(b,10),givenSize:Z(f)})}let h=n[u];h&&(nC(u),s(h,f))}};if(n.EIP712Domain&&t){if(typeof t!="object")throw new Nu({domain:t});s(n.EIP712Domain,t)}if(o!=="EIP712Domain")if(n[o])s(n[o],r);else throw new zu({primaryType:o,types:n})}function Uu({domain:e}){return[typeof e?.name=="string"&&{name:"name",type:"string"},e?.version&&{name:"version",type:"string"},(typeof e?.chainId=="number"||typeof e?.chainId=="bigint")&&{name:"chainId",type:"uint256"},e?.verifyingContract&&{name:"verifyingContract",type:"address"},e?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function nC(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new Lu({type:e})}function Hu(e){let{domain:t={},message:r,primaryType:o}=e,n={EIP712Domain:Uu({domain:t}),...e.types};Ou({domain:t,message:r,primaryType:o,types:n});let s=["0x1901"];return t&&s.push(sC({domain:t,types:n})),o!=="EIP712Domain"&&s.push(Ly({data:r,primaryType:o,types:n})),ne(Pe(s))}function sC({domain:e,types:t}){return Ly({data:e,primaryType:"EIP712Domain",types:t})}function Ly({data:e,primaryType:t,types:r}){let o=Oy({data:e,primaryType:t,types:r});return ne(o)}function Oy({data:e,primaryType:t,types:r}){let o=[{type:"bytes32"}],n=[iC({primaryType:t,types:r})];for(let s of r[t]){let[i,a]=Hy({types:r,name:s.name,type:s.type,value:e[s.name]});o.push(i),n.push(a)}return st(o,n)}function iC({primaryType:e,types:t}){let r=se(aC({primaryType:e,types:t}));return ne(r)}function aC({primaryType:e,types:t}){let r="",o=Uy({primaryType:e,types:t});o.delete(e);let n=[e,...Array.from(o).sort()];for(let s of n)r+=`${s}(${t[s].map(({name:i,type:a})=>`${a} ${i}`).join(",")})`;return r}function Uy({primaryType:e,types:t},r=new Set){let n=e.match(/^\w*/u)?.[0];if(r.has(n)||t[n]===void 0)return r;r.add(n);for(let s of t[n])Uy({primaryType:s.type,types:t},r);return r}function Hy({types:e,name:t,type:r,value:o}){if(e[r]!==void 0)return[{type:"bytes32"},ne(Oy({data:o,primaryType:r,types:e}))];if(r==="bytes")return o=`0x${(o.length%2?"0":"")+o.slice(2)}`,[{type:"bytes32"},ne(o)];if(r==="string")return[{type:"bytes32"},ne(se(o))];if(r.lastIndexOf("]")===r.length-1){let n=r.slice(0,r.lastIndexOf("[")),s=o.map(i=>Hy({name:t,type:n,types:e,value:i}));return[{type:"bytes32"},ne(st(s.map(([i])=>i),s.map(([,i])=>i)))]}return[{type:r},o]}var Aa={};rf(Aa,{InvalidWrappedSignatureError:()=>op,assert:()=>np,from:()=>jC,magicBytes:()=>jl,suffixParameters:()=>Gl,unwrap:()=>mb,validate:()=>qC,wrap:()=>GC});sa();en();var ju=class extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){let r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){let o=this.keys().next().value;o&&this.delete(o)}return this}};var cC={checksum:new ju(8192)},Gu=cC.checksum;bt();vf();en();je();function zn(e,t={}){let{as:r=typeof e=="string"?"Hex":"Bytes"}=t,o=Hc(Fg(e));return r==="Bytes"?o:Ie(o)}en();bt();je();da();function jy(e,t={}){let{compressed:r}=t,{prefix:o,x:n,y:s}=e;if(r===!1||typeof n=="bigint"&&typeof s=="bigint"){if(o!==4)throw new qu({prefix:o,cause:new vl});return}if(r===!0||typeof n=="bigint"&&typeof s>"u"){if(o!==3&&o!==2)throw new qu({prefix:o,cause:new wl});return}throw new xl({publicKey:e})}function Gy(e){let t=(()=>{if(ga(e))return qy(e);if(Og(e))return uC(e);let{prefix:r,x:o,y:n}=e;return typeof o=="bigint"&&typeof n=="bigint"?{prefix:r??4,x:o,y:n}:{prefix:r,x:o}})();return jy(t),t}function uC(e){return qy(Ie(e))}function qy(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new Cl({publicKey:e});if(e.length===130){let o=BigInt(ge(e,0,32)),n=BigInt(ge(e,32,64));return{prefix:4,x:o,y:n}}if(e.length===132){let o=Number(ge(e,0,1)),n=BigInt(ge(e,1,33)),s=BigInt(ge(e,33,65));return{prefix:o,x:n,y:s}}let t=Number(ge(e,0,1)),r=BigInt(ge(e,1,33));return{prefix:t,x:r}}function El(e,t={}){jy(e);let{prefix:r,x:o,y:n}=e,{includePrefix:s=!0}=t;return we(s?ee(r,{size:1}):"0x",ee(o,{size:32}),typeof n=="bigint"?ee(n,{size:32}):"0x")}var xl=class extends B{constructor({publicKey:t}){super(`Value \`${tn(t)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"})}},qu=class extends B{constructor({prefix:t,cause:r}){super(`Prefix "${t}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"})}},wl=class extends B{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"})}},vl=class extends B{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}},Cl=class extends B{constructor({publicKey:t}){super(`Value \`${t}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${he(ni(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};var pC=/^0x[a-fA-F0-9]{40}$/;function Ln(e,t={}){let{strict:r=!0}=t;if(!pC.test(e))throw new Vu({address:e,cause:new kl});if(r){if(e.toLowerCase()===e)return;if(Ku(e)!==e)throw new Vu({address:e,cause:new Sl})}}function Ku(e){if(Gu.has(e))return Gu.get(e);Ln(e,{strict:!1});let t=e.substring(2).toLowerCase(),r=zn(Mg(t),{as:"Bytes"}),o=t.split("");for(let s=0;s<40;s+=2)r[s>>1]>>4>=8&&o[s]&&(o[s]=o[s].toUpperCase()),(r[s>>1]&15)>=8&&o[s+1]&&(o[s+1]=o[s+1].toUpperCase());let n=`0x${o.join("")}`;return Gu.set(e,n),n}function fC(e,t={}){let{checksum:r=!1}=t;return Ln(e),r?Ku(e):e}function Ky(e,t={}){let r=zn(`0x${El(e).slice(4)}`).substring(26);return fC(`0x${r}`,t)}function Wu(e,t={}){let{strict:r=!0}=t??{};try{return Ln(e,{strict:r}),!0}catch{return!1}}var Vu=class extends B{constructor({address:t,cause:r}){super(`Address "${t}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}},kl=class extends B{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}},Sl=class extends B{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}};en();bt();je();en();bt();je();var Wy=/^(.*)\[([0-9]*)\]$/,Jy=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Zu=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,aj=2n**(8n-1n)-1n,cj=2n**(16n-1n)-1n,mj=2n**(24n-1n)-1n,uj=2n**(32n-1n)-1n,pj=2n**(40n-1n)-1n,fj=2n**(48n-1n)-1n,lj=2n**(56n-1n)-1n,dj=2n**(64n-1n)-1n,hj=2n**(72n-1n)-1n,gj=2n**(80n-1n)-1n,yj=2n**(88n-1n)-1n,bj=2n**(96n-1n)-1n,xj=2n**(104n-1n)-1n,wj=2n**(112n-1n)-1n,vj=2n**(120n-1n)-1n,Cj=2n**(128n-1n)-1n,Ej=2n**(136n-1n)-1n,kj=2n**(144n-1n)-1n,Sj=2n**(152n-1n)-1n,_j=2n**(160n-1n)-1n,Ij=2n**(168n-1n)-1n,Aj=2n**(176n-1n)-1n,Pj=2n**(184n-1n)-1n,Tj=2n**(192n-1n)-1n,$j=2n**(200n-1n)-1n,Rj=2n**(208n-1n)-1n,Bj=2n**(216n-1n)-1n,Fj=2n**(224n-1n)-1n,Mj=2n**(232n-1n)-1n,Dj=2n**(240n-1n)-1n,Nj=2n**(248n-1n)-1n,zj=2n**(256n-1n)-1n,Lj=-(2n**(8n-1n)),Oj=-(2n**(16n-1n)),Uj=-(2n**(24n-1n)),Hj=-(2n**(32n-1n)),jj=-(2n**(40n-1n)),Gj=-(2n**(48n-1n)),qj=-(2n**(56n-1n)),Vj=-(2n**(64n-1n)),Kj=-(2n**(72n-1n)),Wj=-(2n**(80n-1n)),Jj=-(2n**(88n-1n)),Zj=-(2n**(96n-1n)),Yj=-(2n**(104n-1n)),Xj=-(2n**(112n-1n)),Qj=-(2n**(120n-1n)),eG=-(2n**(128n-1n)),tG=-(2n**(136n-1n)),rG=-(2n**(144n-1n)),oG=-(2n**(152n-1n)),nG=-(2n**(160n-1n)),sG=-(2n**(168n-1n)),iG=-(2n**(176n-1n)),aG=-(2n**(184n-1n)),cG=-(2n**(192n-1n)),mG=-(2n**(200n-1n)),uG=-(2n**(208n-1n)),pG=-(2n**(216n-1n)),fG=-(2n**(224n-1n)),lG=-(2n**(232n-1n)),dG=-(2n**(240n-1n)),hG=-(2n**(248n-1n)),gG=-(2n**(256n-1n)),yG=2n**8n-1n,bG=2n**16n-1n,xG=2n**24n-1n,wG=2n**32n-1n,vG=2n**40n-1n,CG=2n**48n-1n,EG=2n**56n-1n,kG=2n**64n-1n,SG=2n**72n-1n,_G=2n**80n-1n,IG=2n**88n-1n,AG=2n**96n-1n,PG=2n**104n-1n,TG=2n**112n-1n,$G=2n**120n-1n,RG=2n**128n-1n,BG=2n**136n-1n,FG=2n**144n-1n,MG=2n**152n-1n,DG=2n**160n-1n,NG=2n**168n-1n,zG=2n**176n-1n,LG=2n**184n-1n,OG=2n**192n-1n,UG=2n**200n-1n,HG=2n**208n-1n,jG=2n**216n-1n,GG=2n**224n-1n,qG=2n**232n-1n,VG=2n**240n-1n,KG=2n**248n-1n,_l=2n**256n-1n;function On(e,t,r){let{checksumAddress:o,staticPosition:n}=r,s=Pl(t.type);if(s){let[i,a]=s;return dC(e,{...t,type:a},{checksumAddress:o,length:i,staticPosition:n})}if(t.type==="tuple")return bC(e,t,{checksumAddress:o,staticPosition:n});if(t.type==="address")return lC(e,{checksum:o});if(t.type==="bool")return hC(e);if(t.type.startsWith("bytes"))return gC(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return yC(e,t);if(t.type==="string")return xC(e,{staticPosition:n});throw new hi(t.type)}var Yy=32,Il=32;function lC(e,t={}){let{checksum:r=!1}=t,o=e.readBytes(32);return[(s=>r?Ku(s):s)(Ie(Dg(o,-20))),32]}function dC(e,t,r){let{checksumAddress:o,length:n,staticPosition:s}=r;if(!n){let c=Ir(e.readBytes(Il)),m=s+c,u=m+Yy;e.setPosition(m);let f=Ir(e.readBytes(Yy)),p=Ca(t),d=0,h=[];for(let g=0;g<f;++g){e.setPosition(u+(p?g*32:d));let[b,y]=On(e,t,{checksumAddress:o,staticPosition:u});d+=y,h.push(b)}return e.setPosition(s+32),[h,32]}if(Ca(t)){let c=Ir(e.readBytes(Il)),m=s+c,u=[];for(let f=0;f<n;++f){e.setPosition(m+f*32);let[p]=On(e,t,{checksumAddress:o,staticPosition:m});u.push(p)}return e.setPosition(s+32),[u,32]}let i=0,a=[];for(let c=0;c<n;++c){let[m,u]=On(e,t,{checksumAddress:o,staticPosition:s+i});i+=u,a.push(m)}return[a,i]}function hC(e){return[zg(e.readBytes(32),{size:32}),32]}function gC(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=Ir(e.readBytes(32));e.setPosition(r+i);let a=Ir(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[Ie(c),32]}return[Ie(e.readBytes(Number.parseInt(n,10),32)),32]}function yC(e,t){let r=t.type.startsWith("int"),o=Number.parseInt(t.type.split("int")[1]||"256",10),n=e.readBytes(32);return[o>48?Ng(n,{signed:r}):Ir(n,{signed:r}),32]}function bC(e,t,r){let{checksumAddress:o,staticPosition:n}=r,s=t.components.length===0||t.components.some(({name:c})=>!c),i=s?[]:{},a=0;if(Ca(t)){let c=Ir(e.readBytes(Il)),m=n+c;for(let u=0;u<t.components.length;++u){let f=t.components[u];e.setPosition(m+a);let[p,d]=On(e,f,{checksumAddress:o,staticPosition:m});a+=d,i[s?u:f?.name]=p}return e.setPosition(n+32),[i,32]}for(let c=0;c<t.components.length;++c){let m=t.components[c],[u,f]=On(e,m,{checksumAddress:o,staticPosition:n});i[s?c:m?.name]=u,a+=f}return[i,a]}function xC(e,{staticPosition:t}){let r=Ir(e.readBytes(32)),o=t+r;e.setPosition(o);let n=Ir(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=Lg(Jf(s));return e.setPosition(t+32),[i,32]}function Xy({checksumAddress:e,parameters:t,values:r}){let o=[];for(let n=0;n<t.length;n++)o.push(Al({checksumAddress:e,parameter:t[n],value:r[n]}));return o}function Al({checksumAddress:e=!1,parameter:t,value:r}){let o=t,n=Pl(o.type);if(n){let[s,i]=n;return vC(r,{checksumAddress:e,length:s,parameter:{...o,type:i}})}if(o.type==="tuple")return _C(r,{checksumAddress:e,parameter:o});if(o.type==="address")return wC(r,{checksum:e});if(o.type==="bool")return EC(r);if(o.type.startsWith("uint")||o.type.startsWith("int")){let s=o.type.startsWith("int"),[,,i="256"]=Zu.exec(o.type)??[];return kC(r,{signed:s,size:Number(i)})}if(o.type.startsWith("bytes"))return CC(r,{type:o.type});if(o.type==="string")return SC(r);throw new hi(o.type)}function Yu(e){let t=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?t+=32:t+=he(a)}let r=[],o=[],n=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?(r.push(ee(t+n,{size:32})),o.push(a),n+=he(a)):r.push(a)}return we(...r,...o)}function wC(e,t){let{checksum:r=!1}=t;return Ln(e,{strict:r}),{dynamic:!1,encoded:no(e.toLowerCase())}}function vC(e,t){let{checksumAddress:r,length:o,parameter:n}=t,s=o===null;if(!Array.isArray(e))throw new Qu(e);if(!s&&e.length!==o)throw new Xu({expectedLength:o,givenLength:e.length,type:`${n.type}[${o}]`});let i=!1,a=[];for(let c=0;c<e.length;c++){let m=Al({checksumAddress:r,parameter:n,value:e[c]});m.dynamic&&(i=!0),a.push(m)}if(s||i){let c=Yu(a);if(s){let m=ee(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?we(m,c):m}}if(i)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:we(...a.map(({encoded:c})=>c))}}function CC(e,{type:t}){let[,r]=t.split("bytes"),o=he(e);if(!r){let n=e;return o%32!==0&&(n=Ar(n,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:we(no(ee(o,{size:32})),n)}}if(o!==Number.parseInt(r,10))throw new Ea({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:Ar(e)}}function EC(e){if(typeof e!="boolean")throw new B(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:no(cu(e))}}function kC(e,{signed:t,size:r}){if(typeof r=="number"){let o=2n**(BigInt(r)-(t?1n:0n))-1n,n=t?-o-1n:0n;if(e>o||e<n)throw new ha({max:o.toString(),min:n.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:ee(e,{size:32,signed:t})}}function SC(e){let t=si(e),r=Math.ceil(he(t)/32),o=[];for(let n=0;n<r;n++)o.push(Ar(ge(t,n*32,(n+1)*32)));return{dynamic:!0,encoded:we(Ar(ee(he(t),{size:32})),...o)}}function _C(e,t){let{checksumAddress:r,parameter:o}=t,n=!1,s=[];for(let i=0;i<o.components.length;i++){let a=o.components[i],c=Array.isArray(e)?i:a.name,m=Al({checksumAddress:r,parameter:a,value:e[c]});s.push(m),m.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Yu(s):we(...s.map(({encoded:i})=>i))}}function Pl(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function Ca(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(Ca);let r=Pl(e.type);return!!(r&&Ca({...e,type:r[1]}))}bt();var AC={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new $l({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Tl({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new ep({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new ep({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function tp(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(AC);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var ep=class extends B{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}},Tl=class extends B{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}},$l=class extends B{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}};function gi(e,t,r={}){let{as:o="Array",checksumAddress:n=!1}=r,s=typeof t=="string"?oi(t):t,i=tp(s);if(Wt(s)===0&&e.length>0)throw new Fl;if(Wt(s)&&Wt(s)<32)throw new Bl({data:typeof t=="string"?t:Ie(t),parameters:e,size:Wt(s)});let a=0,c=o==="Array"?[]:{};for(let m=0;m<e.length;++m){let u=e[m];i.setPosition(a);let[f,p]=On(i,u,{checksumAddress:n,staticPosition:0});a+=p,o==="Array"?c.push(f):c[u.name??m]=f}return c}function cn(e,t,r){let{checksumAddress:o=!1}=r??{};if(e.length!==t.length)throw new rp({expectedLength:e.length,givenLength:t.length});let n=Xy({checksumAddress:o,parameters:e,values:t}),s=Yu(n);return s.length===0?"0x":s}function Rl(e,t){if(e.length!==t.length)throw new rp({expectedLength:e.length,givenLength:t.length});let r=[];for(let o=0;o<e.length;o++){let n=e[o],s=t[o];r.push(Rl.encode(n,s))}return we(...r)}(function(e){function t(r,o,n=!1){if(r==="address"){let c=o;return Ln(c),no(c.toLowerCase(),n?32:0)}if(r==="string")return si(o);if(r==="bytes")return o;if(r==="bool")return no(cu(o),n?32:1);let s=r.match(Zu);if(s){let[c,m,u="256"]=s,f=Number.parseInt(u,10)/8;return ee(o,{size:n?32:f,signed:m==="int"})}let i=r.match(Jy);if(i){let[c,m]=i;if(Number.parseInt(m,10)!==(o.length-2)/2)throw new Ea({expectedSize:Number.parseInt(m,10),value:o});return Ar(o,n?32:0)}let a=r.match(Wy);if(a&&Array.isArray(o)){let[c,m]=a,u=[];for(let f=0;f<o.length;f++)u.push(t(m,o[f],!0));return u.length===0?"0x":we(...u)}throw new hi(r)}e.encode=t})(Rl||(Rl={}));function Sa(e){return Array.isArray(e)&&typeof e[0]=="string"?Tm(e):typeof e=="string"?Tm(e):e}var Bl=class extends B{constructor({data:t,parameters:r,size:o}){super(`Data size of ${o} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Yr(r)})`,`Data: ${t} (${o} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}},Fl=class extends B{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}},Xu=class extends B{constructor({expectedLength:t,givenLength:r,type:o}){super(`Array length mismatch for type \`${o}\`. Expected: \`${t}\`. Given: \`${r}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}},Ea=class extends B{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${he(r)}) does not match expected size (bytes${t}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}},rp=class extends B{constructor({expectedLength:t,givenLength:r}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${t}`,`Given length (values): ${r}`].join(`
53
- `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}},Qu=class extends B{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}},hi=class extends B{constructor(t){super(`Type \`${t}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}};je();en();bt();je();function PC(e,t){let{as:r}=t,o=tb(e),n=tp(new Uint8Array(o.length));return o.encode(n),r==="Hex"?Ie(n.bytes):n.bytes}function eb(e,t={}){let{as:r="Hex"}=t;return PC(e,{as:r})}function tb(e){return Array.isArray(e)?TC(e.map(t=>tb(t))):$C(e)}function TC(e){let t=e.reduce((n,s)=>n+s.length,0),r=rb(t);return{length:(()=>t<=55?1+t:1+r+t)(),encode(n){t<=55?n.pushByte(192+t):(n.pushByte(192+55+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:s}of e)s(n)}}}function $C(e){let t=typeof e=="string"?oi(e):e,r=rb(t.length);return{length:(()=>t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length)(),encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(128+55+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function rb(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new B("Length is too large.")}import{secp256k1 as YG}from"@noble/curves/secp256k1";bt();je();da();function Ll(e,t={}){let{recovered:r}=t;if(typeof e.r>"u")throw new _a({signature:e});if(typeof e.s>"u")throw new _a({signature:e});if(r&&typeof e.yParity>"u")throw new _a({signature:e});if(e.r<0n||e.r>_l)throw new Dl({value:e.r});if(e.s<0n||e.s>_l)throw new Nl({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new Ia({value:e.yParity})}function BC(e){return ob(Ie(e))}function ob(e){if(e.length!==130&&e.length!==132)throw new Ml({signature:e});let t=BigInt(ge(e,0,32)),r=BigInt(ge(e,32,64)),o=(()=>{let n=+`0x${e.slice(130)}`;if(!Number.isNaN(n))try{return Hl(n)}catch{throw new Ia({value:n})}})();return typeof o>"u"?{r:t,s:r}:{r:t,s:r,yParity:o}}function Ol(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return Ul(e)}function Ul(e){let t=(()=>typeof e=="string"?ob(e):e instanceof Uint8Array?BC(e):typeof e.r=="string"?MC(e):e.v?FC(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}})();return Ll(t),t}function FC(e){return{r:e.r,s:e.s,yParity:Hl(e.v)}}function MC(e){let t=(()=>{let r=e.v?Number(e.v):void 0,o=e.yParity?Number(e.yParity):void 0;if(typeof r=="number"&&typeof o!="number"&&(o=Hl(r)),typeof o!="number")throw new Ia({value:e.yParity});return o})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function nb(e){let{r:t,s:r,yParity:o}=e;return[o?"0x01":"0x",t===0n?"0x":Yf(ee(t)),r===0n?"0x":Yf(ee(r))]}function Hl(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return e%2===0?1:0;throw new zl({value:e})}var Ml=class extends B{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${he(ni(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}},_a=class extends B{constructor({signature:t}){super(`Signature \`${tn(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}},Dl=class extends B{constructor({value:t}){super(`Value \`${t}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}},Nl=class extends B{constructor({value:t}){super(`Value \`${t}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}},Ia=class extends B{constructor({value:t}){super(`Value \`${t}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}},zl=class extends B{constructor({value:t}){super(`Value \`${t}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}};function ib(e,t={}){return typeof e.chainId=="string"?DC(e):{...e,...t.signature}}function DC(e){let{address:t,chainId:r,nonce:o}=e,n=Ol(e);return{address:t,chainId:Number(r),nonce:BigInt(o),...n}}function ab(e){return NC(e,{presign:!0})}function NC(e,t={}){let{presign:r}=t;return zn(we("0x05",eb(zC(r?{address:e.address,chainId:e.chainId,nonce:e.nonce}:e))))}function zC(e){let{address:t,chainId:r,nonce:o}=e,n=Ol(e);return[r?ee(r):"0x",t,o?ee(o):"0x",...n?nb(n):[]]}bt();je();import{secp256k1 as OC}from"@noble/curves/secp256k1";je();function cb(e){return Ky(UC(e))}function UC(e){let{payload:t,signature:r}=e,{r:o,s:n,yParity:s}=r,a=new OC.Signature(BigInt(o),BigInt(n)).addRecoveryBit(s).recoverPublicKey(ni(t).substring(2));return Gy(a)}var jl="0x8010801080108010801080108010801080108010801080108010801080108010",Gl=Sa("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function np(e){if(typeof e=="string"){if(ge(e,-32)!==jl)throw new op(e)}else Ll(e.authorization)}function jC(e){return typeof e=="string"?mb(e):e}function mb(e){np(e);let t=su(ge(e,-64,-32)),r=ge(e,-t-64,-64),o=ge(e,0,-t-64),[n,s,i]=gi(Gl,r);return{authorization:ib({address:n.delegation,chainId:Number(n.chainId),nonce:n.nonce,yParity:n.yParity,r:n.r,s:n.s}),signature:o,...i&&i!=="0x"?{data:i,to:s}:{}}}function GC(e){let{data:t,signature:r}=e;np(e);let o=cb({payload:ab(e.authorization),signature:Ul(e.authorization)}),n=cn(Gl,[{...e.authorization,delegation:e.authorization.address,chainId:BigInt(e.authorization.chainId)},e.to??o,t??"0x"]),s=ee(he(n),{size:32});return we(r,n,s,jl)}function qC(e){try{return np(e),!0}catch{return!1}}var op=class extends B{constructor(t){super(`Value \`${t}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};xc();H();var sp=class extends x{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}};function ub(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new sp({value:e});let[r,o="0"]=e.split("."),n=r.startsWith("-");if(n&&(r=r.slice(1)),o=o.replace(/(0+)$/,""),t===0)Math.round(+`.${o}`)===1&&(r=`${BigInt(r)+1n}`),o="";else if(o.length>t){let[s,i,a]=[o.slice(0,t-1),o.slice(t-1,t),o.slice(t)],c=Math.round(+`${i}.${a}`);c>9?o=`${BigInt(s)+BigInt(1)}0`.padStart(s.length+1,"0"):o=`${s}${c}`,o.length>t&&(o=o.slice(1),r=`${BigInt(r)+1n}`),o=o.slice(0,t)}else o=o.padEnd(t,"0");return BigInt(`${n?"-":""}${r}${o}`)}function Un(e,t="wei"){return ub(e,bc[t])}function VC(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function pb(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?xe(e.nonce):void 0,storageProof:e.storageProof?VC(e.storageProof):void 0}}async function fb(e,{address:t,blockNumber:r,blockTag:o,storageKeys:n}){let s=o??"latest",i=r!==void 0?E(r):void 0,a=await e.request({method:"eth_getProof",params:[t,n,i||s]});return pb(a)}F();async function lb(e,{address:t,blockNumber:r,blockTag:o="latest",slot:n}){let s=r!==void 0?E(r):void 0;return await e.request({method:"eth_getStorageAt",params:[t,n,s||o]})}St();F();async function yi(e,{blockHash:t,blockNumber:r,blockTag:o,hash:n,index:s}){let i=o||"latest",a=r!==void 0?E(r):void 0,c=null;if(n?c=await e.request({method:"eth_getTransactionByHash",params:[n]},{dedupe:!0}):t?c=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,E(s)]},{dedupe:!0}):(a||i)&&(c=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[a||i,E(s)]},{dedupe:!!a})),!c)throw new fs({blockHash:t,blockNumber:r,blockTag:i,hash:n,index:s});return(e.chain?.formatters?.transaction?.format||Cn)(c,"getTransaction")}async function db(e,{hash:t,transactionReceipt:r}){let[o,n]=await Promise.all([P(e,Tr,"getBlockNumber")({}),t?P(e,yi,"getTransaction")({hash:t}):void 0]),s=r?.blockNumber||n?.blockNumber;return s?o-s+1n:0n}St();async function bi(e,{hash:t}){let r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new ls({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||ji)(r,"getTransactionReceipt")}rn();ya();Ce();H();Po();Qo();At();In();async function hb(e,t){let{account:r,authorizationList:o,allowFailure:n=!0,blockNumber:s,blockOverrides:i,blockTag:a,stateOverride:c}=t,m=t.contracts,{batchSize:u=t.batchSize??1024,deployless:f=t.deployless??!1}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},p=(()=>{if(t.multicallAddress)return t.multicallAddress;if(f)return null;if(e.chain)return Ht({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),d=[[]],h=0,g=0;for(let v=0;v<m.length;v++){let{abi:C,address:k,args:_,functionName:I}=m[v];try{let A=pe({abi:C,args:_,functionName:I});g+=(A.length-2)/2,u>0&&g>u&&d[h].length>0&&(h++,g=(A.length-2)/2,d[h]=[]),d[h]=[...d[h],{allowFailure:!0,callData:A,target:k}]}catch(A){let R=Pt(A,{abi:C,address:k,args:_,docsPath:"/docs/contract/multicall",functionName:I,sender:r});if(!n)throw R;d[h]=[...d[h],{allowFailure:!0,callData:"0x",target:k}]}}let b=await Promise.allSettled(d.map(v=>P(e,Te,"readContract")({...p===null?{code:ii}:{address:p},abi:Fn,account:r,args:[v],authorizationList:o,blockNumber:s,blockOverrides:i,blockTag:a,functionName:"aggregate3",stateOverride:c}))),y=[];for(let v=0;v<b.length;v++){let C=b[v];if(C.status==="rejected"){if(!n)throw C.reason;for(let _=0;_<d[v].length;_++)y.push({status:"failure",error:C.reason,result:void 0});continue}let k=C.value;for(let _=0;_<k.length;_++){let{returnData:I,success:A}=k[_],{callData:R}=d[v][_],{abi:N,address:M,functionName:U,args:G}=m[y.length];try{if(R==="0x")throw new Gt;if(!A)throw new wr({data:I});let q=yt({abi:N,args:G,data:I,functionName:U});y.push(n?{result:q,status:"success"}:q)}catch(q){let me=Pt(q,{abi:N,address:M,args:G,docsPath:"/docs/contract/multicall",functionName:U});if(!n)throw me;y.push({error:me,result:void 0,status:"failure"})}}}if(y.length!==m.length)throw new x("multicall results mismatch");return y}Xf();ve();Ce();Po();Eo();Qo();At();nt();F();ua();wo();Jm();ro();async function Pa(e,t){let{blockNumber:r,blockTag:o=e.experimental_blockTag??"latest",blocks:n,returnFullTransactions:s,traceTransfers:i,validation:a}=t;try{let c=[];for(let p of n){let d=p.blockOverrides?mu(p.blockOverrides):void 0,h=p.calls.map(b=>{let y=b,v=y.account?j(y.account):void 0,C=y.abi?pe(y):y.data,k={...y,account:v,data:y.dataSuffix?Pe([C||"0x",y.dataSuffix]):C,from:y.from??v?.address};return Qe(k),lt(k)}),g=p.stateOverrides?Ks(p.stateOverrides):void 0;c.push({blockOverrides:d,calls:h,stateOverrides:g})}let u=(typeof r=="bigint"?E(r):void 0)||o;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:s,traceTransfers:i,validation:a},u]})).map((p,d)=>({...Hi(p),calls:p.calls.map((h,g)=>{let{abi:b,args:y,functionName:v,to:C}=n[d].calls[g],k=h.error?.data??h.returnData,_=BigInt(h.gasUsed),I=h.logs?.map(M=>Ze(M)),A=h.status==="0x1"?"success":"failure",R=b&&A==="success"&&k!=="0x"?yt({abi:b,data:k,functionName:v}):null,N=(()=>{if(A==="success")return;let M;if(h.error?.data==="0x"?M=new Gt:h.error&&(M=new wr(h.error)),!!M)return Pt(M,{abi:b??[],address:C??"0x",args:y,functionName:v??"<unknown>"})})();return{data:k,gasUsed:_,logs:I,status:A,...A==="success"?{result:R}:{error:N}}})}))}catch(c){let m=c,u=Jo(m,{});throw u instanceof zt?m:u}}sa();bt();je();bt();function ap(e){let t=!0,r="",o=0,n="",s=!1;for(let i=0;i<e.length;i++){let a=e[i];if(["(",")",","].includes(a)&&(t=!0),a==="("&&o++,a===")"&&o--,!!t){if(o===0){if(a===" "&&["event","function","error",""].includes(n))n="";else if(n+=a,a===")"){s=!0;break}continue}if(a===" "){e[i-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}n+=a,r+=a}}if(!s)throw new B("Unable to normalize signature.");return n}function ip(e,t){let r=typeof e,o=t.type;switch(o){case"address":return Wu(e,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return o==="tuple"&&"components"in t?Object.values(t.components).every((n,s)=>ip(Object.values(e)[s],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(o)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(o)?r==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(o)?Array.isArray(e)&&e.every(n=>ip(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function ql(e,t,r){for(let o in e){let n=e[o],s=t[o];if(n.type==="tuple"&&s.type==="tuple"&&"components"in n&&"components"in s)return ql(n.components,s.components,r[o]);let i=[n.type,s.type];if((()=>i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?Wu(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?Wu(r[o],{strict:!1}):!1)())return i}}function cp(e,t={}){let{prepare:r=!0}=t,o=(()=>Array.isArray(e)?Pm(e):typeof e=="string"?Pm(e):e)();return{...o,...r?{hash:xi(o)}:{}}}function Ta(e,t,r){let{args:o=[],prepare:n=!0}=r??{},s=ga(t,{strict:!1}),i=e.filter(m=>s?m.type==="function"||m.type==="error"?Kl(m)===ge(t,0,4):m.type==="event"?xi(m)===t:!1:"name"in m&&m.name===t);if(i.length===0)throw new mn({name:t});if(i.length===1)return{...i[0],...n?{hash:xi(i[0])}:{}};let a;for(let m of i){if(!("inputs"in m))continue;if(!o||o.length===0){if(!m.inputs||m.inputs.length===0)return{...m,...n?{hash:xi(m)}:{}};continue}if(!m.inputs||m.inputs.length===0||m.inputs.length!==o.length)continue;if(o.every((f,p)=>{let d="inputs"in m&&m.inputs[p];return d?ip(f,d):!1})){if(a&&"inputs"in a&&a.inputs){let f=ql(m.inputs,a.inputs,o);if(f)throw new Vl({abiItem:m,type:f[0]},{abiItem:a,type:f[1]})}a=m}}let c=(()=>{if(a)return a;let[m,...u]=i;return{...m,overloads:u}})();if(!c)throw new mn({name:t});return{...c,...n?{hash:xi(c)}:{}}}function Kl(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return Ta(r,o)}return e[0]})();return ge(xi(t),0,4)}function WC(...e){let t=(()=>{if(Array.isArray(e[0])){let[o,n]=e;return Ta(o,n)}return e[0]})(),r=(()=>typeof t=="string"?t:An(t))();return ap(r)}function xi(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return Ta(r,o)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:zn(si(WC(t)))}var Vl=class extends B{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${ap(An(t.abiItem))}\`, and`,`\`${r.type}\` in \`${ap(An(r.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}},mn=class extends B{constructor({name:t,data:r,type:o="item"}){let n=(()=>t?` with name "${t}"`:r?` with data "${r}"`:"")();super(`ABI ${o}${n} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}};je();function yb(...e){let[t,r]=(()=>{if(Array.isArray(e[0])){let[s,i]=e;return[JC(s),i]}return e})(),{bytecode:o,args:n}=r;return we(o,t.inputs?.length&&n?.length?cn(t.inputs,n):"0x")}function bb(e){return cp(e)}function JC(e){let t=e.find(r=>r.type==="constructor");if(!t)throw new mn({name:"constructor"});return t}je();function wb(...e){let[t,r=[]]=(()=>{if(Array.isArray(e[0])){let[m,u,f]=e;return[xb(m,u,{args:f}),f]}let[a,c]=e;return[a,c]})(),{overloads:o}=t,n=o?xb([t,...o],t.name,{args:r}):t,s=YC(n),i=r.length>0?cn(n.inputs,r):void 0;return i?we(s,i):s}function Hn(e,t={}){return cp(e,t)}function xb(e,t,r){let o=Ta(e,t,r);if(o.type!=="function")throw new mn({name:t,type:"function"});return o}function YC(e){return Kl(e)}ve();var vb="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",ur="0x0000000000000000000000000000000000000000";ya();H();At();var QC="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function Cb(e,t){let{blockNumber:r,blockTag:o,calls:n,stateOverrides:s,traceAssetChanges:i,traceTransfers:a,validation:c}=t,m=t.account?j(t.account):void 0;if(i&&!m)throw new x("`account` is required when `traceAssetChanges` is true");let u=m?yb(bb("constructor(bytes, bytes)"),{bytecode:fu,args:[QC,wb(Hn("function getBalance(address)"),[m.address])]}):void 0,f=i?await Promise.all(t.calls.map(async z=>{if(!z.data&&!z.abi)return;let{accessList:_e}=await Ru(e,{account:m.address,...z,data:z.abi?pe(z):z.data});return _e.map(({address:dr,storageKeys:go})=>go.length>0?dr:null)})).then(z=>z.flat().filter(Boolean)):[],p=await Pa(e,{blockNumber:r,blockTag:o,blocks:[...i?[{calls:[{data:u}],stateOverrides:s},{calls:f.map((z,_e)=>({abi:[Hn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:z,from:ur,nonce:_e})),stateOverrides:[{address:ur,nonce:0}]}]:[],{calls:[...n,{}].map(z=>({...z,from:m?.address})),stateOverrides:s},...i?[{calls:[{data:u}]},{calls:f.map((z,_e)=>({abi:[Hn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:z,from:ur,nonce:_e})),stateOverrides:[{address:ur,nonce:0}]},{calls:f.map((z,_e)=>({to:z,abi:[Hn("function decimals() returns (uint256)")],functionName:"decimals",from:ur,nonce:_e})),stateOverrides:[{address:ur,nonce:0}]},{calls:f.map((z,_e)=>({to:z,abi:[Hn("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:ur,nonce:_e})),stateOverrides:[{address:ur,nonce:0}]},{calls:f.map((z,_e)=>({to:z,abi:[Hn("function symbol() returns (string)")],functionName:"symbol",from:ur,nonce:_e})),stateOverrides:[{address:ur,nonce:0}]}]:[]],traceTransfers:a,validation:c}),d=i?p[2]:p[0],[h,g,,b,y,v,C,k]=i?p:[],{calls:_,...I}=d,A=_.slice(0,-1)??[],R=h?.calls??[],N=g?.calls??[],M=[...R,...N].map(z=>z.status==="success"?ie(z.data):null),U=b?.calls??[],G=y?.calls??[],q=[...U,...G].map(z=>z.status==="success"?ie(z.data):null),me=(v?.calls??[]).map(z=>z.status==="success"?z.result:null),Ae=(k?.calls??[]).map(z=>z.status==="success"?z.result:null),qe=(C?.calls??[]).map(z=>z.status==="success"?z.result:null),Bt=[];for(let[z,_e]of q.entries()){let dr=M[z];if(typeof _e!="bigint"||typeof dr!="bigint")continue;let go=me[z-1],ue=Ae[z-1],yo=qe[z-1],Qt=(()=>z===0?{address:vb,decimals:18,symbol:"ETH"}:{address:f[z-1],decimals:yo||go?Number(go??1):void 0,symbol:ue??void 0})();Bt.some(ef=>ef.token.address===Qt.address)||Bt.push({token:Qt,value:{pre:dr,post:_e,diff:_e-dr}})}return{assetChanges:Bt,block:I,results:A}}var $a={};rf($a,{InvalidWrappedSignatureError:()=>mp,assert:()=>Jl,from:()=>r8,magicBytes:()=>Wl,universalSignatureValidatorAbi:()=>t8,universalSignatureValidatorBytecode:()=>e8,unwrap:()=>Eb,validate:()=>n8,wrap:()=>o8});bt();je();var Wl="0x6492649264926492649264926492649264926492649264926492649264926492",e8="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",t8=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}];function Jl(e){if(ge(e,-32)!==Wl)throw new mp(e)}function r8(e){return typeof e=="string"?Eb(e):e}function Eb(e){Jl(e);let[t,r,o]=gi(Sa("address, bytes, bytes"),e);return{data:r,signature:o,to:t}}function o8(e){let{data:t,signature:r,to:o}=e;return we(cn(Sa("address, bytes, bytes"),[o,t,r]),Wl)}function n8(e){try{return Jl(e),!0}catch{return!1}}var mp=class extends B{constructor(t){super(`Value \`${t}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}};rn();ya();Po();lu();At();ko();Rn();nt();kt();Be();F();Be();Oe();import{secp256k1 as s8}from"@noble/curves/secp256k1";function up({r:e,s:t,to:r="hex",v:o,yParity:n}){let s=(()=>{if(n===0||n===1)return n;if(o&&(o===27n||o===28n||o>=35n))return o%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),i=`0x${new s8.Signature(ie(e),ie(t)).toCompactHex()}${s===0?"1b":"1c"}`;return r==="hex"?i:Fe(i)}ci();async function un(e,t){let{address:r,hash:o,erc6492VerifierAddress:n=t.universalSignatureVerifierAddress??e.chain?.contracts?.erc6492Verifier?.address,multicallAddress:s=t.multicallAddress??e.chain?.contracts?.multicall3?.address}=t,i=(()=>{let a=t.signature;return ce(a)?a:typeof a=="object"&&"r"in a&&"s"in a?up(a):Y(a)})();try{return Aa.validate(i)?await i8(e,{...t,multicallAddress:s,signature:i}):await a8(e,{...t,verifierAddress:n,signature:i})}catch(a){try{if(Kt(Ts(r),await Vm({hash:o,signature:i})))return!0}catch{}if(a instanceof io)return!1;throw a}}async function i8(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,multicallAddress:i}=t,{authorization:a,data:c,signature:m,to:u}=Aa.unwrap(t.signature);if(await va(e,{address:r,blockNumber:o,blockTag:n})===Ue(["0xef0100",a.address]))return await c8(e,{address:r,blockNumber:o,blockTag:n,hash:s,signature:m});let p={address:a.address,chainId:Number(a.chainId),nonce:Number(a.nonce),r:E(a.r,{size:32}),s:E(a.s,{size:32}),yParity:a.yParity};if(!await $y({address:r,authorization:p}))throw new io;let h=await P(e,Te,"readContract")({...i?{address:i}:{code:ii},authorizationList:[p],abi:Fn,blockNumber:o,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:u??r,callData:c}]:[],{allowFailure:!0,target:r,callData:pe({abi:tl,functionName:"isValidSignature",args:[s,m]})}]]});if(h[h.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new io}async function a8(e,t){let{address:r,factory:o,factoryData:n,hash:s,signature:i,verifierAddress:a,...c}=t,m=await(async()=>!o&&!n||$a.validate(i)?i:$a.wrap({data:n,signature:i,to:o}))(),u=a?{to:a,data:pe({abi:rl,functionName:"isValidSig",args:[r,s,m]}),...c}:{data:Mn({abi:rl,args:[r,s,m],bytecode:Jg}),...c},{data:f}=await P(e,Pr,"call")(u).catch(p=>{throw p instanceof js?new io:p});if(lf(f??"0x0"))return!0;throw new io}async function c8(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,signature:i}=t;if((await P(e,Te,"readContract")({address:r,abi:tl,args:[s,i],blockNumber:o,blockTag:n,functionName:"isValidSignature"}).catch(c=>{throw c instanceof Gs?new io:c})).startsWith("0x1626ba7e"))return!0;throw new io}var io=class extends Error{};async function kb(e,{address:t,message:r,factory:o,factoryData:n,signature:s,...i}){let a=di(r);return un(e,{address:t,factory:o,factoryData:n,hash:a,signature:s,...i})}async function Sb(e,t){let{address:r,factory:o,factoryData:n,signature:s,message:i,primaryType:a,types:c,domain:m,...u}=t,f=Hu({message:i,primaryType:a,types:c,domain:m});return un(e,{address:r,factory:o,factoryData:n,hash:f,signature:s,...u})}St();du();Ye();Be();Ye();function pp(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:o,onError:n,poll:s,pollingInterval:i=e.pollingInterval}){let a=(()=>typeof s<"u"?s:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))(),c;return a?(()=>{let f=W(["watchBlockNumber",e.uid,t,r,i]);return tt(f,{onBlockNumber:o,onError:n},p=>Jt(async()=>{try{let d=await P(e,Tr,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(d===c)return;if(d-c>1&&r)for(let h=c+1n;h<d;h++)p.onBlockNumber(h,c),c=h}(c===void 0||d>c)&&(p.onBlockNumber(d,c),c=d)}catch(d){p.onError?.(d)}},{emitOnBegin:t,interval:i}))})():(()=>{let f=W(["watchBlockNumber",e.uid,t,r]);return tt(f,{onBlockNumber:o,onError:n},p=>{let d=!0,h=()=>d=!1;return(async()=>{try{let g=(()=>{if(e.transport.type==="fallback"){let y=e.transport.transports.find(v=>v.config.type==="webSocket"||v.config.type==="ipc");return y?y.value:e.transport}return e.transport})(),{unsubscribe:b}=await g.subscribe({params:["newHeads"],onData(y){if(!d)return;let v=ie(y.result?.number);p.onBlockNumber(v,c),c=v},onError(y){p.onError?.(y)}});h=b,d||h()}catch(g){n?.(g)}})(),()=>h()})})()}async function fp(e,t){let{checkReplacement:r=!0,confirmations:o=1,hash:n,onReplaced:s,retryCount:i=6,retryDelay:a=({count:_})=>~~(1<<_)*200,timeout:c=18e4}=t,m=W(["waitForTransactionReceipt",e.uid,n]),u=(()=>t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval)(),f,p,d,h=!1,g,b,{promise:y,resolve:v,reject:C}=ai(),k=c?setTimeout(()=>{b?.(),g?.(),C(new Ic({hash:n}))},c):void 0;return g=tt(m,{onReplaced:s,resolve:v,reject:C},async _=>{if(d=await P(e,bi,"getTransactionReceipt")({hash:n}).catch(()=>{}),d&&o<=1){clearTimeout(k),_.resolve(d),g?.();return}b=P(e,pp,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(I){let A=N=>{clearTimeout(k),b?.(),N(),g?.()},R=I;if(!h)try{if(d){if(o>1&&(!d.blockNumber||R-d.blockNumber+1n<o))return;A(()=>_.resolve(d));return}if(r&&!f&&(h=!0,await Nn(async()=>{f=await P(e,yi,"getTransaction")({hash:n}),f.blockNumber&&(R=f.blockNumber)},{delay:a,retryCount:i}),h=!1),d=await P(e,bi,"getTransactionReceipt")({hash:n}),o>1&&(!d.blockNumber||R-d.blockNumber+1n<o))return;A(()=>_.resolve(d))}catch(N){if(N instanceof fs||N instanceof ls){if(!f){h=!1;return}try{p=f,h=!0;let M=await Nn(()=>P(e,et,"getBlock")({blockNumber:R,includeTransactions:!0}),{delay:a,retryCount:i,shouldRetry:({error:q})=>q instanceof Ws});h=!1;let U=M.transactions.find(({from:q,nonce:me})=>q===p.from&&me===p.nonce);if(!U||(d=await P(e,bi,"getTransactionReceipt")({hash:U.hash}),o>1&&(!d.blockNumber||R-d.blockNumber+1n<o)))return;let G="replaced";U.to===p.to&&U.value===p.value&&U.input===p.input?G="repriced":U.from===U.to&&U.value===0n&&(G="cancelled"),A(()=>{_.onReplaced?.({reason:G,replacedTransaction:p,transaction:U,transactionReceipt:d}),_.resolve(d)})}catch(M){A(()=>_.reject(M))}}else A(()=>_.reject(N))}}})}),y}Ye();function _b(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:o=!1,onBlock:n,onError:s,includeTransactions:i,poll:a,pollingInterval:c=e.pollingInterval}){let m=(()=>typeof a<"u"?a:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))(),u=i??!1,f;return m?(()=>{let h=W(["watchBlocks",e.uid,t,r,o,u,c]);return tt(h,{onBlock:n,onError:s},g=>Jt(async()=>{try{let b=await P(e,et,"getBlock")({blockTag:t,includeTransactions:u});if(b.number!==null&&f?.number!=null){if(b.number===f.number)return;if(b.number-f.number>1&&r)for(let y=f?.number+1n;y<b.number;y++){let v=await P(e,et,"getBlock")({blockNumber:y,includeTransactions:u});g.onBlock(v,f),f=v}}(f?.number==null||t==="pending"&&b?.number==null||b.number!==null&&b.number>f.number)&&(g.onBlock(b,f),f=b)}catch(b){g.onError?.(b)}},{emitOnBegin:o,interval:c}))})():(()=>{let h=!0,g=!0,b=()=>h=!1;return(async()=>{try{o&&P(e,et,"getBlock")({blockTag:t,includeTransactions:u}).then(C=>{h&&g&&(n(C,void 0),g=!1)}).catch(s);let y=(()=>{if(e.transport.type==="fallback"){let C=e.transport.transports.find(k=>k.config.type==="webSocket"||k.config.type==="ipc");return C?C.value:e.transport}return e.transport})(),{unsubscribe:v}=await y.subscribe({params:["newHeads"],async onData(C){if(!h)return;let k=await P(e,et,"getBlock")({blockNumber:C.result?.number,includeTransactions:u}).catch(()=>{});h&&(n(k,f),g=!1,f=k)},onError(C){s?.(C)}});b=v,h||b()}catch(y){s?.(y)}})(),()=>b()})()}Ce();qs();Ye();function Ib(e,{address:t,args:r,batch:o=!0,event:n,events:s,fromBlock:i,onError:a,onLogs:c,poll:m,pollingInterval:u=e.pollingInterval,strict:f}){let p=(()=>typeof m<"u"?m:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))(),d=f??!1;return p?(()=>{let b=W(["watchEvent",t,r,o,e.uid,n,u,i]);return tt(b,{onLogs:c,onError:a},y=>{let v;i!==void 0&&(v=i-1n);let C,k=!1,_=Jt(async()=>{if(!k){try{C=await P(e,Bu,"createEventFilter")({address:t,args:r,event:n,events:s,strict:d,fromBlock:i})}catch{}k=!0;return}try{let I;if(C)I=await P(e,on,"getFilterChanges")({filter:C});else{let A=await P(e,Tr,"getBlockNumber")({});v&&v!==A?I=await P(e,Qs,"getLogs")({address:t,args:r,event:n,events:s,fromBlock:v+1n,toBlock:A}):I=[],v=A}if(I.length===0)return;if(o)y.onLogs(I);else for(let A of I)y.onLogs([A])}catch(I){C&&I instanceof Vt&&(k=!1),y.onError?.(I)}},{emitOnBegin:!0,interval:u});return async()=>{C&&await P(e,nn,"uninstallFilter")({filter:C}),_()}})})():(()=>{let b=!0,y=()=>b=!1;return(async()=>{try{let v=(()=>{if(e.transport.type==="fallback"){let I=e.transport.transports.find(A=>A.config.type==="webSocket"||A.config.type==="ipc");return I?I.value:e.transport}return e.transport})(),C=s??(n?[n]:void 0),k=[];C&&(k=[C.flatMap(A=>Sr({abi:[A],eventName:A.name,args:r}))],n&&(k=k[0]));let{unsubscribe:_}=await v.subscribe({params:["logs",{address:t,topics:k}],onData(I){if(!b)return;let A=I.result;try{let{eventName:R,args:N}=Xs({abi:C??[],data:A.data,topics:A.topics,strict:d}),M=Ze(A,{args:N,eventName:R});c([M])}catch(R){let N,M;if(R instanceof ir||R instanceof gr){if(f)return;N=R.abiItem.name,M=R.abiItem.inputs?.some(G=>!("name"in G&&G.name))}let U=Ze(A,{args:M?[]:{},eventName:N});c([U])}},onError(I){a?.(I)}});y=_,b||y()}catch(v){a?.(v)}})(),()=>y()})()}Ye();function Ab(e,{batch:t=!0,onError:r,onTransactions:o,poll:n,pollingInterval:s=e.pollingInterval}){return(typeof n<"u"?n:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{let m=W(["watchPendingTransactions",e.uid,t,s]);return tt(m,{onTransactions:o,onError:r},u=>{let f,p=Jt(async()=>{try{if(!f)try{f=await P(e,Fu,"createPendingTransactionFilter")({});return}catch(h){throw p(),h}let d=await P(e,on,"getFilterChanges")({filter:f});if(d.length===0)return;if(t)u.onTransactions(d);else for(let h of d)u.onTransactions([h])}catch(d){u.onError?.(d)}},{emitOnBegin:!0,interval:s});return async()=>{f&&await P(e,nn,"uninstallFilter")({filter:f}),p()}})})():(()=>{let m=!0,u=()=>m=!1;return(async()=>{try{let{unsubscribe:f}=await e.transport.subscribe({params:["newPendingTransactions"],onData(p){if(!m)return;let d=p.result;o([d])},onError(p){r?.(p)}});u=f,m||u()}catch(f){r?.(f)}})(),()=>u()})()}function Pb(e){let{scheme:t,statement:r,...o}=e.match(m8)?.groups??{},{chainId:n,expirationTime:s,issuedAt:i,notBefore:a,requestId:c,...m}=e.match(u8)?.groups??{},u=e.split("Resources:")[1]?.split(`
54
- - `).slice(1);return{...o,...m,...n?{chainId:Number(n)}:{},...s?{expirationTime:new Date(s)}:{},...i?{issuedAt:new Date(i)}:{},...a?{notBefore:new Date(a)}:{},...c?{requestId:c}:{},...u?{resources:u}:{},...t?{scheme:t}:{},...r?{statement:r}:{}}}var m8=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,u8=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;_t();Rn();function Tb(e){let{address:t,domain:r,message:o,nonce:n,scheme:s,time:i=new Date}=e;if(r&&o.domain!==r||n&&o.nonce!==n||s&&o.scheme!==s||o.expirationTime&&i>=o.expirationTime||o.notBefore&&i<o.notBefore)return!1;try{if(!o.address||!Q(o.address,{strict:!1})||t&&!Kt(o.address,t))return!1}catch{return!1}return!0}async function $b(e,t){let{address:r,domain:o,message:n,nonce:s,scheme:i,signature:a,time:c=new Date,...m}=t,u=Pb(n);if(!u.address||!Tb({address:r,domain:o,message:u,nonce:s,scheme:i,time:c}))return!1;let p=di(n);return un(e,{address:u.address,hash:p,signature:a,...m})}St();async function wi(e,{serializedTransaction:t,throwOnReceiptRevert:r,timeout:o}){let n=await e.request({method:"eth_sendRawTransactionSync",params:o?[t,E(o)]:[t]},{retryCount:0}),i=(e.chain?.formatters?.transactionReceipt?.format||ji)(n);if(i.status==="reverted"&&r)throw new ds({receipt:i});return i}function Rb(e){return{call:t=>Pr(e,t),createAccessList:t=>Ru(e,t),createBlockFilter:()=>Ey(e),createContractEventFilter:t=>Gm(e,t),createEventFilter:t=>Bu(e,t),createPendingTransactionFilter:()=>Fu(e),estimateContractGas:t=>xg(e,t),estimateGas:t=>Ys(e,t),getBalance:t=>ky(e,t),getBlobBaseFee:()=>Sy(e),getBlock:t=>et(e,t),getBlockNumber:t=>Tr(e,t),getBlockTransactionCount:t=>_y(e,t),getBytecode:t=>va(e,t),getChainId:()=>gt(e),getCode:t=>va(e,t),getContractEvents:t=>Qm(e,t),getEip712Domain:t=>Iy(e,t),getEnsAddress:t=>dy(e,t),getEnsAvatar:t=>wy(e,t),getEnsName:t=>vy(e,t),getEnsResolver:t=>Cy(e,t),getEnsText:t=>$u(e,t),getFeeHistory:t=>Py(e,t),estimateFeesPerGas:t=>yg(e,t),getFilterChanges:t=>on(e,t),getFilterLogs:t=>Ty(e,t),getGasPrice:()=>Js(e),getLogs:t=>Qs(e,t),getProof:t=>fb(e,t),estimateMaxPriorityFeePerGas:t=>gg(e,t),getStorageAt:t=>lb(e,t),getTransaction:t=>yi(e,t),getTransactionConfirmations:t=>db(e,t),getTransactionCount:t=>Zs(e,t),getTransactionReceipt:t=>bi(e,t),multicall:t=>hb(e,t),prepareTransactionRequest:t=>_r(e,t),readContract:t=>Te(e,t),sendRawTransaction:t=>ui(e,t),sendRawTransactionSync:t=>wi(e,t),simulate:t=>Pa(e,t),simulateBlocks:t=>Pa(e,t),simulateCalls:t=>Cb(e,t),simulateContract:t=>ay(e,t),verifyHash:t=>un(e,t),verifyMessage:t=>kb(e,t),verifySiweMessage:t=>$b(e,t),verifyTypedData:t=>Sb(e,t),uninstallFilter:t=>nn(e,t),waitForTransactionReceipt:t=>fp(e,t),watchBlocks:t=>_b(e,t),watchBlockNumber:t=>pp(e,t),watchContractEvent:t=>py(e,t),watchEvent:t=>Ib(e,t),watchPendingTransactions:t=>Ab(e,t)}}function jn(e){let{key:t="public",name:r="Public Client"}=e;return _u({...e,key:t,name:r,type:"publicClient"}).extend(Rb)}F();async function Bb(e,{chain:t}){let{id:r,name:o,nativeCurrency:n,rpcUrls:s,blockExplorers:i}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:E(r),chainName:o,nativeCurrency:n,rpcUrls:s.default.http,blockExplorerUrls:i?Object.values(i).map(({url:a})=>a):void 0}]},{dedupe:!0,retryCount:0})}lu();function Fb(e,t){let{abi:r,args:o,bytecode:n,...s}=t,i=Mn({abi:r,args:o,bytecode:n});return sn(e,{...s,...s.authorizationList?{to:null}:{},data:i})}ko();async function Mb(e){return e.account?.type==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>Jr(r))}ve();F();async function Db(e,t={}){let{account:r=e.account,chainId:o}=t,n=r?j(r):void 0,s=o?[n?.address,[E(o)]]:[n?.address],i=await e.request({method:"wallet_getCapabilities",params:s}),a={};for(let[c,m]of Object.entries(i)){a[Number(c)]={};for(let[u,f]of Object.entries(m))u==="addSubAccount"&&(u="unstable_addSubAccount"),a[Number(c)][u]=f}return typeof o=="number"?a[o]:a}async function Nb(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}ve();Rn();async function lp(e,t){let{account:r=e.account,chainId:o,nonce:n}=t;if(!r)throw new He({docsPath:"/docs/eip7702/prepareAuthorization"});let s=j(r),i=(()=>{if(t.executor)return t.executor==="self"?t.executor:j(t.executor)})(),a={address:t.contractAddress??t.address,chainId:o,nonce:n};return typeof a.chainId>"u"&&(a.chainId=e.chain?.id??await P(e,gt,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await P(e,Zs,"getTransactionCount")({address:s.address,blockTag:"pending"}),(i==="self"||i?.address&&Kt(i.address,s.address))&&(a.nonce+=1)),a}ko();async function zb(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>Ts(r))}async function Lb(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function Ob(e,t){let{chain:r=e.chain}=t,o=t.timeout??Math.max((r?.blockTime??0)*3,5e3),n=await wu(e,t);return await Cu(e,{...t,id:n.id,timeout:o})}ve();H();St();Vs();wo();Ps();ro();var Zl=new Lt(128);async function dp(e,t){let{account:r=e.account,chain:o=e.chain,accessList:n,authorizationList:s,blobs:i,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,pollingInterval:h,throwOnReceiptRevert:g,type:b,value:y,...v}=t,C=t.timeout??Math.max((o?.blockTime??0)*3,5e3);if(typeof r>"u")throw new He({docsPath:"/docs/actions/wallet/sendTransactionSync"});let k=r?j(r):null;try{Qe(t);let _=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await Yo({authorization:s[0]}).catch(()=>{throw new x("`to` is required. Could not infer from `authorizationList`.")})})();if(k?.type==="json-rpc"||k===null){let I;o!==null&&(I=await P(e,gt,"getChainId")({}),$s({currentChainId:I,chain:o}));let A=e.chain?.formatters?.transactionRequest?.format,N=(A||lt)({...kr(v,{format:A}),accessList:n,account:k,authorizationList:s,blobs:i,chainId:I,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,to:_,type:b,value:y},"sendTransaction"),M=Zl.get(e.uid),U=M?"wallet_sendTransaction":"eth_sendTransaction",G=await(async()=>{try{return await e.request({method:U,params:[N]},{retryCount:0})}catch(me){if(M===!1)throw me;let Ae=me;if(Ae.name==="InvalidInputRpcError"||Ae.name==="InvalidParamsRpcError"||Ae.name==="MethodNotFoundRpcError"||Ae.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[N]},{retryCount:0}).then(qe=>(Zl.set(e.uid,!0),qe)).catch(qe=>{let Bt=qe;throw Bt.name==="MethodNotFoundRpcError"||Bt.name==="MethodNotSupportedRpcError"?(Zl.set(e.uid,!1),Ae):Bt});throw Ae}})(),q=await P(e,fp,"waitForTransactionReceipt")({checkReplacement:!1,hash:G,pollingInterval:h,timeout:C});if(g&&q.status==="reverted")throw new ds({receipt:q});return q}if(k?.type==="local"){let I=await P(e,_r,"prepareTransactionRequest")({account:k,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,nonceManager:k.nonceManager,parameters:[...pa,"sidecars"],type:b,value:y,...v,to:_}),A=o?.serializers?.transaction,R=await k.signTransaction(I,{serializer:A});return await P(e,wi,"sendRawTransactionSync")({serializedTransaction:R,throwOnReceiptRevert:g})}throw k?.type==="smart"?new jt({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new jt({docsPath:"/docs/actions/wallet/sendTransactionSync",type:k?.type})}catch(_){throw _ instanceof jt?_:mi(_,{...t,account:k,chain:t.chain||void 0})}}async function Ub(e,t){let{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}ve();async function Hb(e,t){let{account:r=e.account}=t;if(!r)throw new He({docsPath:"/docs/eip7702/signAuthorization"});let o=j(r);if(!o.signAuthorization)throw new jt({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:o.type});let n=await lp(e,t);return o.signAuthorization(n)}ve();F();async function jb(e,{account:t=e.account,message:r}){if(!t)throw new He({docsPath:"/docs/actions/wallet/signMessage"});let o=j(t);if(o.signMessage)return o.signMessage({message:r});let n=(()=>typeof r=="string"?er(r):r.raw instanceof Uint8Array?se(r.raw):r.raw)();return e.request({method:"personal_sign",params:[n,o.address]},{retryCount:0})}ve();F();wo();ro();async function Gb(e,t){let{account:r=e.account,chain:o=e.chain,...n}=t;if(!r)throw new He({docsPath:"/docs/actions/wallet/signTransaction"});let s=j(r);Qe({account:s,...t});let i=await P(e,gt,"getChainId")({});o!==null&&$s({currentChainId:i,chain:o});let c=(o?.formatters||e.chain?.formatters)?.transactionRequest?.format||lt;return s.signTransaction?s.signTransaction({...n,chainId:i},{serializer:e.chain?.serializers?.transaction}):await e.request({method:"eth_signTransaction",params:[{...c({...n,account:s},"signTransaction"),chainId:E(i),from:s.address}]},{retryCount:0})}ve();async function qb(e,t){let{account:r=e.account,domain:o,message:n,primaryType:s}=t;if(!r)throw new He({docsPath:"/docs/actions/wallet/signTypedData"});let i=j(r),a={EIP712Domain:Uu({domain:o}),...t.types};if(Ou({domain:o,message:n,primaryType:s,types:a}),i.signTypedData)return i.signTypedData({domain:o,message:n,primaryType:s,types:a});let c=zy({domain:o,message:n,primaryType:s,types:a});return e.request({method:"eth_signTypedData_v4",params:[i.address,c]},{retryCount:0})}F();async function Vb(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:E(t)}]},{retryCount:0})}async function Kb(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}async function Wb(e,t){return Dn.internal(e,dp,"sendTransactionSync",t)}function Jb(e){return{addChain:t=>Bb(e,t),deployContract:t=>Fb(e,t),getAddresses:()=>Mb(e),getCallsStatus:t=>vu(e,t),getCapabilities:t=>Db(e,t),getChainId:()=>gt(e),getPermissions:()=>Nb(e),prepareAuthorization:t=>lp(e,t),prepareTransactionRequest:t=>_r(e,t),requestAddresses:()=>zb(e),requestPermissions:t=>Lb(e,t),sendCalls:t=>wu(e,t),sendCallsSync:t=>Ob(e,t),sendRawTransaction:t=>ui(e,t),sendRawTransactionSync:t=>wi(e,t),sendTransaction:t=>sn(e,t),sendTransactionSync:t=>dp(e,t),showCallsStatus:t=>Ub(e,t),signAuthorization:t=>Hb(e,t),signMessage:t=>jb(e,t),signTransaction:t=>Gb(e,t),signTypedData:t=>qb(e,t),switchChain:t=>Vb(e,t),waitForCallsStatus:t=>Cu(e,t),watchAsset:t=>Kb(e,t),writeContract:t=>Dn(e,t),writeContractSync:t=>Wb(e,t)}}function Ra(e){let{key:t="wallet",name:r="Wallet Client",transport:o}=e;return _u({...e,key:t,name:r,transport:o,type:"walletClient"}).extend(Jb)}function Zb({key:e,methods:t,name:r,request:o,retryCount:n=3,retryDelay:s=150,timeout:i,type:a},c){let m=Su();return{config:{key:e,methods:t,name:r,request:o,retryCount:n,retryDelay:s,timeout:i,type:a},request:By(o,{methods:t,retryCount:n,retryDelay:s,uid:m}),value:c}}$n();H();var hp=class extends x{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}};sl();function ao(e,t={}){let{batch:r,fetchFn:o,fetchOptions:n,key:s="http",methods:i,name:a="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:m,retryDelay:u,raw:f}=t;return({chain:p,retryCount:d,timeout:h})=>{let{batchSize:g=1e3,wait:b=0}=typeof r=="object"?r:{},y=t.retryCount??d,v=h??t.timeout??1e4,C=e||p?.rpcUrls.default.http[0];if(!C)throw new hp;let k=My(C,{fetchFn:o,fetchOptions:n,onRequest:c,onResponse:m,timeout:v});return Zb({key:s,methods:i,name:a,async request({method:_,params:I}){let A={method:_,params:I},{schedule:R}=hu({id:C,wait:b,shouldSplitBatch(G){return G.length>g},fn:G=>k.request({body:G}),sort:(G,q)=>G.id-q.id}),N=async G=>r?R(G):[await k.request({body:G})],[{error:M,result:U}]=await N(A);if(f)return{error:M,result:U};if(M)throw new To({body:A,error:M,url:C});return U},retryCount:y,retryDelay:u,timeout:v,type:"http"},{fetchOptions:n,url:C})}}kt();F();import{secp256k1 as f8}from"@noble/curves/secp256k1";nr();_t();function Yb(e){if(typeof e=="string"){if(!Q(e,{strict:!1}))throw new oe({address:e});return{address:e,type:"json-rpc"}}if(!Q(e.address,{strict:!1}))throw new oe({address:e.address});return{address:e.address,nonceManager:e.nonceManager,sign:e.sign,signAuthorization:e.signAuthorization,signMessage:e.signMessage,signTransaction:e.signTransaction,signTypedData:e.signTypedData,source:"custom",type:"local"}}kt();Oe();F();import{secp256k1 as p8}from"@noble/curves/secp256k1";var Yl=!1;async function $r({hash:e,privateKey:t,to:r="object"}){let{r:o,s:n,recovery:s}=p8.sign(e.slice(2),t.slice(2),{lowS:!0,extraEntropy:ce(Yl,{strict:!1})?Fe(Yl):Yl}),i={r:E(o,{size:32}),s:E(n,{size:32}),v:s?28n:27n,yParity:s};return(()=>r==="bytes"||r==="hex"?up({...i,to:r}):i)()}async function Xb(e){let{chainId:t,nonce:r,privateKey:o,to:n="object"}=e,s=e.contractAddress??e.address,i=await $r({hash:Km({address:s,chainId:t,nonce:r}),privateKey:o,to:n});return n==="object"?{address:s,chainId:t,nonce:r,...i}:i}async function Qb({message:e,privateKey:t}){return await $r({hash:di(e),privateKey:t,to:"hex"})}Ot();async function ex(e){let{privateKey:t,transaction:r,serializer:o=Vc}=e,n=(()=>r.type==="eip4844"?{...r,sidecars:!1}:r)(),s=await $r({hash:ne(await o(n)),privateKey:t});return await o(r,s)}async function tx(e){let{privateKey:t,...r}=e;return await $r({hash:Hu(r),privateKey:t,to:"hex"})}function Ba(e,t={}){let{nonceManager:r}=t,o=se(f8.getPublicKey(e.slice(2),!1)),n=qm(o);return{...Yb({address:n,nonceManager:r,async sign({hash:i}){return $r({hash:i,privateKey:e,to:"hex"})},async signAuthorization(i){return Xb({...i,privateKey:e})},async signMessage({message:i}){return Qb({message:i,privateKey:e})},async signTransaction(i,{serializer:a}={}){return ex({privateKey:e,transaction:i,serializer:a})},async signTypedData(i){return tx({...i,privateKey:e})}}),publicKey:o,source:"privateKey"}}var KX=Di(ed(),1);import{z as Ee}from"zod";var fr=Di(ed(),1),d_=Di(rx(),1),h_=Di(jx(),1);import{z as ki}from"zod";var Q8=Ge.object({detail:Ge.union([Ge.string(),Ge.array(Ge.object({msg:Ge.string(),type:Ge.string().optional(),ctx:Ge.record(Ge.unknown()).optional(),loc:Ge.array(Ge.union([Ge.string(),Ge.number()])).optional(),input:Ge.unknown().optional()}).passthrough()),Ge.record(Ge.unknown())]).optional(),type:Ge.string().optional(),code:Ge.string().optional()}),Nr=class extends Error{constructor(e,t){super(e),this.name=this.constructor.name,this.status=t.status,this.statusText=t.statusText,this.detail=t.detail,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},md=class xp extends Nr{constructor(t,r){super(t,{status:r?.status??0,statusText:r?.statusText??"Unknown Error",detail:r?.detail||t}),this.name="RequestError",this.isRequestError=!0,this.data=r?.data,this.request=r?.request,this.response=r?.response,this.code=r?.code,this.type=r?.type}static fromFetchError(t){let r=Q8.safeParse(t.data);return r.success?new xp(t.message,{status:t.status??void 0,statusText:t.statusText??void 0,data:t.data,request:t.request??void 0,response:t.response??void 0,detail:r.data.detail,code:r.data.code??void 0,type:r.data.type??void 0}):new xp(t.message,{status:t.status??void 0,statusText:t.statusText??void 0,data:t.data,request:t.request??void 0,response:t.response??void 0,detail:t.data?.detail||"Unknown API error",code:t.status?.toString()??void 0})}static fromError(t,r){return new xp(t.message,{request:r??void 0,detail:t.message})}},eE=class extends Nr{constructor(e,t){super(e,t),this.isValidationError=!0,this.validationErrors=t.validationErrors}},tE=class extends Nr{constructor(){super(...arguments),this.isAuthError=!0}},vp=class extends Nr{constructor(){super(...arguments),this.isBusinessError=!0}},rE=class extends Nr{constructor(){super(...arguments),this.isServerError=!0}},oE=class extends Nr{constructor(){super(...arguments),this.isUnknownError=!0}};function nE(e){if(!e||!Array.isArray(e))return"unknown";let t=e.filter(r=>typeof r=="string"?!["body","query","path","header"].includes(r):!0);return t.length>0?t.join("."):"unknown"}function Jx(e){if(!Array.isArray(e))return{errors:[],message:typeof e=="string"?e:"Validation error"};let t=e.map((n,s)=>{let i=nE(n.loc),a=i;return i==="unknown"&&n.type&&(a=n.type==="missing"?"required field":n.type),{field:a,message:n.msg,type:n.type,context:n.ctx}}),r=t.length,o=r===1?`Validation failed: ${t[0].message}`:`Validation failed (${r} issue${r>1?"s":""})`;return{errors:t,message:o}}function sE(e){return e===422?"validation":e===401||e===403?"auth":e>=400&&e<500?"business":e>=500?"server":"unknown"}function iE(e,t,r){if(e===422&&Array.isArray(t)){let{message:o}=Jx(t);return o}if(typeof t=="string")return t;if(t&&typeof t=="object"&&"message"in t){let o=t.message;if(typeof o=="string")return o}return r}function aE(e){let t=e.status??0,r=e.statusText??"Unknown Error",o=e.detail,n=cE(o);if(n)return new pd(n.message,{status:t,statusText:r,detail:o,errorCode:n.error_code,structuredDetails:n.details,suggestions:n.suggestions,links:n.links});let s=sE(t),i=iE(t,o,e.message),a={status:t,statusText:r,detail:o};if(s==="validation"&&Array.isArray(o)){let{errors:c}=Jx(o);return new eE(i,{...a,validationErrors:c})}return s==="auth"?new tE(i,a):s==="business"?new vp(i,a):s==="server"?new rE(i,a):new oE(i,a)}var pd=class extends vp{constructor(e,t){super(e,t),this.isResourceError=!0,this.errorCode=t.errorCode,this.structuredDetails=t.structuredDetails,this.suggestions=t.suggestions,this.links=t.links}};function cE(e){if(!e||typeof e!="object")return null;let t=e;return t.error_code&&typeof t.error_code=="string"&&t.message&&typeof t.message=="string"?{error_code:t.error_code,message:t.message,details:t.details,suggestions:t.suggestions,links:t.links}:null}function Zx(e,t){let{showErrorCode:r=!0,showSuggestions:o=!0,showLinks:n=!0}=t??{},s=[];return r&&e.errorCode?s.push(`Error [${e.errorCode}]: ${e.message}`):s.push(e.message),e.structuredDetails&&e.structuredDetails.length>0&&(s.push(""),s.push("Details:"),e.structuredDetails.forEach(i=>{i.message?s.push(` - ${i.message}`):i.field&&i.value!==void 0&&s.push(` - ${i.field}: ${i.value}`)})),o&&e.suggestions&&e.suggestions.length>0&&(s.push(""),s.push("Suggestions:"),e.suggestions.forEach(i=>{s.push(` - ${i}`)})),n&&e.links&&e.links.length>0&&(s.push(""),s.push("Learn more:"),e.links.forEach(i=>{s.push(` - ${i.label}: ${i.url}`)})),s.join(`
55
- `)}var La=["2025-05-31","2025-10-28"],Ei=(0,Wx.default)("phala::api-client");function mE(e){return Object.entries(e).map(([t,r])=>` -H "${t}: ${r}"`).join(`
56
- `)}function uE(e){return e?` -d '${(typeof e=="string"?e:JSON.stringify(e,null,2)).replace(/'/g,"\\'")}'`:""}function Gx(e,t,r,o){let n=[];r.forEach((a,c)=>{n.push(`${c}: ${a}`)});let s=n.join(`
40
+ `,n+=gg(o.state)),o.stateDiff&&(n+=` stateDiff:
41
+ `,n+=gg(o.stateDiff)),n},` State Override:
42
+ `).slice(0,-1)}var zm,Lm,Gf=_(()=>{H();zm=class extends x{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}},Lm=class extends x{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}});var bg,un,Um=_(()=>{bg=e=>e,un=e=>e});var Ss,_s,pn,Om,Hm,xr,_o=_(()=>{ve();Xc();Of();Kr();dg();So();kc();Kn();we();H();Gf();It();Um();Ss=class extends x{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:p,value:f,stateOverride:d}){let h=r?j(r):void 0,g=on({from:h?.address,to:p,value:typeof f<"u"&&`${qn(f)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Me(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Me(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Me(m)} gwei`,nonce:u});d&&(g+=`
43
+ ${yg(d)}`),super(t.shortMessage,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",g].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}},_s=class extends x{constructor(t,{abi:r,args:o,contractAddress:n,docsPath:s,functionName:i,sender:a}){let c=bt({abi:r,args:o,name:i}),m=c?Hf({abiItem:c,args:o,includeFunctionName:!1,includeName:!1}):void 0,u=c?De(c,{includeName:!0}):void 0,p=on({address:n&&bg(n),function:u,args:m&&m!=="()"&&`${[...Array(i?.length??0).keys()].map(()=>" ").join("")}${m}`,sender:a});super(t.shortMessage||`An unknown error occurred while executing the contract function "${i}".`,{cause:t,docsPath:s,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],p&&"Contract Call:",p].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=r,this.args=o,this.cause=t,this.contractAddress=n,this.functionName=i,this.sender=a}},pn=class extends x{constructor({abi:t,data:r,functionName:o,message:n}){let s,i,a,c;if(r&&r!=="0x")try{i=Nm({abi:t,data:r});let{abiItem:u,errorName:p,args:f}=i;if(p==="Error")c=f[0];else if(p==="Panic"){let[d]=f;c=wh[d]}else{let d=u?De(u,{includeName:!0}):void 0,h=u&&f?Hf({abiItem:u,args:f,includeFunctionName:!1,includeName:!1}):void 0;a=[d?`Error: ${d}`:"",h&&h!=="()"?` ${[...Array(p?.length??0).keys()].map(()=>" ").join("")}${h}`:""]}}catch(u){s=u}else n&&(c=n);let m;s instanceof hs&&(m=s.signature,a=[`Unable to decode signature "${m}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${m}.`]),super(c&&c!=="execution reverted"||m?[`The contract function "${o}" reverted with the following ${m?"signature":"reason"}:`,c||m].join(`
44
+ `):`The contract function "${o}" reverted.`,{cause:s,metaMessages:a,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=i,this.raw=r,this.reason=c,this.signature=m}},Om=class extends x{constructor({functionName:t}){super(`The contract function "${t}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${t}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError"})}},Hm=class extends x{constructor({factory:t}){super(`Deployment for counterfactual contract call failed${t?` for factory "${t}".`:""}`,{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}},xr=class extends x{constructor({data:t,message:r}){super(r||"",{name:"RawContractError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t}}});var Kt,Io,pa,fn=_(()=>{et();H();Um();Kt=class extends x{constructor({body:t,cause:r,details:o,headers:n,status:s,url:i}){super("HTTP request failed.",{cause:r,details:o,metaMessages:[s&&`Status: ${s}`,`URL: ${un(i)}`,t&&`Request body: ${W(t)}`].filter(Boolean),name:"HttpRequestError"}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=t,this.headers=n,this.status=s,this.url=i}},Io=class extends x{constructor({body:t,error:r,url:o}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${un(o)}`,`Request body: ${W(t)}`],name:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=r.code,this.data=r.data}},pa=class extends x{constructor({body:t,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${un(r)}`,`Request body: ${W(t)}`],name:"TimeoutError"})}}});var T2,tt,mt,Is,As,Ps,Ts,Yr,vr,$s,Rs,Bs,Ao,ln,Fs,dn,Ms,Ds,Ns,zs,Ls,Po,Us,Os,Hs,js,Gs,To,jm,Vs=_(()=>{H();fn();T2=-1,tt=class extends x{constructor(t,{code:r,docsPath:o,metaMessages:n,name:s,shortMessage:i}){super(i,{cause:t,docsPath:o,metaMessages:n||t?.metaMessages,name:s||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=s||t.name,this.code=t instanceof Io?t.code:r??T2}},mt=class extends tt{constructor(t,r){super(t,r),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r.data}},Is=class e extends tt{constructor(t){super(t,{code:e.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}};Object.defineProperty(Is,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});As=class e extends tt{constructor(t){super(t,{code:e.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}};Object.defineProperty(As,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});Ps=class e extends tt{constructor(t,{method:r}={}){super(t,{code:e.code,name:"MethodNotFoundRpcError",shortMessage:`The method${r?` "${r}"`:""} does not exist / is not available.`})}};Object.defineProperty(Ps,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});Ts=class e extends tt{constructor(t){super(t,{code:e.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
45
+ `)})}};Object.defineProperty(Ts,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});Yr=class e extends tt{constructor(t){super(t,{code:e.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}};Object.defineProperty(Yr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});vr=class e extends tt{constructor(t){super(t,{code:e.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
46
+ `)})}};Object.defineProperty(vr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});$s=class e extends tt{constructor(t){super(t,{code:e.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}};Object.defineProperty($s,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});Rs=class e extends tt{constructor(t){super(t,{code:e.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}};Object.defineProperty(Rs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});Bs=class e extends tt{constructor(t){super(t,{code:e.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}};Object.defineProperty(Bs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});Ao=class e extends tt{constructor(t,{method:r}={}){super(t,{code:e.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}};Object.defineProperty(Ao,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});ln=class e extends tt{constructor(t){super(t,{code:e.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}};Object.defineProperty(ln,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});Fs=class e extends tt{constructor(t){super(t,{code:e.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}};Object.defineProperty(Fs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});dn=class e extends mt{constructor(t){super(t,{code:e.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}};Object.defineProperty(dn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});Ms=class e extends mt{constructor(t){super(t,{code:e.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}};Object.defineProperty(Ms,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});Ds=class e extends mt{constructor(t,{method:r}={}){super(t,{code:e.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}};Object.defineProperty(Ds,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});Ns=class e extends mt{constructor(t){super(t,{code:e.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}};Object.defineProperty(Ns,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});zs=class e extends mt{constructor(t){super(t,{code:e.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}};Object.defineProperty(zs,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});Ls=class e extends mt{constructor(t){super(t,{code:e.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}};Object.defineProperty(Ls,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});Po=class e extends mt{constructor(t){super(t,{code:e.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}};Object.defineProperty(Po,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});Us=class e extends mt{constructor(t){super(t,{code:e.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}};Object.defineProperty(Us,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});Os=class e extends mt{constructor(t){super(t,{code:e.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}};Object.defineProperty(Os,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});Hs=class e extends mt{constructor(t){super(t,{code:e.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}};Object.defineProperty(Hs,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});js=class e extends mt{constructor(t){super(t,{code:e.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}};Object.defineProperty(js,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});Gs=class e extends mt{constructor(t){super(t,{code:e.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}};Object.defineProperty(Gs,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});To=class e extends mt{constructor(t){super(t,{code:e.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}};Object.defineProperty(To,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});jm=class extends tt{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}});function $o(e,t){let r=(e.details||"").toLowerCase(),o=e instanceof x?e.walk(n=>n?.code===Vr.code):e;return o instanceof x?new Vr({cause:e,message:o.details}):Vr.nodeMessage.test(r)?new Vr({cause:e,message:e.details}):Lt.nodeMessage.test(r)?new Lt({cause:e,maxFeePerGas:t?.maxFeePerGas}):os.nodeMessage.test(r)?new os({cause:e,maxFeePerGas:t?.maxFeePerGas}):ns.nodeMessage.test(r)?new ns({cause:e,nonce:t?.nonce}):ss.nodeMessage.test(r)?new ss({cause:e,nonce:t?.nonce}):is.nodeMessage.test(r)?new is({cause:e,nonce:t?.nonce}):as.nodeMessage.test(r)?new as({cause:e}):cs.nodeMessage.test(r)?new cs({cause:e,gas:t?.gas}):ms.nodeMessage.test(r)?new ms({cause:e,gas:t?.gas}):us.nodeMessage.test(r)?new us({cause:e}):dr.nodeMessage.test(r)?new dr({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Ut({cause:e})}var fa=_(()=>{H();vo()});function Gm(e,{docsPath:t,...r}){let o=(()=>{let n=$o(e,r);return n instanceof Ut?e:n})();return new Ss(o,{docsPath:t,...r})}var Vf=_(()=>{_o();vo();fa()});function wr(e,{format:t}){if(!t)return{};let r={};function o(s){let i=Object.keys(s);for(let a of i)a in e&&(r[a]=e[a]),s[a]&&typeof s[a]=="object"&&!Array.isArray(s[a])&&o(s[a])}let n=t(e||{});return o(n),r}var qs=_(()=>{});function rt(e){let{account:t,gasPrice:r,maxFeePerGas:o,maxPriorityFeePerGas:n,to:s}=e,i=t?j(t):void 0;if(i&&!ee(i.address))throw new ne({address:i.address});if(s&&!ee(s))throw new ne({address:s});if(typeof r<"u"&&(typeof o<"u"||typeof n<"u"))throw new Sc;if(o&&o>jn)throw new Lt({maxFeePerGas:o});if(n&&o&&n>o)throw new dr({maxFeePerGas:o,maxPriorityFeePerGas:n})}var Xr=_(()=>{ve();xf();nr();vo();It();At()});function Cg(e){let{abi:t,args:r,functionName:o}=e,n=t[0];if(o){let s=bt({abi:t,args:r,name:o});if(!s)throw new sr(o,{docsPath:wg});n=s}if(n.type!=="function")throw new sr(void 0,{docsPath:wg});return{abi:[n],functionName:yr(De(n))}}var wg,Eg=_(()=>{we();Es();Kr();So();wg="/docs/contract/encodeFunctionData"});function fe(e){let{args:t}=e,{abi:r,functionName:o}=e.abi.length===1&&e.functionName?.startsWith("0x")?e:Cg(e),n=r[0],s=o,i="inputs"in n&&n.inputs?ct(n.inputs,t??[]):void 0;return Oe([s,i??"0x"])}var Tt=_(()=>{at();Jr();Eg()});function Ig(e){if(!(!e||e.length===0))return e.reduce((t,{slot:r,value:o})=>{if(r.length!==66)throw new Gi({size:r.length,targetSize:66,type:"hex"});if(o.length!==66)throw new Gi({size:o.length,targetSize:66,type:"hex"});return t[r]=o,t},{})}function R2(e){let{balance:t,nonce:r,state:o,stateDiff:n,code:s}=e,i={};if(s!==void 0&&(i.code=s),t!==void 0&&(i.balance=E(t)),r!==void 0&&(i.nonce=E(r)),o!==void 0&&(i.state=Ig(o)),n!==void 0){if(i.state)throw new Lm;i.stateDiff=Ig(n)}return i}function Ks(e){if(!e)return;let t={};for(let{address:r,...o}of e){if(!ee(r,{strict:!1}))throw new ne({address:r});if(t[r])throw new zm({address:r});t[r]=R2(o)}return t}var Xm=_(()=>{nr();hc();Gf();At();F()});function Wt(e,t){if(!ee(e,{strict:!1}))throw new ne({address:e});if(!ee(t,{strict:!1}))throw new ne({address:t});return e.toLowerCase()===t.toLowerCase()}var hn=_(()=>{nr();At()});function vt(e){let{abi:t,args:r,functionName:o,data:n}=e,s=t[0];if(o){let a=bt({abi:t,args:r,name:o});if(!a)throw new sr(o,{docsPath:Kf});s=a}if(s.type!=="function")throw new sr(void 0,{docsPath:Kf});if(!s.outputs)throw new ys(s.name,{docsPath:Kf});let i=Zr(s.outputs,n);if(i&&i.length>1)return i;if(i&&i.length===1)return i[0]}var Kf,Mo=_(()=>{we();ma();So();Kf="/docs/contract/decodeFunctionResult"});var Bg,Fg=_(()=>{Bg="0.1.1"});function Mg(){return Bg}var Dg=_(()=>{Fg()});function Ng(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?Ng(e.cause,t):t?null:e}var B,wt=_(()=>{Dg();B=class e extends Error{constructor(t,r={}){let o=(()=>{if(r.cause instanceof e){if(r.cause.details)return r.cause.details;if(r.cause.shortMessage)return r.cause.shortMessage}return r.cause&&"details"in r.cause&&typeof r.cause.details=="string"?r.cause.details:r.cause?.message?r.cause.message:r.details})(),n=r.cause instanceof e&&r.cause.docsPath||r.docsPath,i=`https://oxlib.sh${n??""}`,a=[t||"An error occurred.",...r.metaMessages?["",...r.metaMessages]:[],...o||n?["",o?`Details: ${o}`:void 0,n?`See: ${i}`:void 0]:[]].filter(c=>typeof c=="string").join(`
47
+ `);super(a,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${Mg()}`}),this.cause=r.cause,this.details=o,this.docs=i,this.docsPath=n,this.shortMessage=t}walk(t){return Ng(this,t)}}});function ei(e,t){if(Jt(e)>t)throw new ou({givenSize:Jt(e),maxSize:t})}function zg(e,t){if(typeof t=="number"&&t>0&&t>Jt(e)-1)throw new da({offset:t,position:"start",size:Jt(e)})}function Lg(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Jt(e)!==r-t)throw new da({offset:r,position:"end",size:Jt(e)})}function Wf(e){if(e>=Qr.zero&&e<=Qr.nine)return e-Qr.zero;if(e>=Qr.A&&e<=Qr.F)return e-(Qr.A-10);if(e>=Qr.a&&e<=Qr.f)return e-(Qr.a-10)}function Ug(e,t={}){let{dir:r,size:o=32}=t;if(o===0)return e;if(e.length>o)throw new nu({size:e.length,targetSize:o,type:"Bytes"});let n=new Uint8Array(o);for(let s=0;s<o;s++){let i=r==="right";n[i?s:o-s-1]=e[i?s:e.length-s-1]}return n}function Jf(e,t={}){let{dir:r="left"}=t,o=e,n=0;for(let s=0;s<o.length-1&&o[r==="left"?s:o.length-s-1].toString()==="0";s++)n++;return o=r==="left"?o.slice(n):o.slice(0,o.length-n),o}var Qr,Og=_(()=>{Do();Qr={zero:48,nine:57,A:65,F:70,a:97,f:102}});function ti(e,t){if(de(e)>t)throw new su({givenSize:de(e),maxSize:t})}function Hg(e,t){if(typeof t=="number"&&t>0&&t>de(e)-1)throw new ha({offset:t,position:"start",size:de(e)})}function jg(e,t,r){if(typeof t=="number"&&typeof r=="number"&&de(e)!==r-t)throw new ha({offset:r,position:"end",size:de(e)})}function Zf(e,t={}){let{dir:r,size:o=32}=t;if(o===0)return e;let n=e.replace("0x","");if(n.length>o*2)throw new iu({size:Math.ceil(n.length/2),targetSize:o,type:"Hex"});return`0x${n[r==="right"?"padEnd":"padStart"](o*2,"0")}`}function Gg(e,t={}){let{dir:r="left"}=t,o=e.replace("0x",""),n=0;for(let s=0;s<o.length-1&&o[r==="left"?s:o.length-s-1].toString()==="0";s++)n++;return o=r==="left"?o.slice(n):o.slice(0,o.length-n),o==="0"?"0x":r==="right"&&o.length%2===1?`0x${o}0`:`0x${o}`}var Yf=_(()=>{je()});function No(e,t,r){return JSON.stringify(e,(o,n)=>typeof t=="function"?t(o,n):typeof n=="bigint"?n.toString()+D2:n,r)}var D2,ga=_(()=>{D2="#__bigint"});import{equalBytes as fN}from"@noble/curves/abstract/utils";function L2(e){if(!(e instanceof Uint8Array)){if(!e)throw new ri(e);if(typeof e!="object")throw new ri(e);if(!("BYTES_PER_ELEMENT"in e))throw new ri(e);if(e.BYTES_PER_ELEMENT!==1||e.constructor.name!=="Uint8Array")throw new ri(e)}}function qg(e){return e instanceof Uint8Array?e:typeof e=="string"?oi(e):U2(e)}function U2(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function oi(e,t={}){let{size:r}=t,o=e;r&&(ti(e,r),o=Sr(e,r));let n=o.slice(2);n.length%2&&(n=`0${n}`);let s=n.length/2,i=new Uint8Array(s);for(let a=0,c=0;a<s;a++){let m=Wf(n.charCodeAt(c++)),u=Wf(n.charCodeAt(c++));if(m===void 0||u===void 0)throw new B(`Invalid byte sequence ("${n[c-2]}${n[c-1]}" in "${n}").`);i[a]=m*16+u}return i}function Kg(e,t={}){let{size:r}=t,o=z2.encode(e);return typeof r=="number"?(ei(o,r),O2(o,r)):o}function O2(e,t){return Ug(e,{dir:"right",size:t})}function Jt(e){return e.length}function Wg(e,t,r,o={}){let{strict:n}=o;zg(e,t);let s=e.slice(t,r);return n&&Lg(s,t,r),s}function Jg(e,t={}){let{size:r}=t;typeof r<"u"&&ei(e,r);let o=Ie(e,t);return el(o,t)}function Zg(e,t={}){let{size:r}=t,o=e;if(typeof r<"u"&&(ei(o,r),o=Qf(o)),o.length>1||o[0]>1)throw new Xf(o);return!!o[0]}function kr(e,t={}){let{size:r}=t;typeof r<"u"&&ei(e,r);let o=Ie(e,t);return cu(o,t)}function Yg(e,t={}){let{size:r}=t,o=e;return typeof r<"u"&&(ei(o,r),o=H2(o)),N2.decode(o)}function Qf(e){return Jf(e,{dir:"left"})}function H2(e){return Jf(e,{dir:"right"})}function Xg(e){try{return L2(e),!0}catch{return!1}}var N2,z2,Xf,ri,ou,da,nu,Do=_(()=>{wt();je();Og();Yf();ga();N2=new TextDecoder,z2=new TextEncoder;Xf=class extends B{constructor(t){super(`Bytes value \`${t}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"})}},ri=class extends B{constructor(t){super(`Value \`${typeof t=="object"?No(t):t}\` of type \`${typeof t}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"})}},ou=class extends B{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}},da=class extends B{constructor({offset:t,position:r,size:o}){super(`Slice ${r==="start"?"starting":"ending"} at offset \`${t}\` is out-of-bounds (size: \`${o}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"})}},nu=class extends B{constructor({size:t,targetSize:r,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}}});import{equalBytes as dN}from"@noble/curves/abstract/utils";function V2(e,t={}){let{strict:r=!1}=t;if(!e)throw new mu(e);if(typeof e!="string")throw new mu(e);if(r&&!/^0x[0-9a-fA-F]*$/.test(e))throw new uu(e);if(!e.startsWith("0x"))throw new uu(e)}function xe(...e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}function ni(e){return e instanceof Uint8Array?Ie(e):Array.isArray(e)?Ie(new Uint8Array(e)):e}function pu(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(ti(r,t.size),eo(r,t.size)):r}function Ie(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=G2[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(ti(o,t.size),Sr(o,t.size)):o}function te(e,t={}){let{signed:r,size:o}=t,n=BigInt(e),s;o?r?s=(1n<<BigInt(o)*8n-1n)-1n:s=2n**(BigInt(o)*8n)-1n:typeof e=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));let i=typeof s=="bigint"&&r?-s-1n:0;if(s&&n>s||n<i){let m=typeof e=="bigint"?"n":"";throw new ya({max:s?`${s}${m}`:void 0,min:`${i}${m}`,signed:r,size:o,value:`${e}${m}`})}let c=`0x${(r&&n<0?(1n<<BigInt(o*8))+BigInt(n):n).toString(16)}`;return o?eo(c,o):c}function si(e,t={}){return Ie(j2.encode(e),t)}function eo(e,t){return Zf(e,{dir:"left",size:t})}function Sr(e,t){return Zf(e,{dir:"right",size:t})}function he(e,t,r,o={}){let{strict:n}=o;Hg(e,t);let s=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return n&&jg(s,t,r),s}function de(e){return Math.ceil((e.length-2)/2)}function tl(e){return Gg(e,{dir:"left"})}function el(e,t={}){let{signed:r}=t;t.size&&ti(e,t.size);let o=BigInt(e);if(!r)return o;let n=(e.length-2)/2,s=(1n<<BigInt(n)*8n)-1n,i=s>>1n;return o<=i?o:o-s-1n}function cu(e,t={}){let{signed:r,size:o}=t;return Number(!r&&!o?e:el(e,t))}function ba(e,t={}){let{strict:r=!1}=t;try{return V2(e,{strict:r}),!0}catch{return!1}}var j2,G2,ya,mu,uu,su,ha,iu,je=_(()=>{wt();Yf();ga();j2=new TextEncoder,G2=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));ya=class extends B{constructor({max:t,min:r,signed:o,size:n,value:s}){super(`Number \`${s}\` is not in safe${n?` ${n*8}-bit`:""}${o?" signed":" unsigned"} integer range ${t?`(\`${r}\` to \`${t}\`)`:`(above \`${r}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}},mu=class extends B{constructor(t){super(`Value \`${typeof t=="object"?No(t):t}\` of type \`${typeof t}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}},uu=class extends B{constructor(t){super(`Value \`${t}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}},su=class extends B{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}},ha=class extends B{constructor({offset:t,position:r,size:o}){super(`Slice ${r==="start"?"starting":"ending"} at offset \`${t}\` is out-of-bounds (size: \`${o}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}},iu=class extends B{constructor({size:t,targetSize:r,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}});function Qg(e){return{address:e.address,amount:te(e.amount),index:te(e.index),validatorIndex:te(e.validatorIndex)}}var ey=_(()=>{je()});function fu(e){return{...typeof e.baseFeePerGas=="bigint"&&{baseFeePerGas:te(e.baseFeePerGas)},...typeof e.blobBaseFee=="bigint"&&{blobBaseFee:te(e.blobBaseFee)},...typeof e.feeRecipient=="string"&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit=="bigint"&&{gasLimit:te(e.gasLimit)},...typeof e.number=="bigint"&&{number:te(e.number)},...typeof e.prevRandao=="bigint"&&{prevRandao:te(e.prevRandao)},...typeof e.time=="bigint"&&{time:te(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Qg)}}}var rl=_(()=>{je();ey()});var yn,lu,ry,du,oy,ol,nl,sl,il,zo=_(()=>{yn=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],lu=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],ry=[{inputs:[{name:"dns",type:"bytes"}],name:"DNSDecodingFailed",type:"error"},{inputs:[{name:"ens",type:"string"}],name:"DNSEncodingFailed",type:"error"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"HttpError",type:"error"},{inputs:[],name:"InvalidBatchGatewayResponse",type:"error"},{inputs:[{name:"errorData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{name:"name",type:"bytes"},{name:"resolver",type:"address"}],name:"ResolverNotContract",type:"error"},{inputs:[{name:"name",type:"bytes"}],name:"ResolverNotFound",type:"error"},{inputs:[{name:"primary",type:"string"},{name:"primaryAddress",type:"bytes"}],name:"ReverseAddressMismatch",type:"error"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"UnsupportedResolverProfile",type:"error"}],du=[...ry,{name:"resolveWithGateways",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],oy=[...ry,{name:"reverseWithGateways",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"},{type:"uint256",name:"coinType"},{type:"string[]",name:"gateways"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolver"},{type:"address",name:"reverseResolver"}]}],ol=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],nl=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],sl=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],il=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}]});var ny,sy=_(()=>{ny="0x82ad56cb"});var hu,iy,ay,ii,xa=_(()=>{hu="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",iy="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",ay="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",ii="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033"});function bn(e){let{abi:t,args:r,bytecode:o}=e;if(!r||r.length===0)return o;let n=t.find(i=>"type"in i&&i.type==="constructor");if(!n)throw new em({docsPath:al});if(!("inputs"in n))throw new ra({docsPath:al});if(!n.inputs||n.inputs.length===0)throw new ra({docsPath:al});let s=ct(n.inputs,r);return Oe([o,s])}var al,gu=_(()=>{we();at();Jr();al="/docs/contract/encodeDeployData"});function ai(){let e=()=>{},t=()=>{};return{promise:new Promise((o,n)=>{e=o,t=n}),resolve:e,reject:t}}var yu=_(()=>{});function bu({fn:e,id:t,shouldSplitBatch:r,wait:o=0,sort:n}){let s=async()=>{let u=c();i();let p=u.map(({args:f})=>f);p.length!==0&&e(p).then(f=>{n&&Array.isArray(f)&&f.sort(n);for(let d=0;d<u.length;d++){let{resolve:h}=u[d];h?.([f[d],f])}}).catch(f=>{for(let d=0;d<u.length;d++){let{reject:h}=u[d];h?.(f)}})},i=()=>cl.delete(t),a=()=>c().map(({args:u})=>u),c=()=>cl.get(t)||[],m=u=>cl.set(t,[...c(),u]);return{flush:i,async schedule(u){let{promise:p,resolve:f,reject:d}=ai();return r?.([...a(),u])&&s(),c().length>0?(m({args:u,resolve:f,reject:d}),p):(m({args:u,resolve:f,reject:d}),setTimeout(s,o),p)}}}var cl,ml=_(()=>{yu();cl=new Map});var xu,vu,wu,cy=_(()=>{et();H();Um();xu=class extends x{constructor({callbackSelector:t,cause:r,data:o,extraData:n,sender:s,urls:i}){super(r.shortMessage||"An error occurred while fetching for an offchain result.",{cause:r,metaMessages:[...r.metaMessages||[],r.metaMessages?.length?"":[],"Offchain Gateway Call:",i&&[" Gateway URL(s):",...i.map(a=>` ${un(a)}`)],` Sender: ${s}`,` Data: ${o}`,` Callback selector: ${t}`,` Extra data: ${n}`].flat(),name:"OffchainLookupError"})}},vu=class extends x{constructor({result:t,url:r}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${un(r)}`,`Response: ${W(t)}`],name:"OffchainLookupResponseMalformedError"})}},wu=class extends x{constructor({sender:t,to:r}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${r}`,`OffchainLookup sender address: ${t}`],name:"OffchainLookupSenderMismatchError"})}}});function my(e){let{abi:t,data:r}=e,o=jt(r,0,4),n=t.find(s=>s.type==="function"&&o===yr(De(s)));if(!n)throw new im(o,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:n.name,args:"inputs"in n&&n.inputs&&n.inputs.length>0?Zr(n.inputs,jt(r,4)):void 0}}var uy=_(()=>{we();Co();Es();ma();Kr()});function pl(e){let{abi:t,errorName:r,args:o}=e,n=t[0];if(r){let c=bt({abi:t,args:o,name:r});if(!c)throw new oa(r,{docsPath:ul});n=c}if(n.type!=="error")throw new oa(void 0,{docsPath:ul});let s=De(n),i=yr(s),a="0x";if(o&&o.length>0){if(!n.inputs)throw new nm(n.name,{docsPath:ul});a=ct(n.inputs,o)}return Oe([i,a])}var ul,py=_(()=>{we();at();Es();Jr();Kr();So();ul="/docs/contract/encodeErrorResult"});function fy(e){let{abi:t,functionName:r,result:o}=e,n=t[0];if(r){let i=bt({abi:t,name:r});if(!i)throw new sr(r,{docsPath:fl});n=i}if(n.type!=="function")throw new sr(void 0,{docsPath:fl});if(!n.outputs)throw new ys(n.name,{docsPath:fl});let s=(()=>{if(n.outputs.length===0)return[];if(n.outputs.length===1)return[o];if(Array.isArray(o))return o;throw new bs(o)})();return ct(n.outputs,s)}var fl,ly=_(()=>{we();Jr();So();fl="/docs/contract/encodeFunctionResult"});async function ll(e){let{data:t,ccipRequest:r}=e,{args:[o]}=my({abi:lu,data:t}),n=[],s=[];return await Promise.all(o.map(async(i,a)=>{try{s[a]=i.urls.includes(to)?await ll({data:i.data,ccipRequest:r}):await r(i),n[a]=!1}catch(c){n[a]=!0,s[a]=K2(c)}})),fy({abi:lu,functionName:"query",result:[n,s]})}function K2(e){return e.name==="HttpRequestError"&&e.status?pl({abi:lu,errorName:"HttpError",args:[e.status,e.shortMessage]}):pl({abi:[Yc],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}var to,va=_(()=>{zo();Xc();uy();py();ly();to="x-batch-gateway:true"});var gy={};sf(gy,{ccipRequest:()=>hy,offchainLookup:()=>J2,offchainLookupAbiItem:()=>dy,offchainLookupSignature:()=>W2});async function J2(e,{blockNumber:t,blockTag:r,data:o,to:n}){let{args:s}=Nm({data:o,abi:[dy]}),[i,a,c,m,u]=s,{ccipRead:p}=e,f=p&&typeof p?.request=="function"?p.request:hy;try{if(!Wt(n,i))throw new wu({sender:i,to:n});let d=a.includes(to)?await ll({data:c,ccipRequest:f}):await f({data:c,sender:i,urls:a}),{data:h}=await _r(e,{blockNumber:t,blockTag:r,data:Pe([m,ct([{type:"bytes"},{type:"bytes"}],[d,u])]),to:n});return h}catch(d){throw new xu({callbackSelector:m,cause:d,data:o,extraData:u,sender:i,urls:a})}}async function hy({data:e,sender:t,urls:r}){let o=new Error("An unknown error occurred.");for(let n=0;n<r.length;n++){let s=r[n],i=s.includes("{data}")?"GET":"POST",a=i==="POST"?{data:e,sender:t}:void 0,c=i==="POST"?{"Content-Type":"application/json"}:{};try{let m=await fetch(s.replace("{sender}",t.toLowerCase()).replace("{data}",e),{body:JSON.stringify(a),headers:c,method:i}),u;if(m.headers.get("Content-Type")?.startsWith("application/json")?u=(await m.json()).data:u=await m.text(),!m.ok){o=new Kt({body:a,details:u?.error?W(u.error):m.statusText,headers:m.headers,status:m.status,url:s});continue}if(!ce(u)){o=new vu({result:u,url:s});continue}return u}catch(m){o=new Kt({body:a,details:m.message,url:s})}}throw o}var W2,dy,yy=_(()=>{ci();cy();fn();Of();Jr();hn();at();_t();va();et();W2="0x556f1830",dy={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]}});async function _r(e,t){let{account:r=e.account,authorizationList:o,batch:n=!!e.batch?.multicall,blockNumber:s,blockTag:i=e.experimental_blockTag??"latest",accessList:a,blobs:c,blockOverrides:m,code:u,data:p,factory:f,factoryData:d,gas:h,gasPrice:g,maxFeePerBlobGas:b,maxFeePerGas:y,maxPriorityFeePerGas:v,nonce:C,to:k,value:I,stateOverride:P,...S}=t,$=r?j(r):void 0;if(u&&(f||d))throw new x("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(u&&k)throw new x("Cannot provide both `code` & `to` as parameters.");let M=u&&p,D=f&&d&&k&&p,O=M||D,G=M?by({code:u,data:p}):D?X2({data:p,factory:f,factoryData:d,to:k}):p;try{rt(t);let me=(typeof s=="bigint"?E(s):void 0)||i,Ae=m?fu(m):void 0,qe=Ks(P),Mt=e.chain?.formatters?.transactionRequest?.format,Se=(Mt||gt)({...wr(S,{format:Mt}),accessList:a,account:$,authorizationList:o,blobs:c,data:G,gas:h,gasPrice:g,maxFeePerBlobGas:b,maxFeePerGas:y,maxPriorityFeePerGas:v,nonce:C,to:O?void 0:k,value:I},"call");if(n&&Z2({request:Se})&&!qe&&!Ae)try{return await Y2(e,{...Se,blockNumber:s,blockTag:i})}catch(ue){if(!(ue instanceof Ji)&&!(ue instanceof sn))throw ue}let lr=(()=>{let ue=[Se,me];return qe&&Ae?[...ue,qe,Ae]:qe?[...ue,qe]:Ae?[...ue,{},Ae]:ue})(),fo=await e.request({method:"eth_call",params:lr});return fo==="0x"?{data:void 0}:{data:fo}}catch(V){let me=Q2(V),{offchainLookup:Ae,offchainLookupSignature:qe}=await Promise.resolve().then(()=>(yy(),gy));if(e.ccipRead!==!1&&me?.slice(0,10)===qe&&k)return{data:await Ae(e,{data:me,to:k})};throw O&&me?.slice(0,10)==="0x101bb98d"?new Hm({factory:f}):Gm(V,{...t,account:$,chain:e.chain})}}function Z2({request:e}){let{data:t,to:r,...o}=e;return!(!t||t.startsWith(ny)||!r||Object.values(o).filter(n=>typeof n<"u").length>0)}async function Y2(e,t){let{batchSize:r=1024,deployless:o=!1,wait:n=0}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},{blockNumber:s,blockTag:i=e.experimental_blockTag??"latest",data:a,to:c}=t,m=(()=>{if(o)return null;if(t.multicallAddress)return t.multicallAddress;if(e.chain)return Gt({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Ji})(),p=(typeof s=="bigint"?E(s):void 0)||i,{schedule:f}=bu({id:`${e.uid}.${p}`,wait:n,shouldSplitBatch(g){return g.reduce((y,{data:v})=>y+(v.length-2),0)>r*2},fn:async g=>{let b=g.map(C=>({allowFailure:!0,callData:C.data,target:C.to})),y=fe({abi:yn,args:[b],functionName:"aggregate3"}),v=await e.request({method:"eth_call",params:[{...m===null?{data:by({code:ii,data:y})}:{to:m,data:y}},p]});return vt({abi:yn,args:[b],functionName:"aggregate3",data:v||"0x"})}}),[{returnData:d,success:h}]=await f({data:a,to:c});if(!h)throw new xr({data:d});return d==="0x"?{data:void 0}:{data:d}}function by(e){let{code:t,data:r}=e;return bn({abi:$m(["constructor(bytes, bytes)"]),bytecode:hu,args:[t,r]})}function X2(e){let{data:t,factory:r,factoryData:o,to:n}=e;return bn({abi:$m(["constructor(address, bytes, address, bytes)"]),bytecode:iy,args:[n,t,r,o]})}function Q2(e){if(!(e instanceof x))return;let t=e.walk();return typeof t?.data=="object"?t.data?.data:t.data}var ci=_(()=>{aa();rl();ve();zo();sy();xa();H();Zi();_o();Mo();gu();Tt();cn();F();Vf();qs();yo();ml();Xm();Xr()});var nd=ft(Da=>{"use strict";var C8=Da&&Da.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Da,"__esModule",{value:!0});Da.encryptEnvVars=S8;var rd=Or("@noble/curves/ed25519"),od=C8(Or("crypto"));function E8(e){var t,r;return e=e.startsWith("0x")?e.slice(2):e,new Uint8Array((r=(t=e.match(/.{1,2}/g))===null||t===void 0?void 0:t.map(o=>parseInt(o,16)))!==null&&r!==void 0?r:[])}function k8(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}async function S8(e,t){let r=JSON.stringify({env:e}),o=rd.x25519.utils.randomPrivateKey(),n=rd.x25519.getPublicKey(o),s=E8(t),i=rd.x25519.getSharedSecret(o,s),a=await od.default.subtle.importKey("raw",i,{name:"AES-GCM",length:256},!0,["encrypt"]),c=od.default.getRandomValues(new Uint8Array(12)),m=await od.default.subtle.encrypt({name:"AES-GCM",iv:c},a,new TextEncoder().encode(r)),u=new Uint8Array(n.length+c.length+m.byteLength);return u.set(n),u.set(c,n.length),u.set(new Uint8Array(m),n.length+c.length),k8(u)}});var dx=ft(Na=>{"use strict";var _8=Na&&Na.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Na,"__esModule",{value:!0});Na.getComposeHash=T8;var I8=_8(Or("crypto"));function sd(e){return e==null?e:Array.isArray(e)?e.map(sd):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=sd(o),t},{}):e}function A8(e){let t={...e};return t.runner==="bash"&&"docker_compose_file"in t?delete t.docker_compose_file:t.runner==="docker-compose"&&"bash_script"in t&&delete t.bash_script,"pre_launch_script"in t&&!t.pre_launch_script&&delete t.pre_launch_script,t}function P8(e){let t=sd(e);return JSON.stringify(t,(r,o)=>typeof o=="number"&&(isNaN(o)||!isFinite(o))?null:o)}function T8(e,t=!1){t&&(e=A8(e));let r=P8(e);return I8.default.createHash("sha256").update(r,"utf8").digest("hex")}});var Dx=ft(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.toBig=U.shrSL=U.shrSH=U.rotrSL=U.rotrSH=U.rotrBL=U.rotrBH=U.rotr32L=U.rotr32H=U.rotlSL=U.rotlSH=U.rotlBL=U.rotlBH=U.add5L=U.add5H=U.add4L=U.add4H=U.add3L=U.add3H=void 0;U.add=Px;U.fromBig=ad;U.split=hx;var xp=BigInt(2**32-1),id=BigInt(32);function ad(e,t=!1){return t?{h:Number(e&xp),l:Number(e>>id&xp)}:{h:Number(e>>id&xp)|0,l:Number(e&xp)|0}}function hx(e,t=!1){let r=e.length,o=new Uint32Array(r),n=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=ad(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var gx=(e,t)=>BigInt(e>>>0)<<id|BigInt(t>>>0);U.toBig=gx;var yx=(e,t,r)=>e>>>r;U.shrSH=yx;var bx=(e,t,r)=>e<<32-r|t>>>r;U.shrSL=bx;var xx=(e,t,r)=>e>>>r|t<<32-r;U.rotrSH=xx;var vx=(e,t,r)=>e<<32-r|t>>>r;U.rotrSL=vx;var wx=(e,t,r)=>e<<64-r|t>>>r-32;U.rotrBH=wx;var Cx=(e,t,r)=>e>>>r-32|t<<64-r;U.rotrBL=Cx;var Ex=(e,t)=>t;U.rotr32H=Ex;var kx=(e,t)=>e;U.rotr32L=kx;var Sx=(e,t,r)=>e<<r|t>>>32-r;U.rotlSH=Sx;var _x=(e,t,r)=>t<<r|e>>>32-r;U.rotlSL=_x;var Ix=(e,t,r)=>t<<r-32|e>>>64-r;U.rotlBH=Ix;var Ax=(e,t,r)=>e<<r-32|t>>>64-r;U.rotlBL=Ax;function Px(e,t,r,o){let n=(t>>>0)+(o>>>0);return{h:e+r+(n/2**32|0)|0,l:n|0}}var Tx=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);U.add3L=Tx;var $x=(e,t,r,o)=>t+r+o+(e/2**32|0)|0;U.add3H=$x;var Rx=(e,t,r,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0);U.add4L=Rx;var Bx=(e,t,r,o,n)=>t+r+o+n+(e/2**32|0)|0;U.add4H=Bx;var Fx=(e,t,r,o,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0)+(n>>>0);U.add5L=Fx;var Mx=(e,t,r,o,n,s)=>t+r+o+n+s+(e/2**32|0)|0;U.add5H=Mx;var $8={fromBig:ad,split:hx,toBig:gx,shrSH:yx,shrSL:bx,rotrSH:xx,rotrSL:vx,rotrBH:wx,rotrBL:Cx,rotr32H:Ex,rotr32L:kx,rotlSH:Sx,rotlSL:_x,rotlBH:Ix,rotlBL:Ax,add:Px,add3L:Tx,add3H:$x,add4L:Rx,add4H:Bx,add5H:Mx,add5L:Fx};U.default=$8});var Nx=ft(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});vp.crypto=void 0;var qo=Or("crypto");vp.crypto=qo&&typeof qo=="object"&&"webcrypto"in qo?qo.webcrypto:qo&&typeof qo=="object"&&"randomBytes"in qo?qo:void 0});var Vx=ft(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.wrapXOFConstructorWithOpts=N.wrapConstructorWithOpts=N.wrapConstructor=N.Hash=N.nextTick=N.swap32IfBE=N.byteSwapIfBE=N.swap8IfBE=N.isLE=void 0;N.isBytes=Lx;N.anumber=cd;N.abytes=Ci;N.ahash=R8;N.aexists=B8;N.aoutput=F8;N.u8=M8;N.u32=D8;N.clean=N8;N.createView=z8;N.rotr=L8;N.rotl=U8;N.byteSwap=ud;N.byteSwap32=Ux;N.bytesToHex=H8;N.hexToBytes=j8;N.asyncLoop=V8;N.utf8ToBytes=pd;N.bytesToUtf8=q8;N.toBytes=wp;N.kdfInputToBytes=K8;N.concatBytes=W8;N.checkOpts=J8;N.createHasher=Hx;N.createOptHasher=jx;N.createXOFer=Gx;N.randomBytes=Z8;var wi=Nx();function Lx(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function cd(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Ci(e,...t){if(!Lx(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function R8(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");cd(e.outputLen),cd(e.blockLen)}function B8(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function F8(e,t){Ci(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function M8(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function D8(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function N8(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function z8(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function L8(e,t){return e<<32-t|e>>>t}function U8(e,t){return e<<t|e>>>32-t>>>0}N.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function ud(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}N.swap8IfBE=N.isLE?e=>e:e=>ud(e);N.byteSwapIfBE=N.swap8IfBE;function Ux(e){for(let t=0;t<e.length;t++)e[t]=ud(e[t]);return e}N.swap32IfBE=N.isLE?e=>e:Ux;var Ox=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",O8=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function H8(e){if(Ci(e),Ox)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=O8[e[r]];return t}var no={_0:48,_9:57,A:65,F:70,a:97,f:102};function zx(e){if(e>=no._0&&e<=no._9)return e-no._0;if(e>=no.A&&e<=no.F)return e-(no.A-10);if(e>=no.a&&e<=no.f)return e-(no.a-10)}function j8(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Ox)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let o=new Uint8Array(r);for(let n=0,s=0;n<r;n++,s+=2){let i=zx(e.charCodeAt(s)),a=zx(e.charCodeAt(s+1));if(i===void 0||a===void 0){let c=e[s]+e[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}o[n]=i*16+a}return o}var G8=async()=>{};N.nextTick=G8;async function V8(e,t,r){let o=Date.now();for(let n=0;n<e;n++){r(n);let s=Date.now()-o;s>=0&&s<t||(await(0,N.nextTick)(),o+=s)}}function pd(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function q8(e){return new TextDecoder().decode(e)}function wp(e){return typeof e=="string"&&(e=pd(e)),Ci(e),e}function K8(e){return typeof e=="string"&&(e=pd(e)),Ci(e),e}function W8(...e){let t=0;for(let o=0;o<e.length;o++){let n=e[o];Ci(n),t+=n.length}let r=new Uint8Array(t);for(let o=0,n=0;o<e.length;o++){let s=e[o];r.set(s,n),n+=s.length}return r}function J8(e,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(e,t)}var md=class{};N.Hash=md;function Hx(e){let t=o=>e().update(wp(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function jx(e){let t=(o,n)=>e(n).update(wp(o)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=o=>e(o),t}function Gx(e){let t=(o,n)=>e(n).update(wp(o)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=o=>e(o),t}N.wrapConstructor=Hx;N.wrapConstructorWithOpts=jx;N.wrapXOFConstructorWithOpts=Gx;function Z8(e=32){if(wi.crypto&&typeof wi.crypto.getRandomValues=="function")return wi.crypto.getRandomValues(new Uint8Array(e));if(wi.crypto&&typeof wi.crypto.randomBytes=="function")return Uint8Array.from(wi.crypto.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}});var e1=ft(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.shake256=le.shake128=le.keccak_512=le.keccak_384=le.keccak_256=le.keccak_224=le.sha3_512=le.sha3_384=le.sha3_256=le.sha3_224=le.Keccak=void 0;le.keccakP=Xx;var La=Dx(),st=Vx(),Y8=BigInt(0),za=BigInt(1),X8=BigInt(2),Q8=BigInt(7),eE=BigInt(256),tE=BigInt(113),Wx=[],Jx=[],Zx=[];for(let e=0,t=za,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],Wx.push(2*(5*o+r)),Jx.push((e+1)*(e+2)/2%64);let n=Y8;for(let s=0;s<7;s++)t=(t<<za^(t>>Q8)*tE)%eE,t&X8&&(n^=za<<(za<<BigInt(s))-za);Zx.push(n)}var Yx=(0,La.split)(Zx,!0),rE=Yx[0],oE=Yx[1],qx=(e,t,r)=>r>32?(0,La.rotlBH)(e,t,r):(0,La.rotlSH)(e,t,r),Kx=(e,t,r)=>r>32?(0,La.rotlBL)(e,t,r):(0,La.rotlSL)(e,t,r);function Xx(e,t=24){let r=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let i=0;i<10;i++)r[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){let a=(i+8)%10,c=(i+2)%10,m=r[c],u=r[c+1],p=qx(m,u,1)^r[a],f=Kx(m,u,1)^r[a+1];for(let d=0;d<50;d+=10)e[i+d]^=p,e[i+d+1]^=f}let n=e[2],s=e[3];for(let i=0;i<24;i++){let a=Jx[i],c=qx(n,s,a),m=Kx(n,s,a),u=Wx[i];n=e[u],s=e[u+1],e[u]=c,e[u+1]=m}for(let i=0;i<50;i+=10){for(let a=0;a<10;a++)r[a]=e[i+a];for(let a=0;a<10;a++)e[i+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=rE[o],e[1]^=oE[o]}(0,st.clean)(r)}var Ua=class e extends st.Hash{constructor(t,r,o,n=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=r,this.outputLen=o,this.enableXOF=n,this.rounds=s,(0,st.anumber)(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=(0,st.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,st.swap32IfBE)(this.state32),Xx(this.state32,this.rounds),(0,st.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(t){(0,st.aexists)(this),t=(0,st.toBytes)(t),(0,st.abytes)(t);let{blockLen:r,state:o}=this,n=t.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);for(let a=0;a<i;a++)o[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:o,blockLen:n}=this;t[o]^=r,(r&128)!==0&&o===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){(0,st.aexists)(this,!1),(0,st.abytes)(t),this.finish();let r=this.state,{blockLen:o}=this;for(let n=0,s=t.length;n<s;){this.posOut>=o&&this.keccak();let i=Math.min(o-this.posOut,s-n);t.set(r.subarray(this.posOut,this.posOut+i),n),this.posOut+=i,n+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return(0,st.anumber)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,st.aoutput)(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,st.clean)(this.state)}_cloneInto(t){let{blockLen:r,suffix:o,outputLen:n,rounds:s,enableXOF:i}=this;return t||(t=new e(r,o,n,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=o,t.outputLen=n,t.enableXOF=i,t.destroyed=this.destroyed,t}};le.Keccak=Ua;var Ko=(e,t,r)=>(0,st.createHasher)(()=>new Ua(t,e,r));le.sha3_224=Ko(6,144,224/8);le.sha3_256=Ko(6,136,256/8);le.sha3_384=Ko(6,104,384/8);le.sha3_512=Ko(6,72,512/8);le.keccak_224=Ko(1,144,224/8);le.keccak_256=Ko(1,136,256/8);le.keccak_384=Ko(1,104,384/8);le.keccak_512=Ko(1,72,512/8);var Qx=(e,t,r)=>(0,st.createXOFer)((o={})=>new Ua(t,e,o.dkLen===void 0?r:o.dkLen,!0));le.shake128=Qx(31,168,128/8);le.shake256=Qx(31,136,256/8)});var t1=ft(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});fd.verifyEnvEncryptPublicKey=iE;var nE=e1(),sE=Or("@noble/curves/secp256k1");function iE(e,t,r){if(t.length!==65)return null;let o=Buffer.from("dstack-env-encrypt-pubkey","utf8"),n=r;r.startsWith("0x")&&(n=r.slice(2));let s=Buffer.from(n,"hex"),i=Buffer.from(":","utf8"),a=Buffer.concat([o,i,s,Buffer.from(e)]),c=(0,nE.keccak_256)(a);try{let m=t.slice(0,32),u=t.slice(32,64),p=t[64],f=new Uint8Array(64);f.set(m,0),f.set(u,32);let d=sE.secp256k1.Signature.fromCompact(f).addRecoveryBit(p).recoverPublicKey(c);return"0x"+Buffer.from(d.toRawBytes(!0)).toString("hex")}catch(m){return console.error("signature verification failed:",m),null}}});import{readFileSync as X3}from"fs";import{dirname as Q3,join as eA}from"path";import{fileURLToPath as tA}from"url";import{ZodError as M_}from"zod";import Ka from"chalk";function ic(e){return e.split(/[\s-]+/).filter(Boolean).map((t,r)=>r===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function d0(e){return e===void 0?[]:Array.isArray(e)?[...e]:[e]}function h0(e,t){let r={};for(let a of t.flagConfig.descriptors.values()){let c=t.flags[a.canonicalKey];c!==void 0&&(r[a.target]=c)}for(let a of t.flagConfig.negatedLookup.values())a.negatedKey&&t.flags[a.negatedKey]&&(r[a.target]=!1);let o={},n=e.arguments??[],s=[...t.positionals],i=0;for(let a of n){let c=a.target??ic(a.name);if(a.variadic){o[c]=s.slice(i),i=s.length;break}o[c]=s[i],i+=1}return{options:r,positionals:o,raw:{flags:t.flags,positionals:t.positionals}}}import Lw from"arg";var Mw={name:"help",shorthand:"h",description:"Show help information for the current command",type:"boolean",target:"help"},Dw={name:"version",shorthand:"v",description:"Show CLI version",type:"boolean",target:"version"},Ye={name:"interactive",shorthand:"i",description:"Enable interactive mode",type:"boolean",target:"interactive"},Nw={name:"api-token",description:"API token used for authentication",type:"string",target:"apiToken",aliases:["api-key"],argumentName:"token"},Dn=[Mw,Dw],Nn=[Nw],Xe={name:"cvm_id",description:"CVM identifier (UUID, app_id, instance_id, or name)",required:!1,target:"cvmId"},g0={name:"cvm-id",description:"CVM identifier (UUID, app_id, instance_id, or name)",type:"string",target:"cvmId"},y0={name:"uuid",description:"[DEPRECATED] Use --cvm-id instead. CVM UUID.",type:"string",target:"cvmId"};import b0 from"arg";function x0(e){let t={},r=new Map,o=new Map;if(!e)return{spec:t,descriptors:r,negatedLookup:o};for(let n of e){let s=`--${n.name}`,i=n.target??ic(n.name),a=zw(n.type);r.set(s,{option:n,canonicalKey:s,target:i,negatedKey:n.negatedName?`--${n.negatedName}`:void 0}),t[s]=a,n.shorthand&&(t[`-${n.shorthand}`]=s);for(let c of d0(n.aliases))t[`--${c}`]=s;if(n.negatedName){let c=`--${n.negatedName}`;if(n.type!=="boolean")throw new Error(`Negated option is only supported for boolean types: ${n.name}`);t[c]=b0.flag(()=>!0),o.set(c,{option:n,canonicalKey:s,target:i,negatedKey:c})}}return{spec:t,descriptors:r,negatedLookup:o}}function zw(e){switch(e){case"string":return(t="")=>t;case"number":return(t,r)=>{let o=Number(t);if(Number.isNaN(o))throw new Error(`Invalid value for ${r}: expected a number.`);return o};case"boolean":return b0.flag(()=>!0);case"string[]":return(t,r,o)=>{let n=Array.isArray(o)?[...o]:[];if(t==="")throw new Error(`Option ${r} expects a value.`);return n.push(t),n};case"number[]":return(t,r,o)=>{let n=Array.isArray(o)?[...o]:[],s=Number(t);if(Number.isNaN(s))throw new Error(`Invalid value for ${r}: expected a number.`);return n.push(s),n};default:throw new Error(`Unsupported option type: ${e}`)}}function Ui(e,t,r={}){let o=[...Dn,...t?[...t]:[]],n=x0(o),{permissive:s=!1,stopAtPositional:i=!1}=r,a=Lw(n.spec,{argv:e,permissive:s,stopAtPositional:i}),{_:c,...m}=a;return{positionals:c??[],flags:m,flagConfig:n}}function ac(e){let{registry:t,executableName:r}=e,o=[];o.push(`Usage: ${r} <command> [options]`),o.push(""),o.push("Available commands:");for(let n of t.getChildren()){let s=n.command?.meta.description??n.group?.meta.description??"",i=n.name??"";o.push(` ${i.padEnd(18)}${s}`.trimEnd())}o.push(""),o.push("Global options:");for(let n of Dn)o.push(` ${af(n).padEnd(24)}${n.description??""}`.trimEnd());return o.join(`
48
+ `)}function v0(e){let{registry:t,executableName:r,groupPath:o}=e,n=t.getNode(o);if(!n?.group)return ac({registry:t,executableName:r});let s=[],i=o.join(" "),a=`${r} ${i}`;s.push(`Usage: ${a} <command> [options]`),s.push(""),n.group.meta.description&&(s.push(n.group.meta.description),s.push(""));let c=t.getChildren(o);if(c.length>0){s.push("Available commands:");for(let m of c){let u=m.command?.meta.description??m.group?.meta.description??"",p=m.name??"";s.push(` ${p.padEnd(18)}${u}`.trimEnd())}s.push("")}s.push("Global options:");for(let m of Dn)s.push(` ${af(m).padEnd(24)}${m.description??""}`.trimEnd());return s.join(`
49
+ `)}function w0(e){let{executableName:t,definition:r,registry:o}=e,s=[Uw({executableName:t,definition:r}),"",r.meta.description],i=r.meta.arguments??[];if(i.length>0){s.push(""),s.push("Arguments:");for(let m of i){let u=Hw(m);s.push(` ${u.padEnd(18)}${m.description??""}`.trimEnd())}}let a=[...Dn,...r.meta.options??[]];if(a.length>0){s.push(""),s.push("Options:");for(let m of a)m.hidden||s.push(` ${af(m).padEnd(24)}${m.description??""}`.trimEnd())}if(r.meta.examples&&r.meta.examples.length>0){s.push(""),s.push("Examples:");for(let m of r.meta.examples)s.push(` # ${m.name}`),s.push(` ${m.value}`)}let c=o.getChildren(r.path);if(c.length>0){s.push(""),s.push("Subcommands:");for(let m of c){let u=m.command?.meta.description??m.group?.meta.description??"",p=m.name??"";s.push(` ${p.padEnd(18)}${u}`.trimEnd())}}return s.join(`
50
+ `)}function Uw({executableName:e,definition:t}){let r=[e,...t.path],n=(t.meta.arguments??[]).map(c=>Ow(c)).join(" "),i=(t.meta.options?.length??0)>0?" [options]":"",a=n?` ${n}`:"";return`Usage: ${r.join(" ")}${i}${a}`}function Ow(e){let t=`<${e.name}>`;return e.variadic?`${t}...`:e.required===!1?`[${t}]`:t}function Hw(e){return e.variadic?`<${e.name}...>`:e.required===!1?`<${e.name}>?`:`<${e.name}>`}function af(e){let t=[];e.shorthand&&t.push(`-${e.shorthand}`);let r=`--${e.name}`;if(e.argumentName?r+=` ${e.argumentName.toUpperCase()}`:e.type!=="boolean"&&(r+=" <value>"),t.push(r),e.aliases&&e.aliases.length>0)for(let o of e.aliases){let n=`--${o}`;e.argumentName?n+=` ${e.argumentName.toUpperCase()}`:e.type!=="boolean"&&(n+=" <value>"),t.push(n)}return e.type==="boolean"&&e.negatedName&&t.push(`--${e.negatedName}`),t.join(", ")}var cf=!1;function Ke(e){cf=e}function lt(){return cf}function mf(){return!cf}import k_ from"path";import Ad from"fs-extra";import S_ from"@iarna/toml";import{z as Ap}from"zod";var i1=Li(B0(),1);import{ofetch as aE}from"ofetch";function F0(e){return{all:e=e||new Map,on:function(t,r){var o=e.get(t);o?o.push(r):e.set(t,[r])},off:function(t,r){var o=e.get(t);o&&(r?o.splice(o.indexOf(r)>>>0,1):e.set(t,[]))},emit:function(t,r){var o=e.get(t);o&&o.slice().map(function(n){n(r)}),(o=e.get("*"))&&o.slice().map(function(n){n(t,r)})}}}import{z as Ge}from"zod";import{z as Wo}from"zod";import{z as K}from"zod";import{z as Jo}from"zod";function en(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}bc();Be();bc();var yf={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function rn(e,t){let r={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?be(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?be(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?yf[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(r.authorizationList=y5(e.authorizationList)),r.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof r.v=="bigint"){if(r.v===0n||r.v===27n)return 0;if(r.v===1n||r.v===28n)return 1;if(r.v>=35n)return r.v%2n===0n?1:0}})(),r.type==="legacy"&&(delete r.accessList,delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.yParity),r.type==="eip2930"&&(delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas),r.type==="eip1559"&&delete r.maxFeePerBlobGas,r}var z0=Hn("transaction",rn);function y5(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function Vi(e,t){let r=(e.transactions??[]).map(o=>typeof o=="string"?o:rn(o));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:r,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}var L0=Hn("block",Vi);function Qe(e,{args:t,eventName:r}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...r?{args:t,eventName:r}:{}}}Be();bc();var bf={"0x0":"reverted","0x1":"success"};function qi(e,t){let r={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(o=>Qe(o)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?be(e.transactionIndex):null,status:e.status?bf[e.status]:null,type:e.type?yf[e.type]||e.type:null};return e.blobGasPrice&&(r.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(r.blobGasUsed=BigInt(e.blobGasUsed)),r}var U0=Hn("transactionReceipt",qi);H();vc();Ue();F();function rr(e,t="hex"){let r=O0(e),o=Vn(new Uint8Array(r.length));return r.encode(o),t==="hex"?X(o.bytes):o.bytes}function O0(e){return Array.isArray(e)?C5(e.map(t=>O0(t))):E5(e)}function C5(e){let t=e.reduce((n,s)=>n+s.length,0),r=H0(t);return{length:t<=55?1+t:1+r+t,encode(n){t<=55?n.pushByte(192+t):(n.pushByte(247+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:s}of e)s(n)}}}function E5(e){let t=typeof e=="string"?Fe(e):e,r=H0(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(183+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function H0(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new x("Length is too large.")}It();F();function G0(e){if(!e||e.length===0)return[];let t=[];for(let r of e){let{chainId:o,nonce:n,...s}=r,i=r.address;t.push([o?ie(o):"0x",i,n?ie(n):"0x",...Yn({},s)])}return t}Ue();F();function Xn(e){let{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),o=typeof e.blobs[0]=="string"?e.blobs.map(s=>Fe(s)):e.blobs,n=[];for(let s of o)n.push(Uint8Array.from(t.blobToKzgCommitment(s)));return r==="bytes"?n:n.map(s=>X(s))}Ue();F();function Qn(e){let{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),o=typeof e.blobs[0]=="string"?e.blobs.map(i=>Fe(i)):e.blobs,n=typeof e.commitments[0]=="string"?e.commitments.map(i=>Fe(i)):e.commitments,s=[];for(let i=0;i<o.length;i++){let a=o[i],c=n[i];s.push(Uint8Array.from(t.computeBlobKzgProof(a,c)))}return r==="bytes"?s:s.map(i=>X(i))}F();Fc();function P5(e,t,r,o){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,o);let n=BigInt(32),s=BigInt(4294967295),i=Number(r>>n&s),a=Number(r&s),c=o?4:0,m=o?0:4;e.setUint32(t+c,i,o),e.setUint32(t+m,a,o)}function q0(e,t,r){return e&t^~e&r}function K0(e,t,r){return e&t^e&r^t&r}var Mc=class extends es{constructor(t,r,o,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=o,this.isLE=n,this.buffer=new Uint8Array(t),this.view=Rc(this.buffer)}update(t){ts(this),t=Wi(t),nn(t);let{view:r,buffer:o,blockLen:n}=this,s=t.length;for(let i=0;i<s;){let a=Math.min(n-this.pos,s-i);if(a===n){let c=Rc(t);for(;n<=s-i;i+=n)this.process(c,i);continue}o.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ts(this),$c(t,this),this.finished=!0;let{buffer:r,view:o,blockLen:n,isLE:s}=this,{pos:i}=this;r[i++]=128,bo(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(o,0),i=0);for(let p=i;p<n;p++)r[p]=0;P5(o,n-8,BigInt(this.length*8),s),this.process(o,0);let a=Rc(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let m=c/4,u=this.get();if(m>u.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<m;p++)a.setUint32(4*p,u[p],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let o=t.slice(0,r);return this.destroy(),o}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:o,length:n,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=n,t.pos=a,n%r&&t.buffer.set(o),t}clone(){return this._cloneInto()}},Gr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Fc();var $5=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),xo=new Uint32Array(64),Nc=class extends Mc{constructor(t=32){super(64,t,8,!1),this.A=Gr[0]|0,this.B=Gr[1]|0,this.C=Gr[2]|0,this.D=Gr[3]|0,this.E=Gr[4]|0,this.F=Gr[5]|0,this.G=Gr[6]|0,this.H=Gr[7]|0}get(){let{A:t,B:r,C:o,D:n,E:s,F:i,G:a,H:c}=this;return[t,r,o,n,s,i,a,c]}set(t,r,o,n,s,i,a,c){this.A=t|0,this.B=r|0,this.C=o|0,this.D=n|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let p=0;p<16;p++,r+=4)xo[p]=t.getUint32(r,!1);for(let p=16;p<64;p++){let f=xo[p-15],d=xo[p-2],h=or(f,7)^or(f,18)^f>>>3,g=or(d,17)^or(d,19)^d>>>10;xo[p]=g+xo[p-7]+h+xo[p-16]|0}let{A:o,B:n,C:s,D:i,E:a,F:c,G:m,H:u}=this;for(let p=0;p<64;p++){let f=or(a,6)^or(a,11)^or(a,25),d=u+f+q0(a,c,m)+$5[p]+xo[p]|0,g=(or(o,2)^or(o,13)^or(o,22))+K0(o,n,s)|0;u=m,m=c,c=a,a=i+d|0,i=s,s=n,n=o,o=d+g|0}o=o+this.A|0,n=n+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,m=m+this.G|0,u=u+this.H|0,this.set(o,n,s,i,a,c,m,u)}roundClean(){bo(xo)}destroy(){this.set(0,0,0,0,0,0,0,0),bo(this.buffer)}};var th=Bc(()=>new Nc);var rh=th;_t();Ue();F();function oh(e,t){let r=t||"hex",o=rh(ce(e,{strict:!1})?zt(e):e);return r==="bytes"?o:ie(o)}function nh(e){let{commitment:t,version:r=1}=e,o=e.to??(typeof t=="string"?"hex":"bytes"),n=oh(t,"bytes");return n.set([r],0),o==="bytes"?n:X(n)}function zc(e){let{commitments:t,version:r}=e,o=e.to??(typeof t[0]=="string"?"hex":"bytes"),n=[];for(let s of t)n.push(nh({commitment:s,to:o,version:r}));return n}H();var Lc=class extends x{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}},rs=class extends x{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}},Uc=class extends x{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}},Oc=class extends x{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${1}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}};vc();Nt();Ue();F();function sh(e){let t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?Fe(e.data):e.data,o=Y(r);if(!o)throw new rs;if(o>761855)throw new Lc({maxSize:761855,size:o});let n=[],s=!0,i=0;for(;s;){let a=Vn(new Uint8Array(131072)),c=0;for(;c<4096;){let m=r.slice(i,i+31);if(a.pushByte(0),a.pushBytes(m),m.length<31){a.pushByte(128),s=!1;break}c++,i+=31}n.push(a)}return t==="bytes"?n.map(a=>a.bytes):n.map(a=>X(a.bytes))}function Hc(e){let{data:t,kzg:r,to:o}=e,n=e.blobs??sh({data:t,to:o}),s=e.commitments??Xn({blobs:n,kzg:r,to:o}),i=e.proofs??Qn({blobs:n,commitments:s,kzg:r,to:o}),a=[];for(let c=0;c<n.length;c++)a.push({blob:n[c],commitment:s[c],proof:i[c]});return a}at();tn();F();xf();nr();H();Zi();vo();At();Nt();Co();Be();function dh(e){let{authorizationList:t}=e;if(t)for(let r of t){let{chainId:o}=r,n=r.address;if(!ee(n))throw new ne({address:n});if(o<0)throw new an({chainId:o})}Kc(e)}function hh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new rs;for(let r of t){let o=Y(r),n=be(jt(r,0,1));if(o!==32)throw new Uc({hash:r,size:o});if(n!==1)throw new Oc({hash:r,version:n})}}Kc(e)}function Kc(e){let{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:o,to:n}=e;if(t<=0)throw new an({chainId:t});if(n&&!ee(n))throw new ne({address:n});if(o&&o>jn)throw new Lt({maxFeePerGas:o});if(r&&o&&r>o)throw new dr({maxFeePerGas:o,maxPriorityFeePerGas:r})}function gh(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(t<=0)throw new an({chainId:t});if(s&&!ee(s))throw new ne({address:s});if(r||n)throw new x("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(o&&o>jn)throw new Lt({maxFeePerGas:o})}function yh(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(s&&!ee(s))throw new ne({address:s});if(typeof t<"u"&&t<=0)throw new an({chainId:t});if(r||n)throw new x("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(o&&o>jn)throw new Lt({maxFeePerGas:o})}It();function Wc(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new Ic({transaction:e})}nr();It();At();function Xi(e){if(!e||e.length===0)return[];let t=[];for(let r=0;r<e.length;r++){let{address:o,storageKeys:n}=e[r];for(let s=0;s<n.length;s++)if(n[s].length-2!==64)throw new Ac({storageKey:n[s]});if(!ee(o,{strict:!1}))throw new ne({address:o});t.push([o,n])}return t}function Jc(e,t){let r=Wc(e);return r==="eip1559"?q5(e,t):r==="eip2930"?K5(e,t):r==="eip4844"?V5(e,t):r==="eip7702"?G5(e,t):W5(e,t)}function G5(e,t){let{authorizationList:r,chainId:o,gas:n,nonce:s,to:i,value:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:p}=e;dh(e);let f=Xi(u),d=G0(r);return Oe(["0x04",rr([E(o),s?E(s):"0x",m?E(m):"0x",c?E(c):"0x",n?E(n):"0x",i??"0x",a?E(a):"0x",p??"0x",f,d,...Yn(e,t)])])}function V5(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:p}=e;hh(e);let f=e.blobVersionedHashes,d=e.sidecars;if(e.blobs&&(typeof f>"u"||typeof d>"u")){let C=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(P=>X(P)),k=e.kzg,I=Xn({blobs:C,kzg:k});if(typeof f>"u"&&(f=zc({commitments:I})),typeof d>"u"){let P=Qn({blobs:C,commitments:I,kzg:k});d=Hc({blobs:C,commitments:I,proofs:P})}}let h=Xi(u),g=[E(r),n?E(n):"0x",m?E(m):"0x",c?E(c):"0x",o?E(o):"0x",s??"0x",i?E(i):"0x",p??"0x",h,a?E(a):"0x",f??[],...Yn(e,t)],b=[],y=[],v=[];if(d)for(let C=0;C<d.length;C++){let{blob:k,commitment:I,proof:P}=d[C];b.push(k),y.push(I),v.push(P)}return Oe(["0x03",d?rr([g,b,y,v]):rr(g)])}function q5(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:m,data:u}=e;Kc(e);let p=Xi(m),f=[E(r),n?E(n):"0x",c?E(c):"0x",a?E(a):"0x",o?E(o):"0x",s??"0x",i?E(i):"0x",u??"0x",p,...Yn(e,t)];return Oe(["0x02",rr(f)])}function K5(e,t){let{chainId:r,gas:o,data:n,nonce:s,to:i,value:a,accessList:c,gasPrice:m}=e;gh(e);let u=Xi(c),p=[E(r),s?E(s):"0x",m?E(m):"0x",o?E(o):"0x",i??"0x",a?E(a):"0x",n??"0x",u,...Yn(e,t)];return Oe(["0x01",rr(p)])}function W5(e,t){let{chainId:r=0,gas:o,data:n,nonce:s,to:i,value:a,gasPrice:c}=e;yh(e);let m=[s?E(s):"0x",c?E(c):"0x",o?E(o):"0x",i??"0x",a?E(a):"0x",n??"0x"];if(t){let u=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+t.v-27n);let d=27n+(t.v===27n?0n:1n);if(t.v!==d)throw new _c({v:t.v});return d})(),p=Le(t.r),f=Le(t.s);m=[...m,E(u),p==="0x00"?"0x":p,f==="0x00"?"0x":f]}else r>0&&(m=[...m,E(r),"0x","0x"]);return rr(m)}function Yn(e,t){let r=t??e,{v:o,yParity:n}=r;if(typeof r.r>"u")return[];if(typeof r.s>"u")return[];if(typeof o>"u"&&typeof n>"u")return[];let s=Le(r.r),i=Le(r.s);return[typeof n=="number"?n?E(1):"0x":o===0n?"0x":o===1n?E(1):o===27n?"0x":E(1),s==="0x00"?"0x":s,i==="0x00"?"0x":i]}var bh={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}};Be();var xh={block:L0({format(e){return{transactions:e.transactions?.map(r=>{if(typeof r=="string")return r;let o=rn(r);return o.typeHex==="0x7e"&&(o.isSystemTx=r.isSystemTx,o.mint=r.mint?ae(r.mint):void 0,o.sourceHash=r.sourceHash,o.type="deposit"),o}),stateRoot:e.stateRoot}}}),transaction:z0({format(e){let t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?ae(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:U0({format(e){return{l1GasPrice:e.l1GasPrice?ae(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?ae(e.l1GasUsed):null,l1Fee:e.l1Fee?ae(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};nr();At();at();F();function J5(e,t){return Y5(e)?Z5(e):Jc(e,t)}var vh={transaction:J5};function Z5(e){X5(e);let{sourceHash:t,data:r,from:o,gas:n,isSystemTx:s,mint:i,to:a,value:c}=e,m=[t,o,a??"0x",i?ie(i):"0x",c?ie(c):"0x",n?ie(n):"0x",s?"0x1":"0x",r??"0x"];return Oe(["0x7e",rr(m)])}function Y5(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function X5(e){let{from:t,to:r}=e;if(t&&!ee(t))throw new ne({address:t});if(r&&!ee(r))throw new ne({address:r})}var Pf={blockTime:2e3,contracts:bh,formatters:xh,serializers:vh};var Zc=en({id:31337,name:"Anvil",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["http://127.0.0.1:8545"],webSocket:["ws://127.0.0.1:8545"]}}});var Qi=1,ea=en({...Pf,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...Pf.contracts,disputeGameFactory:{[Qi]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Qi]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Qi]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Qi]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:Qi}),Q5=en({...ea,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://mainnet-preconf.base.org"]}}});Zi();function ls({chain:e,currentChainId:t}){if(!e)throw new Gc;if(t!==e.id)throw new jc({chain:e,currentChainId:t})}H();var He=class extends x{constructor({docsPath:t}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
51
+ `),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}},Vt=class extends x{constructor({docsPath:t,metaMessages:r,type:o}){super(`Account type "${o}" is not supported.`,{docsPath:t,metaMessages:r,name:"AccountTypeNotSupportedError"})}};var Vm=en({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}});import{z as ke}from"zod";import{z as Bt}from"zod";import{z as T}from"zod";import{z as ki}from"zod";import{z as Yt}from"zod";import{z as q}from"zod";import{z as J}from"zod";import{z as ut}from"zod";import ik from"crypto";import{z as Rr}from"zod";import{z as ur}from"zod";import{z as Je}from"zod";import{z as Ct}from"zod";import{z as Et}from"zod";import{z as Dk}from"zod";import{z as o1}from"zod";import{z as Br}from"zod";import{z as Ii}from"zod";import{z as In}from"zod";import{z as iS}from"zod";import{z as mS}from"zod";import{z as oe}from"zod";import{z as Tr}from"zod";import{z as ES}from"zod";import{z as Ee}from"zod";import{z as L}from"zod";import{z as _i}from"zod";import{z as n1}from"zod";import{z as it}from"zod";import{z as v1}from"zod";import{z as Pr}from"zod";import{z as $e}from"zod";function A(e,t,r){let o=e[t.name];if(typeof o=="function")return o;let n=e[r];return typeof n=="function"?n:s=>t(e,s)}we();H();var qm=class extends x{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}};Ue();Ht();ua();Jr();Kr();So();var xg="/docs/contract/encodeEventTopics";function Cr(e){let{abi:t,eventName:r,args:o}=e,n=t[0];if(r){let c=bt({abi:t,name:r});if(!c)throw new na(r,{docsPath:xg});n=c}if(n.type!=="event")throw new na(void 0,{docsPath:xg});let s=De(n),i=ko(s),a=[];if(o&&"inputs"in n){let c=n.inputs?.filter(u=>"indexed"in u&&u.indexed),m=Array.isArray(o)?o:Object.values(o).length>0?c?.map(u=>o[u.name])??[]:[];m.length>0&&(a=c?.map((u,p)=>Array.isArray(m[p])?m[p].map((f,d)=>vg({param:u,value:m[p][d]})):typeof m[p]<"u"&&m[p]!==null?vg({param:u,value:m[p]}):null)??[])}return[i,...a]}function vg({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return se(zt(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new qm(e.type);return ct([e],[t])}F();function Ro(e,{method:t}){let r={};return e.transport.type==="fallback"&&e.transport.onResponse?.(({method:o,response:n,status:s,transport:i})=>{s==="success"&&t===o&&(r[n]=i.request)}),(o=>r[o]||e.request)}async function Km(e,t){let{address:r,abi:o,args:n,eventName:s,fromBlock:i,strict:a,toBlock:c}=t,m=Ro(e,{method:"eth_newFilter"}),u=s?Cr({abi:o,args:n,eventName:s}):void 0,p=await e.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof i=="bigint"?E(i):i,toBlock:typeof c=="bigint"?E(c):c,topics:u}]});return{abi:o,args:n,eventName:s,id:p,request:m(p),strict:!!a,type:"event"}}ve();Tt();we();H();_o();fn();Vs();var $2=3;function $t(e,{abi:t,address:r,args:o,docsPath:n,functionName:s,sender:i}){let a=e instanceof xr?e:e instanceof x?e.walk(h=>"data"in h)||e.walk():{},{code:c,data:m,details:u,message:p,shortMessage:f}=a,d=e instanceof qt?new Om({functionName:s}):[$2,Yr.code].includes(c)&&(m||u||p||f)?new pn({abi:t,data:typeof m=="object"?m.data:m,functionName:s,message:a instanceof Io?u:f??p}):e;return new _s(d,{abi:t,args:o,contractAddress:r,docsPath:n,functionName:s,sender:i})}ve();H();wo();Ht();function Wm(e){let t=se(`0x${e.substring(4)}`).substring(26);return qr(`0x${t}`)}_t();Nt();Be();F();async function Sg({hash:e,signature:t}){let r=ce(e)?e:ie(e),{secp256k1:o}=await import("@noble/curves/secp256k1");return`0x${(()=>{if(typeof t=="object"&&"r"in t&&"s"in t){let{r:m,s:u,v:p,yParity:f}=t,d=Number(f??p),h=kg(d);return new o.Signature(ae(m),ae(u)).addRecoveryBit(h)}let i=ce(t)?t:ie(t);if(Y(i)!==65)throw new Error("invalid signature length");let a=be(`0x${i.slice(130)}`),c=kg(a);return o.Signature.fromCompact(i.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function kg(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw new Error("Invalid yParityOrV value")}async function Jm({hash:e,signature:t}){return Wm(await Sg({hash:e,signature:t}))}at();Ue();F();Ht();function Zm(e){let{chainId:t,nonce:r,to:o}=e,n=e.contractAddress??e.address,s=se(Oe(["0x05",rr([t?E(t):"0x",n,r?E(r):"0x"])]));return o==="bytes"?Fe(s):s}async function Bo(e){let{authorization:t,signature:r}=e;return Jm({hash:Zm(t),signature:r??t})}F();kc();Kn();H();It();var Ym=class extends x{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:p,value:f}){let d=on({from:r?.address,to:p,value:typeof f<"u"&&`${qn(f)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Me(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Me(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Me(m)} gwei`,nonce:u});super(t.shortMessage,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Estimate Gas Arguments:",d].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}};vo();fa();function _g(e,{docsPath:t,...r}){let o=(()=>{let n=$o(e,r);return n instanceof Ut?e:n})();return new Ym(o,{docsPath:t,...r})}qs();yo();Xm();Xr();ve();Kn();H();var Qm=class extends x{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}},Fo=class extends x{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}},eu=class extends x{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Me(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};Be();H();var Ws=class extends x{constructor({blockHash:t,blockNumber:r}){let o="Block";t&&(o=`Block at hash "${t}"`),r&&(o=`Block at number "${r}"`),super(`${o} could not be found.`,{name:"BlockNotFoundError"})}};F();async function ot(e,{blockHash:t,blockNumber:r,blockTag:o=e.experimental_blockTag??"latest",includeTransactions:n}={}){let s=n??!1,i=r!==void 0?E(r):void 0,a=null;if(t?a=await e.request({method:"eth_getBlockByHash",params:[t,s]},{dedupe:!0}):a=await e.request({method:"eth_getBlockByNumber",params:[i||o,s]},{dedupe:!!i}),!a)throw new Ws({blockHash:t,blockNumber:r});return(e.chain?.formatters?.block?.format||Vi)(a,"getBlock")}async function Js(e){let t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function Ag(e,t){return qf(e,t)}async function qf(e,t){let{block:r,chain:o=e.chain,request:n}=t||{};try{let s=o?.fees?.maxPriorityFeePerGas??o?.fees?.defaultPriorityFee;if(typeof s=="function"){let a=r||await A(e,ot,"getBlock")({}),c=await s({block:a,client:e,request:n});if(c===null)throw new Error;return c}if(typeof s<"u")return s;let i=await e.request({method:"eth_maxPriorityFeePerGas"});return ae(i)}catch{let[s,i]=await Promise.all([r?Promise.resolve(r):A(e,ot,"getBlock")({}),A(e,Js,"getGasPrice")({})]);if(typeof s.baseFeePerGas!="bigint")throw new Fo;let a=i-s.baseFeePerGas;return a<0n?0n:a}}async function Pg(e,t){return tu(e,t)}async function tu(e,t){let{block:r,chain:o=e.chain,request:n,type:s="eip1559"}=t||{},i=await(async()=>typeof o?.fees?.baseFeeMultiplier=="function"?o.fees.baseFeeMultiplier({block:r,client:e,request:n}):o?.fees?.baseFeeMultiplier??1.2)();if(i<1)throw new Qm;let c=10**(i.toString().split(".")[1]?.length??0),m=f=>f*BigInt(Math.ceil(i*c))/BigInt(c),u=r||await A(e,ot,"getBlock")({});if(typeof o?.fees?.estimateFeesPerGas=="function"){let f=await o.fees.estimateFeesPerGas({block:r,client:e,multiply:m,request:n,type:s});if(f!==null)return f}if(s==="eip1559"){if(typeof u.baseFeePerGas!="bigint")throw new Fo;let f=typeof n?.maxPriorityFeePerGas=="bigint"?n.maxPriorityFeePerGas:await qf(e,{block:u,chain:o,request:n}),d=m(u.baseFeePerGas);return{maxFeePerGas:n?.maxFeePerGas??d+f,maxPriorityFeePerGas:f}}return{gasPrice:n?.gasPrice??m(await A(e,Js,"getGasPrice")({}))}}Be();F();async function Zs(e,{address:t,blockTag:r="latest",blockNumber:o}){let n=await e.request({method:"eth_getTransactionCount",params:[t,typeof o=="bigint"?E(o):r]},{dedupe:!!o});return be(n)}Xr();Be();async function xt(e){let t=await e.request({method:"eth_chainId"},{dedupe:!0});return be(t)}var la=["blobVersionedHashes","chainId","fees","gas","nonce","type"],Tg=new Map;async function Er(e,t){let{account:r=e.account,blobs:o,chain:n,gas:s,kzg:i,nonce:a,nonceManager:c,parameters:m=la,type:u}=t,p=r&&j(r),f={...t,...p?{from:p?.address}:{}},d;async function h(){return d||(d=await A(e,ot,"getBlock")({blockTag:"latest"}),d)}let g;async function b(){return g||(n?n.id:typeof t.chainId<"u"?t.chainId:(g=await A(e,xt,"getChainId")({}),g))}if(m.includes("nonce")&&typeof a>"u"&&p)if(c){let y=await b();f.nonce=await c.consume({address:p.address,chainId:y,client:e})}else f.nonce=await A(e,Zs,"getTransactionCount")({address:p.address,blockTag:"pending"});if((m.includes("blobVersionedHashes")||m.includes("sidecars"))&&o&&i){let y=Xn({blobs:o,kzg:i});if(m.includes("blobVersionedHashes")){let v=zc({commitments:y,to:"hex"});f.blobVersionedHashes=v}if(m.includes("sidecars")){let v=Qn({blobs:o,commitments:y,kzg:i}),C=Hc({blobs:o,commitments:y,proofs:v,to:"hex"});f.sidecars=C}}if(m.includes("chainId")&&(f.chainId=await b()),(m.includes("fees")||m.includes("type"))&&typeof u>"u")try{f.type=Wc(f)}catch{let y=Tg.get(e.uid);typeof y>"u"&&(y=typeof(await h())?.baseFeePerGas=="bigint",Tg.set(e.uid,y)),f.type=y?"eip1559":"legacy"}if(m.includes("fees"))if(f.type!=="legacy"&&f.type!=="eip2930"){if(typeof f.maxFeePerGas>"u"||typeof f.maxPriorityFeePerGas>"u"){let y=await h(),{maxFeePerGas:v,maxPriorityFeePerGas:C}=await tu(e,{block:y,chain:n,request:f});if(typeof t.maxPriorityFeePerGas>"u"&&t.maxFeePerGas&&t.maxFeePerGas<C)throw new eu({maxPriorityFeePerGas:C});f.maxPriorityFeePerGas=C,f.maxFeePerGas=v}}else{if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")throw new Fo;if(typeof t.gasPrice>"u"){let y=await h(),{gasPrice:v}=await tu(e,{block:y,chain:n,request:f,type:"legacy"});f.gasPrice=v}}return m.includes("gas")&&typeof s>"u"&&(f.gas=await A(e,Ys,"estimateGas")({...f,account:p,prepare:p?.type==="local"?[]:["blobVersionedHashes"]})),rt(f),delete f.parameters,f}async function Ys(e,t){let{account:r=e.account,prepare:o=!0}=t,n=r?j(r):void 0,s=(()=>{if(Array.isArray(o))return o;if(n?.type!=="local")return["blobVersionedHashes"]})();try{let{accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,blockNumber:u,blockTag:p,data:f,gas:d,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:v,value:C,stateOverride:k,...I}=o?await Er(e,{...t,parameters:s}):t,S=(typeof u=="bigint"?E(u):void 0)||p,$=Ks(k),M=await(async()=>{if(I.to)return I.to;if(a&&a.length>0)return await Bo({authorization:a[0]}).catch(()=>{throw new x("`to` is required. Could not infer from `authorizationList`")})})();rt(t);let D=e.chain?.formatters?.transactionRequest?.format,G=(D||gt)({...wr(I,{format:D}),account:n,accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,data:f,gas:d,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:v,to:M,value:C},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:$?[G,S??e.experimental_blockTag??"latest",$]:S?[G,S]:[G]}))}catch(i){throw _g(i,{...t,account:n,chain:e.chain})}}async function $g(e,t){let{abi:r,address:o,args:n,functionName:s,dataSuffix:i,...a}=t,c=fe({abi:r,args:n,functionName:s});try{return await A(e,Ys,"estimateGas")({data:`${c}${i?i.replace("0x",""):""}`,to:o,...a})}catch(m){let u=a.account?j(a.account):void 0;throw $t(m,{abi:r,address:o,args:n,docsPath:"/docs/contract/estimateContractGas",functionName:s,sender:u?.address})}}So();we();hn();Ue();Ht();ua();we();vf();Nt();ua();ma();Kr();var Rg="/docs/contract/decodeEventLog";function Xs(e){let{abi:t,data:r,strict:o,topics:n}=e,s=o??!0,[i,...a]=n;if(!i)throw new sm({docsPath:Rg});let c=t.find(g=>g.type==="event"&&i===ko(De(g)));if(!(c&&"name"in c)||c.type!=="event")throw new gs(i,{docsPath:Rg});let{name:m,inputs:u}=c,p=u?.some(g=>!("name"in g&&g.name)),f=p?[]:{},d=u.map((g,b)=>[g,b]).filter(([g])=>"indexed"in g&&g.indexed);for(let g=0;g<d.length;g++){let[b,y]=d[g],v=a[g];if(!v)throw new hr({abiItem:c,param:b});f[p?y:b.name||y]=B2({param:b,value:v})}let h=u.filter(g=>!("indexed"in g&&g.indexed));if(h.length>0){if(r&&r!=="0x")try{let g=Zr(h,r);if(g)if(p)for(let b=0;b<u.length;b++)f[b]=f[b]??g.shift();else for(let b=0;b<h.length;b++)f[h[b].name]=g[b]}catch(g){if(s)throw g instanceof ds||g instanceof Gn?new ir({abiItem:c,data:r,params:h,size:Y(r)}):g}else if(s)throw new ir({abiItem:c,data:"0x",params:h,size:0})}return{eventName:m,args:Object.values(f).length>0?f:void 0}}function B2({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Zr([e],t)||[])[0]}function cr(e){let{abi:t,args:r,logs:o,strict:n=!0}=e,s=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})();return o.map(i=>{try{let a=t.find(m=>m.type==="event"&&i.topics[0]===ko(m));if(!a)return null;let c=Xs({...i,abi:[a],strict:n});return s&&!s.includes(c.eventName)||!F2({args:c.args,inputs:a.inputs,matchArgs:r})?null:{...c,...i}}catch(a){let c,m;if(a instanceof gs)return null;if(a instanceof ir||a instanceof hr){if(n)return null;c=a.abiItem.name,m=a.abiItem.inputs?.some(u=>!("name"in u&&u.name))}return{...i,args:m?[]:{},eventName:c}}}).filter(Boolean)}function F2(e){let{args:t,inputs:r,matchArgs:o}=e;if(!o)return!0;if(!t)return!1;function n(s,i,a){try{return s.type==="address"?Wt(i,a):s.type==="string"||s.type==="bytes"?se(zt(i))===a:i===a}catch{return!1}}return Array.isArray(t)&&Array.isArray(o)?o.every((s,i)=>{if(s==null)return!0;let a=r[i];return a?(Array.isArray(s)?s:[s]).some(m=>n(a,m,t[i])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof o=="object"&&!Array.isArray(o)?Object.entries(o).every(([s,i])=>{if(i==null)return!0;let a=r.find(m=>m.name===s);return a?(Array.isArray(i)?i:[i]).some(m=>n(a,m,t[s])):!1}):!1}F();async function Qs(e,{address:t,blockHash:r,fromBlock:o,toBlock:n,event:s,events:i,args:a,strict:c}={}){let m=c??!1,u=i??(s?[s]:void 0),p=[];u&&(p=[u.flatMap(g=>Cr({abi:[g],eventName:g.name,args:i?void 0:a}))],s&&(p=p[0]));let f;r?f=await e.request({method:"eth_getLogs",params:[{address:t,topics:p,blockHash:r}]}):f=await e.request({method:"eth_getLogs",params:[{address:t,topics:p,fromBlock:typeof o=="bigint"?E(o):o,toBlock:typeof n=="bigint"?E(n):n}]});let d=f.map(h=>Qe(h));return u?cr({abi:u,args:a,logs:d,strict:m}):d}async function ru(e,t){let{abi:r,address:o,args:n,blockHash:s,eventName:i,fromBlock:a,toBlock:c,strict:m}=t,u=i?bt({abi:r,name:i}):void 0,p=u?void 0:r.filter(f=>f.type==="event");return A(e,Qs,"getLogs")({address:o,args:n,blockHash:s,event:u,events:p,fromBlock:a,toBlock:c,strict:m})}Mo();Tt();ci();async function Te(e,t){let{abi:r,address:o,args:n,functionName:s,...i}=t,a=fe({abi:r,args:n,functionName:s});try{let{data:c}=await A(e,_r,"call")({...i,data:a,to:o});return vt({abi:r,args:n,functionName:s,data:c||"0x"})}catch(c){throw $t(c,{abi:r,address:o,args:n,docsPath:"/docs/contract/readContract",functionName:s})}}ve();Mo();Tt();ci();async function xy(e,t){let{abi:r,address:o,args:n,dataSuffix:s,functionName:i,...a}=t,c=a.account?j(a.account):e.account,m=fe({abi:r,args:n,functionName:i});try{let{data:u}=await A(e,_r,"call")({batch:!1,data:`${m}${s?s.replace("0x",""):""}`,to:o,...a,account:c}),p=vt({abi:r,args:n,functionName:i,data:u||"0x"}),f=r.filter(d=>"name"in d&&d.name===t.functionName);return{result:p,request:{abi:f,address:o,args:n,dataSuffix:s,functionName:i,...a,account:c}}}catch(u){throw $t(u,{abi:r,address:o,args:n,docsPath:"/docs/contract/simulateContract",functionName:i,sender:c?.address})}}we();Vs();var dl=new Map,vy=new Map,eC=0;function nt(e,t,r){let o=++eC,n=()=>dl.get(e)||[],s=()=>{let u=n();dl.set(e,u.filter(p=>p.id!==o))},i=()=>{let u=n();if(!u.some(f=>f.id===o))return;let p=vy.get(e);if(u.length===1&&p){let f=p();f instanceof Promise&&f.catch(()=>{})}s()},a=n();if(dl.set(e,[...a,{id:o,fns:t}]),a&&a.length>0)return i;let c={};for(let u in t)c[u]=((...p)=>{let f=n();if(f.length!==0)for(let d of f)d.fns[u]?.(...p)});let m=r(c);return typeof m=="function"&&vy.set(e,m),i}async function wa(e){return new Promise(t=>setTimeout(t,e))}function Zt(e,{emitOnBegin:t,initialWaitTime:r,interval:o}){let n=!0,s=()=>n=!1;return(async()=>{let a;t&&(a=await e({unpoll:s}));let c=await r?.(a)??o;await wa(c);let m=async()=>{n&&(await e({unpoll:s}),await wa(o),m())};m()})(),s}et();var tC=new Map,rC=new Map;function wy(e){let t=(n,s)=>({clear:()=>s.delete(n),get:()=>s.get(n),set:i=>s.set(n,i)}),r=t(e,tC),o=t(e,rC);return{clear:()=>{r.clear(),o.clear()},promise:r,response:o}}async function Cy(e,{cacheKey:t,cacheTime:r=Number.POSITIVE_INFINITY}){let o=wy(t),n=o.response.get();if(n&&r>0&&Date.now()-n.created.getTime()<r)return n.data;let s=o.promise.get();s||(s=e(),o.promise.set(s));try{let i=await s;return o.response.set({created:new Date,data:i}),i}finally{o.promise.clear()}}var oC=e=>`blockNumber.${e}`;async function Ir(e,{cacheTime:t=e.cacheTime}={}){let r=await Cy(()=>e.request({method:"eth_blockNumber"}),{cacheKey:oC(e.uid),cacheTime:t});return BigInt(r)}async function Lo(e,{filter:t}){let r="strict"in t&&t.strict,o=await t.request({method:"eth_getFilterChanges",params:[t.id]});if(typeof o[0]=="string")return o;let n=o.map(s=>Qe(s));return!("abi"in t)||!t.abi?n:cr({abi:t.abi,logs:n,strict:r})}async function Uo(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function Ey(e,t){let{abi:r,address:o,args:n,batch:s=!0,eventName:i,fromBlock:a,onError:c,onLogs:m,poll:u,pollingInterval:p=e.pollingInterval,strict:f}=t;return(typeof u<"u"?u:typeof a=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))?(()=>{let b=f??!1,y=W(["watchContractEvent",o,n,s,e.uid,i,p,b,a]);return nt(y,{onLogs:m,onError:c},v=>{let C;a!==void 0&&(C=a-1n);let k,I=!1,P=Zt(async()=>{if(!I){try{k=await A(e,Km,"createContractEventFilter")({abi:r,address:o,args:n,eventName:i,strict:b,fromBlock:a})}catch{}I=!0;return}try{let S;if(k)S=await A(e,Lo,"getFilterChanges")({filter:k});else{let $=await A(e,Ir,"getBlockNumber")({});C&&C<$?S=await A(e,ru,"getContractEvents")({abi:r,address:o,args:n,eventName:i,fromBlock:C+1n,toBlock:$,strict:b}):S=[],C=$}if(S.length===0)return;if(s)v.onLogs(S);else for(let $ of S)v.onLogs([$])}catch(S){k&&S instanceof vr&&(I=!1),v.onError?.(S)}},{emitOnBegin:!0,interval:p});return async()=>{k&&await A(e,Uo,"uninstallFilter")({filter:k}),P()}})})():(()=>{let b=f??!1,y=W(["watchContractEvent",o,n,s,e.uid,i,p,b]),v=!0,C=()=>v=!1;return nt(y,{onLogs:m,onError:c},k=>((async()=>{try{let I=(()=>{if(e.transport.type==="fallback"){let $=e.transport.transports.find(M=>M.config.type==="webSocket"||M.config.type==="ipc");return $?$.value:e.transport}return e.transport})(),P=i?Cr({abi:r,eventName:i,args:n}):[],{unsubscribe:S}=await I.subscribe({params:["logs",{address:o,topics:P}],onData($){if(!v)return;let M=$.result;try{let{eventName:D,args:O}=Xs({abi:r,data:M.data,topics:M.topics,strict:f}),G=Qe(M,{args:O,eventName:D});k.onLogs([G])}catch(D){let O,G;if(D instanceof ir||D instanceof hr){if(f)return;O=D.abiItem.name,G=D.abiItem.inputs?.some(me=>!("name"in me&&me.name))}let V=Qe(M,{args:G?[]:{},eventName:O});k.onLogs([V])}},onError($){k.onError?.($)}});C=S,v||C()}catch(I){c?.(I)}})(),()=>C()))})()}ve();Tt();ve();H();vo();It();fa();function mi(e,{docsPath:t,...r}){let o=(()=>{let n=$o(e,r);return n instanceof Ut?e:n})();return new Pc(o,{docsPath:t,...r})}qs();yo();ps();Xr();async function ui(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}var hl=new Ot(128);async function Oo(e,t){let{account:r=e.account,chain:o=e.chain,accessList:n,authorizationList:s,blobs:i,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,type:h,value:g,...b}=t;if(typeof r>"u")throw new He({docsPath:"/docs/actions/wallet/sendTransaction"});let y=r?j(r):null;try{rt(t);let v=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await Bo({authorization:s[0]}).catch(()=>{throw new x("`to` is required. Could not infer from `authorizationList`.")})})();if(y?.type==="json-rpc"||y===null){let C;o!==null&&(C=await A(e,xt,"getChainId")({}),ls({currentChainId:C,chain:o}));let k=e.chain?.formatters?.transactionRequest?.format,P=(k||gt)({...wr(b,{format:k}),accessList:n,account:y,authorizationList:s,blobs:i,chainId:C,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,to:v,type:h,value:g},"sendTransaction"),S=hl.get(e.uid),$=S?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:$,params:[P]},{retryCount:0})}catch(M){if(S===!1)throw M;let D=M;if(D.name==="InvalidInputRpcError"||D.name==="InvalidParamsRpcError"||D.name==="MethodNotFoundRpcError"||D.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[P]},{retryCount:0}).then(O=>(hl.set(e.uid,!0),O)).catch(O=>{let G=O;throw G.name==="MethodNotFoundRpcError"||G.name==="MethodNotSupportedRpcError"?(hl.set(e.uid,!1),D):G});throw D}}if(y?.type==="local"){let C=await A(e,Er,"prepareTransactionRequest")({account:y,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,nonceManager:y.nonceManager,parameters:[...la,"sidecars"],type:h,value:g,...b,to:v}),k=o?.serializers?.transaction,I=await y.signTransaction(C,{serializer:k});return await A(e,ui,"sendRawTransaction")({serializedTransaction:I})}throw y?.type==="smart"?new Vt({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Vt({docsPath:"/docs/actions/wallet/sendTransaction",type:y?.type})}catch(v){throw v instanceof Vt?v:mi(v,{...t,account:y,chain:t.chain||void 0})}}async function xn(e,t){return xn.internal(e,Oo,"sendTransaction",t)}(function(e){async function t(r,o,n,s){let{abi:i,account:a=r.account,address:c,args:m,dataSuffix:u,functionName:p,...f}=s;if(typeof a>"u")throw new He({docsPath:"/docs/contract/writeContract"});let d=a?j(a):null,h=fe({abi:i,args:m,functionName:p});try{return await A(r,o,n)({data:`${h}${u?u.replace("0x",""):""}`,to:c,account:d,...f})}catch(g){throw $t(g,{abi:i,address:c,args:m,docsPath:"/docs/contract/writeContract",functionName:p,sender:d?.address})}}e.internal=t})(xn||(xn={}));H();H();var Cu=class extends x{constructor(t){super(`Call bundle failed with status: ${t.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=t}};yu();function vn(e,{delay:t=100,retryCount:r=2,shouldRetry:o=()=>!0}={}){return new Promise((n,s)=>{let i=async({count:a=0}={})=>{let c=async({error:m})=>{let u=typeof t=="function"?t({count:a,error:m}):t;u&&await wa(u),i({count:a+1})};try{let m=await e();n(m)}catch(m){if(a<r&&await o({count:a,error:m}))return c({error:m});s(m)}};i()})}et();Co();tn();Be();ve();H();Vs();Tt();at();Be();F();var gl="0x5792579257925792579257925792579257925792579257925792579257925792",yl=E(0,{size:32});async function Eu(e,t){let{account:r=e.account,capabilities:o,chain:n=e.chain,experimental_fallback:s,experimental_fallbackDelay:i=32,forceAtomic:a=!1,id:c,version:m="2.0.0"}=t,u=r?j(r):null,p=t.calls.map(f=>{let d=f,h=d.abi?fe({abi:d.abi,functionName:d.functionName,args:d.args}):d.data;return{data:d.dataSuffix&&h?Pe([h,d.dataSuffix]):h,to:d.to,value:d.value?E(d.value):void 0}});try{let f=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:a,calls:p,capabilities:o,chainId:E(n.id),from:u?.address,id:c,version:m}]},{retryCount:0});return typeof f=="string"?{id:f}:f}catch(f){let d=f;if(s&&(d.name==="MethodNotFoundRpcError"||d.name==="MethodNotSupportedRpcError"||d.name==="UnknownRpcError"||d.details.toLowerCase().includes("does not exist / is not available")||d.details.toLowerCase().includes("missing or invalid. request()")||d.details.toLowerCase().includes("did not match any variant of untagged enum")||d.details.toLowerCase().includes("account upgraded to unsupported contract")||d.details.toLowerCase().includes("eip-7702 not supported")||d.details.toLowerCase().includes("unsupported wc_ method")||d.details.toLowerCase().includes("feature toggled misconfigured")||d.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(o&&Object.values(o).some(v=>!v.optional)){let v="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new Po(new x(v,{details:v}))}if(a&&p.length>1){let y="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new To(new x(y,{details:y}))}let h=[];for(let y of p){let v=Oo(e,{account:u,chain:n,data:y.data,to:y.to,value:y.value?ae(y.value):void 0});h.push(v),i>0&&await new Promise(C=>setTimeout(C,i))}let g=await Promise.allSettled(h);if(g.every(y=>y.status==="rejected"))throw g[0].reason;let b=g.map(y=>y.status==="fulfilled"?y.value:yl);return{id:Pe([...b,E(n.id,{size:32}),gl])}}throw mi(f,{...t,account:u,chain:t.chain})}}async function ku(e,t){async function r(u){if(u.endsWith(gl.slice(2))){let f=Le(qc(u,-64,-32)),d=qc(u,0,-64).slice(2).match(/.{1,64}/g),h=await Promise.all(d.map(b=>yl.slice(2)!==b?e.request({method:"eth_getTransactionReceipt",params:[`0x${b}`]},{dedupe:!0}):void 0)),g=h.some(b=>b===null)?100:h.every(b=>b?.status==="0x1")?200:h.every(b=>b?.status==="0x0")?500:600;return{atomic:!1,chainId:be(f),receipts:h.filter(Boolean),status:g,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[u]})}let{atomic:o=!1,chainId:n,receipts:s,version:i="2.0.0",...a}=await r(t.id),[c,m]=(()=>{let u=a.status;return u>=100&&u<200?["pending",u]:u>=200&&u<300?["success",u]:u>=300&&u<700?["failure",u]:u==="CONFIRMED"?["success",200]:u==="PENDING"?["pending",100]:[void 0,u]})();return{...a,atomic:o,chainId:n?be(n):void 0,receipts:s?.map(u=>({...u,blockNumber:ae(u.blockNumber),gasUsed:ae(u.gasUsed),status:bf[u.status]}))??[],statusCode:m,status:c,version:i}}async function Su(e,t){let{id:r,pollingInterval:o=e.pollingInterval,status:n=({statusCode:g})=>g===200||g>=300,retryCount:s=4,retryDelay:i=({count:g})=>~~(1<<g)*200,timeout:a=6e4,throwOnFailure:c=!1}=t,m=W(["waitForCallsStatus",e.uid,r]),{promise:u,resolve:p,reject:f}=ai(),d,h=nt(m,{resolve:p,reject:f},g=>{let b=Zt(async()=>{let y=v=>{clearTimeout(d),b(),v(),h()};try{let v=await vn(async()=>{let C=await A(e,ku,"getCallsStatus")({id:r});if(c&&C.status==="failure")throw new Cu(C);return C},{retryCount:s,delay:i});if(!n(v))return;y(()=>g.resolve(v))}catch(v){y(()=>g.reject(v))}},{interval:o,emitOnBegin:!0});return b});return d=a?setTimeout(()=>{h(),clearTimeout(d),f(new bl({id:r}))},a):void 0,await u}var bl=class extends x{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}};ve();var _u=256,Iu;function Au(e=11){if(!Iu||_u+e>256*2){Iu="",_u=0;for(let t=0;t<256;t++)Iu+=(256+Math.random()*256|0).toString(16).substring(1)}return Iu.substring(_u,_u+++e)}function Pu(e){let{batch:t,chain:r,ccipRead:o,key:n="base",name:s="Base Client",type:i="base"}=e,a=e.experimental_blockTag??(typeof r?.experimental_preconfirmationTime=="number"?"pending":void 0),c=r?.blockTime??12e3,m=Math.min(Math.max(Math.floor(c/2),500),4e3),u=e.pollingInterval??m,p=e.cacheTime??u,f=e.account?j(e.account):void 0,{config:d,request:h,value:g}=e.transport({chain:r,pollingInterval:u}),b={...d,...g},y={account:f,batch:t,cacheTime:p,ccipRead:o,chain:r,key:n,name:s,pollingInterval:u,request:h,transport:b,type:i,uid:Au(),...a?{experimental_blockTag:a}:{}};function v(C){return k=>{let I=k(C);for(let S in y)delete I[S];let P={...C,...I};return Object.assign(P,{extend:v(P)})}}return Object.assign(y,{extend:v(y)})}zo();Mo();Tt();cn();tn();F();H();_o();function pi(e){if(!(e instanceof x))return!1;let t=e.walk(r=>r instanceof pn);return t instanceof pn?t.data?.errorName==="HttpError"||t.data?.errorName==="ResolverError"||t.data?.errorName==="ResolverNotContract"||t.data?.errorName==="ResolverNotFound"||t.data?.errorName==="ReverseAddressMismatch"||t.data?.errorName==="UnsupportedResolverProfile":!1}va();at();Ue();F();Ht();_t();function Tu(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;let t=`0x${e.slice(1,65)}`;return ce(t)?t:null}function Ca(e){let t=new Uint8Array(32).fill(0);if(!e)return X(t);let r=e.split(".");for(let o=r.length-1;o>=0;o-=1){let n=Tu(r[o]),s=n?zt(n):se(tr(r[o]),"bytes");t=se(Pe([t,s]),"bytes")}return X(t)}Ue();function ky(e){return`[${e.slice(2)}]`}Ue();F();Ht();function Sy(e){let t=new Uint8Array(32).fill(0);return e?Tu(e)||se(tr(e)):X(t)}function fi(e){let t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);let r=new Uint8Array(tr(t).byteLength+2),o=0,n=t.split(".");for(let s=0;s<n.length;s++){let i=tr(n[s]);i.byteLength>255&&(i=tr(ky(Sy(n[s])))),r[o]=i.length,r.set(i,o+1),o+=i.length+1}return r.byteLength!==o+1?r.slice(0,o+1):r}async function _y(e,t){let{blockNumber:r,blockTag:o,coinType:n,name:s,gatewayUrls:i,strict:a}=t,{chain:c}=e,m=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Gt({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c?.ensTlds;if(u&&!u.some(f=>s.endsWith(f)))return null;let p=n!=null?[Ca(s),BigInt(n)]:[Ca(s)];try{let f=fe({abi:nl,functionName:"addr",args:p}),d={address:m,abi:du,functionName:"resolveWithGateways",args:[ie(fi(s)),f,i??[to]],blockNumber:r,blockTag:o},g=await A(e,Te,"readContract")(d);if(g[0]==="0x")return null;let b=vt({abi:nl,args:p,functionName:"addr",data:g[0]});return b==="0x"||Le(b)==="0x00"?null:b}catch(f){if(a)throw f;if(pi(f))return null;throw f}}H();var $u=class extends x{constructor({data:t}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(t)}`],name:"EnsAvatarInvalidMetadataError"})}},Ho=class extends x{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}},li=class extends x{constructor({uri:t}){super(`Unable to resolve ENS avatar URI "${t}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}},Ru=class extends x{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}};var nC=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,sC=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,iC=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,aC=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function cC(e){try{let t=await fetch(e,{method:"HEAD"});return t.status===200?t.headers.get("content-type")?.startsWith("image/"):!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(r=>{let o=new Image;o.onload=()=>{r(!0)},o.onerror=()=>{r(!1)},o.src=e})}}function Iy(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function xl({uri:e,gatewayUrls:t}){let r=iC.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};let o=Iy(t?.ipfs,"https://ipfs.io"),n=Iy(t?.arweave,"https://arweave.net"),s=e.match(nC),{protocol:i,subpath:a,target:c,subtarget:m=""}=s?.groups||{},u=i==="ipns:/"||a==="ipns/",p=i==="ipfs:/"||a==="ipfs/"||sC.test(e);if(e.startsWith("http")&&!u&&!p){let d=e;return t?.arweave&&(d=e.replace(/https:\/\/arweave.net/g,t?.arweave)),{uri:d,isOnChain:!1,isEncoded:!1}}if((u||p)&&c)return{uri:`${o}/${u?"ipns":"ipfs"}/${c}${m}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&c)return{uri:`${n}/${c}${m||""}`,isOnChain:!1,isEncoded:!1};let f=e.replace(aC,"");if(f.startsWith("<svg")&&(f=`data:image/svg+xml;base64,${btoa(f)}`),f.startsWith("data:")||f.startsWith("{"))return{uri:f,isOnChain:!0,isEncoded:!1};throw new li({uri:e})}function vl(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new $u({data:e});return e.image||e.image_url||e.image_data}async function Ay({gatewayUrls:e,uri:t}){try{let r=await fetch(t).then(n=>n.json());return await Bu({gatewayUrls:e,uri:vl(r)})}catch{throw new li({uri:t})}}async function Bu({gatewayUrls:e,uri:t}){let{uri:r,isOnChain:o}=xl({uri:t,gatewayUrls:e});if(o||await cC(r))return r;throw new li({uri:t})}function Py(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));let[r,o,n]=t.split("/"),[s,i]=r.split(":"),[a,c]=o.split(":");if(!s||s.toLowerCase()!=="eip155")throw new Ho({reason:"Only EIP-155 supported"});if(!i)throw new Ho({reason:"Chain ID not found"});if(!c)throw new Ho({reason:"Contract address not found"});if(!n)throw new Ho({reason:"Token ID not found"});if(!a)throw new Ho({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i,10),namespace:a.toLowerCase(),contractAddress:c,tokenID:n}}async function Ty(e,{nft:t}){if(t.namespace==="erc721")return Te(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if(t.namespace==="erc1155")return Te(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new Ru({namespace:t.namespace})}async function $y(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?mC(e,{gatewayUrls:t,record:r}):Bu({uri:r,gatewayUrls:t})}async function mC(e,{gatewayUrls:t,record:r}){let o=Py(r),n=await Ty(e,{nft:o}),{uri:s,isOnChain:i,isEncoded:a}=xl({uri:n,gatewayUrls:t});if(i&&(s.includes("data:application/json;base64,")||s.startsWith("{"))){let m=a?atob(s.replace("data:application/json;base64,","")):s,u=JSON.parse(m);return Bu({uri:vl(u),gatewayUrls:t})}let c=o.tokenID;return o.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),Ay({gatewayUrls:t,uri:s.replace(/(?:0x)?{id}/,c)})}zo();Mo();Tt();cn();F();va();async function Fu(e,t){let{blockNumber:r,blockTag:o,key:n,name:s,gatewayUrls:i,strict:a}=t,{chain:c}=e,m=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Gt({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c?.ensTlds;if(u&&!u.some(p=>s.endsWith(p)))return null;try{let p={address:m,abi:du,args:[ie(fi(s)),fe({abi:ol,functionName:"text",args:[Ca(s),n]}),i??[to]],functionName:"resolveWithGateways",blockNumber:r,blockTag:o},d=await A(e,Te,"readContract")(p);if(d[0]==="0x")return null;let h=vt({abi:ol,functionName:"text",data:d[0]});return h===""?null:h}catch(p){if(a)throw p;if(pi(p))return null;throw p}}async function Ry(e,{blockNumber:t,blockTag:r,assetGatewayUrls:o,name:n,gatewayUrls:s,strict:i,universalResolverAddress:a}){let c=await A(e,Fu,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:n,universalResolverAddress:a,gatewayUrls:s,strict:i});if(!c)return null;try{return await $y(e,{record:c,gatewayUrls:o})}catch{return null}}zo();cn();va();async function By(e,t){let{address:r,blockNumber:o,blockTag:n,coinType:s=60n,gatewayUrls:i,strict:a}=t,{chain:c}=e,m=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Gt({blockNumber:o,chain:c,contract:"ensUniversalResolver"})})();try{let u={address:m,abi:oy,args:[r,s,i??[to]],functionName:"reverseWithGateways",blockNumber:o,blockTag:n},p=A(e,Te,"readContract"),[f]=await p(u);return f||null}catch(u){if(a)throw u;if(pi(u))return null;throw u}}cn();F();async function Fy(e,t){let{blockNumber:r,blockTag:o,name:n}=t,{chain:s}=e,i=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!s)throw new Error("client chain not configured. universalResolverAddress is required.");return Gt({blockNumber:r,chain:s,contract:"ensUniversalResolver"})})(),a=s?.ensTlds;if(a&&!a.some(m=>n.endsWith(m)))throw new Error(`${n} is not a valid ENS TLD (${a?.join(", ")}) for chain "${s.name}" (id: ${s.id}).`);let[c]=await A(e,Te,"readContract")({address:i,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[ie(fi(n))],blockNumber:r,blockTag:o});return c}ci();ve();F();Vf();qs();yo();Xr();async function Mu(e,t){let{account:r=e.account,blockNumber:o,blockTag:n="latest",blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:m,maxFeePerGas:u,maxPriorityFeePerGas:p,to:f,value:d,...h}=t,g=r?j(r):void 0;try{rt(t);let y=(typeof o=="bigint"?E(o):void 0)||n,v=e.chain?.formatters?.transactionRequest?.format,k=(v||gt)({...wr(h,{format:v}),account:g,blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:m,maxFeePerGas:u,maxPriorityFeePerGas:p,to:f,value:d},"createAccessList"),I=await e.request({method:"eth_createAccessList",params:[k,y]});return{accessList:I.accessList,gasUsed:BigInt(I.gasUsed)}}catch(b){throw Gm(b,{...t,account:g,chain:e.chain})}}async function My(e){let t=Ro(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}F();async function Du(e,{address:t,args:r,event:o,events:n,fromBlock:s,strict:i,toBlock:a}={}){let c=n??(o?[o]:void 0),m=Ro(e,{method:"eth_newFilter"}),u=[];c&&(u=[c.flatMap(d=>Cr({abi:[d],eventName:d.name,args:r}))],o&&(u=u[0]));let p=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof s=="bigint"?E(s):s,toBlock:typeof a=="bigint"?E(a):a,...u.length?{topics:u}:{}}]});return{abi:c,args:r,eventName:o?o.name:void 0,fromBlock:s,id:p,request:m(p),strict:!!i,toBlock:a,type:"event"}}async function Nu(e){let t=Ro(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}F();async function Dy(e,{address:t,blockNumber:r,blockTag:o=e.experimental_blockTag??"latest"}){let n=typeof r=="bigint"?E(r):void 0,s=await e.request({method:"eth_getBalance",params:[t,n||o]});return BigInt(s)}async function Ny(e){let t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}Be();F();async function zy(e,{blockHash:t,blockNumber:r,blockTag:o="latest"}={}){let n=r!==void 0?E(r):void 0,s;return t?s=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):s=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[n||o]},{dedupe:!!n}),be(s)}F();async function Ea(e,{address:t,blockNumber:r,blockTag:o="latest"}){let n=r!==void 0?E(r):void 0,s=await e.request({method:"eth_getCode",params:[t,n||o]},{dedupe:!!n});if(s!=="0x")return s}H();var zu=class extends x{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}};async function Ly(e,t){let{address:r,factory:o,factoryData:n}=t;try{let[s,i,a,c,m,u,p]=await A(e,Te,"readContract")({abi:uC,address:r,functionName:"eip712Domain",factory:o,factoryData:n});return{domain:{name:i,version:a,chainId:Number(c),verifyingContract:m,salt:u},extensions:p,fields:s}}catch(s){let i=s;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new zu({address:r}):i}}var uC=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];F();function Uy(e){return{baseFeePerGas:e.baseFeePerGas.map(t=>BigInt(t)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:e.reward?.map(t=>t.map(r=>BigInt(r)))}}async function Oy(e,{blockCount:t,blockNumber:r,blockTag:o="latest",rewardPercentiles:n}){let s=typeof r=="bigint"?E(r):void 0,i=await e.request({method:"eth_feeHistory",params:[E(t),s||o,n]},{dedupe:!!s});return Uy(i)}async function Hy(e,{filter:t}){let r=t.strict??!1,n=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(s=>Qe(s));return t.abi?cr({abi:t.abi,logs:n,strict:r}):n}F();wo();hn();async function jy({address:e,authorization:t,signature:r}){return Wt(fs(e),await Bo({authorization:t,signature:r}))}H();fn();Vs();F();ps();var Lu=new Ot(8192);function Gy(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(Lu.get(r))return Lu.get(r);let o=e().finally(()=>Lu.delete(r));return Lu.set(r,o),o}et();function Vy(e,t={}){return async(r,o={})=>{let{dedupe:n=!1,methods:s,retryDelay:i=150,retryCount:a=3,uid:c}={...t,...o},{method:m}=r;if(s?.exclude?.includes(m))throw new Ao(new Error("method not supported"),{method:m});if(s?.include&&!s.include.includes(m))throw new Ao(new Error("method not supported"),{method:m});let u=n?er(`${c}.${W(r)}`):void 0;return Gy(()=>vn(async()=>{try{return await e(r)}catch(p){let f=p;switch(f.code){case Is.code:throw new Is(f);case As.code:throw new As(f);case Ps.code:throw new Ps(f,{method:r.method});case Ts.code:throw new Ts(f);case Yr.code:throw new Yr(f);case vr.code:throw new vr(f);case $s.code:throw new $s(f);case Rs.code:throw new Rs(f);case Bs.code:throw new Bs(f);case Ao.code:throw new Ao(f,{method:r.method});case ln.code:throw new ln(f);case Fs.code:throw new Fs(f);case dn.code:throw new dn(f);case Ms.code:throw new Ms(f);case Ds.code:throw new Ds(f);case Ns.code:throw new Ns(f);case zs.code:throw new zs(f);case Ls.code:throw new Ls(f);case Po.code:throw new Po(f);case Us.code:throw new Us(f);case Os.code:throw new Os(f);case Hs.code:throw new Hs(f);case js.code:throw new js(f);case Gs.code:throw new Gs(f);case To.code:throw new To(f);case 5e3:throw new dn(f);default:throw p instanceof x?p:new jm(f)}}},{delay:({count:p,error:f})=>{if(f&&f instanceof Kt){let d=f?.headers?.get("Retry-After");if(d?.match(/\d/))return Number.parseInt(d,10)*1e3}return~~(1<<p)*i},retryCount:a,shouldRetry:({error:p})=>pC(p)}),{enabled:n,id:u})}}function pC(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===ln.code||e.code===Yr.code:e instanceof Kt&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}Be();F();fn();function qy(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:o}){return new Promise((n,s)=>{(async()=>{let i;try{let a=new AbortController;r>0&&(i=setTimeout(()=>{o?a.abort():s(t)},r)),n(await e({signal:a?.signal||null}))}catch(a){a?.name==="AbortError"&&s(t),s(a)}finally{clearTimeout(i)}})()})}et();function fC(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var wl=fC();function Ky(e,t={}){return{async request(r){let{body:o,fetchFn:n=t.fetchFn??fetch,onRequest:s=t.onRequest,onResponse:i=t.onResponse,timeout:a=t.timeout??1e4}=r,c={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:m,method:u,signal:p}=c;try{let f=await qy(async({signal:h})=>{let g={...c,body:Array.isArray(o)?W(o.map(C=>({jsonrpc:"2.0",id:C.id??wl.take(),...C}))):W({jsonrpc:"2.0",id:o.id??wl.take(),...o}),headers:{"Content-Type":"application/json",...m},method:u||"POST",signal:p||(a>0?h:null)},b=new Request(e,g),y=await s?.(b,g)??{...g,url:e};return await n(y.url??e,y)},{errorInstance:new pa({body:o,url:e}),timeout:a,signal:!0});i&&await i(f);let d;if(f.headers.get("Content-Type")?.startsWith("application/json"))d=await f.json();else{d=await f.text();try{d=JSON.parse(d||"{}")}catch(h){if(f.ok)throw h;d={error:d}}}if(!f.ok)throw new Kt({body:o,details:W(d.error)||f.statusText,headers:f.headers,status:f.status,url:e});return d}catch(f){throw f instanceof Kt||f instanceof pa?f:new Kt({body:o,cause:f,url:e})}}}}Ht();var Wy=`Ethereum Signed Message:
52
+ `;at();Nt();F();function Jy(e){let t=typeof e=="string"?er(e):typeof e.raw=="string"?e.raw:X(e.raw),r=er(`${Wy}${Y(t)}`);return Pe([r,t])}function di(e,t){return se(Jy(e),t)}Jr();at();F();Ht();we();nr();et();H();var Uu=class extends x{constructor({domain:t}){super(`Invalid domain "${W(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}},Ou=class extends x{constructor({primaryType:t,types:r}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}},Hu=class extends x{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}};At();Nt();F();Nf();et();function Zy(e){let{domain:t,message:r,primaryType:o,types:n}=e,s=(c,m)=>{let u={...m};for(let p of c){let{name:f,type:d}=p;d==="address"&&(u[f]=u[f].toLowerCase())}return u},i=n.EIP712Domain?t?s(n.EIP712Domain,t):{}:{},a=(()=>{if(o!=="EIP712Domain")return s(n[o],r)})();return W({domain:i,message:a,primaryType:o,types:n})}function ju(e){let{domain:t,message:r,primaryType:o,types:n}=e,s=(i,a)=>{for(let c of i){let{name:m,type:u}=c,p=a[m],f=u.match(Mm);if(f&&(typeof p=="number"||typeof p=="bigint")){let[g,b,y]=f;E(p,{signed:b==="int",size:Number.parseInt(y,10)/8})}if(u==="address"&&typeof p=="string"&&!ee(p))throw new ne({address:p});let d=u.match(fg);if(d){let[g,b]=d;if(b&&Y(p)!==Number.parseInt(b,10))throw new cm({expectedSize:Number.parseInt(b,10),givenSize:Y(p)})}let h=n[u];h&&(lC(u),s(h,p))}};if(n.EIP712Domain&&t){if(typeof t!="object")throw new Uu({domain:t});s(n.EIP712Domain,t)}if(o!=="EIP712Domain")if(n[o])s(n[o],r);else throw new Ou({primaryType:o,types:n})}function Gu({domain:e}){return[typeof e?.name=="string"&&{name:"name",type:"string"},e?.version&&{name:"version",type:"string"},(typeof e?.chainId=="number"||typeof e?.chainId=="bigint")&&{name:"chainId",type:"uint256"},e?.verifyingContract&&{name:"verifyingContract",type:"address"},e?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function lC(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new Hu({type:e})}function Vu(e){let{domain:t={},message:r,primaryType:o}=e,n={EIP712Domain:Gu({domain:t}),...e.types};ju({domain:t,message:r,primaryType:o,types:n});let s=["0x1901"];return t&&s.push(dC({domain:t,types:n})),o!=="EIP712Domain"&&s.push(Yy({data:r,primaryType:o,types:n})),se(Pe(s))}function dC({domain:e,types:t}){return Yy({data:e,primaryType:"EIP712Domain",types:t})}function Yy({data:e,primaryType:t,types:r}){let o=Xy({data:e,primaryType:t,types:r});return se(o)}function Xy({data:e,primaryType:t,types:r}){let o=[{type:"bytes32"}],n=[hC({primaryType:t,types:r})];for(let s of r[t]){let[i,a]=eb({types:r,name:s.name,type:s.type,value:e[s.name]});o.push(i),n.push(a)}return ct(o,n)}function hC({primaryType:e,types:t}){let r=ie(gC({primaryType:e,types:t}));return se(r)}function gC({primaryType:e,types:t}){let r="",o=Qy({primaryType:e,types:t});o.delete(e);let n=[e,...Array.from(o).sort()];for(let s of n)r+=`${s}(${t[s].map(({name:i,type:a})=>`${a} ${i}`).join(",")})`;return r}function Qy({primaryType:e,types:t},r=new Set){let n=e.match(/^\w*/u)?.[0];if(r.has(n)||t[n]===void 0)return r;r.add(n);for(let s of t[n])Qy({primaryType:s.type,types:t},r);return r}function eb({types:e,name:t,type:r,value:o}){if(e[r]!==void 0)return[{type:"bytes32"},se(Xy({data:o,primaryType:r,types:e}))];if(r==="bytes")return o=`0x${(o.length%2?"0":"")+o.slice(2)}`,[{type:"bytes32"},se(o)];if(r==="string")return[{type:"bytes32"},se(ie(o))];if(r.lastIndexOf("]")===r.length-1){let n=r.slice(0,r.lastIndexOf("[")),s=o.map(i=>eb({name:t,type:n,types:e,value:i}));return[{type:"bytes32"},se(ct(s.map(([i])=>i),s.map(([,i])=>i)))]}return[{type:r},o]}var Ta={};sf(Ta,{InvalidWrappedSignatureError:()=>ip,assert:()=>ap,from:()=>XC,magicBytes:()=>Kl,suffixParameters:()=>Wl,unwrap:()=>wb,validate:()=>e8,wrap:()=>QC});aa();Do();var qu=class extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){let r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){let o=this.keys().next().value;o&&this.delete(o)}return this}};var yC={checksum:new qu(8192)},Ku=yC.checksum;wt();Sf();Do();je();function wn(e,t={}){let{as:r=typeof e=="string"?"Hex":"Bytes"}=t,o=Vc(qg(e));return r==="Bytes"?o:Ie(o)}Do();wt();je();ga();function tb(e,t={}){let{compressed:r}=t,{prefix:o,x:n,y:s}=e;if(r===!1||typeof n=="bigint"&&typeof s=="bigint"){if(o!==4)throw new Wu({prefix:o,cause:new Sl});return}if(r===!0||typeof n=="bigint"&&typeof s>"u"){if(o!==3&&o!==2)throw new Wu({prefix:o,cause:new kl});return}throw new El({publicKey:e})}function rb(e){let t=(()=>{if(ba(e))return ob(e);if(Xg(e))return xC(e);let{prefix:r,x:o,y:n}=e;return typeof o=="bigint"&&typeof n=="bigint"?{prefix:r??4,x:o,y:n}:{prefix:r,x:o}})();return tb(t),t}function xC(e){return ob(Ie(e))}function ob(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new _l({publicKey:e});if(e.length===130){let o=BigInt(he(e,0,32)),n=BigInt(he(e,32,64));return{prefix:4,x:o,y:n}}if(e.length===132){let o=Number(he(e,0,1)),n=BigInt(he(e,1,33)),s=BigInt(he(e,33,65));return{prefix:o,x:n,y:s}}let t=Number(he(e,0,1)),r=BigInt(he(e,1,33));return{prefix:t,x:r}}function Il(e,t={}){tb(e);let{prefix:r,x:o,y:n}=e,{includePrefix:s=!0}=t;return xe(s?te(r,{size:1}):"0x",te(o,{size:32}),typeof n=="bigint"?te(n,{size:32}):"0x")}var El=class extends B{constructor({publicKey:t}){super(`Value \`${No(t)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"})}},Wu=class extends B{constructor({prefix:t,cause:r}){super(`Prefix "${t}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"})}},kl=class extends B{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"})}},Sl=class extends B{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}},_l=class extends B{constructor({publicKey:t}){super(`Value \`${t}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${de(ni(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};var vC=/^0x[a-fA-F0-9]{40}$/;function Cn(e,t={}){let{strict:r=!0}=t;if(!vC.test(e))throw new Ju({address:e,cause:new Al});if(r){if(e.toLowerCase()===e)return;if(Zu(e)!==e)throw new Ju({address:e,cause:new Pl})}}function Zu(e){if(Ku.has(e))return Ku.get(e);Cn(e,{strict:!1});let t=e.substring(2).toLowerCase(),r=wn(Kg(t),{as:"Bytes"}),o=t.split("");for(let s=0;s<40;s+=2)r[s>>1]>>4>=8&&o[s]&&(o[s]=o[s].toUpperCase()),(r[s>>1]&15)>=8&&o[s+1]&&(o[s+1]=o[s+1].toUpperCase());let n=`0x${o.join("")}`;return Ku.set(e,n),n}function wC(e,t={}){let{checksum:r=!1}=t;return Cn(e),r?Zu(e):e}function sb(e,t={}){let r=wn(`0x${Il(e).slice(4)}`).substring(26);return wC(`0x${r}`,t)}function Yu(e,t={}){let{strict:r=!0}=t??{};try{return Cn(e,{strict:r}),!0}catch{return!1}}var Ju=class extends B{constructor({address:t,cause:r}){super(`Address "${t}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}},Al=class extends B{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}},Pl=class extends B{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}};Do();wt();je();Do();wt();je();var ib=/^(.*)\[([0-9]*)\]$/,ab=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Qu=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,gj=2n**(8n-1n)-1n,yj=2n**(16n-1n)-1n,bj=2n**(24n-1n)-1n,xj=2n**(32n-1n)-1n,vj=2n**(40n-1n)-1n,wj=2n**(48n-1n)-1n,Cj=2n**(56n-1n)-1n,Ej=2n**(64n-1n)-1n,kj=2n**(72n-1n)-1n,Sj=2n**(80n-1n)-1n,_j=2n**(88n-1n)-1n,Ij=2n**(96n-1n)-1n,Aj=2n**(104n-1n)-1n,Pj=2n**(112n-1n)-1n,Tj=2n**(120n-1n)-1n,$j=2n**(128n-1n)-1n,Rj=2n**(136n-1n)-1n,Bj=2n**(144n-1n)-1n,Fj=2n**(152n-1n)-1n,Mj=2n**(160n-1n)-1n,Dj=2n**(168n-1n)-1n,Nj=2n**(176n-1n)-1n,zj=2n**(184n-1n)-1n,Lj=2n**(192n-1n)-1n,Uj=2n**(200n-1n)-1n,Oj=2n**(208n-1n)-1n,Hj=2n**(216n-1n)-1n,jj=2n**(224n-1n)-1n,Gj=2n**(232n-1n)-1n,Vj=2n**(240n-1n)-1n,qj=2n**(248n-1n)-1n,Kj=2n**(256n-1n)-1n,Wj=-(2n**(8n-1n)),Jj=-(2n**(16n-1n)),Zj=-(2n**(24n-1n)),Yj=-(2n**(32n-1n)),Xj=-(2n**(40n-1n)),Qj=-(2n**(48n-1n)),eG=-(2n**(56n-1n)),tG=-(2n**(64n-1n)),rG=-(2n**(72n-1n)),oG=-(2n**(80n-1n)),nG=-(2n**(88n-1n)),sG=-(2n**(96n-1n)),iG=-(2n**(104n-1n)),aG=-(2n**(112n-1n)),cG=-(2n**(120n-1n)),mG=-(2n**(128n-1n)),uG=-(2n**(136n-1n)),pG=-(2n**(144n-1n)),fG=-(2n**(152n-1n)),lG=-(2n**(160n-1n)),dG=-(2n**(168n-1n)),hG=-(2n**(176n-1n)),gG=-(2n**(184n-1n)),yG=-(2n**(192n-1n)),bG=-(2n**(200n-1n)),xG=-(2n**(208n-1n)),vG=-(2n**(216n-1n)),wG=-(2n**(224n-1n)),CG=-(2n**(232n-1n)),EG=-(2n**(240n-1n)),kG=-(2n**(248n-1n)),SG=-(2n**(256n-1n)),_G=2n**8n-1n,IG=2n**16n-1n,AG=2n**24n-1n,PG=2n**32n-1n,TG=2n**40n-1n,$G=2n**48n-1n,RG=2n**56n-1n,BG=2n**64n-1n,FG=2n**72n-1n,MG=2n**80n-1n,DG=2n**88n-1n,NG=2n**96n-1n,zG=2n**104n-1n,LG=2n**112n-1n,UG=2n**120n-1n,OG=2n**128n-1n,HG=2n**136n-1n,jG=2n**144n-1n,GG=2n**152n-1n,VG=2n**160n-1n,qG=2n**168n-1n,KG=2n**176n-1n,WG=2n**184n-1n,JG=2n**192n-1n,ZG=2n**200n-1n,YG=2n**208n-1n,XG=2n**216n-1n,QG=2n**224n-1n,eV=2n**232n-1n,tV=2n**240n-1n,rV=2n**248n-1n,Tl=2n**256n-1n;function En(e,t,r){let{checksumAddress:o,staticPosition:n}=r,s=Bl(t.type);if(s){let[i,a]=s;return EC(e,{...t,type:a},{checksumAddress:o,length:i,staticPosition:n})}if(t.type==="tuple")return IC(e,t,{checksumAddress:o,staticPosition:n});if(t.type==="address")return CC(e,{checksum:o});if(t.type==="bool")return kC(e);if(t.type.startsWith("bytes"))return SC(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return _C(e,t);if(t.type==="string")return AC(e,{staticPosition:n});throw new hi(t.type)}var mb=32,$l=32;function CC(e,t={}){let{checksum:r=!1}=t,o=e.readBytes(32);return[(s=>r?Zu(s):s)(Ie(Wg(o,-20))),32]}function EC(e,t,r){let{checksumAddress:o,length:n,staticPosition:s}=r;if(!n){let c=kr(e.readBytes($l)),m=s+c,u=m+mb;e.setPosition(m);let p=kr(e.readBytes(mb)),f=ka(t),d=0,h=[];for(let g=0;g<p;++g){e.setPosition(u+(f?g*32:d));let[b,y]=En(e,t,{checksumAddress:o,staticPosition:u});d+=y,h.push(b)}return e.setPosition(s+32),[h,32]}if(ka(t)){let c=kr(e.readBytes($l)),m=s+c,u=[];for(let p=0;p<n;++p){e.setPosition(m+p*32);let[f]=En(e,t,{checksumAddress:o,staticPosition:m});u.push(f)}return e.setPosition(s+32),[u,32]}let i=0,a=[];for(let c=0;c<n;++c){let[m,u]=En(e,t,{checksumAddress:o,staticPosition:s+i});i+=u,a.push(m)}return[a,i]}function kC(e){return[Zg(e.readBytes(32),{size:32}),32]}function SC(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=kr(e.readBytes(32));e.setPosition(r+i);let a=kr(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[Ie(c),32]}return[Ie(e.readBytes(Number.parseInt(n,10),32)),32]}function _C(e,t){let r=t.type.startsWith("int"),o=Number.parseInt(t.type.split("int")[1]||"256",10),n=e.readBytes(32);return[o>48?Jg(n,{signed:r}):kr(n,{signed:r}),32]}function IC(e,t,r){let{checksumAddress:o,staticPosition:n}=r,s=t.components.length===0||t.components.some(({name:c})=>!c),i=s?[]:{},a=0;if(ka(t)){let c=kr(e.readBytes($l)),m=n+c;for(let u=0;u<t.components.length;++u){let p=t.components[u];e.setPosition(m+a);let[f,d]=En(e,p,{checksumAddress:o,staticPosition:m});a+=d,i[s?u:p?.name]=f}return e.setPosition(n+32),[i,32]}for(let c=0;c<t.components.length;++c){let m=t.components[c],[u,p]=En(e,m,{checksumAddress:o,staticPosition:n});i[s?c:m?.name]=u,a+=p}return[i,a]}function AC(e,{staticPosition:t}){let r=kr(e.readBytes(32)),o=t+r;e.setPosition(o);let n=kr(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=Yg(Qf(s));return e.setPosition(t+32),[i,32]}function ub({checksumAddress:e,parameters:t,values:r}){let o=[];for(let n=0;n<t.length;n++)o.push(Rl({checksumAddress:e,parameter:t[n],value:r[n]}));return o}function Rl({checksumAddress:e=!1,parameter:t,value:r}){let o=t,n=Bl(o.type);if(n){let[s,i]=n;return TC(r,{checksumAddress:e,length:s,parameter:{...o,type:i}})}if(o.type==="tuple")return MC(r,{checksumAddress:e,parameter:o});if(o.type==="address")return PC(r,{checksum:e});if(o.type==="bool")return RC(r);if(o.type.startsWith("uint")||o.type.startsWith("int")){let s=o.type.startsWith("int"),[,,i="256"]=Qu.exec(o.type)??[];return BC(r,{signed:s,size:Number(i)})}if(o.type.startsWith("bytes"))return $C(r,{type:o.type});if(o.type==="string")return FC(r);throw new hi(o.type)}function ep(e){let t=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?t+=32:t+=de(a)}let r=[],o=[],n=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?(r.push(te(t+n,{size:32})),o.push(a),n+=de(a)):r.push(a)}return xe(...r,...o)}function PC(e,t){let{checksum:r=!1}=t;return Cn(e,{strict:r}),{dynamic:!1,encoded:eo(e.toLowerCase())}}function TC(e,t){let{checksumAddress:r,length:o,parameter:n}=t,s=o===null;if(!Array.isArray(e))throw new rp(e);if(!s&&e.length!==o)throw new tp({expectedLength:o,givenLength:e.length,type:`${n.type}[${o}]`});let i=!1,a=[];for(let c=0;c<e.length;c++){let m=Rl({checksumAddress:r,parameter:n,value:e[c]});m.dynamic&&(i=!0),a.push(m)}if(s||i){let c=ep(a);if(s){let m=te(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?xe(m,c):m}}if(i)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:xe(...a.map(({encoded:c})=>c))}}function $C(e,{type:t}){let[,r]=t.split("bytes"),o=de(e);if(!r){let n=e;return o%32!==0&&(n=Sr(n,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:xe(eo(te(o,{size:32})),n)}}if(o!==Number.parseInt(r,10))throw new Sa({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:Sr(e)}}function RC(e){if(typeof e!="boolean")throw new B(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:eo(pu(e))}}function BC(e,{signed:t,size:r}){if(typeof r=="number"){let o=2n**(BigInt(r)-(t?1n:0n))-1n,n=t?-o-1n:0n;if(e>o||e<n)throw new ya({max:o.toString(),min:n.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:te(e,{size:32,signed:t})}}function FC(e){let t=si(e),r=Math.ceil(de(t)/32),o=[];for(let n=0;n<r;n++)o.push(Sr(he(t,n*32,(n+1)*32)));return{dynamic:!0,encoded:xe(Sr(te(de(t),{size:32})),...o)}}function MC(e,t){let{checksumAddress:r,parameter:o}=t,n=!1,s=[];for(let i=0;i<o.components.length;i++){let a=o.components[i],c=Array.isArray(e)?i:a.name,m=Rl({checksumAddress:r,parameter:a,value:e[c]});s.push(m),m.dynamic&&(n=!0)}return{dynamic:n,encoded:n?ep(s):xe(...s.map(({encoded:i})=>i))}}function Bl(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function ka(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(ka);let r=Bl(e.type);return!!(r&&ka({...e,type:r[1]}))}wt();var NC={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Ml({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Fl({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new op({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new op({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function np(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(NC);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var op=class extends B{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}},Fl=class extends B{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}},Ml=class extends B{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}};function gi(e,t,r={}){let{as:o="Array",checksumAddress:n=!1}=r,s=typeof t=="string"?oi(t):t,i=np(s);if(Jt(s)===0&&e.length>0)throw new zl;if(Jt(s)&&Jt(s)<32)throw new Nl({data:typeof t=="string"?t:Ie(t),parameters:e,size:Jt(s)});let a=0,c=o==="Array"?[]:{};for(let m=0;m<e.length;++m){let u=e[m];i.setPosition(a);let[p,f]=En(i,u,{checksumAddress:n,staticPosition:0});a+=f,o==="Array"?c.push(p):c[u.name??m]=p}return c}function jo(e,t,r){let{checksumAddress:o=!1}=r??{};if(e.length!==t.length)throw new sp({expectedLength:e.length,givenLength:t.length});let n=ub({checksumAddress:o,parameters:e,values:t}),s=ep(n);return s.length===0?"0x":s}function Dl(e,t){if(e.length!==t.length)throw new sp({expectedLength:e.length,givenLength:t.length});let r=[];for(let o=0;o<e.length;o++){let n=e[o],s=t[o];r.push(Dl.encode(n,s))}return xe(...r)}(function(e){function t(r,o,n=!1){if(r==="address"){let c=o;return Cn(c),eo(c.toLowerCase(),n?32:0)}if(r==="string")return si(o);if(r==="bytes")return o;if(r==="bool")return eo(pu(o),n?32:1);let s=r.match(Qu);if(s){let[c,m,u="256"]=s,p=Number.parseInt(u,10)/8;return te(o,{size:n?32:p,signed:m==="int"})}let i=r.match(ab);if(i){let[c,m]=i;if(Number.parseInt(m,10)!==(o.length-2)/2)throw new Sa({expectedSize:Number.parseInt(m,10),value:o});return Sr(o,n?32:0)}let a=r.match(ib);if(a&&Array.isArray(o)){let[c,m]=a,u=[];for(let p=0;p<o.length;p++)u.push(t(m,o[p],!0));return u.length===0?"0x":xe(...u)}throw new hi(r)}e.encode=t})(Dl||(Dl={}));function Ia(e){return Array.isArray(e)&&typeof e[0]=="string"?Bm(e):typeof e=="string"?Bm(e):e}var Nl=class extends B{constructor({data:t,parameters:r,size:o}){super(`Data size of ${o} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Wr(r)})`,`Data: ${t} (${o} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}},zl=class extends B{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}},tp=class extends B{constructor({expectedLength:t,givenLength:r,type:o}){super(`Array length mismatch for type \`${o}\`. Expected: \`${t}\`. Given: \`${r}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}},Sa=class extends B{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${de(r)}) does not match expected size (bytes${t}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}},sp=class extends B{constructor({expectedLength:t,givenLength:r}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${t}`,`Given length (values): ${r}`].join(`
53
+ `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}},rp=class extends B{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}},hi=class extends B{constructor(t){super(`Type \`${t}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}};je();Do();wt();je();function zC(e,t){let{as:r}=t,o=lb(e),n=np(new Uint8Array(o.length));return o.encode(n),r==="Hex"?Ie(n.bytes):n.bytes}function fb(e,t={}){let{as:r="Hex"}=t;return zC(e,{as:r})}function lb(e){return Array.isArray(e)?LC(e.map(t=>lb(t))):UC(e)}function LC(e){let t=e.reduce((n,s)=>n+s.length,0),r=db(t);return{length:t<=55?1+t:1+r+t,encode(n){t<=55?n.pushByte(192+t):(n.pushByte(247+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:s}of e)s(n)}}}function UC(e){let t=typeof e=="string"?oi(e):e,r=db(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(183+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function db(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new B("Length is too large.")}import{secp256k1 as iV}from"@noble/curves/secp256k1";wt();je();ga();function jl(e,t={}){let{recovered:r}=t;if(typeof e.r>"u")throw new Aa({signature:e});if(typeof e.s>"u")throw new Aa({signature:e});if(r&&typeof e.yParity>"u")throw new Aa({signature:e});if(e.r<0n||e.r>Tl)throw new Ul({value:e.r});if(e.s<0n||e.s>Tl)throw new Ol({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new Pa({value:e.yParity})}function HC(e){return hb(Ie(e))}function hb(e){if(e.length!==130&&e.length!==132)throw new Ll({signature:e});let t=BigInt(he(e,0,32)),r=BigInt(he(e,32,64)),o=(()=>{let n=+`0x${e.slice(130)}`;if(!Number.isNaN(n))try{return ql(n)}catch{throw new Pa({value:n})}})();return typeof o>"u"?{r:t,s:r}:{r:t,s:r,yParity:o}}function Gl(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return Vl(e)}function Vl(e){let t=typeof e=="string"?hb(e):e instanceof Uint8Array?HC(e):typeof e.r=="string"?GC(e):e.v?jC(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}};return jl(t),t}function jC(e){return{r:e.r,s:e.s,yParity:ql(e.v)}}function GC(e){let t=(()=>{let r=e.v?Number(e.v):void 0,o=e.yParity?Number(e.yParity):void 0;if(typeof r=="number"&&typeof o!="number"&&(o=ql(r)),typeof o!="number")throw new Pa({value:e.yParity});return o})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function gb(e){let{r:t,s:r,yParity:o}=e;return[o?"0x01":"0x",t===0n?"0x":tl(te(t)),r===0n?"0x":tl(te(r))]}function ql(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return e%2===0?1:0;throw new Hl({value:e})}var Ll=class extends B{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${de(ni(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}},Aa=class extends B{constructor({signature:t}){super(`Signature \`${No(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}},Ul=class extends B{constructor({value:t}){super(`Value \`${t}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}},Ol=class extends B{constructor({value:t}){super(`Value \`${t}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}},Pa=class extends B{constructor({value:t}){super(`Value \`${t}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}},Hl=class extends B{constructor({value:t}){super(`Value \`${t}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}};function bb(e,t={}){return typeof e.chainId=="string"?VC(e):{...e,...t.signature}}function VC(e){let{address:t,chainId:r,nonce:o}=e,n=Gl(e);return{address:t,chainId:Number(r),nonce:BigInt(o),...n}}function xb(e){return qC(e,{presign:!0})}function qC(e,t={}){let{presign:r}=t;return wn(xe("0x05",fb(KC(r?{address:e.address,chainId:e.chainId,nonce:e.nonce}:e))))}function KC(e){let{address:t,chainId:r,nonce:o}=e,n=Gl(e);return[r?te(r):"0x",t,o?te(o):"0x",...n?gb(n):[]]}wt();je();import{secp256k1 as JC}from"@noble/curves/secp256k1";je();function vb(e){return sb(ZC(e))}function ZC(e){let{payload:t,signature:r}=e,{r:o,s:n,yParity:s}=r,a=new JC.Signature(BigInt(o),BigInt(n)).addRecoveryBit(s).recoverPublicKey(ni(t).substring(2));return rb(a)}var Kl="0x8010801080108010801080108010801080108010801080108010801080108010",Wl=Ia("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function ap(e){if(typeof e=="string"){if(he(e,-32)!==Kl)throw new ip(e)}else jl(e.authorization)}function XC(e){return typeof e=="string"?wb(e):e}function wb(e){ap(e);let t=cu(he(e,-64,-32)),r=he(e,-t-64,-64),o=he(e,0,-t-64),[n,s,i]=gi(Wl,r);return{authorization:bb({address:n.delegation,chainId:Number(n.chainId),nonce:n.nonce,yParity:n.yParity,r:n.r,s:n.s}),signature:o,...i&&i!=="0x"?{data:i,to:s}:{}}}function QC(e){let{data:t,signature:r}=e;ap(e);let o=vb({payload:xb(e.authorization),signature:Vl(e.authorization)}),n=jo(Wl,[{...e.authorization,delegation:e.authorization.address,chainId:BigInt(e.authorization.chainId)},e.to??o,t??"0x"]),s=te(de(n),{size:32});return xe(r,n,s,Kl)}function e8(e){try{return ap(e),!0}catch{return!1}}var ip=class extends B{constructor(t){super(`Value \`${t}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};Cc();H();var cp=class extends x{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}};function Cb(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new cp({value:e});let[r,o="0"]=e.split("."),n=r.startsWith("-");if(n&&(r=r.slice(1)),o=o.replace(/(0+)$/,""),t===0)Math.round(+`.${o}`)===1&&(r=`${BigInt(r)+1n}`),o="";else if(o.length>t){let[s,i,a]=[o.slice(0,t-1),o.slice(t-1,t),o.slice(t)],c=Math.round(+`${i}.${a}`);c>9?o=`${BigInt(s)+BigInt(1)}0`.padStart(s.length+1,"0"):o=`${s}${c}`,o.length>t&&(o=o.slice(1),r=`${BigInt(r)+1n}`),o=o.slice(0,t)}else o=o.padEnd(t,"0");return BigInt(`${n?"-":""}${r}${o}`)}function kn(e,t="wei"){return Cb(e,wc[t])}function t8(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function Eb(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?be(e.nonce):void 0,storageProof:e.storageProof?t8(e.storageProof):void 0}}async function kb(e,{address:t,blockNumber:r,blockTag:o,storageKeys:n}){let s=o??"latest",i=r!==void 0?E(r):void 0,a=await e.request({method:"eth_getProof",params:[t,n,i||s]});return Eb(a)}F();async function Sb(e,{address:t,blockNumber:r,blockTag:o="latest",slot:n}){let s=r!==void 0?E(r):void 0;return await e.request({method:"eth_getStorageAt",params:[t,n,s||o]})}It();F();async function yi(e,{blockHash:t,blockNumber:r,blockTag:o,hash:n,index:s}){let i=o||"latest",a=r!==void 0?E(r):void 0,c=null;if(n?c=await e.request({method:"eth_getTransactionByHash",params:[n]},{dedupe:!0}):t?c=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,E(s)]},{dedupe:!0}):(a||i)&&(c=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[a||i,E(s)]},{dedupe:!!a})),!c)throw new Wn({blockHash:t,blockNumber:r,blockTag:i,hash:n,index:s});return(e.chain?.formatters?.transaction?.format||rn)(c,"getTransaction")}async function _b(e,{hash:t,transactionReceipt:r}){let[o,n]=await Promise.all([A(e,Ir,"getBlockNumber")({}),t?A(e,yi,"getTransaction")({hash:t}):void 0]),s=r?.blockNumber||n?.blockNumber;return s?o-s+1n:0n}It();async function bi(e,{hash:t}){let r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new Jn({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||qi)(r,"getTransactionReceipt")}zo();xa();we();H();_o();Mo();Tt();cn();async function Ib(e,t){let{account:r,authorizationList:o,allowFailure:n=!0,blockNumber:s,blockOverrides:i,blockTag:a,stateOverride:c}=t,m=t.contracts,{batchSize:u=t.batchSize??1024,deployless:p=t.deployless??!1}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},f=(()=>{if(t.multicallAddress)return t.multicallAddress;if(p)return null;if(e.chain)return Gt({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),d=[[]],h=0,g=0;for(let v=0;v<m.length;v++){let{abi:C,address:k,args:I,functionName:P}=m[v];try{let S=fe({abi:C,args:I,functionName:P});g+=(S.length-2)/2,u>0&&g>u&&d[h].length>0&&(h++,g=(S.length-2)/2,d[h]=[]),d[h]=[...d[h],{allowFailure:!0,callData:S,target:k}]}catch(S){let $=$t(S,{abi:C,address:k,args:I,docsPath:"/docs/contract/multicall",functionName:P,sender:r});if(!n)throw $;d[h]=[...d[h],{allowFailure:!0,callData:"0x",target:k}]}}let b=await Promise.allSettled(d.map(v=>A(e,Te,"readContract")({...f===null?{code:ii}:{address:f},abi:yn,account:r,args:[v],authorizationList:o,blockNumber:s,blockOverrides:i,blockTag:a,functionName:"aggregate3",stateOverride:c}))),y=[];for(let v=0;v<b.length;v++){let C=b[v];if(C.status==="rejected"){if(!n)throw C.reason;for(let I=0;I<d[v].length;I++)y.push({status:"failure",error:C.reason,result:void 0});continue}let k=C.value;for(let I=0;I<k.length;I++){let{returnData:P,success:S}=k[I],{callData:$}=d[v][I],{abi:M,address:D,functionName:O,args:G}=m[y.length];try{if($==="0x")throw new qt;if(!S)throw new xr({data:P});let V=vt({abi:M,args:G,data:P,functionName:O});y.push(n?{result:V,status:"success"}:V)}catch(V){let me=$t(V,{abi:M,address:D,args:G,docsPath:"/docs/contract/multicall",functionName:O});if(!n)throw me;y.push({error:me,result:void 0,status:"failure"})}}}if(y.length!==m.length)throw new x("multicall results mismatch");return y}rl();ve();we();_o();vo();Mo();Tt();at();F();fa();yo();Xm();Xr();async function $a(e,t){let{blockNumber:r,blockTag:o=e.experimental_blockTag??"latest",blocks:n,returnFullTransactions:s,traceTransfers:i,validation:a}=t;try{let c=[];for(let f of n){let d=f.blockOverrides?fu(f.blockOverrides):void 0,h=f.calls.map(b=>{let y=b,v=y.account?j(y.account):void 0,C=y.abi?fe(y):y.data,k={...y,account:v,data:y.dataSuffix?Pe([C||"0x",y.dataSuffix]):C,from:y.from??v?.address};return rt(k),gt(k)}),g=f.stateOverrides?Ks(f.stateOverrides):void 0;c.push({blockOverrides:d,calls:h,stateOverrides:g})}let u=(typeof r=="bigint"?E(r):void 0)||o;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:s,traceTransfers:i,validation:a},u]})).map((f,d)=>({...Vi(f),calls:f.calls.map((h,g)=>{let{abi:b,args:y,functionName:v,to:C}=n[d].calls[g],k=h.error?.data??h.returnData,I=BigInt(h.gasUsed),P=h.logs?.map(D=>Qe(D)),S=h.status==="0x1"?"success":"failure",$=b&&S==="success"&&k!=="0x"?vt({abi:b,data:k,functionName:v}):null,M=(()=>{if(S==="success")return;let D;if(h.error?.data==="0x"?D=new qt:h.error&&(D=new xr(h.error)),!!D)return $t(D,{abi:b??[],address:C??"0x",args:y,functionName:v??"<unknown>"})})();return{data:k,gasUsed:I,logs:P,status:S,...S==="success"?{result:$}:{error:M}}})}))}catch(c){let m=c,u=$o(m,{});throw u instanceof Ut?m:u}}aa();wt();je();wt();function up(e){let t=!0,r="",o=0,n="",s=!1;for(let i=0;i<e.length;i++){let a=e[i];if(["(",")",","].includes(a)&&(t=!0),a==="("&&o++,a===")"&&o--,!!t){if(o===0){if(a===" "&&["event","function","error",""].includes(n))n="";else if(n+=a,a===")"){s=!0;break}continue}if(a===" "){e[i-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}n+=a,r+=a}}if(!s)throw new B("Unable to normalize signature.");return n}function mp(e,t){let r=typeof e,o=t.type;switch(o){case"address":return Yu(e,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return o==="tuple"&&"components"in t?Object.values(t.components).every((n,s)=>mp(Object.values(e)[s],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(o)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(o)?r==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(o)?Array.isArray(e)&&e.every(n=>mp(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function Jl(e,t,r){for(let o in e){let n=e[o],s=t[o];if(n.type==="tuple"&&s.type==="tuple"&&"components"in n&&"components"in s)return Jl(n.components,s.components,r[o]);let i=[n.type,s.type];if(i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?Yu(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?Yu(r[o],{strict:!1}):!1)return i}}function pp(e,t={}){let{prepare:r=!0}=t,o=Array.isArray(e)?Rm(e):typeof e=="string"?Rm(e):e;return{...o,...r?{hash:xi(o)}:{}}}function Ra(e,t,r){let{args:o=[],prepare:n=!0}=r??{},s=ba(t,{strict:!1}),i=e.filter(m=>s?m.type==="function"||m.type==="error"?Yl(m)===he(t,0,4):m.type==="event"?xi(m)===t:!1:"name"in m&&m.name===t);if(i.length===0)throw new Go({name:t});if(i.length===1)return{...i[0],...n?{hash:xi(i[0])}:{}};let a;for(let m of i){if(!("inputs"in m))continue;if(!o||o.length===0){if(!m.inputs||m.inputs.length===0)return{...m,...n?{hash:xi(m)}:{}};continue}if(!m.inputs||m.inputs.length===0||m.inputs.length!==o.length)continue;if(o.every((p,f)=>{let d="inputs"in m&&m.inputs[f];return d?mp(p,d):!1})){if(a&&"inputs"in a&&a.inputs){let p=Jl(m.inputs,a.inputs,o);if(p)throw new Zl({abiItem:m,type:p[0]},{abiItem:a,type:p[1]})}a=m}}let c=(()=>{if(a)return a;let[m,...u]=i;return{...m,overloads:u}})();if(!c)throw new Go({name:t});return{...c,...n?{hash:xi(c)}:{}}}function Yl(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return Ra(r,o)}return e[0]})();return he(xi(t),0,4)}function o8(...e){let t=(()=>{if(Array.isArray(e[0])){let[o,n]=e;return Ra(o,n)}return e[0]})(),r=typeof t=="string"?t:mn(t);return up(r)}function xi(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return Ra(r,o)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:wn(si(o8(t)))}var Zl=class extends B{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${up(mn(t.abiItem))}\`, and`,`\`${r.type}\` in \`${up(mn(r.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}},Go=class extends B{constructor({name:t,data:r,type:o="item"}){let n=t?` with name "${t}"`:r?` with data "${r}"`:"";super(`ABI ${o}${n} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}};je();function Pb(...e){let[t,r]=(()=>{if(Array.isArray(e[0])){let[s,i]=e;return[n8(s),i]}return e})(),{bytecode:o,args:n}=r;return xe(o,t.inputs?.length&&n?.length?jo(t.inputs,n):"0x")}function Tb(e){return pp(e)}function n8(e){let t=e.find(r=>r.type==="constructor");if(!t)throw new Go({name:"constructor"});return t}je();function Rb(...e){let[t,r=[]]=(()=>{if(Array.isArray(e[0])){let[m,u,p]=e;return[$b(m,u,{args:p}),p]}let[a,c]=e;return[a,c]})(),{overloads:o}=t,n=o?$b([t,...o],t.name,{args:r}):t,s=i8(n),i=r.length>0?jo(n.inputs,r):void 0;return i?xe(s,i):s}function Sn(e,t={}){return pp(e,t)}function $b(e,t,r){let o=Ra(e,t,r);if(o.type!=="function")throw new Go({name:t,type:"function"});return o}function i8(e){return Yl(e)}ve();var Bb="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",mr="0x0000000000000000000000000000000000000000";xa();H();Tt();var c8="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function Fb(e,t){let{blockNumber:r,blockTag:o,calls:n,stateOverrides:s,traceAssetChanges:i,traceTransfers:a,validation:c}=t,m=t.account?j(t.account):void 0;if(i&&!m)throw new x("`account` is required when `traceAssetChanges` is true");let u=m?Pb(Tb("constructor(bytes, bytes)"),{bytecode:hu,args:[c8,Rb(Sn("function getBalance(address)"),[m.address])]}):void 0,p=i?await Promise.all(t.calls.map(async z=>{if(!z.data&&!z.abi)return;let{accessList:Se}=await Mu(e,{account:m.address,...z,data:z.abi?fe(z):z.data});return Se.map(({address:lr,storageKeys:fo})=>fo.length>0?lr:null)})).then(z=>z.flat().filter(Boolean)):[],f=await $a(e,{blockNumber:r,blockTag:o,blocks:[...i?[{calls:[{data:u}],stateOverrides:s},{calls:p.map((z,Se)=>({abi:[Sn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:z,from:mr,nonce:Se})),stateOverrides:[{address:mr,nonce:0}]}]:[],{calls:[...n,{}].map(z=>({...z,from:m?.address})),stateOverrides:s},...i?[{calls:[{data:u}]},{calls:p.map((z,Se)=>({abi:[Sn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:z,from:mr,nonce:Se})),stateOverrides:[{address:mr,nonce:0}]},{calls:p.map((z,Se)=>({to:z,abi:[Sn("function decimals() returns (uint256)")],functionName:"decimals",from:mr,nonce:Se})),stateOverrides:[{address:mr,nonce:0}]},{calls:p.map((z,Se)=>({to:z,abi:[Sn("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:mr,nonce:Se})),stateOverrides:[{address:mr,nonce:0}]},{calls:p.map((z,Se)=>({to:z,abi:[Sn("function symbol() returns (string)")],functionName:"symbol",from:mr,nonce:Se})),stateOverrides:[{address:mr,nonce:0}]}]:[]],traceTransfers:a,validation:c}),d=i?f[2]:f[0],[h,g,,b,y,v,C,k]=i?f:[],{calls:I,...P}=d,S=I.slice(0,-1)??[],$=h?.calls??[],M=g?.calls??[],D=[...$,...M].map(z=>z.status==="success"?ae(z.data):null),O=b?.calls??[],G=y?.calls??[],V=[...O,...G].map(z=>z.status==="success"?ae(z.data):null),me=(v?.calls??[]).map(z=>z.status==="success"?z.result:null),Ae=(k?.calls??[]).map(z=>z.status==="success"?z.result:null),qe=(C?.calls??[]).map(z=>z.status==="success"?z.result:null),Mt=[];for(let[z,Se]of V.entries()){let lr=D[z];if(typeof Se!="bigint"||typeof lr!="bigint")continue;let fo=me[z-1],ue=Ae[z-1],lo=qe[z-1],Qt=z===0?{address:Bb,decimals:18,symbol:"ETH"}:{address:p[z-1],decimals:lo||fo?Number(fo??1):void 0,symbol:ue??void 0};Mt.some(of=>of.token.address===Qt.address)||Mt.push({token:Qt,value:{pre:lr,post:Se,diff:Se-lr}})}return{assetChanges:Mt,block:P,results:S}}var Ba={};sf(Ba,{InvalidWrappedSignatureError:()=>fp,assert:()=>Ql,from:()=>p8,magicBytes:()=>Xl,universalSignatureValidatorAbi:()=>u8,universalSignatureValidatorBytecode:()=>m8,unwrap:()=>Mb,validate:()=>l8,wrap:()=>f8});wt();je();var Xl="0x6492649264926492649264926492649264926492649264926492649264926492",m8="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",u8=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}];function Ql(e){if(he(e,-32)!==Xl)throw new fp(e)}function p8(e){return typeof e=="string"?Mb(e):e}function Mb(e){Ql(e);let[t,r,o]=gi(Ia("address, bytes, bytes"),e);return{data:r,signature:o,to:t}}function f8(e){let{data:t,signature:r,to:o}=e;return xe(jo(Ia("address, bytes, bytes"),[o,t,r]),Xl)}function l8(e){try{return Ql(e),!0}catch{return!1}}var fp=class extends B{constructor(t){super(`Value \`${t}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}};zo();xa();_o();gu();Tt();wo();hn();at();_t();Be();F();Be();Ue();import{secp256k1 as d8}from"@noble/curves/secp256k1";function lp({r:e,s:t,to:r="hex",v:o,yParity:n}){let s=(()=>{if(n===0||n===1)return n;if(o&&(o===27n||o===28n||o>=35n))return o%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),i=`0x${new d8.Signature(ae(e),ae(t)).toCompactHex()}${s===0?"1b":"1c"}`;return r==="hex"?i:Fe(i)}ci();async function Vo(e,t){let{address:r,hash:o,erc6492VerifierAddress:n=t.universalSignatureVerifierAddress??e.chain?.contracts?.erc6492Verifier?.address,multicallAddress:s=t.multicallAddress??e.chain?.contracts?.multicall3?.address}=t,i=(()=>{let a=t.signature;return ce(a)?a:typeof a=="object"&&"r"in a&&"s"in a?lp(a):X(a)})();try{return Ta.validate(i)?await h8(e,{...t,multicallAddress:s,signature:i}):await g8(e,{...t,verifierAddress:n,signature:i})}catch(a){try{if(Wt(fs(r),await Jm({hash:o,signature:i})))return!0}catch{}if(a instanceof ro)return!1;throw a}}async function h8(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,multicallAddress:i}=t,{authorization:a,data:c,signature:m,to:u}=Ta.unwrap(t.signature);if(await Ea(e,{address:r,blockNumber:o,blockTag:n})===Oe(["0xef0100",a.address]))return await y8(e,{address:r,blockNumber:o,blockTag:n,hash:s,signature:m});let f={address:a.address,chainId:Number(a.chainId),nonce:Number(a.nonce),r:E(a.r,{size:32}),s:E(a.s,{size:32}),yParity:a.yParity};if(!await jy({address:r,authorization:f}))throw new ro;let h=await A(e,Te,"readContract")({...i?{address:i}:{code:ii},authorizationList:[f],abi:yn,blockNumber:o,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:u??r,callData:c}]:[],{allowFailure:!0,target:r,callData:fe({abi:sl,functionName:"isValidSignature",args:[s,m]})}]]});if(h[h.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new ro}async function g8(e,t){let{address:r,factory:o,factoryData:n,hash:s,signature:i,verifierAddress:a,...c}=t,m=await(async()=>!o&&!n||Ba.validate(i)?i:Ba.wrap({data:n,signature:i,to:o}))(),u=a?{to:a,data:fe({abi:il,functionName:"isValidSig",args:[r,s,m]}),...c}:{data:bn({abi:il,args:[r,s,m],bytecode:ay}),...c},{data:p}=await A(e,_r,"call")(u).catch(f=>{throw f instanceof Ss?new ro:f});if(gf(p??"0x0"))return!0;throw new ro}async function y8(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,signature:i}=t;if((await A(e,Te,"readContract")({address:r,abi:sl,args:[s,i],blockNumber:o,blockTag:n,functionName:"isValidSignature"}).catch(c=>{throw c instanceof _s?new ro:c})).startsWith("0x1626ba7e"))return!0;throw new ro}var ro=class extends Error{};async function Db(e,{address:t,message:r,factory:o,factoryData:n,signature:s,...i}){let a=di(r);return Vo(e,{address:t,factory:o,factoryData:n,hash:a,signature:s,...i})}async function Nb(e,t){let{address:r,factory:o,factoryData:n,signature:s,message:i,primaryType:a,types:c,domain:m,...u}=t,p=Vu({message:i,primaryType:a,types:c,domain:m});return Vo(e,{address:r,factory:o,factoryData:n,hash:p,signature:s,...u})}It();yu();et();Be();et();function dp(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:o,onError:n,poll:s,pollingInterval:i=e.pollingInterval}){let a=typeof s<"u"?s:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),c;return a?(()=>{let p=W(["watchBlockNumber",e.uid,t,r,i]);return nt(p,{onBlockNumber:o,onError:n},f=>Zt(async()=>{try{let d=await A(e,Ir,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(d===c)return;if(d-c>1&&r)for(let h=c+1n;h<d;h++)f.onBlockNumber(h,c),c=h}(c===void 0||d>c)&&(f.onBlockNumber(d,c),c=d)}catch(d){f.onError?.(d)}},{emitOnBegin:t,interval:i}))})():(()=>{let p=W(["watchBlockNumber",e.uid,t,r]);return nt(p,{onBlockNumber:o,onError:n},f=>{let d=!0,h=()=>d=!1;return(async()=>{try{let g=(()=>{if(e.transport.type==="fallback"){let y=e.transport.transports.find(v=>v.config.type==="webSocket"||v.config.type==="ipc");return y?y.value:e.transport}return e.transport})(),{unsubscribe:b}=await g.subscribe({params:["newHeads"],onData(y){if(!d)return;let v=ae(y.result?.number);f.onBlockNumber(v,c),c=v},onError(y){f.onError?.(y)}});h=b,d||h()}catch(g){n?.(g)}})(),()=>h()})})()}async function hp(e,t){let{checkReplacement:r=!0,confirmations:o=1,hash:n,onReplaced:s,retryCount:i=6,retryDelay:a=({count:I})=>~~(1<<I)*200,timeout:c=18e4}=t,m=W(["waitForTransactionReceipt",e.uid,n]),u=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,p,f,d,h=!1,g,b,{promise:y,resolve:v,reject:C}=ai(),k=c?setTimeout(()=>{b?.(),g?.(),C(new Tc({hash:n}))},c):void 0;return g=nt(m,{onReplaced:s,resolve:v,reject:C},async I=>{if(d=await A(e,bi,"getTransactionReceipt")({hash:n}).catch(()=>{}),d&&o<=1){clearTimeout(k),I.resolve(d),g?.();return}b=A(e,dp,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(P){let S=M=>{clearTimeout(k),b?.(),M(),g?.()},$=P;if(!h)try{if(d){if(o>1&&(!d.blockNumber||$-d.blockNumber+1n<o))return;S(()=>I.resolve(d));return}if(r&&!p&&(h=!0,await vn(async()=>{p=await A(e,yi,"getTransaction")({hash:n}),p.blockNumber&&($=p.blockNumber)},{delay:a,retryCount:i}),h=!1),d=await A(e,bi,"getTransactionReceipt")({hash:n}),o>1&&(!d.blockNumber||$-d.blockNumber+1n<o))return;S(()=>I.resolve(d))}catch(M){if(M instanceof Wn||M instanceof Jn){if(!p){h=!1;return}try{f=p,h=!0;let D=await vn(()=>A(e,ot,"getBlock")({blockNumber:$,includeTransactions:!0}),{delay:a,retryCount:i,shouldRetry:({error:V})=>V instanceof Ws});h=!1;let O=D.transactions.find(({from:V,nonce:me})=>V===f.from&&me===f.nonce);if(!O||(d=await A(e,bi,"getTransactionReceipt")({hash:O.hash}),o>1&&(!d.blockNumber||$-d.blockNumber+1n<o)))return;let G="replaced";O.to===f.to&&O.value===f.value&&O.input===f.input?G="repriced":O.from===O.to&&O.value===0n&&(G="cancelled"),S(()=>{I.onReplaced?.({reason:G,replacedTransaction:f,transaction:O,transactionReceipt:d}),I.resolve(d)})}catch(D){S(()=>I.reject(D))}}else S(()=>I.reject(M))}}})}),y}et();function zb(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:o=!1,onBlock:n,onError:s,includeTransactions:i,poll:a,pollingInterval:c=e.pollingInterval}){let m=typeof a<"u"?a:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),u=i??!1,p;return m?(()=>{let h=W(["watchBlocks",e.uid,t,r,o,u,c]);return nt(h,{onBlock:n,onError:s},g=>Zt(async()=>{try{let b=await A(e,ot,"getBlock")({blockTag:t,includeTransactions:u});if(b.number!==null&&p?.number!=null){if(b.number===p.number)return;if(b.number-p.number>1&&r)for(let y=p?.number+1n;y<b.number;y++){let v=await A(e,ot,"getBlock")({blockNumber:y,includeTransactions:u});g.onBlock(v,p),p=v}}(p?.number==null||t==="pending"&&b?.number==null||b.number!==null&&b.number>p.number)&&(g.onBlock(b,p),p=b)}catch(b){g.onError?.(b)}},{emitOnBegin:o,interval:c}))})():(()=>{let h=!0,g=!0,b=()=>h=!1;return(async()=>{try{o&&A(e,ot,"getBlock")({blockTag:t,includeTransactions:u}).then(C=>{h&&g&&(n(C,void 0),g=!1)}).catch(s);let y=(()=>{if(e.transport.type==="fallback"){let C=e.transport.transports.find(k=>k.config.type==="webSocket"||k.config.type==="ipc");return C?C.value:e.transport}return e.transport})(),{unsubscribe:v}=await y.subscribe({params:["newHeads"],async onData(C){if(!h)return;let k=await A(e,ot,"getBlock")({blockNumber:C.result?.number,includeTransactions:u}).catch(()=>{});h&&(n(k,p),g=!1,p=k)},onError(C){s?.(C)}});b=v,h||b()}catch(y){s?.(y)}})(),()=>b()})()}we();Vs();et();function Lb(e,{address:t,args:r,batch:o=!0,event:n,events:s,fromBlock:i,onError:a,onLogs:c,poll:m,pollingInterval:u=e.pollingInterval,strict:p}){let f=typeof m<"u"?m:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),d=p??!1;return f?(()=>{let b=W(["watchEvent",t,r,o,e.uid,n,u,i]);return nt(b,{onLogs:c,onError:a},y=>{let v;i!==void 0&&(v=i-1n);let C,k=!1,I=Zt(async()=>{if(!k){try{C=await A(e,Du,"createEventFilter")({address:t,args:r,event:n,events:s,strict:d,fromBlock:i})}catch{}k=!0;return}try{let P;if(C)P=await A(e,Lo,"getFilterChanges")({filter:C});else{let S=await A(e,Ir,"getBlockNumber")({});v&&v!==S?P=await A(e,Qs,"getLogs")({address:t,args:r,event:n,events:s,fromBlock:v+1n,toBlock:S}):P=[],v=S}if(P.length===0)return;if(o)y.onLogs(P);else for(let S of P)y.onLogs([S])}catch(P){C&&P instanceof vr&&(k=!1),y.onError?.(P)}},{emitOnBegin:!0,interval:u});return async()=>{C&&await A(e,Uo,"uninstallFilter")({filter:C}),I()}})})():(()=>{let b=!0,y=()=>b=!1;return(async()=>{try{let v=(()=>{if(e.transport.type==="fallback"){let P=e.transport.transports.find(S=>S.config.type==="webSocket"||S.config.type==="ipc");return P?P.value:e.transport}return e.transport})(),C=s??(n?[n]:void 0),k=[];C&&(k=[C.flatMap(S=>Cr({abi:[S],eventName:S.name,args:r}))],n&&(k=k[0]));let{unsubscribe:I}=await v.subscribe({params:["logs",{address:t,topics:k}],onData(P){if(!b)return;let S=P.result;try{let{eventName:$,args:M}=Xs({abi:C??[],data:S.data,topics:S.topics,strict:d}),D=Qe(S,{args:M,eventName:$});c([D])}catch($){let M,D;if($ instanceof ir||$ instanceof hr){if(p)return;M=$.abiItem.name,D=$.abiItem.inputs?.some(G=>!("name"in G&&G.name))}let O=Qe(S,{args:D?[]:{},eventName:M});c([O])}},onError(P){a?.(P)}});y=I,b||y()}catch(v){a?.(v)}})(),()=>y()})()}et();function Ub(e,{batch:t=!0,onError:r,onTransactions:o,poll:n,pollingInterval:s=e.pollingInterval}){return(typeof n<"u"?n:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{let m=W(["watchPendingTransactions",e.uid,t,s]);return nt(m,{onTransactions:o,onError:r},u=>{let p,f=Zt(async()=>{try{if(!p)try{p=await A(e,Nu,"createPendingTransactionFilter")({});return}catch(h){throw f(),h}let d=await A(e,Lo,"getFilterChanges")({filter:p});if(d.length===0)return;if(t)u.onTransactions(d);else for(let h of d)u.onTransactions([h])}catch(d){u.onError?.(d)}},{emitOnBegin:!0,interval:s});return async()=>{p&&await A(e,Uo,"uninstallFilter")({filter:p}),f()}})})():(()=>{let m=!0,u=()=>m=!1;return(async()=>{try{let{unsubscribe:p}=await e.transport.subscribe({params:["newPendingTransactions"],onData(f){if(!m)return;let d=f.result;o([d])},onError(f){r?.(f)}});u=p,m||u()}catch(p){r?.(p)}})(),()=>u()})()}function Ob(e){let{scheme:t,statement:r,...o}=e.match(b8)?.groups??{},{chainId:n,expirationTime:s,issuedAt:i,notBefore:a,requestId:c,...m}=e.match(x8)?.groups??{},u=e.split("Resources:")[1]?.split(`
54
+ - `).slice(1);return{...o,...m,...n?{chainId:Number(n)}:{},...s?{expirationTime:new Date(s)}:{},...i?{issuedAt:new Date(i)}:{},...a?{notBefore:new Date(a)}:{},...c?{requestId:c}:{},...u?{resources:u}:{},...t?{scheme:t}:{},...r?{statement:r}:{}}}var b8=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,x8=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;At();hn();function Hb(e){let{address:t,domain:r,message:o,nonce:n,scheme:s,time:i=new Date}=e;if(r&&o.domain!==r||n&&o.nonce!==n||s&&o.scheme!==s||o.expirationTime&&i>=o.expirationTime||o.notBefore&&i<o.notBefore)return!1;try{if(!o.address||!ee(o.address,{strict:!1})||t&&!Wt(o.address,t))return!1}catch{return!1}return!0}async function jb(e,t){let{address:r,domain:o,message:n,nonce:s,scheme:i,signature:a,time:c=new Date,...m}=t,u=Ob(n);if(!u.address||!Hb({address:r,domain:o,message:u,nonce:s,scheme:i,time:c}))return!1;let f=di(n);return Vo(e,{address:u.address,hash:f,signature:a,...m})}It();async function vi(e,{serializedTransaction:t,throwOnReceiptRevert:r,timeout:o}){let n=await e.request({method:"eth_sendRawTransactionSync",params:o?[t,E(o)]:[t]},{retryCount:0}),i=(e.chain?.formatters?.transactionReceipt?.format||qi)(n);if(i.status==="reverted"&&r)throw new Zn({receipt:i});return i}function Gb(e){return{call:t=>_r(e,t),createAccessList:t=>Mu(e,t),createBlockFilter:()=>My(e),createContractEventFilter:t=>Km(e,t),createEventFilter:t=>Du(e,t),createPendingTransactionFilter:()=>Nu(e),estimateContractGas:t=>$g(e,t),estimateGas:t=>Ys(e,t),getBalance:t=>Dy(e,t),getBlobBaseFee:()=>Ny(e),getBlock:t=>ot(e,t),getBlockNumber:t=>Ir(e,t),getBlockTransactionCount:t=>zy(e,t),getBytecode:t=>Ea(e,t),getChainId:()=>xt(e),getCode:t=>Ea(e,t),getContractEvents:t=>ru(e,t),getEip712Domain:t=>Ly(e,t),getEnsAddress:t=>_y(e,t),getEnsAvatar:t=>Ry(e,t),getEnsName:t=>By(e,t),getEnsResolver:t=>Fy(e,t),getEnsText:t=>Fu(e,t),getFeeHistory:t=>Oy(e,t),estimateFeesPerGas:t=>Pg(e,t),getFilterChanges:t=>Lo(e,t),getFilterLogs:t=>Hy(e,t),getGasPrice:()=>Js(e),getLogs:t=>Qs(e,t),getProof:t=>kb(e,t),estimateMaxPriorityFeePerGas:t=>Ag(e,t),getStorageAt:t=>Sb(e,t),getTransaction:t=>yi(e,t),getTransactionConfirmations:t=>_b(e,t),getTransactionCount:t=>Zs(e,t),getTransactionReceipt:t=>bi(e,t),multicall:t=>Ib(e,t),prepareTransactionRequest:t=>Er(e,t),readContract:t=>Te(e,t),sendRawTransaction:t=>ui(e,t),sendRawTransactionSync:t=>vi(e,t),simulate:t=>$a(e,t),simulateBlocks:t=>$a(e,t),simulateCalls:t=>Fb(e,t),simulateContract:t=>xy(e,t),verifyHash:t=>Vo(e,t),verifyMessage:t=>Db(e,t),verifySiweMessage:t=>jb(e,t),verifyTypedData:t=>Nb(e,t),uninstallFilter:t=>Uo(e,t),waitForTransactionReceipt:t=>hp(e,t),watchBlocks:t=>zb(e,t),watchBlockNumber:t=>dp(e,t),watchContractEvent:t=>Ey(e,t),watchEvent:t=>Lb(e,t),watchPendingTransactions:t=>Ub(e,t)}}function _n(e){let{key:t="public",name:r="Public Client"}=e;return Pu({...e,key:t,name:r,type:"publicClient"}).extend(Gb)}F();async function Vb(e,{chain:t}){let{id:r,name:o,nativeCurrency:n,rpcUrls:s,blockExplorers:i}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:E(r),chainName:o,nativeCurrency:n,rpcUrls:s.default.http,blockExplorerUrls:i?Object.values(i).map(({url:a})=>a):void 0}]},{dedupe:!0,retryCount:0})}gu();function qb(e,t){let{abi:r,args:o,bytecode:n,...s}=t,i=bn({abi:r,args:o,bytecode:n});return Oo(e,{...s,...s.authorizationList?{to:null}:{},data:i})}wo();async function Kb(e){return e.account?.type==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>qr(r))}ve();F();async function Wb(e,t={}){let{account:r=e.account,chainId:o}=t,n=r?j(r):void 0,s=o?[n?.address,[E(o)]]:[n?.address],i=await e.request({method:"wallet_getCapabilities",params:s}),a={};for(let[c,m]of Object.entries(i)){a[Number(c)]={};for(let[u,p]of Object.entries(m))u==="addSubAccount"&&(u="unstable_addSubAccount"),a[Number(c)][u]=p}return typeof o=="number"?a[o]:a}async function Jb(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}ve();hn();async function gp(e,t){let{account:r=e.account,chainId:o,nonce:n}=t;if(!r)throw new He({docsPath:"/docs/eip7702/prepareAuthorization"});let s=j(r),i=(()=>{if(t.executor)return t.executor==="self"?t.executor:j(t.executor)})(),a={address:t.contractAddress??t.address,chainId:o,nonce:n};return typeof a.chainId>"u"&&(a.chainId=e.chain?.id??await A(e,xt,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await A(e,Zs,"getTransactionCount")({address:s.address,blockTag:"pending"}),(i==="self"||i?.address&&Wt(i.address,s.address))&&(a.nonce+=1)),a}wo();async function Zb(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>fs(r))}async function Yb(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function Xb(e,t){let{chain:r=e.chain}=t,o=t.timeout??Math.max((r?.blockTime??0)*3,5e3),n=await Eu(e,t);return await Su(e,{...t,id:n.id,timeout:o})}ve();H();It();qs();yo();ps();Xr();var ed=new Ot(128);async function yp(e,t){let{account:r=e.account,chain:o=e.chain,accessList:n,authorizationList:s,blobs:i,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,pollingInterval:h,throwOnReceiptRevert:g,type:b,value:y,...v}=t,C=t.timeout??Math.max((o?.blockTime??0)*3,5e3);if(typeof r>"u")throw new He({docsPath:"/docs/actions/wallet/sendTransactionSync"});let k=r?j(r):null;try{rt(t);let I=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await Bo({authorization:s[0]}).catch(()=>{throw new x("`to` is required. Could not infer from `authorizationList`.")})})();if(k?.type==="json-rpc"||k===null){let P;o!==null&&(P=await A(e,xt,"getChainId")({}),ls({currentChainId:P,chain:o}));let S=e.chain?.formatters?.transactionRequest?.format,M=(S||gt)({...wr(v,{format:S}),accessList:n,account:k,authorizationList:s,blobs:i,chainId:P,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,to:I,type:b,value:y},"sendTransaction"),D=ed.get(e.uid),O=D?"wallet_sendTransaction":"eth_sendTransaction",G=await(async()=>{try{return await e.request({method:O,params:[M]},{retryCount:0})}catch(me){if(D===!1)throw me;let Ae=me;if(Ae.name==="InvalidInputRpcError"||Ae.name==="InvalidParamsRpcError"||Ae.name==="MethodNotFoundRpcError"||Ae.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[M]},{retryCount:0}).then(qe=>(ed.set(e.uid,!0),qe)).catch(qe=>{let Mt=qe;throw Mt.name==="MethodNotFoundRpcError"||Mt.name==="MethodNotSupportedRpcError"?(ed.set(e.uid,!1),Ae):Mt});throw Ae}})(),V=await A(e,hp,"waitForTransactionReceipt")({checkReplacement:!1,hash:G,pollingInterval:h,timeout:C});if(g&&V.status==="reverted")throw new Zn({receipt:V});return V}if(k?.type==="local"){let P=await A(e,Er,"prepareTransactionRequest")({account:k,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,nonceManager:k.nonceManager,parameters:[...la,"sidecars"],type:b,value:y,...v,to:I}),S=o?.serializers?.transaction,$=await k.signTransaction(P,{serializer:S});return await A(e,vi,"sendRawTransactionSync")({serializedTransaction:$,throwOnReceiptRevert:g})}throw k?.type==="smart"?new Vt({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Vt({docsPath:"/docs/actions/wallet/sendTransactionSync",type:k?.type})}catch(I){throw I instanceof Vt?I:mi(I,{...t,account:k,chain:t.chain||void 0})}}async function Qb(e,t){let{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}ve();async function ex(e,t){let{account:r=e.account}=t;if(!r)throw new He({docsPath:"/docs/eip7702/signAuthorization"});let o=j(r);if(!o.signAuthorization)throw new Vt({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:o.type});let n=await gp(e,t);return o.signAuthorization(n)}ve();F();async function tx(e,{account:t=e.account,message:r}){if(!t)throw new He({docsPath:"/docs/actions/wallet/signMessage"});let o=j(t);if(o.signMessage)return o.signMessage({message:r});let n=typeof r=="string"?er(r):r.raw instanceof Uint8Array?ie(r.raw):r.raw;return e.request({method:"personal_sign",params:[n,o.address]},{retryCount:0})}ve();F();yo();Xr();async function rx(e,t){let{account:r=e.account,chain:o=e.chain,...n}=t;if(!r)throw new He({docsPath:"/docs/actions/wallet/signTransaction"});let s=j(r);rt({account:s,...t});let i=await A(e,xt,"getChainId")({});o!==null&&ls({currentChainId:i,chain:o});let c=(o?.formatters||e.chain?.formatters)?.transactionRequest?.format||gt;return s.signTransaction?s.signTransaction({...n,chainId:i},{serializer:e.chain?.serializers?.transaction}):await e.request({method:"eth_signTransaction",params:[{...c({...n,account:s},"signTransaction"),chainId:E(i),from:s.address}]},{retryCount:0})}ve();async function ox(e,t){let{account:r=e.account,domain:o,message:n,primaryType:s}=t;if(!r)throw new He({docsPath:"/docs/actions/wallet/signTypedData"});let i=j(r),a={EIP712Domain:Gu({domain:o}),...t.types};if(ju({domain:o,message:n,primaryType:s,types:a}),i.signTypedData)return i.signTypedData({domain:o,message:n,primaryType:s,types:a});let c=Zy({domain:o,message:n,primaryType:s,types:a});return e.request({method:"eth_signTypedData_v4",params:[i.address,c]},{retryCount:0})}F();async function nx(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:E(t)}]},{retryCount:0})}async function sx(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}async function ix(e,t){return xn.internal(e,yp,"sendTransactionSync",t)}function ax(e){return{addChain:t=>Vb(e,t),deployContract:t=>qb(e,t),getAddresses:()=>Kb(e),getCallsStatus:t=>ku(e,t),getCapabilities:t=>Wb(e,t),getChainId:()=>xt(e),getPermissions:()=>Jb(e),prepareAuthorization:t=>gp(e,t),prepareTransactionRequest:t=>Er(e,t),requestAddresses:()=>Zb(e),requestPermissions:t=>Yb(e,t),sendCalls:t=>Eu(e,t),sendCallsSync:t=>Xb(e,t),sendRawTransaction:t=>ui(e,t),sendRawTransactionSync:t=>vi(e,t),sendTransaction:t=>Oo(e,t),sendTransactionSync:t=>yp(e,t),showCallsStatus:t=>Qb(e,t),signAuthorization:t=>ex(e,t),signMessage:t=>tx(e,t),signTransaction:t=>rx(e,t),signTypedData:t=>ox(e,t),switchChain:t=>nx(e,t),waitForCallsStatus:t=>Su(e,t),watchAsset:t=>sx(e,t),writeContract:t=>xn(e,t),writeContractSync:t=>ix(e,t)}}function Fa(e){let{key:t="wallet",name:r="Wallet Client",transport:o}=e;return Pu({...e,key:t,name:r,transport:o,type:"walletClient"}).extend(ax)}function cx({key:e,methods:t,name:r,request:o,retryCount:n=3,retryDelay:s=150,timeout:i,type:a},c){let m=Au();return{config:{key:e,methods:t,name:r,request:o,retryCount:n,retryDelay:s,timeout:i,type:a},request:Vy(o,{methods:t,retryCount:n,retryDelay:s,uid:m}),value:c}}fn();H();var bp=class extends x{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}};ml();function oo(e,t={}){let{batch:r,fetchFn:o,fetchOptions:n,key:s="http",methods:i,name:a="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:m,retryDelay:u,raw:p}=t;return({chain:f,retryCount:d,timeout:h})=>{let{batchSize:g=1e3,wait:b=0}=typeof r=="object"?r:{},y=t.retryCount??d,v=h??t.timeout??1e4,C=e||f?.rpcUrls.default.http[0];if(!C)throw new bp;let k=Ky(C,{fetchFn:o,fetchOptions:n,onRequest:c,onResponse:m,timeout:v});return cx({key:s,methods:i,name:a,async request({method:I,params:P}){let S={method:I,params:P},{schedule:$}=bu({id:C,wait:b,shouldSplitBatch(G){return G.length>g},fn:G=>k.request({body:G}),sort:(G,V)=>G.id-V.id}),M=async G=>r?$(G):[await k.request({body:G})],[{error:D,result:O}]=await M(S);if(p)return{error:D,result:O};if(D)throw new Io({body:S,error:D,url:C});return O},retryCount:y,retryDelay:u,timeout:v,type:"http"},{fetchOptions:n,url:C})}}_t();F();import{secp256k1 as w8}from"@noble/curves/secp256k1";nr();At();function mx(e){if(typeof e=="string"){if(!ee(e,{strict:!1}))throw new ne({address:e});return{address:e,type:"json-rpc"}}if(!ee(e.address,{strict:!1}))throw new ne({address:e.address});return{address:e.address,nonceManager:e.nonceManager,sign:e.sign,signAuthorization:e.signAuthorization,signMessage:e.signMessage,signTransaction:e.signTransaction,signTypedData:e.signTypedData,source:"custom",type:"local"}}_t();Ue();F();import{secp256k1 as v8}from"@noble/curves/secp256k1";var td=!1;async function Ar({hash:e,privateKey:t,to:r="object"}){let{r:o,s:n,recovery:s}=v8.sign(e.slice(2),t.slice(2),{lowS:!0,extraEntropy:ce(td,{strict:!1})?Fe(td):td}),i={r:E(o,{size:32}),s:E(n,{size:32}),v:s?28n:27n,yParity:s};return r==="bytes"||r==="hex"?lp({...i,to:r}):i}async function ux(e){let{chainId:t,nonce:r,privateKey:o,to:n="object"}=e,s=e.contractAddress??e.address,i=await Ar({hash:Zm({address:s,chainId:t,nonce:r}),privateKey:o,to:n});return n==="object"?{address:s,chainId:t,nonce:r,...i}:i}async function px({message:e,privateKey:t}){return await Ar({hash:di(e),privateKey:t,to:"hex"})}Ht();async function fx(e){let{privateKey:t,transaction:r,serializer:o=Jc}=e,n=r.type==="eip4844"?{...r,sidecars:!1}:r,s=await Ar({hash:se(await o(n)),privateKey:t});return await o(r,s)}async function lx(e){let{privateKey:t,...r}=e;return await Ar({hash:Vu(r),privateKey:t,to:"hex"})}function Ma(e,t={}){let{nonceManager:r}=t,o=ie(w8.getPublicKey(e.slice(2),!1)),n=Wm(o);return{...mx({address:n,nonceManager:r,async sign({hash:i}){return Ar({hash:i,privateKey:e,to:"hex"})},async signAuthorization(i){return ux({...i,privateKey:e})},async signMessage({message:i}){return px({message:i,privateKey:e})},async signTransaction(i,{serializer:a}={}){return fx({privateKey:e,transaction:i,serializer:a})},async signTypedData(i){return lx({...i,privateKey:e})}}),publicKey:o,source:"privateKey"}}var rQ=Li(nd(),1);import{z as Ce}from"zod";var pr=Li(nd(),1),x_=Li(dx(),1),v_=Li(t1(),1);import{z as Si}from"zod";var cE=Ge.object({detail:Ge.union([Ge.string(),Ge.array(Ge.object({msg:Ge.string(),type:Ge.string().optional(),ctx:Ge.record(Ge.unknown()).optional(),loc:Ge.array(Ge.union([Ge.string(),Ge.number()])).optional(),input:Ge.unknown().optional()}).passthrough()),Ge.record(Ge.unknown())]).optional(),type:Ge.string().optional(),code:Ge.string().optional()}),Fr=class extends Error{constructor(e,t){super(e),this.name=this.constructor.name,this.status=t.status,this.statusText=t.statusText,this.detail=t.detail,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},ld=class Ep extends Fr{constructor(t,r){super(t,{status:r?.status??0,statusText:r?.statusText??"Unknown Error",detail:r?.detail||t}),this.name="RequestError",this.isRequestError=!0,this.data=r?.data,this.request=r?.request,this.response=r?.response,this.code=r?.code,this.type=r?.type}static fromFetchError(t){let r=cE.safeParse(t.data);return r.success?new Ep(t.message,{status:t.status??void 0,statusText:t.statusText??void 0,data:t.data,request:t.request??void 0,response:t.response??void 0,detail:r.data.detail,code:r.data.code??void 0,type:r.data.type??void 0}):new Ep(t.message,{status:t.status??void 0,statusText:t.statusText??void 0,data:t.data,request:t.request??void 0,response:t.response??void 0,detail:t.data?.detail||"Unknown API error",code:t.status?.toString()??void 0})}static fromError(t,r){return new Ep(t.message,{request:r??void 0,detail:t.message})}},mE=class extends Fr{constructor(e,t){super(e,t),this.isValidationError=!0,this.validationErrors=t.validationErrors}},uE=class extends Fr{constructor(){super(...arguments),this.isAuthError=!0}},Sp=class extends Fr{constructor(){super(...arguments),this.isBusinessError=!0}},pE=class extends Fr{constructor(){super(...arguments),this.isServerError=!0}},fE=class extends Fr{constructor(){super(...arguments),this.isUnknownError=!0}};function lE(e){if(!e||!Array.isArray(e))return"unknown";let t=e.filter(r=>typeof r=="string"?!["body","query","path","header"].includes(r):!0);return t.length>0?t.join("."):"unknown"}function a1(e){if(!Array.isArray(e))return{errors:[],message:typeof e=="string"?e:"Validation error"};let t=e.map((n,s)=>{let i=lE(n.loc),a=i;return i==="unknown"&&n.type&&(a=n.type==="missing"?"required field":n.type),{field:a,message:n.msg,type:n.type,context:n.ctx}}),r=t.length,o=r===1?`Validation failed: ${t[0].message}`:`Validation failed (${r} issue${r>1?"s":""})`;return{errors:t,message:o}}function dE(e){return e===422?"validation":e===401||e===403?"auth":e>=400&&e<500?"business":e>=500?"server":"unknown"}function hE(e,t,r){if(e===422&&Array.isArray(t)){let{message:o}=a1(t);return o}if(typeof t=="string")return t;if(t&&typeof t=="object"&&"message"in t){let o=t.message;if(typeof o=="string")return o}return r}function gE(e){let t=e.status??0,r=e.statusText??"Unknown Error",o=e.detail,n=yE(o);if(n)return new gd(n.message,{status:t,statusText:r,detail:o,errorCode:n.error_code,structuredDetails:n.details,suggestions:n.suggestions,links:n.links});let s=dE(t),i=hE(t,o,e.message),a={status:t,statusText:r,detail:o};if(s==="validation"&&Array.isArray(o)){let{errors:c}=a1(o);return new mE(i,{...a,validationErrors:c})}return s==="auth"?new uE(i,a):s==="business"?new Sp(i,a):s==="server"?new pE(i,a):new fE(i,a)}var gd=class extends Sp{constructor(e,t){super(e,t),this.isResourceError=!0,this.errorCode=t.errorCode,this.structuredDetails=t.structuredDetails,this.suggestions=t.suggestions,this.links=t.links}};function yE(e){if(!e||typeof e!="object")return null;let t=e;return t.error_code&&typeof t.error_code=="string"&&t.message&&typeof t.message=="string"?{error_code:t.error_code,message:t.message,details:t.details,suggestions:t.suggestions,links:t.links}:null}function c1(e,t){let{showErrorCode:r=!0,showSuggestions:o=!0,showLinks:n=!0}=t??{},s=[];return r&&e.errorCode?s.push(`Error [${e.errorCode}]: ${e.message}`):s.push(e.message),e.structuredDetails&&e.structuredDetails.length>0&&(s.push(""),s.push("Details:"),e.structuredDetails.forEach(i=>{i.message?s.push(` - ${i.message}`):i.field&&i.value!==void 0&&s.push(` - ${i.field}: ${i.value}`)})),o&&e.suggestions&&e.suggestions.length>0&&(s.push(""),s.push("Suggestions:"),e.suggestions.forEach(i=>{s.push(` - ${i}`)})),n&&e.links&&e.links.length>0&&(s.push(""),s.push("Learn more:"),e.links.forEach(i=>{s.push(` - ${i.label}: ${i.url}`)})),s.join(`
55
+ `)}var Oa=["2025-05-31","2025-10-28"],Ei=(0,i1.default)("phala::api-client");function bE(e){return Object.entries(e).map(([t,r])=>` -H "${t}: ${r}"`).join(`
56
+ `)}function xE(e){return e?` -d '${(typeof e=="string"?e:JSON.stringify(e,null,2)).replace(/'/g,"\\'")}'`:""}function r1(e,t,r,o){let n=[];r.forEach((a,c)=>{n.push(`${c}: ${a}`)});let s=n.join(`
57
57
  `),i=typeof o=="string"?o:JSON.stringify(o,null,2);return[`< HTTP/1.1 ${e} ${t}`,s?`< ${s.replace(/\n/g,`
58
58
  < `)}`:"","",i].filter(Boolean).join(`
59
- `)}var pE=class{constructor(e={}){this.emitter=C0();let t={...e,apiKey:e.apiKey||process?.env?.PHALA_CLOUD_API_KEY,baseURL:e.baseURL||process?.env?.PHALA_CLOUD_API_PREFIX||"https://cloud-api.phala.network/api/v1"},r=t.version&&La.includes(t.version)?t.version:La[La.length-1];this.config=t;let{apiKey:o,baseURL:n,timeout:s,headers:i,useCookieAuth:a,onResponseError:c,...m}=t,u={"X-Phala-Version":r,"Content-Type":"application/json"};i&&typeof i=="object"&&Object.entries(i).forEach(([f,p])=>{typeof p=="string"&&(u[f]=p)}),!a&&o&&(u["X-API-Key"]=o),this.fetchInstance=X8.create({baseURL:n,timeout:s||3e4,headers:u,...a?{credentials:"include"}:{},...m,onRequest({request:f,options:p}){if(Ei.enabled){let d=p.method||"GET",h=typeof f=="string"?f:f.url,g=h.startsWith("http")?h:`${n}${h}`,b={};p.headers&&typeof p.headers=="object"&&Object.entries(p.headers).forEach(([v,C])=>{typeof C=="string"&&(b[v]=C)});let y=[`> curl -X ${d} "${g}"`,mE(b),p.body?uE(p.body):""].filter(Boolean).join(`
59
+ `)}var vE=class{constructor(e={}){this.emitter=F0();let t={...e,apiKey:e.apiKey||process?.env?.PHALA_CLOUD_API_KEY,baseURL:e.baseURL||process?.env?.PHALA_CLOUD_API_PREFIX||"https://cloud-api.phala.network/api/v1"},r=t.version&&Oa.includes(t.version)?t.version:Oa[Oa.length-1];this.config=t;let{apiKey:o,baseURL:n,timeout:s,headers:i,useCookieAuth:a,onResponseError:c,...m}=t,u={"X-Phala-Version":r,"Content-Type":"application/json"};i&&typeof i=="object"&&Object.entries(i).forEach(([p,f])=>{typeof f=="string"&&(u[p]=f)}),!a&&o&&(u["X-API-Key"]=o),this.fetchInstance=aE.create({baseURL:n,timeout:s||3e4,headers:u,...a?{credentials:"include"}:{},...m,onRequest({request:p,options:f}){if(Ei.enabled){let d=f.method||"GET",h=typeof p=="string"?p:p.url,g=h.startsWith("http")?h:`${n}${h}`,b={};f.headers&&typeof f.headers=="object"&&Object.entries(f.headers).forEach(([v,C])=>{typeof C=="string"&&(b[v]=C)});let y=[`> curl -X ${d} "${g}"`,bE(b),f.body?xE(f.body):""].filter(Boolean).join(`
60
60
  `);Ei(`
61
61
  === REQUEST ===
62
62
  %s
63
- `,y)}},onResponse({request:f,response:p,options:d}){if(Ei.enabled){let h=d.method||"GET",g=typeof f=="string"?f:f.url;Ei(`
63
+ `,y)}},onResponse({request:p,response:f,options:d}){if(Ei.enabled){let h=d.method||"GET",g=typeof p=="string"?p:p.url;Ei(`
64
64
  === RESPONSE [%s %s] (%dms) ===
65
65
  %s
66
- `,h,g,p.headers.get("x-response-time")||"?",Gx(p.status,p.statusText,p.headers,p._data))}},onResponseError:({request:f,response:p,options:d})=>{if(console.warn(`HTTP ${p.status}: ${p.url}`),Ei.enabled){let h=d.method||"GET",g=typeof f=="string"?f:f.url;Ei(`
66
+ `,h,g,f.headers.get("x-response-time")||"?",r1(f.status,f.statusText,f.headers,f._data))}},onResponseError:({request:p,response:f,options:d})=>{if(console.warn(`HTTP ${f.status}: ${f.url}`),Ei.enabled){let h=d.method||"GET",g=typeof p=="string"?p:p.url;Ei(`
67
67
  === ERROR RESPONSE [%s %s] ===
68
68
  %s
69
- `,h,g,Gx(p.status,p.statusText,p.headers,p._data))}c&&c({request:f,response:p,options:d})}})}get raw(){return this.fetchInstance}on(e,t){this.emitter.on(e,t)}off(e,t){this.emitter.off(e,t)}once(e,t){let r=o=>{t(o),this.emitter.off(e,r)};this.emitter.on(e,r)}async get(e,t){try{return await this.fetchInstance(e,{...t,method:"GET"})}catch(r){let o=this.convertToRequestError(r);throw this.emitError(o)}}async post(e,t,r){try{return await this.fetchInstance(e,{...r,method:"POST",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async put(e,t,r){try{return await this.fetchInstance(e,{...r,method:"PUT",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async patch(e,t,r){try{return await this.fetchInstance(e,{...r,method:"PATCH",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async delete(e,t){try{return await this.fetchInstance(e,{...t,method:"DELETE"})}catch(r){let o=this.convertToRequestError(r);throw this.emitError(o)}}convertToRequestError(e){return e&&typeof e=="object"&&"data"in e?md.fromFetchError(e):e instanceof Error?md.fromError(e):new md("Unknown error occurred",{detail:"Unknown error occurred"})}emitError(e){let t=aE(e);return this.emitter.emit("error",t),t}async safeRequest(e){try{return{success:!0,data:await e()}}catch(t){if(t instanceof Nr)return{success:!1,error:t};let r=this.convertToRequestError(t);return this.emitError(r),{success:!1,error:r}}}async safeGet(e,t){return this.safeRequest(()=>this.get(e,t))}async safePost(e,t,r){return this.safeRequest(()=>this.post(e,t,r))}async safePut(e,t,r){return this.safeRequest(()=>this.put(e,t,r))}async safePatch(e,t,r){return this.safeRequest(()=>this.patch(e,t,r))}async safeDelete(e,t){return this.safeRequest(()=>this.delete(e,t))}extend(e){let t=typeof e=="function"?e(this):e,r=Object.create(this);for(let[o,n]of Object.entries(t))typeof n=="function"&&(r[o]=(...s)=>n(this,...s));return r}};function fE(e={}){return new pE(e)}function Yx(e){if(e?.schema!==void 0&&e?.schema!==!1&&(typeof e.schema!="object"||e.schema===null||!("parse"in e.schema)||typeof e.schema.parse!="function"))throw new Error("Invalid schema: must be a Zod schema object, false, or undefined")}function Xx(e){if(e?.schema!==void 0&&e?.schema!==!1&&(typeof e.schema!="object"||e.schema===null||!("parse"in e.schema)||typeof e.schema.parse!="function"))return{success:!1,error:{name:"ZodError",message:"Invalid schema: must be a Zod schema object, false, or undefined",issues:[{code:"invalid_type",expected:"object",received:typeof e.schema,path:["schema"],message:"Invalid schema: must be a Zod schema object, false, or undefined"}]}}}function Qx(e,t){function r(i,a){return o(i,a)}async function o(i,a){Yx(a);let c=await t(i);return a?.schema===!1?c:(a?.schema||e).parse(c)}function n(i,a){return s(i,a)}async function s(i,a){let c=Xx(a);if(c)return c;let m=await(async()=>{try{return{success:!0,data:await t(i)}}catch(f){return f&&typeof f=="object"&&"status"in f?{success:!1,error:f}:f&&typeof f=="object"&&"issues"in f?{success:!1,error:f}:{success:!1,error:{name:"Error",message:f instanceof Error?f.message:String(f)}}}})();return m.success?a?.schema===!1?{success:!0,data:m.data}:(a?.schema||e).safeParse(m.data):m}return{action:r,safeAction:n}}function X(e,t){function r(i,...a){let[c,m]=a;return o(i,c,m)}async function o(i,a,c){Yx(c);let m=await t(i,a);return c?.schema===!1?m:(c?.schema||e).parse(m)}function n(i,...a){let[c,m]=a;return s(i,c,m)}async function s(i,a,c){let m=Xx(c);if(m)return m;let u=await(async()=>{try{return{success:!0,data:await t(i,a)}}catch(p){return p&&typeof p=="object"&&"status"in p?{success:!1,error:p}:p&&typeof p=="object"&&"issues"in p?{success:!1,error:p}:{success:!1,error:{name:"Error",message:p instanceof Error?p.message:String(p)}}}})();return u.success?c?.schema===!1?{success:!0,data:u.data}:(c?.schema||e).safeParse(u.data):u}return{action:r,safeAction:n}}var lE=ln.object({username:ln.string(),email:ln.string(),credits:ln.number(),granted_credits:ln.number(),avatar:ln.string(),team_name:ln.string(),team_tier:ln.string()}).passthrough(),{action:dE,safeAction:Vn}=Qx(lE,async e=>await e.get("/auth/me")),hE={[Hm.id]:Hm,[Xi.id]:Xi,[Kc.id]:Kc},gE=dn.object({id:dn.string(),slug:dn.string().nullable(),url:dn.string(),version:dn.string(),chain_id:dn.number().nullable(),kms_contract_address:dn.string().nullable().transform(e=>e),gateway_app_id:dn.string().nullable().transform(e=>e)}).passthrough(),mo=gE.transform(e=>{if(e.chain_id!=null){let t=hE[e.chain_id];if(t)return{...e,chain:t}}return e}),yE=K.object({name:K.string(),is_dev:K.boolean(),version:K.union([K.tuple([K.number(),K.number(),K.number()]),K.tuple([K.number(),K.number(),K.number(),K.number()])]),os_image_hash:K.string().nullable().optional()}).passthrough(),bE=K.object({teepod_id:K.number(),name:K.string(),listed:K.boolean(),resource_score:K.number(),remaining_vcpu:K.number(),remaining_memory:K.number(),remaining_cvm_slots:K.number(),images:K.array(yE),support_onchain_kms:K.boolean().optional(),fmspc:K.string().nullable().optional(),device_id:K.string().nullable().optional(),region_identifier:K.string().nullable().optional(),default_kms:K.string().nullable().optional(),kms_list:K.array(K.string()).default([])}).passthrough(),xE=K.object({max_instances:K.number().nullable().optional(),max_vcpu:K.number().nullable().optional(),max_memory:K.number().nullable().optional(),max_disk:K.number().nullable().optional()}).passthrough(),wE=K.object({tier:K.string(),capacity:xE,nodes:K.array(bE),kms_list:K.array(mo)}).passthrough(),{action:vE,safeAction:Oa}=Qx(wE,async e=>await e.get("/teepods/available")),e1=Se.object({id:Se.string(),name:Se.string(),description:Se.string(),vcpu:Se.number(),memory_mb:Se.number(),hourly_rate:Se.string(),requires_gpu:Se.boolean(),default_disk_size_gb:Se.number().default(20),family:Se.string().nullable()}).passthrough(),CE=Se.object({name:Se.string(),items:Se.array(e1),total:Se.number()}).strict(),EE=Se.object({result:Se.array(CE)}).strict(),kE=Se.object({items:Se.array(e1),total:Se.number(),family:Se.string()}).strict(),SE=Se.object({family:Se.string()}).strict(),{action:_E,safeAction:IE}=X(EE,async e=>await e.get("/instance-types")),{action:AE,safeAction:PE}=X(kE,async(e,t)=>{let r=SE.parse(t);return await e.get(`/instance-types/${r.family}`)}),t1=$t.object({id:$t.string(),name:$t.string(),slug:$t.string().nullable(),tier:$t.string(),role:$t.string(),created_at:$t.string()}).passthrough(),TE=$t.object({has_more:$t.boolean(),next_cursor:$t.string().nullable(),total:$t.number().nullable()}).passthrough(),$E=$t.object({data:$t.array(t1),pagination:TE}).passthrough(),{action:RE,safeAction:BE}=X($E,async(e,t)=>{let r=new URLSearchParams;t?.cursor&&r.append("cursor",t.cursor),t?.limit&&r.append("limit",t.limit.toString());let o=r.toString()?`/workspaces?${r.toString()}`:"/workspaces";return await e.get(o)}),{action:FE,safeAction:ME}=X(t1,async(e,t)=>await e.get(`/workspaces/${t}`)),DE=T.object({id:T.string(),name:T.string(),status:T.string(),uptime:T.string(),app_url:T.string().nullable(),app_id:T.string(),instance_id:T.string().nullable(),configuration:T.any().optional(),exited_at:T.string().nullable(),boot_progress:T.string().nullable(),boot_error:T.string().nullable(),shutdown_progress:T.string().nullable(),image_version:T.string().nullable()}),NE=T.object({id:T.number(),username:T.string()}),fd=T.object({id:T.number(),name:T.string(),region_identifier:T.string().nullable().optional()}),r1=T.object({app:T.string(),instance:T.string()}),zE=T.object({hosted:DE,name:T.string(),managed_user:NE.nullable(),node:fd.nullable(),listed:T.boolean().default(!1),status:T.string(),in_progress:T.boolean().default(!1),dapp_dashboard_url:T.string().nullable(),syslog_endpoint:T.string().nullable(),allow_upgrade:T.boolean().default(!1),project_id:T.string().nullable(),project_type:T.string().nullable(),billing_period:T.string().nullable(),kms_info:mo.nullable(),vcpu:T.number().nullable(),memory:T.number().nullable(),disk_size:T.number().nullable(),gateway_domain:T.string().nullable(),public_urls:T.array(r1)}),o1=T.object({id:T.number(),name:T.string(),status:T.string(),in_progress:T.boolean().optional().default(!1),teepod_id:T.number().nullable(),teepod:fd.optional().nullable(),app_id:T.string(),vm_uuid:T.string().nullable(),instance_id:T.string().nullable(),vcpu:T.number(),memory:T.number(),disk_size:T.number(),base_image:T.string().nullable(),encrypted_env_pubkey:T.string().nullable(),listed:T.boolean().optional().default(!1),project_id:T.string().optional().nullable(),project_type:T.string().optional().nullable(),public_sysinfo:T.boolean().optional().default(!1),public_logs:T.boolean().optional().default(!1),dapp_dashboard_url:T.string().optional().nullable(),syslog_endpoint:T.string().optional().nullable(),kms_info:mo.optional().nullable(),contract_address:T.string().optional().nullable(),deployer_address:T.string().optional().nullable(),scheduled_delete_at:T.string().optional().nullable(),public_urls:T.array(r1).optional().default([]),gateway_domain:T.string().optional().nullable()}),Cp=T.object({id:T.number(),name:T.string(),status:T.string(),teepod_id:T.number(),teepod:fd.optional().nullable(),user_id:T.number().optional().nullable(),app_id:T.string(),vm_uuid:T.string().nullable(),instance_id:T.string().nullable(),app_url:T.string().optional().nullable(),base_image:T.string().nullable(),vcpu:T.number(),memory:T.number(),disk_size:T.number(),manifest_version:T.number().optional().nullable(),version:T.string().optional().nullable(),runner:T.string().optional().nullable(),docker_compose_file:T.string().optional().nullable(),features:T.array(T.string()).optional().nullable(),created_at:T.string(),encrypted_env_pubkey:T.string().nullable()}),zr=za.object({id:za.string().optional(),uuid:za.string().regex(/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i,"Invalid UUID format").optional(),app_id:za.string().optional(),instance_id:za.string().optional()}),Lr=e=>e.refine(t=>{let r=t;return!!(r.id||r.uuid||r.app_id||r.instance_id)},{message:"One of id, uuid, app_id, or instance_id must be provided"}),LE=Lr(zr),ye=LE.transform(e=>{let t;if(e.id)t=e.id;else if(e.uuid)t=e.uuid;else if(e.app_id)t=e.app_id;else if(e.instance_id)t=e.instance_id;else throw new Error("No valid identifier provided");let r=/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i,o=/^[0-9a-f]{40}$/i,n;return r.test(t)?n=t.replace(/-/g,""):o.test(t)?n=`app_${t}`:n=t,{cvmId:n}}),OE=ye,{action:UE,safeAction:Yt}=X(o1,async(e,t)=>{let{cvmId:r}=OE.parse(t);return await e.get(`/cvms/${r}`)}),HE=Zt.object({page:Zt.number().int().min(1).optional(),page_size:Zt.number().int().min(1).optional(),node_id:Zt.number().int().min(1).optional(),teepod_id:Zt.number().int().min(1).optional(),user_id:Zt.string().optional()}).strict(),jE=Zt.object({items:Zt.array(zE),total:Zt.number(),page:Zt.number(),page_size:Zt.number(),pages:Zt.number()}).strict(),{action:GE,safeAction:Ii}=X(jE,async(e,t)=>{let r=HE.parse(t??{});return await e.get("/cvms/paginated",{params:r})}),qE=V.object({app_id:V.string().nullable().optional(),app_env_encrypt_pubkey:V.string().nullable().optional(),compose_hash:V.string(),fmspc:V.string().nullable().optional(),device_id:V.string().nullable().optional(),os_image_hash:V.string().nullable().optional(),instance_type:V.string().nullable().optional(),teepod_id:V.number().nullable().optional(),node_id:V.number().nullable().optional(),kms_id:V.string().nullable().optional()}).passthrough().transform(e=>{if("teepod_id"in e&&e.teepod_id!==void 0){let{teepod_id:t,...r}=e;return{...r,node_id:t}}return e}),VE=V.object({node_id:V.number().optional(),teepod_id:V.number().optional(),region:V.string().optional(),name:V.string(),instance_type:V.string().default("tdx.small"),image:V.string().optional(),vcpu:V.number().optional(),memory:V.number().optional(),disk_size:V.number().optional(),compose_file:V.object({allowed_envs:V.array(V.string()).optional(),pre_launch_script:V.string().optional(),docker_compose_file:V.string().optional(),name:V.string().optional().default(""),kms_enabled:V.boolean().optional(),public_logs:V.boolean().optional(),public_sysinfo:V.boolean().optional(),gateway_enabled:V.boolean().optional(),tproxy_enabled:V.boolean().optional()}),listed:V.boolean().optional(),kms_id:V.string().optional(),kms:V.enum(["PHALA","ETHEREUM","BASE"]).optional(),kms_contract:V.string().optional(),env_keys:V.array(V.string()).optional(),nonce:V.number().optional(),app_id:V.string().optional()}).passthrough();function KE(e){if(!e.compose_file)return e;let t={...e.compose_file};return typeof t.gateway_enabled=="boolean"&&typeof t.tproxy_enabled=="boolean"?delete t.tproxy_enabled:typeof t.tproxy_enabled=="boolean"&&typeof t.gateway_enabled>"u"&&(t.gateway_enabled=t.tproxy_enabled,delete t.tproxy_enabled,(typeof window<"u"?window.console:globalThis.console)&&console.warn("[phala/cloud] tproxy_enabled is deprecated, please use gateway_enabled instead. See docs for migration.")),{...e,compose_file:t}}var{action:WE,safeAction:ld}=X(qE,async(e,t)=>{let r=VE.parse(t),o=KE(r),n={...o};return typeof o.node_id=="number"?(n={...o,teepod_id:o.node_id},delete n.node_id):typeof o.teepod_id=="number"&&console.warn("[phala/cloud] teepod_id is deprecated, please use node_id instead."),await e.post("/cvms/provision",n)}),JE=J.object({id:J.number(),name:J.string(),status:J.string(),teepod_id:J.number(),teepod:J.object({id:J.number(),name:J.string()}).nullable(),user_id:J.number().nullable(),app_id:J.string().nullable(),vm_uuid:J.string().nullable(),instance_id:J.string().nullable(),app_url:J.string().nullable(),base_image:J.string().nullable(),vcpu:J.number(),memory:J.number(),disk_size:J.number(),manifest_version:J.number().nullable(),version:J.string().nullable(),runner:J.string().nullable(),docker_compose_file:J.string().nullable(),features:J.array(J.string()).nullable(),created_at:J.string(),encrypted_env_pubkey:J.string().nullable().optional(),app_auth_contract_address:J.string().nullable().optional(),deployer_address:J.string().nullable().optional()}).passthrough(),xX=J.object({encrypted_env:J.string().optional().nullable(),app_id:J.string(),compose_hash:J.string(),kms_id:J.string().optional(),contract_address:J.string().optional(),deployer_address:J.string().optional(),env_keys:J.array(J.string()).optional().nullable()}).passthrough(),{action:ZE,safeAction:Ep}=X(JE,async(e,t)=>await e.post("/cvms",t)),n1=at.object({allowed_envs:at.array(at.string()).optional(),docker_compose_file:at.string(),features:at.array(at.string()).optional(),name:at.string().optional(),manifest_version:at.number().optional(),kms_enabled:at.boolean().optional(),public_logs:at.boolean().optional(),public_sysinfo:at.boolean().optional(),tproxy_enabled:at.boolean().optional(),pre_launch_script:at.string().optional(),env_pubkey:at.string().optional(),salt:at.string().optional().nullable()}).passthrough();function ud(e){return e==null?e:Array.isArray(e)?e.map(ud):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=ud(o),t},{}):e}function s1(e){let t={...e};return t.runner==="bash"&&"docker_compose_file"in t?delete t.docker_compose_file:t.runner==="docker-compose"&&"bash_script"in t&&delete t.bash_script,"pre_launch_script"in t&&!t.pre_launch_script&&delete t.pre_launch_script,t}function i1(e){let t=ud(e),r=JSON.stringify(t,null,4);return r=r.replace(/": /g,'":'),r}function XE(e){let t=s1(e),r=i1(t);return YE.createHash("sha256").update(r,"utf8").digest("hex")}function QE(e){let t=e;return{...e,getHash:()=>XE(t),toString:()=>i1(s1(t))}}var ek=n1.transform(e=>QE(e)),tk=ye,{action:rk,safeAction:Ua}=X(ek,async(e,t)=>{let{cvmId:r}=tk.parse(t);return await e.get(`/cvms/${r}/compose_file`)}),ok=Mr.object({id:Mr.string().optional(),uuid:Mr.string().regex(/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i).optional(),app_id:Mr.string().refine(e=>!e.startsWith("app_")&&e.length===40,"app_id should be 40 characters without prefix").transform(e=>e.startsWith("app_")?e:`app_${e}`).optional(),instance_id:Mr.string().refine(e=>!e.startsWith("instance_")&&e.length===40,"instance_id should be 40 characters without prefix").transform(e=>e.startsWith("instance_")?e:`instance_${e}`).optional(),app_compose:n1,update_env_vars:Mr.boolean().optional().nullable()}).refine(e=>!!(e.id||e.uuid||e.app_id||e.instance_id),"One of id, uuid, app_id, or instance_id must be provided").transform(e=>({cvmId:e.id||e.uuid||e.app_id||e.instance_id,request:{...e.app_compose,update_env_vars:e.update_env_vars},_raw:e})),nk=Mr.object({app_id:Mr.string().nullable(),device_id:Mr.string().nullable(),compose_hash:Mr.string(),kms_info:mo.nullable().optional()}).passthrough(),{action:sk,safeAction:dd}=X(nk,async(e,t)=>{let r=ok.parse(t);return await e.post(`/cvms/${r.cvmId}/compose_file/provision`,r.request)}),ik=pr.object({id:pr.string().optional(),uuid:pr.string().regex(/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i).optional(),app_id:pr.string().refine(e=>!e.startsWith("app_")&&e.length===40,"app_id should be 40 characters without prefix").transform(e=>e.startsWith("app_")?e:`app_${e}`).optional(),instance_id:pr.string().refine(e=>!e.startsWith("instance_")&&e.length===40,"instance_id should be 40 characters without prefix").transform(e=>e.startsWith("instance_")?e:`instance_${e}`).optional(),compose_hash:pr.string().min(1,"Compose hash is required"),encrypted_env:pr.string().optional(),env_keys:pr.array(pr.string()).optional(),update_env_vars:pr.boolean().optional().nullable()}).refine(e=>!!(e.id||e.uuid||e.app_id||e.instance_id),"One of id, uuid, app_id, or instance_id must be provided").transform(e=>({cvmId:e.id||e.uuid||e.app_id||e.instance_id,compose_hash:e.compose_hash,encrypted_env:e.encrypted_env,env_keys:e.env_keys,update_env_vars:!!e.update_env_vars,_raw:e})),ak=pr.any().transform(()=>{}),{action:ck,safeAction:hd}=X(ak,async(e,t)=>{let r=ik.parse(t);return await e.patch(`/cvms/${r.cvmId}/compose_file`,{compose_hash:r.compose_hash,encrypted_env:r.encrypted_env,env_keys:r.env_keys})}),mk=Lr(zr.extend({encrypted_env:We.string().describe("Encrypted environment variables (hex string)"),env_keys:We.array(We.string()).optional().describe("List of allowed environment variable keys"),compose_hash:We.string().optional().describe("Compose hash for verification (Phase 2, required when env_keys changes)"),transaction_hash:We.string().optional().describe("On-chain transaction hash for verification (Phase 2, required when env_keys changes)")})).transform(e=>{let{cvmId:t}=ye.parse(e);return{cvmId:t,request:{encrypted_env:e.encrypted_env,env_keys:e.env_keys,compose_hash:e.compose_hash,transaction_hash:e.transaction_hash},_raw:e}}),uk=We.object({status:We.literal("in_progress"),message:We.string(),correlation_id:We.string(),allowed_envs_changed:We.boolean()}),pk=We.object({status:We.literal("precondition_required"),message:We.string(),compose_hash:We.string(),app_id:We.string(),device_id:We.string(),kms_info:mo}),fk=We.union([uk,pk]),{action:lk,safeAction:dk}=X(fk,async(e,t)=>{let r=mk.parse(t);try{return await e.patch(`/cvms/${r.cvmId}/envs`,r.request)}catch(o){if(o instanceof Nr&&o.status===465){let n=o.detail;if(n&&typeof n=="object"){let s=n;return{status:"precondition_required",message:s.message||"Compose hash verification required",compose_hash:s.compose_hash,app_id:s.app_id,device_id:s.device_id,kms_info:s.kms_info}}}throw o}}),hk=Lr(zr.extend({docker_compose_file:xt.string().describe("Docker Compose YAML content"),compose_hash:xt.string().optional().describe("Compose hash for verification (Phase 2, contract-owned KMS only)"),transaction_hash:xt.string().optional().describe("On-chain transaction hash for verification (Phase 2, contract-owned KMS only)")})).transform(e=>{let{cvmId:t}=ye.parse(e);return{cvmId:t,request:{docker_compose_file:e.docker_compose_file,compose_hash:e.compose_hash,transaction_hash:e.transaction_hash},_raw:e}}),gk=xt.object({status:xt.literal("in_progress"),message:xt.string(),correlation_id:xt.string()}),yk=xt.object({status:xt.literal("precondition_required"),message:xt.string(),compose_hash:xt.string(),app_id:xt.string(),device_id:xt.string(),kms_info:mo}),bk=xt.union([gk,yk]),{action:xk,safeAction:wk}=X(bk,async(e,t)=>{let r=hk.parse(t),o={"Content-Type":"text/yaml"};r.request.compose_hash&&(o["X-Compose-Hash"]=r.request.compose_hash),r.request.transaction_hash&&(o["X-Transaction-Hash"]=r.request.transaction_hash);try{return await e.patch(`/cvms/${r.cvmId}/docker-compose`,r.request.docker_compose_file,{headers:o})}catch(n){if(n instanceof Nr&&n.status===465){let s=n.detail;if(s&&typeof s=="object"){let i=s;return{status:"precondition_required",message:i.message||"Compose hash verification required",compose_hash:i.compose_hash,app_id:i.app_id,device_id:i.device_id,kms_info:i.kms_info}}}throw n}}),vk=Lr(zr.extend({pre_launch_script:wt.string().describe("Pre-launch script content (shell script)"),compose_hash:wt.string().optional().describe("Compose hash for verification (Phase 2, contract-owned KMS only)"),transaction_hash:wt.string().optional().describe("On-chain transaction hash for verification (Phase 2, contract-owned KMS only)")})).transform(e=>{let{cvmId:t}=ye.parse(e);return{cvmId:t,request:{pre_launch_script:e.pre_launch_script,compose_hash:e.compose_hash,transaction_hash:e.transaction_hash},_raw:e}}),Ck=wt.object({status:wt.literal("in_progress"),message:wt.string(),correlation_id:wt.string()}),Ek=wt.object({status:wt.literal("precondition_required"),message:wt.string(),compose_hash:wt.string(),app_id:wt.string(),device_id:wt.string(),kms_info:mo}),kk=wt.union([Ck,Ek]),{action:Sk,safeAction:_k}=X(kk,async(e,t)=>{let r=vk.parse(t),o={"Content-Type":"text/plain"};r.request.compose_hash&&(o["X-Compose-Hash"]=r.request.compose_hash),r.request.transaction_hash&&(o["X-Transaction-Hash"]=r.request.transaction_hash);try{return await e.patch(`/cvms/${r.cvmId}/pre-launch-script`,r.request.pre_launch_script,{headers:o})}catch(n){if(n instanceof Nr&&n.status===465){let s=n.detail;if(s&&typeof s=="object"){let i=s;return{status:"precondition_required",message:i.message||"Compose hash verification required",compose_hash:i.compose_hash,app_id:i.app_id,device_id:i.device_id,kms_info:i.kms_info}}}throw n}}),Ak=ye,{action:Pk,safeAction:Tk}=X(Ik.string(),async(e,t)=>{let{cvmId:r}=Ak.parse(t);return await e.get(`/cvms/${r}/pre-launch-script`)}),$k=qx.object({kms_id:qx.string().min(1,"KMS ID is required")}),{action:Rk,safeAction:Bk}=X(mo,async(e,t)=>{let r=$k.parse(t);return await e.get(`/kms/${r.kms_id}`)}),Fk=Dr.object({page:Dr.number().int().min(1).optional(),page_size:Dr.number().int().min(1).optional(),is_onchain:Dr.boolean().optional()}).strict(),Mk=Dr.object({items:Dr.array(mo),total:Dr.number(),page:Dr.number(),page_size:Dr.number(),pages:Dr.number()}).strict(),{action:Dk,safeAction:gd}=X(Mk,async(e,t)=>{let r=Fk.parse(t??{});return await e.get("/kms",{params:r})}),Nk=_i.object({kms:_i.string().min(1,"KMS ID or slug is required"),app_id:_i.string().refine(e=>e.length===40||e.startsWith("0x")&&e.length===42,"App ID must be exactly 40 characters or 42 characters with 0x prefix")}).strict(),zk=_i.object({public_key:_i.string(),signature:_i.string()}).strict(),{action:Lk,safeAction:yd}=X(zk,async(e,t)=>{let r=Nk.parse(t);return await e.get(`/kms/${r.kms}/pubkey/${r.app_id}`)}),Ok=qn.object({counts:qn.number().int().min(1).max(20).optional().default(1)}).strict(),Uk=qn.object({app_ids:qn.array(qn.object({app_id:qn.string(),nonce:qn.number().int().min(0)}))}).strict(),{action:Hk,safeAction:jk}=X(Uk,async(e,t)=>{let r=Ok.parse(t??{}),o=new URLSearchParams;return o.append("counts",r.counts.toString()),await e.get(`/kms/phala/next_app_id?${o.toString()}`)}),Gk=ye,{action:qk,safeAction:Vk}=X(Cp,async(e,t)=>{let{cvmId:r}=Gk.parse(t);return await e.post(`/cvms/${r}/start`)}),Kk=ye,{action:Wk,safeAction:Jk}=X(Cp,async(e,t)=>{let{cvmId:r}=Kk.parse(t);return await e.post(`/cvms/${r}/stop`)}),Zk=ye,{action:Yk,safeAction:Xk}=X(Cp,async(e,t)=>{let{cvmId:r}=Zk.parse(t);return await e.post(`/cvms/${r}/shutdown`)}),eS=Lr(zr.extend({force:Qk.boolean().optional()})),{action:tS,safeAction:rS}=X(Cp,async(e,t)=>{let r=eS.parse(t),{cvmId:o}=ye.parse(r),{force:n=!1}=r;return await e.post(`/cvms/${o}/restart`,{force:n})}),nS=ye,{action:sS,safeAction:iS}=X(oS.void(),async(e,t)=>{let{cvmId:r}=nS.parse(t);await e.delete(`/cvms/${r}`)}),aS=re.object({name:re.string(),mount_point:re.string(),total_size:re.number(),free_size:re.number()}),cS=re.object({os_name:re.string(),os_version:re.string(),kernel_version:re.string(),cpu_model:re.string(),num_cpus:re.number(),total_memory:re.number(),available_memory:re.number(),used_memory:re.number(),free_memory:re.number(),total_swap:re.number(),used_swap:re.number(),free_swap:re.number(),uptime:re.number(),loadavg_one:re.number(),loadavg_five:re.number(),loadavg_fifteen:re.number(),disks:re.array(aS)}),mS=re.object({is_online:re.boolean(),is_public:re.boolean().default(!1),error:re.string().nullable(),sysinfo:cS.nullable(),status:re.string().nullable(),in_progress:re.boolean().default(!1),boot_progress:re.string().nullable(),boot_error:re.string().nullable()}),uS=ye,{action:pS,safeAction:fS}=X(mS,async(e,t)=>{let{cvmId:r}=uS.parse(t);return await e.get(`/cvms/${r}/stats`)}),lS=Br.object({app:Br.string(),instance:Br.string()}),dS=Br.object({is_online:Br.boolean(),is_public:Br.boolean().default(!0),error:Br.string().nullable(),internal_ip:Br.string().nullable(),latest_handshake:Br.string().nullable(),public_urls:Br.array(lS).nullable()}),hS=ye,{action:gS,safeAction:yS}=X(dS,async(e,t)=>{let{cvmId:r}=hS.parse(t);return await e.get(`/cvms/${r}/network`)}),xS=ye,{action:wS,safeAction:vS}=X(bS.string(),async(e,t)=>{let{cvmId:r}=xS.parse(t);return await e.get(`/cvms/${r}/docker-compose.yml`)}),CS=ke.object({id:ke.string(),names:ke.array(ke.string()),image:ke.string(),image_id:ke.string(),command:ke.string().nullable().optional(),created:ke.number(),state:ke.string(),status:ke.string(),log_endpoint:ke.string().nullable()}),ES=ke.object({is_online:ke.boolean(),is_public:ke.boolean().default(!0),error:ke.string().nullable(),docker_compose_file:ke.string().nullable(),manifest_version:ke.number().nullable(),version:ke.string().nullable(),runner:ke.string().nullable(),features:ke.array(ke.string()).nullable(),containers:ke.array(CS).nullable()}),kS=ye,{action:SS,safeAction:_S}=X(ES,async(e,t)=>{let{cvmId:r}=kS.parse(t);return await e.get(`/cvms/${r}/composition`)}),IS=L.object({common_name:L.string().nullable(),organization:L.string().nullable(),country:L.string().nullable(),state:L.string().nullable(),locality:L.string().nullable()}),AS=L.object({common_name:L.string().nullable(),organization:L.string().nullable(),country:L.string().nullable()}),PS=L.object({subject:IS,issuer:AS,serial_number:L.string(),not_before:L.string(),not_after:L.string(),version:L.string(),fingerprint:L.string(),signature_algorithm:L.string(),sans:L.array(L.string()).nullable(),is_ca:L.boolean(),position_in_chain:L.number().nullable(),quote:L.string().nullable(),app_id:L.string().nullable().optional(),cert_usage:L.string().nullable().optional()}),TS=L.object({imr:L.number(),event_type:L.number(),digest:L.string(),event:L.string(),event_payload:L.string()}),$S=L.object({mrtd:L.string(),rootfs_hash:L.string().nullable().optional(),rtmr0:L.string(),rtmr1:L.string(),rtmr2:L.string(),rtmr3:L.string(),event_log:L.array(TS),app_compose:L.string()}),RS=L.object({name:L.string().nullable(),is_online:L.boolean(),is_public:L.boolean().default(!0),error:L.string().nullable(),app_certificates:L.array(PS).nullable(),tcb_info:$S.nullable(),compose_file:L.string().nullable()}),BS=ye,{action:FS,safeAction:MS}=X(RS,async(e,t)=>{let{cvmId:r}=BS.parse(t);return await e.get(`/cvms/${r}/attestation`)}),DS=Lr(zr.extend({vcpu:Si.number().optional(),memory:Si.number().optional(),disk_size:Si.number().optional(),instance_type:Si.string().optional(),allow_restart:Si.boolean().optional()})),{action:NS,safeAction:zS}=X(Si.void(),async(e,t)=>{let r=DS.parse(t),{cvmId:o}=ye.parse(r),{...n}=r;await e.patch(`/cvms/${o}/resources`,n)}),LS=Lr(zr.extend({public_sysinfo:Vx.boolean(),public_logs:Vx.boolean()})),{action:OS,safeAction:US}=X(o1,async(e,t)=>{let r=LS.parse(t),{cvmId:o}=ye.parse(r),{public_sysinfo:n,public_logs:s}=r;return await e.patch(`/cvms/${o}/visibility`,{public_sysinfo:n,public_logs:s})}),Kx=ot.object({name:ot.string(),os_image_hash:ot.string().nullable(),is_current:ot.boolean()}),HS=ot.object({version:ot.union([ot.tuple([ot.number(),ot.number(),ot.number(),ot.number()]),ot.tuple([ot.number(),ot.number(),ot.number()])]),prod:Kx.nullable(),dev:Kx.nullable()}),jS=ot.array(HS),GS=ye,{action:qS,safeAction:VS}=X(jS,async(e,t)=>{let{cvmId:r}=GS.parse(t);return await e.get(`/cvms/${r}/available-os-images`)}),KS=Lr(zr.extend({os_image_name:a1.string().min(1,"OS image name is required")})),{action:WS,safeAction:JS}=X(a1.void(),async(e,t)=>{let r=KS.parse(t),{cvmId:o}=ye.parse(r),{os_image_name:n}=r;await e.patch(`/cvms/${o}/os-image`,{os_image_name:n})}),ZS=Rr.object({id:Rr.string().optional(),instance_id:Rr.string().optional(),name:Rr.string(),status:Rr.string(),uptime:Rr.string().optional(),exited_at:Rr.string().optional(),boot_progress:Rr.string().optional(),boot_error:Rr.string().optional(),shutdown_progress:Rr.string().optional()}),YS=ye,{action:XS,safeAction:QS}=X(ZS,async(e,t)=>{let{cvmId:r}=YS.parse(t);return await e.get(`/cvms/${r}/state`)});function vt(e={}){let t=fE(e),r={getCurrentUser:dE,safeGetCurrentUser:Vn,getAvailableNodes:vE,safeGetAvailableNodes:Oa,listAllInstanceTypeFamilies:_E,safeListAllInstanceTypeFamilies:IE,listFamilyInstanceTypes:AE,safeListFamilyInstanceTypes:PE,listWorkspaces:RE,safeListWorkspaces:BE,getWorkspace:FE,safeGetWorkspace:ME,getCvmInfo:UE,safeGetCvmInfo:Yt,getCvmList:GE,safeGetCvmList:Ii,provisionCvm:WE,safeProvisionCvm:ld,commitCvmProvision:ZE,safeCommitCvmProvision:Ep,getCvmComposeFile:rk,safeGetCvmComposeFile:Ua,provisionCvmComposeFileUpdate:sk,safeProvisionCvmComposeFileUpdate:dd,commitCvmComposeFileUpdate:ck,safeCommitCvmComposeFileUpdate:hd,updateCvmEnvs:lk,safeUpdateCvmEnvs:dk,updateDockerCompose:xk,safeUpdateDockerCompose:wk,updatePreLaunchScript:Sk,safeUpdatePreLaunchScript:_k,getCvmPreLaunchScript:Pk,safeGetCvmPreLaunchScript:Tk,startCvm:qk,safeStartCvm:Vk,stopCvm:Wk,safeStopCvm:Jk,shutdownCvm:Yk,safeShutdownCvm:Xk,restartCvm:tS,safeRestartCvm:rS,deleteCvm:sS,safeDeleteCvm:iS,getCvmStats:pS,safeGetCvmStats:fS,getCvmNetwork:gS,safeGetCvmNetwork:yS,getCvmDockerCompose:wS,safeGetCvmDockerCompose:vS,getCvmContainersStats:SS,safeGetCvmContainersStats:_S,getCvmAttestation:FS,safeGetCvmAttestation:MS,updateCvmResources:NS,safeUpdateCvmResources:zS,updateCvmVisibility:OS,safeUpdateCvmVisibility:US,getAvailableOsImages:qS,safeGetAvailableOsImages:VS,updateOsImage:WS,safeUpdateOsImage:JS,getKmsInfo:Rk,safeGetKmsInfo:Bk,getKmsList:Dk,safeGetKmsList:gd,getAppEnvEncryptPubKey:Lk,safeGetAppEnvEncryptPubKey:yd,nextAppIds:Hk,safeNextAppIds:jk,getCvmState:XS,safeGetCvmState:QS};return t.extend(r)}function wp(e){if(typeof e=="string"){if(e.startsWith("0x")&&ce(e))return e;if(ce(`0x${e}`))return`0x${e}`}throw new Error(`Invalid hex value: ${e}`)}var c1=class extends Error{constructor(e,t,r){super(e),this.code=t,this.details=r,this.name="NetworkError"}};var Fr=class extends Error{constructor(e,t,r){super(e),this.hash=t,this.details=r,this.name="TransactionError"}};async function e_(e,t){try{let r=await e.walletClient.getChainId();return{isCorrectNetwork:r===t,currentChainId:r}}catch(r){throw new c1(`Failed to check network status: ${r instanceof Error?r.message:"Unknown error"}`,"NETWORK_CHECK_FAILED",r)}}async function t_(e,t,r){try{let o=await e.getBalance({address:t});return{address:t,balance:o,sufficient:r?o>=r:!0,required:r}}catch(o){throw new c1(`Failed to check balance: ${o instanceof Error?o.message:"Unknown error"}`,"BALANCE_CHECK_FAILED",o)}}async function r_(e,t,r={}){let{timeout:o=6e4,pollingInterval:n=2e3,confirmations:s=1}=r,i=Date.now();return new Promise((a,c)=>{let m=async()=>{try{let u=await e.getTransactionReceipt({hash:t});if(u){if(s>1&&await e.getBlockNumber()-u.blockNumber+1n<BigInt(s)){if(Date.now()-i>=o){c(new Fr(`Transaction confirmation timeout after ${o}ms`,t));return}setTimeout(m,n);return}a(u)}else{if(Date.now()-i>=o){c(new Fr(`Transaction receipt timeout after ${o}ms`,t));return}setTimeout(m,n)}}catch(u){if(Date.now()-i>=o){c(new Fr(`Transaction receipt timeout after ${o}ms`,t,u));return}setTimeout(m,n)}};m()})}async function m1(e,t){let{targetChainId:r,minBalance:o,requiredAddress:n}=t,s=await e_(e,r),i=await t_(e.publicClient,e.address,o),a=n?e.address.toLowerCase()===n.toLowerCase():!0;return{networkValid:s.isCorrectNetwork,balanceValid:i.sufficient,addressValid:a,details:{currentChainId:s.currentChainId,balance:i.balance,address:e.address}}}function bd(){let e={state:"idle"},t,r,o=a=>{e={...e,...a}},n=()=>{t&&(clearTimeout(t),t=void 0),r&&(r.abort(),r=void 0),e={state:"idle"}},s=()=>{r&&r.abort(),t&&(clearTimeout(t),t=void 0),o({state:"error",aborted:!0,error:"Transaction aborted by user"})};return{get status(){return{...e}},get isIdle(){return e.state==="idle"},get isSubmitting(){return e.state==="submitting"},get isPending(){return e.state==="pending"},get isSuccess(){return e.state==="success"},get isError(){return e.state==="error"},get isTimeout(){return e.state==="timeout"},get isAborted(){return e.aborted===!0},get isComplete(){return["success","error","timeout"].includes(e.state)},abort:s,reset:n,execute:async(a,c,m,u={})=>{let{timeout:f=6e4,confirmations:p=1,onSubmitted:d,onConfirmed:h,onError:g,signal:b}=u;try{if(n(),r=new AbortController,b){if(b.aborted)throw new Fr("Operation was aborted before execution");b.addEventListener("abort",()=>{s()})}if(o({state:"submitting",startTime:Date.now(),error:void 0,hash:void 0,receipt:void 0,aborted:!1}),r.signal.aborted)throw new Fr("Transaction aborted");let y=await a(c,...m);if(r.signal.aborted)throw new Fr("Transaction aborted after submission",y);o({state:"pending",hash:y,submitTime:Date.now()}),d?.(y),f>0&&(t=setTimeout(()=>{e.state==="pending"&&!r?.signal.aborted&&o({state:"timeout",error:`Transaction timeout after ${f}ms`})},f));let v=await Promise.race([r_(c.publicClient,y,{timeout:f,confirmations:p}),new Promise((k,_)=>{r?.signal.addEventListener("abort",()=>{_(new Fr("Transaction aborted while waiting for receipt",y))})})]);t&&(clearTimeout(t),t=void 0);let C=v.status==="success";if(o({state:C?"success":"error",receipt:v,confirmTime:Date.now(),error:C?void 0:"Transaction failed on-chain"}),C)h?.(v);else{let k=new Fr("Transaction failed on-chain",y,v);throw g?.(k,y),k}return{hash:y,receipt:v,success:C}}catch(y){let v=y instanceof Fr?y:new Fr(`Transaction execution failed: ${y instanceof Error?y.message:"Unknown error"}`,e.hash,y);throw o({state:"error",error:v.message}),g?.(v,e.hash),v}}}}async function u1(e,t,r,o={},n={}){let{maxRetries:s=3,initialDelay:i=1e3,maxDelay:a=1e4,backoffFactor:c=2,retryCondition:m=()=>!0}=n,u,f=i;for(let p=0;p<=s;p++)try{return await bd().execute(e,t,r,o)}catch(d){if(u=d instanceof Error?d:new Error(String(d)),p===s||!m(u))break;await new Promise(h=>setTimeout(h,f)),f=Math.min(f*c,a)}throw u}var p1=[{inputs:[{name:"deployer",type:"address"},{name:"disableUpgrades",type:"bool"},{name:"allowAnyDevice",type:"bool"},{name:"deviceId",type:"bytes32"},{name:"composeHash",type:"bytes32"}],name:"deployAndRegisterApp",outputs:[{name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"appId",type:"address",indexed:!0},{name:"deployer",type:"address",indexed:!0}],name:"AppDeployedViaFactory",type:"event",anonymous:!1},{inputs:[{name:"appId",type:"address",indexed:!1}],name:"AppRegistered",type:"event",anonymous:!1}],o_=$e.object({chain:$e.unknown().optional(),rpcUrl:$e.string().optional(),kmsContractAddress:$e.string(),privateKey:$e.string().optional(),walletClient:$e.unknown().optional(),publicClient:$e.unknown().optional(),allowAnyDevice:$e.boolean().optional().default(!1),deviceId:$e.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),composeHash:$e.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),disableUpgrades:$e.boolean().optional().default(!1),skipPrerequisiteChecks:$e.boolean().optional().default(!1),minBalance:$e.string().optional()}).passthrough(),n_=o_.refine(e=>{let t=!!e.privateKey,r=!!e.walletClient;return t!==r},{message:"Either 'privateKey' or 'walletClient' must be provided, but not both",path:["privateKey","walletClient"]}).refine(e=>{let t=!!e.publicClient,r=!!e.walletClient,o=!!e.chain;return t&&r?!0:o},{message:"Chain is required when publicClient or walletClient is not provided",path:["chain"]}),s_=$e.object({appId:$e.string(),appAuthAddress:$e.string(),deployer:$e.string(),transactionHash:$e.string(),blockNumber:$e.bigint().optional(),gasUsed:$e.bigint().optional()}).passthrough();function i_(e,t,r){try{let o=mr({abi:p1,eventName:"AppDeployedViaFactory",logs:e.logs,strict:!1});if(o.length===0)throw e.status==="reverted"?new Error(`Transaction failed: ${e.transactionHash}`):new Error(`Transaction ${e.transactionHash} has no AppDeployedViaFactory events. The deployment failed. Status: ${e.status}. Found ${e.logs.length} logs.`);let n=o[0];if(!n?.args)throw new Error("Event has no data");let{appId:s,deployer:i}=n.args;if(!s)throw new Error("Event missing appId");return{appId:s,appAuthAddress:s,deployer:t,transactionHash:e.transactionHash,blockNumber:e.blockNumber,gasUsed:e.gasUsed}}catch(o){throw o instanceof Error?o:new Error(`Parse failed: ${o}`)}}async function a_(e,t){let r=n_.parse(e),{chain:o,rpcUrl:n,kmsContractAddress:s,privateKey:i,walletClient:a,publicClient:c,allowAnyDevice:m=!1,deviceId:u="0000000000000000000000000000000000000000000000000000000000000000",composeHash:f="0000000000000000000000000000000000000000000000000000000000000000",disableUpgrades:p=!1,skipPrerequisiteChecks:d=!1,minBalance:h,timeout:g=12e4,retryOptions:b,signal:y,onTransactionStateChange:v,onTransactionSubmitted:C,onTransactionConfirmed:k}=r,_="0000000000000000000000000000000000000000000000000000000000000000",A=u!==_&&u!=="0x"+_?!1:m,R,N,M,U;if(i){let ue=Ba(i);if(c){if(typeof c!="object"||!c)throw new Error("publicClient is invalid");R=c}else{if(!o)throw new Error("Chain required for publicClient");R=jn({chain:o,transport:ao(n)})}if(!o)throw new Error("Chain required for walletClient");N=Ra({account:ue,chain:o,transport:ao(n)}),M=ue.address,U=o.id}else if(a){if(typeof a!="object"||!a)throw new Error("walletClient is invalid");if(N=a,c){if(typeof c!="object"||!c)throw new Error("publicClient is invalid");R=c}else{if(!o)throw new Error("Chain required for publicClient");R=jn({chain:o,transport:ao(n)})}if(!N.account?.address)throw new Error("WalletClient needs an account");M=N.account.address,o?U=o.id:U=await N.getChainId()}else throw new Error("Need privateKey or walletClient");let G={publicClient:R,walletClient:N,address:M,chainId:U},q=bd();if(v&&typeof v=="function"){let ue=()=>{v(q.status),q.isComplete||setTimeout(ue,100)};setTimeout(ue,10)}if(!d){let ue={targetChainId:U,minBalance:h?Un(h):Un("0.001")},yo=await m1(G,ue);if(!yo.networkValid)throw new Error(`Wrong network. Need chain ${ue.targetChainId}, got ${yo.details.currentChainId}`);if(!yo.balanceValid){let Qt=Number(ue.minBalance)/1e18,ef=Number(yo.details.balance)/1e18;throw new Error(`Not enough ETH. Need ${Qt}, have ${ef.toFixed(6)}`)}}let me=wp(u),Ae=wp(f),qe=`0x${me.slice(2).padEnd(64,"0")}`,Bt=`0x${Ae.slice(2).padEnd(64,"0")}`,z=async ue=>{try{let Qt=await ue.publicClient.getCode({address:s});if(!Qt||Qt==="0x")throw new Error(`No contract at ${s}`)}catch(Qt){if(Qt instanceof Error&&Qt.message.includes("No contract at"))throw Qt}let yo={address:s,abi:p1,functionName:"deployAndRegisterApp",args:[ue.address,p,A,qe,Bt],account:ue.walletClient.account||ue.address,chain:o||null};return await ue.walletClient.writeContract(yo)},_e=b?await u1(z,G,[],{timeout:g,confirmations:1,onSubmitted:C,onConfirmed:k,signal:y},b):await q.execute(z,G,[],{timeout:g,confirmations:1,onSubmitted:C,onConfirmed:k,signal:y}),dr=i_(_e.receipt,M,s);return t?.schema===!1?dr:(t?.schema||s_).parse(dr)}async function f1(e,t){try{return{success:!0,data:await a_(e,t)}}catch(r){let o=r instanceof Error?r.message:"Unknown deployment error";return{success:!1,error:{isRequestError:!0,message:o,status:500,detail:o}}}}var l1=[{inputs:[{name:"composeHash",type:"bytes32"}],name:"addComposeHash",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"composeHash",type:"bytes32",indexed:!1}],name:"ComposeHashAdded",type:"event",anonymous:!1}],c_=Ee.object({chain:Ee.unknown().optional(),rpcUrl:Ee.string().optional(),appId:Ee.string(),composeHash:Ee.string(),privateKey:Ee.string().optional(),walletClient:Ee.unknown().optional(),publicClient:Ee.unknown().optional(),skipPrerequisiteChecks:Ee.boolean().optional().default(!1),minBalance:Ee.string().optional(),timeout:Ee.number().optional().default(12e4),retryOptions:Ee.unknown().optional(),signal:Ee.unknown().optional(),onTransactionStateChange:Ee.function().optional(),onTransactionSubmitted:Ee.function().optional(),onTransactionConfirmed:Ee.function().optional()}).passthrough().refine(e=>{let t=!!e.privateKey,r=!!e.walletClient;return t!==r},{message:"Either 'privateKey' or 'walletClient' must be provided, but not both",path:["privateKey","walletClient"]}).refine(e=>{let t=!!e.publicClient,r=!!e.walletClient,o=!!e.chain;return t&&r?!0:o},{message:"Chain is required when publicClient or walletClient is not provided",path:["chain"]}),m_=Ee.object({composeHash:Ee.string(),appId:Ee.string(),transactionHash:Ee.string(),blockNumber:Ee.bigint().optional(),gasUsed:Ee.bigint().optional()}).passthrough();function u_(e,t,r,o){console.log(e.logs);try{let n=mr({abi:l1,eventName:"ComposeHashAdded",logs:e.logs,strict:!1});if(n.length>0){let s=n[0];s?.args?.composeHash!==t&&console.warn(`Event compose hash (${s?.args?.composeHash}) does not match expected (${t})`)}return{composeHash:t,appAuthAddress:r,appId:o,transactionHash:e.transactionHash,blockNumber:e.blockNumber,gasUsed:e.gasUsed}}catch(n){return console.warn("Failed to parse ComposeHashAdded event, returning basic result:",n),{composeHash:t,appAuthAddress:r,appId:o,transactionHash:e.transactionHash,blockNumber:e.blockNumber,gasUsed:e.gasUsed}}}async function p_(e,t){let r=c_.parse(e),{chain:o,rpcUrl:n,appId:s,composeHash:i,privateKey:a,walletClient:c,publicClient:m,timeout:u=12e4,retryOptions:f,signal:p,onTransactionStateChange:d,onTransactionSubmitted:h,onTransactionConfirmed:g,skipPrerequisiteChecks:b=!1,minBalance:y}=r,v,C,k,_,I=s.startsWith("0x")?s:`0x${s}`;if(a){let q=Ba(a);if(m)v=m;else{if(!o)throw new Error("Chain required when creating publicClient");v=jn({chain:o,transport:ao(n)})}if(!o)throw new Error("Chain required when creating walletClient");C=Ra({account:q,chain:o,transport:ao(n)}),k=q.address,_=o.id}else if(c){if(C=c,m)v=m;else{if(!o)throw new Error("Chain required when creating publicClient");v=jn({chain:o,transport:ao(n)})}if(!C.account?.address)throw new Error("WalletClient must have an account with address");k=C.account.address,_=o?o.id:await C.getChainId()}else throw new Error("Either privateKey or walletClient must be provided");let A={publicClient:v,walletClient:C,address:k,chainId:_},R=bd();if(d&&typeof d=="function"){let q=()=>{d(R.status),R.isComplete||setTimeout(q,100)};setTimeout(q,10)}if(!b){let q={targetChainId:_,minBalance:y?Un(y):Un("0.001")},me=await m1(A,q);if(!me.networkValid)throw new Error(`Network mismatch: Expected chain ${q.targetChainId}, but wallet is on chain ${me.details.currentChainId}`);if(!me.balanceValid){let Ae=Number(q.minBalance)/1e18,qe=Number(me.details.balance)/1e18;throw new Error(`Insufficient balance: Required ${Ae} ETH, but account has ${qe.toFixed(6)} ETH`)}}let N=async q=>await q.walletClient.writeContract({address:I,abi:l1,functionName:"addComposeHash",args:[wp(i)],account:q.walletClient.account||q.address,chain:o||null}),M=f?await u1(N,A,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:p},f):await R.execute(N,A,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:p}),U=u_(M.receipt,wp(i),I,s);return t?.schema===!1?U:(t?.schema||m_).parse(U)}async function d1(e,t){try{return{success:!0,data:await p_(e,t)}}catch(r){let o=r instanceof Error?r.message:"Unknown blockchain error";return{success:!1,error:{isRequestError:!0,message:o,status:500,detail:o}}}}var eQ=ki.object({target:ki.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),interval:ki.number().min(5).max(30).default(5).describe("Polling interval in seconds"),timeout:ki.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),maxRetries:ki.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),retryDelay:ki.number().min(0).default(5e3).describe("Delay between retries in milliseconds")});var f_=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function l_(e){let t={},r=e.toString();r=r.replace(/\r\n?/gm,`
70
- `);let o;for(;(o=f_.exec(r))!=null;){let n=o[1];if(!n)continue;let s=o[2]||"";s=s.trim();let i=s[0];s=s.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),i==='"'&&(s=s.replace(/\\n/g,`
71
- `),s=s.replace(/\\r/g,"\r")),t[n]=s}return t}function h1(e){let t=l_(e),r=[];for(let[o,n]of Object.entries(t))r.push({key:o,value:n});return r}import ct from"chalk";import g_ from"ora";function y_(e,t){let r=e.split(/\s+/),o=[],n="";for(let s of r){let i=n.length===0?s:`${n} ${s}`;i.length<=t?n=i:(n.length>0&&o.push(n),n=s)}return n.length>0&&o.push(n),o}function b_(e,t){if(e.length<=t)return[e];let r=[],o=0;for(;o<e.length;)r.push(e.slice(o,o+t)),o+=t;return r}function g1(e,t){let r=[];for(let o of e.split(`
72
- `)){if(o.length<=t){r.push(o);continue}if(o.indexOf(" ")===-1){r.push(...b_(o,t));continue}let n=y_(o,t);r.push(...n)}if(r.length===0){let o=e.trim();r.push(o)}return r}var l={error:(e,...t)=>{ut()||(process.stderr.write(`${ct.red("\u2717")} ${ct.red(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
73
- `))},warn:(e,...t)=>{ut()||(process.stderr.write(`${ct.yellow("\u26A0")} ${ct.yellow(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
74
- `))},info:(e,...t)=>{ut()||(process.stderr.write(`${ct.blue("\u2139")} ${ct.blue(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
75
- `))},success:(e,...t)=>{ut()||(process.stderr.write(`${ct.green("\u2713")} ${ct.green(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
76
- `))},debug:(e,...t)=>{ut()||process.env.DEBUG&&(process.stderr.write(`${ct.gray("\u{1F50D}")} ${ct.gray(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
77
- `))},table:(e,t)=>{if(!ut()){if(e.length===0){console.log(ct.yellow("No data to display"));return}if(t){let r;typeof t[0]=="string"?r=t.map(i=>({key:i,header:i})):r=t;let o={};for(let i of r){let a=i.header||String(i.key);o[String(i.key)]=a.length}for(let i of e)for(let a of r){let c=String(typeof a.key=="string"&&!(a.key in i)?"":i[String(a.key)]??"");o[String(a.key)]=Math.max(o[String(a.key)],c.length)}let n=[];for(let i of r){let a=i.header||String(i.key);n.push(ct.bold(a.padEnd(o[String(i.key)])))}console.log(n.join(" "));let s=[];for(let i of r)s.push("-".repeat(o[String(i.key)]));console.log(s.join(" "));for(let i of e){let a=[];for(let c of r){let m=String(typeof c.key=="string"&&!(c.key in i)?"":i[String(c.key)]??"");a.push(m.padEnd(o[String(c.key)]))}console.log(a.join(" "))}}else{let r=e[0],o=Object.keys(r),n={};for(let a of o)n[a]=a.length;for(let a of e)for(let c of o){let m=String(a[c]??"");n[c]=Math.max(n[c],m.length)}let s=[];for(let a of o)s.push(ct.bold(a.padEnd(n[a])));console.log(s.join(" "));let i=[];for(let a of o)i.push("-".repeat(n[a]));console.log(i.join(" "));for(let a of e){let c=[];for(let m of o){let u=String(a[m]??"");c.push(u.padEnd(n[m]))}console.log(c.join(" "))}}}},keyValueTable:(e,t)=>{if(ut())return;let{borderStyle:r="single",keyColor:o=ct.blue,valueColor:n=ct.white,maxWidth:s=process.stdout.columns||80}=t||{},a={single:{topLeft:"\u250C",topRight:"\u2510",bottomLeft:"\u2514",bottomRight:"\u2518",horizontal:"\u2500",vertical:"\u2502",cross:"\u253C",leftT:"\u251C",rightT:"\u2524"},double:{topLeft:"\u2554",topRight:"\u2557",bottomLeft:"\u255A",bottomRight:"\u255D",horizontal:"\u2550",vertical:"\u2551",cross:"\u256C",leftT:"\u2560",rightT:"\u2563"},rounded:{topLeft:"\u256D",topRight:"\u256E",bottomLeft:"\u2570",bottomRight:"\u256F",horizontal:"\u2500",vertical:"\u2502",cross:"\u253C",leftT:"\u251C",rightT:"\u2524"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomLeft:"\u2517",bottomRight:"\u251B",horizontal:"\u2501",vertical:"\u2503",cross:"\u254B",leftT:"\u2523",rightT:"\u252B"},none:{topLeft:"",topRight:"",bottomLeft:"",bottomRight:"",horizontal:"",vertical:"",cross:"",leftT:"",rightT:""}}[r],c=0,m=0;for(let[h,g]of Object.entries(e)){c=Math.max(c,h.length);let b=String(g??"");m=Math.max(m,b.length)}let u=4,f=1,p=s-u-f;if(c+m>p){let h=c/(c+m);c=Math.floor(p*h),m=p-c}let d=c+m+u+f;r!=="none"&&console.log(a.topLeft+a.horizontal.repeat(d-2)+a.topRight);for(let[h,g]of Object.entries(e)){let b=h,y=String(g??""),v=g1(b,c),C=g1(y,m),k=Math.max(v.length,C.length);for(;v.length<k;)v.push("");for(;C.length<k;)C.push("");for(let _=0;_<k;_++){let I=v[_].padEnd(c),A=C[_].padEnd(m);console.log(r!=="none"?`${a.vertical} ${o(I)} ${a.vertical} ${n(A)} ${a.vertical}`:`${o(I)} : ${n(A)}`)}}r!=="none"&&console.log(a.bottomLeft+a.horizontal.repeat(d-2)+a.bottomRight)},break:()=>{ut()||process.stderr.write(`
78
- `)},startSpinner:e=>{if(ut())return{stop:()=>{}};let t=g_(e).start();return{stop:(r=!0,o)=>{o&&(t.text=o),r?t.succeed():t.fail()}}},logDetailedError(e,t){if(ut())return;let r=t?`[${t}] `:"",o=s=>s!==null&&typeof s=="object"&&"isRequestError"in s&&s.isRequestError===!0&&"status"in s&&"message"in s&&"data"in s,n=s=>s!==null&&typeof s=="object"&&"issues"in s&&Array.isArray(s.issues);if(o(e)){process.stderr.write(`${r}HTTP ${e.status}: ${e.message}
69
+ `,h,g,r1(f.status,f.statusText,f.headers,f._data))}c&&c({request:p,response:f,options:d})}})}get raw(){return this.fetchInstance}on(e,t){this.emitter.on(e,t)}off(e,t){this.emitter.off(e,t)}once(e,t){let r=o=>{t(o),this.emitter.off(e,r)};this.emitter.on(e,r)}async get(e,t){try{return await this.fetchInstance(e,{...t,method:"GET"})}catch(r){let o=this.convertToRequestError(r);throw this.emitError(o)}}async post(e,t,r){try{return await this.fetchInstance(e,{...r,method:"POST",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async put(e,t,r){try{return await this.fetchInstance(e,{...r,method:"PUT",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async patch(e,t,r){try{return await this.fetchInstance(e,{...r,method:"PATCH",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async delete(e,t){try{return await this.fetchInstance(e,{...t,method:"DELETE"})}catch(r){let o=this.convertToRequestError(r);throw this.emitError(o)}}convertToRequestError(e){return e&&typeof e=="object"&&"data"in e?ld.fromFetchError(e):e instanceof Error?ld.fromError(e):new ld("Unknown error occurred",{detail:"Unknown error occurred"})}emitError(e){let t=gE(e);return this.emitter.emit("error",t),t}async safeRequest(e){try{return{success:!0,data:await e()}}catch(t){if(t instanceof Fr)return{success:!1,error:t};let r=this.convertToRequestError(t);return this.emitError(r),{success:!1,error:r}}}async safeGet(e,t){return this.safeRequest(()=>this.get(e,t))}async safePost(e,t,r){return this.safeRequest(()=>this.post(e,t,r))}async safePut(e,t,r){return this.safeRequest(()=>this.put(e,t,r))}async safePatch(e,t,r){return this.safeRequest(()=>this.patch(e,t,r))}async safeDelete(e,t){return this.safeRequest(()=>this.delete(e,t))}extend(e){let t=typeof e=="function"?e(this):e,r=Object.create(this);for(let[o,n]of Object.entries(t))typeof n=="function"&&(r[o]=(...s)=>n(this,...s));return r}};function wE(e={}){return new vE(e)}function m1(e){if(e?.schema!==void 0&&e?.schema!==!1&&(typeof e.schema!="object"||e.schema===null||!("parse"in e.schema)||typeof e.schema.parse!="function"))throw new Error("Invalid schema: must be a Zod schema object, false, or undefined")}function u1(e){if(e?.schema!==void 0&&e?.schema!==!1&&(typeof e.schema!="object"||e.schema===null||!("parse"in e.schema)||typeof e.schema.parse!="function"))return{success:!1,error:{name:"ZodError",message:"Invalid schema: must be a Zod schema object, false, or undefined",issues:[{code:"invalid_type",expected:"object",received:typeof e.schema,path:["schema"],message:"Invalid schema: must be a Zod schema object, false, or undefined"}]}}}function p1(e,t){function r(i,a){return o(i,a)}async function o(i,a){m1(a);let c=await t(i);return a?.schema===!1?c:(a?.schema||e).parse(c)}function n(i,a){return s(i,a)}async function s(i,a){let c=u1(a);if(c)return c;let m=await(async()=>{try{return{success:!0,data:await t(i)}}catch(p){return p&&typeof p=="object"&&"status"in p?{success:!1,error:p}:p&&typeof p=="object"&&"issues"in p?{success:!1,error:p}:{success:!1,error:{name:"Error",message:p instanceof Error?p.message:String(p)}}}})();return m.success?a?.schema===!1?{success:!0,data:m.data}:(a?.schema||e).safeParse(m.data):m}return{action:r,safeAction:n}}function Q(e,t){function r(i,...a){let[c,m]=a;return o(i,c,m)}async function o(i,a,c){m1(c);let m=await t(i,a);return c?.schema===!1?m:(c?.schema||e).parse(m)}function n(i,...a){let[c,m]=a;return s(i,c,m)}async function s(i,a,c){let m=u1(c);if(m)return m;let u=await(async()=>{try{return{success:!0,data:await t(i,a)}}catch(f){return f&&typeof f=="object"&&"status"in f?{success:!1,error:f}:f&&typeof f=="object"&&"issues"in f?{success:!1,error:f}:{success:!1,error:{name:"Error",message:f instanceof Error?f.message:String(f)}}}})();return u.success?c?.schema===!1?{success:!0,data:u.data}:(c?.schema||e).safeParse(u.data):u}return{action:r,safeAction:n}}var CE=Wo.object({username:Wo.string(),email:Wo.string(),credits:Wo.number(),granted_credits:Wo.number(),avatar:Wo.string(),team_name:Wo.string(),team_tier:Wo.string()}).passthrough(),{action:EE,safeAction:An}=p1(CE,async e=>await e.get("/auth/me")),kE={[Vm.id]:Vm,[ea.id]:ea,[Zc.id]:Zc},SE=Jo.object({id:Jo.string(),slug:Jo.string().nullable(),url:Jo.string(),version:Jo.string(),chain_id:Jo.number().nullable(),kms_contract_address:Jo.string().nullable().transform(e=>e),gateway_app_id:Jo.string().nullable().transform(e=>e)}).passthrough(),so=SE.transform(e=>{if(e.chain_id!=null){let t=kE[e.chain_id];if(t)return{...e,chain:t}}return e}),_E=K.object({name:K.string(),is_dev:K.boolean(),version:K.union([K.tuple([K.number(),K.number(),K.number()]),K.tuple([K.number(),K.number(),K.number(),K.number()])]),os_image_hash:K.string().nullable().optional()}).passthrough(),IE=K.object({teepod_id:K.number(),name:K.string(),listed:K.boolean(),resource_score:K.number(),remaining_vcpu:K.number(),remaining_memory:K.number(),remaining_cvm_slots:K.number(),images:K.array(_E),support_onchain_kms:K.boolean().optional(),fmspc:K.string().nullable().optional(),device_id:K.string().nullable().optional(),region_identifier:K.string().nullable().optional(),default_kms:K.string().nullable().optional(),kms_list:K.array(K.string()).default([])}).passthrough(),AE=K.object({max_instances:K.number().nullable().optional(),max_vcpu:K.number().nullable().optional(),max_memory:K.number().nullable().optional(),max_disk:K.number().nullable().optional()}).passthrough(),PE=K.object({tier:K.string(),capacity:AE,nodes:K.array(IE),kms_list:K.array(so)}).passthrough(),{action:TE,safeAction:Ha}=p1(PE,async e=>await e.get("/teepods/available")),f1=ke.object({id:ke.string(),name:ke.string(),description:ke.string(),vcpu:ke.number(),memory_mb:ke.number(),hourly_rate:ke.string(),requires_gpu:ke.boolean(),default_disk_size_gb:ke.number().default(20),family:ke.string().nullable()}).passthrough(),$E=ke.object({name:ke.string(),items:ke.array(f1),total:ke.number()}).strict(),RE=ke.object({result:ke.array($E)}).strict(),BE=ke.object({items:ke.array(f1),total:ke.number(),family:ke.string()}).strict(),FE=ke.object({family:ke.string()}).strict(),{action:ME,safeAction:DE}=Q(RE,async e=>await e.get("/instance-types")),{action:NE,safeAction:zE}=Q(BE,async(e,t)=>{let r=FE.parse(t);return await e.get(`/instance-types/${r.family}`)}),l1=Bt.object({id:Bt.string(),name:Bt.string(),slug:Bt.string().nullable(),tier:Bt.string(),role:Bt.string(),created_at:Bt.string()}).passthrough(),LE=Bt.object({has_more:Bt.boolean(),next_cursor:Bt.string().nullable(),total:Bt.number().nullable()}).passthrough(),UE=Bt.object({data:Bt.array(l1),pagination:LE}).passthrough(),{action:OE,safeAction:HE}=Q(UE,async(e,t)=>{let r=new URLSearchParams;t?.cursor&&r.append("cursor",t.cursor),t?.limit&&r.append("limit",t.limit.toString());let o=r.toString()?`/workspaces?${r.toString()}`:"/workspaces";return await e.get(o)}),{action:jE,safeAction:GE}=Q(l1,async(e,t)=>await e.get(`/workspaces/${t}`)),VE=T.object({id:T.string(),name:T.string(),status:T.string(),uptime:T.string(),app_url:T.string().nullable(),app_id:T.string(),instance_id:T.string().nullable(),configuration:T.any().optional(),exited_at:T.string().nullable(),boot_progress:T.string().nullable(),boot_error:T.string().nullable(),shutdown_progress:T.string().nullable(),image_version:T.string().nullable()}),qE=T.object({id:T.number(),username:T.string()}),yd=T.object({id:T.number(),name:T.string(),region_identifier:T.string().nullable().optional()}),d1=T.object({app:T.string(),instance:T.string()}),KE=T.object({hosted:VE,name:T.string(),managed_user:qE.nullable(),node:yd.nullable(),listed:T.boolean().default(!1),status:T.string(),in_progress:T.boolean().default(!1),dapp_dashboard_url:T.string().nullable(),syslog_endpoint:T.string().nullable(),allow_upgrade:T.boolean().default(!1),project_id:T.string().nullable(),project_type:T.string().nullable(),billing_period:T.string().nullable(),kms_info:so.nullable(),vcpu:T.number().nullable(),memory:T.number().nullable(),disk_size:T.number().nullable(),gateway_domain:T.string().nullable(),public_urls:T.array(d1)}),h1=T.object({id:T.number(),name:T.string(),status:T.string(),in_progress:T.boolean().optional().default(!1),teepod_id:T.number().nullable(),teepod:yd.optional().nullable(),app_id:T.string(),vm_uuid:T.string().nullable(),instance_id:T.string().nullable(),vcpu:T.number(),memory:T.number(),disk_size:T.number(),base_image:T.string().nullable(),encrypted_env_pubkey:T.string().nullable(),listed:T.boolean().optional().default(!1),project_id:T.string().optional().nullable(),project_type:T.string().optional().nullable(),public_sysinfo:T.boolean().optional().default(!1),public_logs:T.boolean().optional().default(!1),dapp_dashboard_url:T.string().optional().nullable(),syslog_endpoint:T.string().optional().nullable(),kms_info:so.optional().nullable(),contract_address:T.string().optional().nullable(),deployer_address:T.string().optional().nullable(),scheduled_delete_at:T.string().optional().nullable(),public_urls:T.array(d1).optional().default([]),gateway_domain:T.string().optional().nullable()}),_p=T.object({id:T.number(),name:T.string(),status:T.string(),teepod_id:T.number(),teepod:yd.optional().nullable(),user_id:T.number().optional().nullable(),app_id:T.string(),vm_uuid:T.string().nullable(),instance_id:T.string().nullable(),app_url:T.string().optional().nullable(),base_image:T.string().nullable(),vcpu:T.number(),memory:T.number(),disk_size:T.number(),manifest_version:T.number().optional().nullable(),version:T.string().optional().nullable(),runner:T.string().optional().nullable(),docker_compose_file:T.string().optional().nullable(),features:T.array(T.string()).optional().nullable(),created_at:T.string(),encrypted_env_pubkey:T.string().nullable()});function Ai(e){return typeof e!="string"||e.length<5||e.length>63?!1:/^[a-zA-Z](?!.*--)([a-zA-Z0-9-]*[a-zA-Z0-9])?$/.test(e)}function g1(e){if(typeof e!="string")return Cp();let t=e;return t=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),t=t.replace(/_/g,"-"),t=t.replace(/[^a-z0-9\s-]/gi,"-").replace(/\s+/g,"-"),t=t.replace(/-+/g,"-").replace(/^-+/,"").replace(/-+$/,""),t.length===0||(/^\d/.test(t)&&(t=`dstack-app-${t}`),t.length<5&&(t=`dstack-app-${t}`),t=t.slice(0,63).replace(/-+$/,""),t.length===0)||!Ai(t)?Cp():t}function Cp(){let e=Date.now().toString(36),t=Math.random().toString(36).substring(2,6);return`dstack-app-${e}-${t}`}var Mr=ki.object({id:ki.string().optional(),uuid:ki.string().regex(/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i,"Invalid UUID format").optional(),app_id:ki.string().optional(),instance_id:ki.string().optional(),name:ki.string().refine(Ai,{message:"Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens"}).optional()}),Dr=e=>e.refine(t=>{let r=t;return!!(r.id||r.uuid||r.app_id||r.instance_id||r.name)},{message:"One of id, uuid, app_id, instance_id, or name must be provided"}),WE=Dr(Mr),ge=WE.transform(e=>{let t;if(e.id)t=e.id;else if(e.uuid)t=e.uuid;else if(e.app_id)t=e.app_id;else if(e.instance_id)t=e.instance_id;else{if(e.name)return{cvmId:e.name};throw new Error("No valid identifier provided")}let r=/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i,o=/^[0-9a-f]{40}$/i,n;return r.test(t)?n=t.replace(/-/g,""):o.test(t)?n=`app_${t}`:n=t,{cvmId:n}}),JE=ge,{action:ZE,safeAction:Ve}=Q(h1,async(e,t)=>{let{cvmId:r}=JE.parse(t);return await e.get(`/cvms/${r}`)}),YE=Yt.object({page:Yt.number().int().min(1).optional(),page_size:Yt.number().int().min(1).optional(),node_id:Yt.number().int().min(1).optional(),teepod_id:Yt.number().int().min(1).optional(),user_id:Yt.string().optional()}).strict(),XE=Yt.object({items:Yt.array(KE),total:Yt.number(),page:Yt.number(),page_size:Yt.number(),pages:Yt.number()}).strict(),{action:QE,safeAction:ja}=Q(XE,async(e,t)=>{let r=YE.parse(t??{});return await e.get("/cvms/paginated",{params:r})}),ek=q.object({app_id:q.string().nullable().optional(),app_env_encrypt_pubkey:q.string().nullable().optional(),compose_hash:q.string(),fmspc:q.string().nullable().optional(),device_id:q.string().nullable().optional(),os_image_hash:q.string().nullable().optional(),instance_type:q.string().nullable().optional(),teepod_id:q.number().nullable().optional(),node_id:q.number().nullable().optional(),kms_id:q.string().nullable().optional()}).passthrough().transform(e=>{if("teepod_id"in e&&e.teepod_id!==void 0){let{teepod_id:t,...r}=e;return{...r,node_id:t}}return e}),dd="Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens",tk=q.object({node_id:q.number().optional(),teepod_id:q.number().optional(),region:q.string().optional(),name:q.string().min(5,dd).max(63,dd).refine(e=>Ai(e),dd),instance_type:q.string().default("tdx.small"),image:q.string().optional(),vcpu:q.number().optional(),memory:q.number().optional(),disk_size:q.number().optional(),compose_file:q.object({allowed_envs:q.array(q.string()).optional(),pre_launch_script:q.string().optional(),docker_compose_file:q.string().optional(),name:q.string().optional().default(""),kms_enabled:q.boolean().optional(),public_logs:q.boolean().optional(),public_sysinfo:q.boolean().optional(),gateway_enabled:q.boolean().optional(),tproxy_enabled:q.boolean().optional()}),listed:q.boolean().optional(),kms_id:q.string().optional(),kms:q.enum(["PHALA","ETHEREUM","BASE"]).optional(),kms_contract:q.string().optional(),env_keys:q.array(q.string()).optional(),nonce:q.number().optional(),app_id:q.string().optional()}).passthrough();function rk(e){if(!e.compose_file)return e;let t={...e.compose_file};return typeof t.gateway_enabled=="boolean"&&typeof t.tproxy_enabled=="boolean"?delete t.tproxy_enabled:typeof t.tproxy_enabled=="boolean"&&typeof t.gateway_enabled>"u"&&(t.gateway_enabled=t.tproxy_enabled,delete t.tproxy_enabled,(typeof window<"u"?window.console:globalThis.console)&&console.warn("[phala/cloud] tproxy_enabled is deprecated, please use gateway_enabled instead. See docs for migration.")),{...e,compose_file:t}}var{action:ok,safeAction:bd}=Q(ek,async(e,t)=>{let r=tk.parse(t),o=rk(r),n={...o};return typeof o.node_id=="number"?(n={...o,teepod_id:o.node_id},delete n.node_id):typeof o.teepod_id=="number"&&console.warn("[phala/cloud] teepod_id is deprecated, please use node_id instead."),await e.post("/cvms/provision",n)}),nk=J.object({id:J.number(),name:J.string(),status:J.string(),teepod_id:J.number(),teepod:J.object({id:J.number(),name:J.string()}).nullable(),user_id:J.number().nullable(),app_id:J.string().nullable(),vm_uuid:J.string().nullable(),instance_id:J.string().nullable(),app_url:J.string().nullable(),base_image:J.string().nullable(),vcpu:J.number(),memory:J.number(),disk_size:J.number(),manifest_version:J.number().nullable(),version:J.string().nullable(),runner:J.string().nullable(),docker_compose_file:J.string().nullable(),features:J.array(J.string()).nullable(),created_at:J.string(),encrypted_env_pubkey:J.string().nullable().optional(),app_auth_contract_address:J.string().nullable().optional(),deployer_address:J.string().nullable().optional()}).passthrough(),AX=J.object({encrypted_env:J.string().optional().nullable(),app_id:J.string(),compose_hash:J.string(),kms_id:J.string().optional(),contract_address:J.string().optional(),deployer_address:J.string().optional(),env_keys:J.array(J.string()).optional().nullable()}).passthrough(),{action:sk,safeAction:Ip}=Q(nk,async(e,t)=>await e.post("/cvms",t)),y1=ut.object({allowed_envs:ut.array(ut.string()).optional(),docker_compose_file:ut.string(),features:ut.array(ut.string()).optional(),name:ut.string().optional(),manifest_version:ut.number().optional(),kms_enabled:ut.boolean().optional(),public_logs:ut.boolean().optional(),public_sysinfo:ut.boolean().optional(),tproxy_enabled:ut.boolean().optional(),pre_launch_script:ut.string().optional(),env_pubkey:ut.string().optional(),salt:ut.string().optional().nullable()}).passthrough();function hd(e){return e==null?e:Array.isArray(e)?e.map(hd):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=hd(o),t},{}):e}function b1(e){let t={...e};return t.runner==="bash"&&"docker_compose_file"in t?delete t.docker_compose_file:t.runner==="docker-compose"&&"bash_script"in t&&delete t.bash_script,"pre_launch_script"in t&&!t.pre_launch_script&&delete t.pre_launch_script,t}function x1(e){let t=hd(e),r=JSON.stringify(t,null,4);return r=r.replace(/": /g,'":'),r}function ak(e){let t=b1(e),r=x1(t);return ik.createHash("sha256").update(r,"utf8").digest("hex")}function ck(e){let t=e;return{...e,getHash:()=>ak(t),toString:()=>x1(b1(t))}}var mk=y1.transform(e=>ck(e)),uk=ge,{action:pk,safeAction:Ga}=Q(mk,async(e,t)=>{let{cvmId:r}=uk.parse(t);return await e.get(`/cvms/${r}/compose_file`)}),fk=Rr.object({id:Rr.string().optional(),uuid:Rr.string().regex(/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i).optional(),app_id:Rr.string().refine(e=>!e.startsWith("app_")&&e.length===40,"app_id should be 40 characters without prefix").transform(e=>e.startsWith("app_")?e:`app_${e}`).optional(),instance_id:Rr.string().refine(e=>!e.startsWith("instance_")&&e.length===40,"instance_id should be 40 characters without prefix").transform(e=>e.startsWith("instance_")?e:`instance_${e}`).optional(),app_compose:y1,update_env_vars:Rr.boolean().optional().nullable()}).refine(e=>!!(e.id||e.uuid||e.app_id||e.instance_id),"One of id, uuid, app_id, or instance_id must be provided").transform(e=>({cvmId:e.id||e.uuid||e.app_id||e.instance_id,request:{...e.app_compose,update_env_vars:e.update_env_vars},_raw:e})),lk=Rr.object({app_id:Rr.string().nullable(),device_id:Rr.string().nullable(),compose_hash:Rr.string(),kms_info:so.nullable().optional()}).passthrough(),{action:dk,safeAction:xd}=Q(lk,async(e,t)=>{let r=fk.parse(t);return await e.post(`/cvms/${r.cvmId}/compose_file/provision`,r.request)}),hk=ur.object({id:ur.string().optional(),uuid:ur.string().regex(/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i).optional(),app_id:ur.string().refine(e=>!e.startsWith("app_")&&e.length===40,"app_id should be 40 characters without prefix").transform(e=>e.startsWith("app_")?e:`app_${e}`).optional(),instance_id:ur.string().refine(e=>!e.startsWith("instance_")&&e.length===40,"instance_id should be 40 characters without prefix").transform(e=>e.startsWith("instance_")?e:`instance_${e}`).optional(),compose_hash:ur.string().min(1,"Compose hash is required"),encrypted_env:ur.string().optional(),env_keys:ur.array(ur.string()).optional(),update_env_vars:ur.boolean().optional().nullable()}).refine(e=>!!(e.id||e.uuid||e.app_id||e.instance_id),"One of id, uuid, app_id, or instance_id must be provided").transform(e=>({cvmId:e.id||e.uuid||e.app_id||e.instance_id,compose_hash:e.compose_hash,encrypted_env:e.encrypted_env,env_keys:e.env_keys,update_env_vars:!!e.update_env_vars,_raw:e})),gk=ur.any().transform(()=>{}),{action:yk,safeAction:vd}=Q(gk,async(e,t)=>{let r=hk.parse(t);return await e.patch(`/cvms/${r.cvmId}/compose_file`,{compose_hash:r.compose_hash,encrypted_env:r.encrypted_env,env_keys:r.env_keys})}),bk=Dr(Mr.extend({encrypted_env:Je.string().describe("Encrypted environment variables (hex string)"),env_keys:Je.array(Je.string()).optional().describe("List of allowed environment variable keys"),compose_hash:Je.string().optional().describe("Compose hash for verification (Phase 2, required when env_keys changes)"),transaction_hash:Je.string().optional().describe("On-chain transaction hash for verification (Phase 2, required when env_keys changes)")})).transform(e=>{let{cvmId:t}=ge.parse(e);return{cvmId:t,request:{encrypted_env:e.encrypted_env,env_keys:e.env_keys,compose_hash:e.compose_hash,transaction_hash:e.transaction_hash},_raw:e}}),xk=Je.object({status:Je.literal("in_progress"),message:Je.string(),correlation_id:Je.string(),allowed_envs_changed:Je.boolean()}),vk=Je.object({status:Je.literal("precondition_required"),message:Je.string(),compose_hash:Je.string(),app_id:Je.string(),device_id:Je.string(),kms_info:so}),wk=Je.union([xk,vk]),{action:Ck,safeAction:Ek}=Q(wk,async(e,t)=>{let r=bk.parse(t);try{return await e.patch(`/cvms/${r.cvmId}/envs`,r.request)}catch(o){if(o instanceof Fr&&o.status===465){let n=o.detail;if(n&&typeof n=="object"){let s=n;return{status:"precondition_required",message:s.message||"Compose hash verification required",compose_hash:s.compose_hash,app_id:s.app_id,device_id:s.device_id,kms_info:s.kms_info}}}throw o}}),kk=Dr(Mr.extend({docker_compose_file:Ct.string().describe("Docker Compose YAML content"),compose_hash:Ct.string().optional().describe("Compose hash for verification (Phase 2, contract-owned KMS only)"),transaction_hash:Ct.string().optional().describe("On-chain transaction hash for verification (Phase 2, contract-owned KMS only)")})).transform(e=>{let{cvmId:t}=ge.parse(e);return{cvmId:t,request:{docker_compose_file:e.docker_compose_file,compose_hash:e.compose_hash,transaction_hash:e.transaction_hash},_raw:e}}),Sk=Ct.object({status:Ct.literal("in_progress"),message:Ct.string(),correlation_id:Ct.string()}),_k=Ct.object({status:Ct.literal("precondition_required"),message:Ct.string(),compose_hash:Ct.string(),app_id:Ct.string(),device_id:Ct.string(),kms_info:so}),Ik=Ct.union([Sk,_k]),{action:Ak,safeAction:Pk}=Q(Ik,async(e,t)=>{let r=kk.parse(t),o={"Content-Type":"text/yaml"};r.request.compose_hash&&(o["X-Compose-Hash"]=r.request.compose_hash),r.request.transaction_hash&&(o["X-Transaction-Hash"]=r.request.transaction_hash);try{return await e.patch(`/cvms/${r.cvmId}/docker-compose`,r.request.docker_compose_file,{headers:o})}catch(n){if(n instanceof Fr&&n.status===465){let s=n.detail;if(s&&typeof s=="object"){let i=s;return{status:"precondition_required",message:i.message||"Compose hash verification required",compose_hash:i.compose_hash,app_id:i.app_id,device_id:i.device_id,kms_info:i.kms_info}}}throw n}}),Tk=Dr(Mr.extend({pre_launch_script:Et.string().describe("Pre-launch script content (shell script)"),compose_hash:Et.string().optional().describe("Compose hash for verification (Phase 2, contract-owned KMS only)"),transaction_hash:Et.string().optional().describe("On-chain transaction hash for verification (Phase 2, contract-owned KMS only)")})).transform(e=>{let{cvmId:t}=ge.parse(e);return{cvmId:t,request:{pre_launch_script:e.pre_launch_script,compose_hash:e.compose_hash,transaction_hash:e.transaction_hash},_raw:e}}),$k=Et.object({status:Et.literal("in_progress"),message:Et.string(),correlation_id:Et.string()}),Rk=Et.object({status:Et.literal("precondition_required"),message:Et.string(),compose_hash:Et.string(),app_id:Et.string(),device_id:Et.string(),kms_info:so}),Bk=Et.union([$k,Rk]),{action:Fk,safeAction:Mk}=Q(Bk,async(e,t)=>{let r=Tk.parse(t),o={"Content-Type":"text/plain"};r.request.compose_hash&&(o["X-Compose-Hash"]=r.request.compose_hash),r.request.transaction_hash&&(o["X-Transaction-Hash"]=r.request.transaction_hash);try{return await e.patch(`/cvms/${r.cvmId}/pre-launch-script`,r.request.pre_launch_script,{headers:o})}catch(n){if(n instanceof Fr&&n.status===465){let s=n.detail;if(s&&typeof s=="object"){let i=s;return{status:"precondition_required",message:i.message||"Compose hash verification required",compose_hash:i.compose_hash,app_id:i.app_id,device_id:i.device_id,kms_info:i.kms_info}}}throw n}}),Nk=ge,{action:zk,safeAction:Lk}=Q(Dk.string(),async(e,t)=>{let{cvmId:r}=Nk.parse(t);return await e.get(`/cvms/${r}/pre-launch-script`)}),Uk=o1.object({kms_id:o1.string().min(1,"KMS ID is required")}),{action:Ok,safeAction:Hk}=Q(so,async(e,t)=>{let r=Uk.parse(t);return await e.get(`/kms/${r.kms_id}`)}),jk=Br.object({page:Br.number().int().min(1).optional(),page_size:Br.number().int().min(1).optional(),is_onchain:Br.boolean().optional()}).strict(),Gk=Br.object({items:Br.array(so),total:Br.number(),page:Br.number(),page_size:Br.number(),pages:Br.number()}).strict(),{action:Vk,safeAction:wd}=Q(Gk,async(e,t)=>{let r=jk.parse(t??{});return await e.get("/kms",{params:r})}),qk=Ii.object({kms:Ii.string().min(1,"KMS ID or slug is required"),app_id:Ii.string().refine(e=>e.length===40||e.startsWith("0x")&&e.length===42,"App ID must be exactly 40 characters or 42 characters with 0x prefix")}).strict(),Kk=Ii.object({public_key:Ii.string(),signature:Ii.string()}).strict(),{action:Wk,safeAction:Cd}=Q(Kk,async(e,t)=>{let r=qk.parse(t);return await e.get(`/kms/${r.kms}/pubkey/${r.app_id}`)}),Jk=In.object({counts:In.number().int().min(1).max(20).optional().default(1)}).strict(),Zk=In.object({app_ids:In.array(In.object({app_id:In.string(),nonce:In.number().int().min(0)}))}).strict(),{action:Yk,safeAction:Xk}=Q(Zk,async(e,t)=>{let r=Jk.parse(t??{}),o=new URLSearchParams;return o.append("counts",r.counts.toString()),await e.get(`/kms/phala/next_app_id?${o.toString()}`)}),Qk=ge,{action:eS,safeAction:Ed}=Q(_p,async(e,t)=>{let{cvmId:r}=Qk.parse(t);return await e.post(`/cvms/${r}/start`)}),tS=ge,{action:rS,safeAction:kd}=Q(_p,async(e,t)=>{let{cvmId:r}=tS.parse(t);return await e.post(`/cvms/${r}/stop`)}),oS=ge,{action:nS,safeAction:sS}=Q(_p,async(e,t)=>{let{cvmId:r}=oS.parse(t);return await e.post(`/cvms/${r}/shutdown`)}),aS=Dr(Mr.extend({force:iS.boolean().optional()})),{action:cS,safeAction:Sd}=Q(_p,async(e,t)=>{let r=aS.parse(t),{cvmId:o}=ge.parse(r),{force:n=!1}=r;return await e.post(`/cvms/${o}/restart`,{force:n})}),uS=ge,{action:pS,safeAction:_d}=Q(mS.void(),async(e,t)=>{let{cvmId:r}=uS.parse(t);await e.delete(`/cvms/${r}`)}),fS=oe.object({name:oe.string(),mount_point:oe.string(),total_size:oe.number(),free_size:oe.number()}),lS=oe.object({os_name:oe.string(),os_version:oe.string(),kernel_version:oe.string(),cpu_model:oe.string(),num_cpus:oe.number(),total_memory:oe.number(),available_memory:oe.number(),used_memory:oe.number(),free_memory:oe.number(),total_swap:oe.number(),used_swap:oe.number(),free_swap:oe.number(),uptime:oe.number(),loadavg_one:oe.number(),loadavg_five:oe.number(),loadavg_fifteen:oe.number(),disks:oe.array(fS)}),dS=oe.object({is_online:oe.boolean(),is_public:oe.boolean().default(!1),error:oe.string().nullable(),sysinfo:lS.nullable(),status:oe.string().nullable(),in_progress:oe.boolean().default(!1),boot_progress:oe.string().nullable(),boot_error:oe.string().nullable()}),hS=ge,{action:gS,safeAction:yS}=Q(dS,async(e,t)=>{let{cvmId:r}=hS.parse(t);return await e.get(`/cvms/${r}/stats`)}),bS=Tr.object({app:Tr.string(),instance:Tr.string()}),xS=Tr.object({is_online:Tr.boolean(),is_public:Tr.boolean().default(!0),error:Tr.string().nullable(),internal_ip:Tr.string().nullable(),latest_handshake:Tr.string().nullable(),public_urls:Tr.array(bS).nullable()}),vS=ge,{action:wS,safeAction:CS}=Q(xS,async(e,t)=>{let{cvmId:r}=vS.parse(t);return await e.get(`/cvms/${r}/network`)}),kS=ge,{action:SS,safeAction:_S}=Q(ES.string(),async(e,t)=>{let{cvmId:r}=kS.parse(t);return await e.get(`/cvms/${r}/docker-compose.yml`)}),IS=Ee.object({id:Ee.string(),names:Ee.array(Ee.string()),image:Ee.string(),image_id:Ee.string(),command:Ee.string().nullable().optional(),created:Ee.number(),state:Ee.string(),status:Ee.string(),log_endpoint:Ee.string().nullable()}),AS=Ee.object({is_online:Ee.boolean(),is_public:Ee.boolean().default(!0),error:Ee.string().nullable(),docker_compose_file:Ee.string().nullable(),manifest_version:Ee.number().nullable(),version:Ee.string().nullable(),runner:Ee.string().nullable(),features:Ee.array(Ee.string()).nullable(),containers:Ee.array(IS).nullable()}),PS=ge,{action:TS,safeAction:$S}=Q(AS,async(e,t)=>{let{cvmId:r}=PS.parse(t);return await e.get(`/cvms/${r}/composition`)}),RS=L.object({common_name:L.string().nullable(),organization:L.string().nullable(),country:L.string().nullable(),state:L.string().nullable(),locality:L.string().nullable()}),BS=L.object({common_name:L.string().nullable(),organization:L.string().nullable(),country:L.string().nullable()}),FS=L.object({subject:RS,issuer:BS,serial_number:L.string(),not_before:L.string(),not_after:L.string(),version:L.string(),fingerprint:L.string(),signature_algorithm:L.string(),sans:L.array(L.string()).nullable(),is_ca:L.boolean(),position_in_chain:L.number().nullable(),quote:L.string().nullable(),app_id:L.string().nullable().optional(),cert_usage:L.string().nullable().optional()}),MS=L.object({imr:L.number(),event_type:L.number(),digest:L.string(),event:L.string(),event_payload:L.string()}),DS=L.object({mrtd:L.string(),rootfs_hash:L.string().nullable().optional(),rtmr0:L.string(),rtmr1:L.string(),rtmr2:L.string(),rtmr3:L.string(),event_log:L.array(MS),app_compose:L.string()}),NS=L.object({name:L.string().nullable(),is_online:L.boolean(),is_public:L.boolean().default(!0),error:L.string().nullable(),app_certificates:L.array(FS).nullable(),tcb_info:DS.nullable(),compose_file:L.string().nullable()}),zS=ge,{action:LS,safeAction:US}=Q(NS,async(e,t)=>{let{cvmId:r}=zS.parse(t);return await e.get(`/cvms/${r}/attestation`)}),OS=Dr(Mr.extend({vcpu:_i.number().optional(),memory:_i.number().optional(),disk_size:_i.number().optional(),instance_type:_i.string().optional(),allow_restart:_i.boolean().optional()})),{action:HS,safeAction:jS}=Q(_i.void(),async(e,t)=>{let r=OS.parse(t),{cvmId:o}=ge.parse(r),{...n}=r;await e.patch(`/cvms/${o}/resources`,n)}),GS=Dr(Mr.extend({public_sysinfo:n1.boolean(),public_logs:n1.boolean()})),{action:VS,safeAction:qS}=Q(h1,async(e,t)=>{let r=GS.parse(t),{cvmId:o}=ge.parse(r),{public_sysinfo:n,public_logs:s}=r;return await e.patch(`/cvms/${o}/visibility`,{public_sysinfo:n,public_logs:s})}),s1=it.object({name:it.string(),os_image_hash:it.string().nullable(),is_current:it.boolean()}),KS=it.object({version:it.union([it.tuple([it.number(),it.number(),it.number(),it.number()]),it.tuple([it.number(),it.number(),it.number()])]),prod:s1.nullable(),dev:s1.nullable()}),WS=it.array(KS),JS=ge,{action:ZS,safeAction:YS}=Q(WS,async(e,t)=>{let{cvmId:r}=JS.parse(t);return await e.get(`/cvms/${r}/available-os-images`)}),XS=Dr(Mr.extend({os_image_name:v1.string().min(1,"OS image name is required")})),{action:QS,safeAction:e_}=Q(v1.void(),async(e,t)=>{let r=XS.parse(t),{cvmId:o}=ge.parse(r),{os_image_name:n}=r;await e.patch(`/cvms/${o}/os-image`,{os_image_name:n})}),t_=Pr.object({id:Pr.string().optional(),instance_id:Pr.string().optional(),name:Pr.string(),status:Pr.string(),uptime:Pr.string().optional(),exited_at:Pr.string().optional(),boot_progress:Pr.string().optional(),boot_error:Pr.string().optional(),shutdown_progress:Pr.string().optional()}),r_=ge,{action:o_,safeAction:n_}=Q(t_,async(e,t)=>{let{cvmId:r}=r_.parse(t);return await e.get(`/cvms/${r}/state`)});function kt(e={}){let t=wE(e),r={getCurrentUser:EE,safeGetCurrentUser:An,getAvailableNodes:TE,safeGetAvailableNodes:Ha,listAllInstanceTypeFamilies:ME,safeListAllInstanceTypeFamilies:DE,listFamilyInstanceTypes:NE,safeListFamilyInstanceTypes:zE,listWorkspaces:OE,safeListWorkspaces:HE,getWorkspace:jE,safeGetWorkspace:GE,getCvmInfo:ZE,safeGetCvmInfo:Ve,getCvmList:QE,safeGetCvmList:ja,provisionCvm:ok,safeProvisionCvm:bd,commitCvmProvision:sk,safeCommitCvmProvision:Ip,getCvmComposeFile:pk,safeGetCvmComposeFile:Ga,provisionCvmComposeFileUpdate:dk,safeProvisionCvmComposeFileUpdate:xd,commitCvmComposeFileUpdate:yk,safeCommitCvmComposeFileUpdate:vd,updateCvmEnvs:Ck,safeUpdateCvmEnvs:Ek,updateDockerCompose:Ak,safeUpdateDockerCompose:Pk,updatePreLaunchScript:Fk,safeUpdatePreLaunchScript:Mk,getCvmPreLaunchScript:zk,safeGetCvmPreLaunchScript:Lk,startCvm:eS,safeStartCvm:Ed,stopCvm:rS,safeStopCvm:kd,shutdownCvm:nS,safeShutdownCvm:sS,restartCvm:cS,safeRestartCvm:Sd,deleteCvm:pS,safeDeleteCvm:_d,getCvmStats:gS,safeGetCvmStats:yS,getCvmNetwork:wS,safeGetCvmNetwork:CS,getCvmDockerCompose:SS,safeGetCvmDockerCompose:_S,getCvmContainersStats:TS,safeGetCvmContainersStats:$S,getCvmAttestation:LS,safeGetCvmAttestation:US,updateCvmResources:HS,safeUpdateCvmResources:jS,updateCvmVisibility:VS,safeUpdateCvmVisibility:qS,getAvailableOsImages:ZS,safeGetAvailableOsImages:YS,updateOsImage:QS,safeUpdateOsImage:e_,getKmsInfo:Ok,safeGetKmsInfo:Hk,getKmsList:Vk,safeGetKmsList:wd,getAppEnvEncryptPubKey:Wk,safeGetAppEnvEncryptPubKey:Cd,nextAppIds:Yk,safeNextAppIds:Xk,getCvmState:o_,safeGetCvmState:n_};return t.extend(r)}function kp(e){if(typeof e=="string"){if(e.startsWith("0x")&&ce(e))return e;if(ce(`0x${e}`))return`0x${e}`}throw new Error(`Invalid hex value: ${e}`)}var w1=class extends Error{constructor(e,t,r){super(e),this.code=t,this.details=r,this.name="NetworkError"}};var $r=class extends Error{constructor(e,t,r){super(e),this.hash=t,this.details=r,this.name="TransactionError"}};async function s_(e,t){try{let r=await e.walletClient.getChainId();return{isCorrectNetwork:r===t,currentChainId:r}}catch(r){throw new w1(`Failed to check network status: ${r instanceof Error?r.message:"Unknown error"}`,"NETWORK_CHECK_FAILED",r)}}async function i_(e,t,r){try{let o=await e.getBalance({address:t});return{address:t,balance:o,sufficient:r?o>=r:!0,required:r}}catch(o){throw new w1(`Failed to check balance: ${o instanceof Error?o.message:"Unknown error"}`,"BALANCE_CHECK_FAILED",o)}}async function a_(e,t,r={}){let{timeout:o=6e4,pollingInterval:n=2e3,confirmations:s=1}=r,i=Date.now();return new Promise((a,c)=>{let m=async()=>{try{let u=await e.getTransactionReceipt({hash:t});if(u){if(s>1&&await e.getBlockNumber()-u.blockNumber+1n<BigInt(s)){if(Date.now()-i>=o){c(new $r(`Transaction confirmation timeout after ${o}ms`,t));return}setTimeout(m,n);return}a(u)}else{if(Date.now()-i>=o){c(new $r(`Transaction receipt timeout after ${o}ms`,t));return}setTimeout(m,n)}}catch(u){if(Date.now()-i>=o){c(new $r(`Transaction receipt timeout after ${o}ms`,t,u));return}setTimeout(m,n)}};m()})}async function C1(e,t){let{targetChainId:r,minBalance:o,requiredAddress:n}=t,s=await s_(e,r),i=await i_(e.publicClient,e.address,o),a=n?e.address.toLowerCase()===n.toLowerCase():!0;return{networkValid:s.isCorrectNetwork,balanceValid:i.sufficient,addressValid:a,details:{currentChainId:s.currentChainId,balance:i.balance,address:e.address}}}function Id(){let e={state:"idle"},t,r,o=a=>{e={...e,...a}},n=()=>{t&&(clearTimeout(t),t=void 0),r&&(r.abort(),r=void 0),e={state:"idle"}},s=()=>{r&&r.abort(),t&&(clearTimeout(t),t=void 0),o({state:"error",aborted:!0,error:"Transaction aborted by user"})};return{get status(){return{...e}},get isIdle(){return e.state==="idle"},get isSubmitting(){return e.state==="submitting"},get isPending(){return e.state==="pending"},get isSuccess(){return e.state==="success"},get isError(){return e.state==="error"},get isTimeout(){return e.state==="timeout"},get isAborted(){return e.aborted===!0},get isComplete(){return["success","error","timeout"].includes(e.state)},abort:s,reset:n,execute:async(a,c,m,u={})=>{let{timeout:p=6e4,confirmations:f=1,onSubmitted:d,onConfirmed:h,onError:g,signal:b}=u;try{if(n(),r=new AbortController,b){if(b.aborted)throw new $r("Operation was aborted before execution");b.addEventListener("abort",()=>{s()})}if(o({state:"submitting",startTime:Date.now(),error:void 0,hash:void 0,receipt:void 0,aborted:!1}),r.signal.aborted)throw new $r("Transaction aborted");let y=await a(c,...m);if(r.signal.aborted)throw new $r("Transaction aborted after submission",y);o({state:"pending",hash:y,submitTime:Date.now()}),d?.(y),p>0&&(t=setTimeout(()=>{e.state==="pending"&&!r?.signal.aborted&&o({state:"timeout",error:`Transaction timeout after ${p}ms`})},p));let v=await Promise.race([a_(c.publicClient,y,{timeout:p,confirmations:f}),new Promise((k,I)=>{r?.signal.addEventListener("abort",()=>{I(new $r("Transaction aborted while waiting for receipt",y))})})]);t&&(clearTimeout(t),t=void 0);let C=v.status==="success";if(o({state:C?"success":"error",receipt:v,confirmTime:Date.now(),error:C?void 0:"Transaction failed on-chain"}),C)h?.(v);else{let k=new $r("Transaction failed on-chain",y,v);throw g?.(k,y),k}return{hash:y,receipt:v,success:C}}catch(y){let v=y instanceof $r?y:new $r(`Transaction execution failed: ${y instanceof Error?y.message:"Unknown error"}`,e.hash,y);throw o({state:"error",error:v.message}),g?.(v,e.hash),v}}}}async function E1(e,t,r,o={},n={}){let{maxRetries:s=3,initialDelay:i=1e3,maxDelay:a=1e4,backoffFactor:c=2,retryCondition:m=()=>!0}=n,u,p=i;for(let f=0;f<=s;f++)try{return await Id().execute(e,t,r,o)}catch(d){if(u=d instanceof Error?d:new Error(String(d)),f===s||!m(u))break;await new Promise(h=>setTimeout(h,p)),p=Math.min(p*c,a)}throw u}var k1=[{inputs:[{name:"deployer",type:"address"},{name:"disableUpgrades",type:"bool"},{name:"allowAnyDevice",type:"bool"},{name:"deviceId",type:"bytes32"},{name:"composeHash",type:"bytes32"}],name:"deployAndRegisterApp",outputs:[{name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"appId",type:"address",indexed:!0},{name:"deployer",type:"address",indexed:!0}],name:"AppDeployedViaFactory",type:"event",anonymous:!1},{inputs:[{name:"appId",type:"address",indexed:!1}],name:"AppRegistered",type:"event",anonymous:!1}],c_=$e.object({chain:$e.unknown().optional(),rpcUrl:$e.string().optional(),kmsContractAddress:$e.string(),privateKey:$e.string().optional(),walletClient:$e.unknown().optional(),publicClient:$e.unknown().optional(),allowAnyDevice:$e.boolean().optional().default(!1),deviceId:$e.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),composeHash:$e.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),disableUpgrades:$e.boolean().optional().default(!1),skipPrerequisiteChecks:$e.boolean().optional().default(!1),minBalance:$e.string().optional()}).passthrough(),m_=c_.refine(e=>{let t=!!e.privateKey,r=!!e.walletClient;return t!==r},{message:"Either 'privateKey' or 'walletClient' must be provided, but not both",path:["privateKey","walletClient"]}).refine(e=>{let t=!!e.publicClient,r=!!e.walletClient,o=!!e.chain;return t&&r?!0:o},{message:"Chain is required when publicClient or walletClient is not provided",path:["chain"]}),u_=$e.object({appId:$e.string(),appAuthAddress:$e.string(),deployer:$e.string(),transactionHash:$e.string(),blockNumber:$e.bigint().optional(),gasUsed:$e.bigint().optional()}).passthrough();function p_(e,t,r){try{let o=cr({abi:k1,eventName:"AppDeployedViaFactory",logs:e.logs,strict:!1});if(o.length===0)throw e.status==="reverted"?new Error(`Transaction failed: ${e.transactionHash}`):new Error(`Transaction ${e.transactionHash} has no AppDeployedViaFactory events. The deployment failed. Status: ${e.status}. Found ${e.logs.length} logs.`);let n=o[0];if(!n?.args)throw new Error("Event has no data");let{appId:s,deployer:i}=n.args;if(!s)throw new Error("Event missing appId");return{appId:s,appAuthAddress:s,deployer:t,transactionHash:e.transactionHash,blockNumber:e.blockNumber,gasUsed:e.gasUsed}}catch(o){throw o instanceof Error?o:new Error(`Parse failed: ${o}`)}}async function f_(e,t){let r=m_.parse(e),{chain:o,rpcUrl:n,kmsContractAddress:s,privateKey:i,walletClient:a,publicClient:c,allowAnyDevice:m=!1,deviceId:u="0000000000000000000000000000000000000000000000000000000000000000",composeHash:p="0000000000000000000000000000000000000000000000000000000000000000",disableUpgrades:f=!1,skipPrerequisiteChecks:d=!1,minBalance:h,timeout:g=12e4,retryOptions:b,signal:y,onTransactionStateChange:v,onTransactionSubmitted:C,onTransactionConfirmed:k}=r,I="0000000000000000000000000000000000000000000000000000000000000000",S=u!==I&&u!=="0x"+I?!1:m,$,M,D,O;if(i){let ue=Ma(i);if(c){if(typeof c!="object"||!c)throw new Error("publicClient is invalid");$=c}else{if(!o)throw new Error("Chain required for publicClient");$=_n({chain:o,transport:oo(n)})}if(!o)throw new Error("Chain required for walletClient");M=Fa({account:ue,chain:o,transport:oo(n)}),D=ue.address,O=o.id}else if(a){if(typeof a!="object"||!a)throw new Error("walletClient is invalid");if(M=a,c){if(typeof c!="object"||!c)throw new Error("publicClient is invalid");$=c}else{if(!o)throw new Error("Chain required for publicClient");$=_n({chain:o,transport:oo(n)})}if(!M.account?.address)throw new Error("WalletClient needs an account");D=M.account.address,o?O=o.id:O=await M.getChainId()}else throw new Error("Need privateKey or walletClient");let G={publicClient:$,walletClient:M,address:D,chainId:O},V=Id();if(v&&typeof v=="function"){let ue=()=>{v(V.status),V.isComplete||setTimeout(ue,100)};setTimeout(ue,10)}if(!d){let ue={targetChainId:O,minBalance:h?kn(h):kn("0.001")},lo=await C1(G,ue);if(!lo.networkValid)throw new Error(`Wrong network. Need chain ${ue.targetChainId}, got ${lo.details.currentChainId}`);if(!lo.balanceValid){let Qt=Number(ue.minBalance)/1e18,of=Number(lo.details.balance)/1e18;throw new Error(`Not enough ETH. Need ${Qt}, have ${of.toFixed(6)}`)}}let me=kp(u),Ae=kp(p),qe=`0x${me.slice(2).padEnd(64,"0")}`,Mt=`0x${Ae.slice(2).padEnd(64,"0")}`,z=async ue=>{try{let Qt=await ue.publicClient.getCode({address:s});if(!Qt||Qt==="0x")throw new Error(`No contract at ${s}`)}catch(Qt){if(Qt instanceof Error&&Qt.message.includes("No contract at"))throw Qt}let lo={address:s,abi:k1,functionName:"deployAndRegisterApp",args:[ue.address,f,S,qe,Mt],account:ue.walletClient.account||ue.address,chain:o||null};return await ue.walletClient.writeContract(lo)},Se=b?await E1(z,G,[],{timeout:g,confirmations:1,onSubmitted:C,onConfirmed:k,signal:y},b):await V.execute(z,G,[],{timeout:g,confirmations:1,onSubmitted:C,onConfirmed:k,signal:y}),lr=p_(Se.receipt,D,s);return t?.schema===!1?lr:(t?.schema||u_).parse(lr)}async function S1(e,t){try{return{success:!0,data:await f_(e,t)}}catch(r){let o=r instanceof Error?r.message:"Unknown deployment error";return{success:!1,error:{isRequestError:!0,message:o,status:500,detail:o}}}}var _1=[{inputs:[{name:"composeHash",type:"bytes32"}],name:"addComposeHash",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"composeHash",type:"bytes32",indexed:!1}],name:"ComposeHashAdded",type:"event",anonymous:!1}],l_=Ce.object({chain:Ce.unknown().optional(),rpcUrl:Ce.string().optional(),appId:Ce.string(),composeHash:Ce.string(),privateKey:Ce.string().optional(),walletClient:Ce.unknown().optional(),publicClient:Ce.unknown().optional(),skipPrerequisiteChecks:Ce.boolean().optional().default(!1),minBalance:Ce.string().optional(),timeout:Ce.number().optional().default(12e4),retryOptions:Ce.unknown().optional(),signal:Ce.unknown().optional(),onTransactionStateChange:Ce.function().optional(),onTransactionSubmitted:Ce.function().optional(),onTransactionConfirmed:Ce.function().optional()}).passthrough().refine(e=>{let t=!!e.privateKey,r=!!e.walletClient;return t!==r},{message:"Either 'privateKey' or 'walletClient' must be provided, but not both",path:["privateKey","walletClient"]}).refine(e=>{let t=!!e.publicClient,r=!!e.walletClient,o=!!e.chain;return t&&r?!0:o},{message:"Chain is required when publicClient or walletClient is not provided",path:["chain"]}),d_=Ce.object({composeHash:Ce.string(),appId:Ce.string(),transactionHash:Ce.string(),blockNumber:Ce.bigint().optional(),gasUsed:Ce.bigint().optional()}).passthrough();function h_(e,t,r,o){console.log(e.logs);try{let n=cr({abi:_1,eventName:"ComposeHashAdded",logs:e.logs,strict:!1});if(n.length>0){let s=n[0];s?.args?.composeHash!==t&&console.warn(`Event compose hash (${s?.args?.composeHash}) does not match expected (${t})`)}return{composeHash:t,appAuthAddress:r,appId:o,transactionHash:e.transactionHash,blockNumber:e.blockNumber,gasUsed:e.gasUsed}}catch(n){return console.warn("Failed to parse ComposeHashAdded event, returning basic result:",n),{composeHash:t,appAuthAddress:r,appId:o,transactionHash:e.transactionHash,blockNumber:e.blockNumber,gasUsed:e.gasUsed}}}async function g_(e,t){let r=l_.parse(e),{chain:o,rpcUrl:n,appId:s,composeHash:i,privateKey:a,walletClient:c,publicClient:m,timeout:u=12e4,retryOptions:p,signal:f,onTransactionStateChange:d,onTransactionSubmitted:h,onTransactionConfirmed:g,skipPrerequisiteChecks:b=!1,minBalance:y}=r,v,C,k,I,P=s.startsWith("0x")?s:`0x${s}`;if(a){let V=Ma(a);if(m)v=m;else{if(!o)throw new Error("Chain required when creating publicClient");v=_n({chain:o,transport:oo(n)})}if(!o)throw new Error("Chain required when creating walletClient");C=Fa({account:V,chain:o,transport:oo(n)}),k=V.address,I=o.id}else if(c){if(C=c,m)v=m;else{if(!o)throw new Error("Chain required when creating publicClient");v=_n({chain:o,transport:oo(n)})}if(!C.account?.address)throw new Error("WalletClient must have an account with address");k=C.account.address,I=o?o.id:await C.getChainId()}else throw new Error("Either privateKey or walletClient must be provided");let S={publicClient:v,walletClient:C,address:k,chainId:I},$=Id();if(d&&typeof d=="function"){let V=()=>{d($.status),$.isComplete||setTimeout(V,100)};setTimeout(V,10)}if(!b){let V={targetChainId:I,minBalance:y?kn(y):kn("0.001")},me=await C1(S,V);if(!me.networkValid)throw new Error(`Network mismatch: Expected chain ${V.targetChainId}, but wallet is on chain ${me.details.currentChainId}`);if(!me.balanceValid){let Ae=Number(V.minBalance)/1e18,qe=Number(me.details.balance)/1e18;throw new Error(`Insufficient balance: Required ${Ae} ETH, but account has ${qe.toFixed(6)} ETH`)}}let M=async V=>await V.walletClient.writeContract({address:P,abi:_1,functionName:"addComposeHash",args:[kp(i)],account:V.walletClient.account||V.address,chain:o||null}),D=p?await E1(M,S,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:f},p):await $.execute(M,S,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:f}),O=h_(D.receipt,kp(i),P,s);return t?.schema===!1?O:(t?.schema||d_).parse(O)}async function I1(e,t){try{return{success:!0,data:await g_(e,t)}}catch(r){let o=r instanceof Error?r.message:"Unknown blockchain error";return{success:!1,error:{isRequestError:!0,message:o,status:500,detail:o}}}}var mQ=Si.object({target:Si.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),interval:Si.number().min(5).max(30).default(5).describe("Polling interval in seconds"),timeout:Si.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),maxRetries:Si.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),retryDelay:Si.number().min(0).default(5e3).describe("Delay between retries in milliseconds")});var y_=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function b_(e){let t={},r=e.toString();r=r.replace(/\r\n?/gm,`
70
+ `);let o;for(;(o=y_.exec(r))!=null;){let n=o[1];if(!n)continue;let s=o[2]||"";s=s.trim();let i=s[0];s=s.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),i==='"'&&(s=s.replace(/\\n/g,`
71
+ `),s=s.replace(/\\r/g,"\r")),t[n]=s}return t}function A1(e){let t=b_(e),r=[];for(let[o,n]of Object.entries(t))r.push({key:o,value:n});return r}import pt from"chalk";import w_ from"ora";function C_(e,t){let r=e.split(/\s+/),o=[],n="";for(let s of r){let i=n.length===0?s:`${n} ${s}`;i.length<=t?n=i:(n.length>0&&o.push(n),n=s)}return n.length>0&&o.push(n),o}function E_(e,t){if(e.length<=t)return[e];let r=[],o=0;for(;o<e.length;)r.push(e.slice(o,o+t)),o+=t;return r}function P1(e,t){let r=[];for(let o of e.split(`
72
+ `)){if(o.length<=t){r.push(o);continue}if(o.indexOf(" ")===-1){r.push(...E_(o,t));continue}let n=C_(o,t);r.push(...n)}if(r.length===0){let o=e.trim();r.push(o)}return r}var l={error:(e,...t)=>{lt()||(process.stderr.write(`${pt.red("\u2717")} ${pt.red(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
73
+ `))},warn:(e,...t)=>{lt()||(process.stderr.write(`${pt.yellow("\u26A0")} ${pt.yellow(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
74
+ `))},info:(e,...t)=>{lt()||(process.stderr.write(`${pt.blue("\u2139")} ${pt.blue(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
75
+ `))},success:(e,...t)=>{lt()||(process.stderr.write(`${pt.green("\u2713")} ${pt.green(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
76
+ `))},debug:(e,...t)=>{lt()||process.env.DEBUG&&(process.stderr.write(`${pt.gray("\u{1F50D}")} ${pt.gray(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
77
+ `))},table:(e,t)=>{if(!lt()){if(e.length===0){console.log(pt.yellow("No data to display"));return}if(t){let r;typeof t[0]=="string"?r=t.map(i=>({key:i,header:i})):r=t;let o={};for(let i of r){let a=i.header||String(i.key);o[String(i.key)]=a.length}for(let i of e)for(let a of r){let c=String(typeof a.key=="string"&&!(a.key in i)?"":i[String(a.key)]??"");o[String(a.key)]=Math.max(o[String(a.key)],c.length)}let n=[];for(let i of r){let a=i.header||String(i.key);n.push(pt.bold(a.padEnd(o[String(i.key)])))}console.log(n.join(" "));let s=[];for(let i of r)s.push("-".repeat(o[String(i.key)]));console.log(s.join(" "));for(let i of e){let a=[];for(let c of r){let m=String(typeof c.key=="string"&&!(c.key in i)?"":i[String(c.key)]??"");a.push(m.padEnd(o[String(c.key)]))}console.log(a.join(" "))}}else{let r=e[0],o=Object.keys(r),n={};for(let a of o)n[a]=a.length;for(let a of e)for(let c of o){let m=String(a[c]??"");n[c]=Math.max(n[c],m.length)}let s=[];for(let a of o)s.push(pt.bold(a.padEnd(n[a])));console.log(s.join(" "));let i=[];for(let a of o)i.push("-".repeat(n[a]));console.log(i.join(" "));for(let a of e){let c=[];for(let m of o){let u=String(a[m]??"");c.push(u.padEnd(n[m]))}console.log(c.join(" "))}}}},keyValueTable:(e,t)=>{if(lt())return;let{borderStyle:r="single",keyColor:o=pt.blue,valueColor:n=pt.white,maxWidth:s=process.stdout.columns||80}=t||{},a={single:{topLeft:"\u250C",topRight:"\u2510",bottomLeft:"\u2514",bottomRight:"\u2518",horizontal:"\u2500",vertical:"\u2502",cross:"\u253C",leftT:"\u251C",rightT:"\u2524"},double:{topLeft:"\u2554",topRight:"\u2557",bottomLeft:"\u255A",bottomRight:"\u255D",horizontal:"\u2550",vertical:"\u2551",cross:"\u256C",leftT:"\u2560",rightT:"\u2563"},rounded:{topLeft:"\u256D",topRight:"\u256E",bottomLeft:"\u2570",bottomRight:"\u256F",horizontal:"\u2500",vertical:"\u2502",cross:"\u253C",leftT:"\u251C",rightT:"\u2524"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomLeft:"\u2517",bottomRight:"\u251B",horizontal:"\u2501",vertical:"\u2503",cross:"\u254B",leftT:"\u2523",rightT:"\u252B"},none:{topLeft:"",topRight:"",bottomLeft:"",bottomRight:"",horizontal:"",vertical:"",cross:"",leftT:"",rightT:""}}[r],c=0,m=0;for(let[h,g]of Object.entries(e)){c=Math.max(c,h.length);let b=String(g??"");m=Math.max(m,b.length)}let u=4,p=1,f=s-u-p;if(c+m>f){let h=c/(c+m);c=Math.floor(f*h),m=f-c}let d=c+m+u+p;r!=="none"&&console.log(a.topLeft+a.horizontal.repeat(d-2)+a.topRight);for(let[h,g]of Object.entries(e)){let b=h,y=String(g??""),v=P1(b,c),C=P1(y,m),k=Math.max(v.length,C.length);for(;v.length<k;)v.push("");for(;C.length<k;)C.push("");for(let I=0;I<k;I++){let P=v[I].padEnd(c),S=C[I].padEnd(m);console.log(r!=="none"?`${a.vertical} ${o(P)} ${a.vertical} ${n(S)} ${a.vertical}`:`${o(P)} : ${n(S)}`)}}r!=="none"&&console.log(a.bottomLeft+a.horizontal.repeat(d-2)+a.bottomRight)},break:()=>{lt()||process.stderr.write(`
78
+ `)},startSpinner:e=>{if(lt())return{stop:()=>{}};let t=w_(e).start();return{stop:(r=!0,o)=>{o&&(t.text=o),r?t.succeed():t.fail()}}},logDetailedError(e,t){if(lt())return;let r=t?`[${t}] `:"",o=s=>s!==null&&typeof s=="object"&&"isRequestError"in s&&s.isRequestError===!0&&"status"in s&&"message"in s&&"data"in s,n=s=>s!==null&&typeof s=="object"&&"issues"in s&&Array.isArray(s.issues);if(o(e)){process.stderr.write(`${r}HTTP ${e.status}: ${e.message}
79
79
  `),e.data!==void 0&&e.data!==null&&process.stderr.write(`${JSON.stringify(e.data,null,2)}
80
80
  `);return}if(n(e)){process.stderr.write(`${r}Validation error: ${JSON.stringify(e.issues)}
81
81
  `);return}e instanceof Error?process.stderr.write(`${r}${e.message}
82
82
  `):process.stderr.write(`${r}${String(e)}
83
- `)}};var v_=Lr(zr.extend({api_version:kp.enum(La).optional(),gateway_domain:kp.string().optional(),gateway_port:kp.number().int().positive().optional()})),wd="phala.toml";function y1(){return x_.join(process.cwd(),wd)}function C_(){return xd.existsSync(y1())}function E_(){let e=y1();if(!xd.existsSync(e))throw new Error(`Project configuration file not found: ${wd}
84
- Run 'phala init' to create one.`);try{let t=xd.readFileSync(e,"utf8"),r=w_.parse(t),o=v_.parse(r);if(o.id||o.uuid||o.app_id||o.instance_id){let{cvmId:n}=ye.parse(o);return{...o,cvm_id:n}}return o}catch(t){if(t instanceof kp.ZodError){let r=t.issues.map(o=>` - ${o.path.join(".")}: ${o.message}`).join(`
83
+ `)}};var __=Dr(Mr.extend({api_version:Ap.enum(Oa).optional(),gateway_domain:Ap.string().optional(),gateway_port:Ap.number().int().positive().optional()})),Pd="phala.toml";function T1(){return k_.join(process.cwd(),Pd)}function I_(){return Ad.existsSync(T1())}function A_(){let e=T1();if(!Ad.existsSync(e))throw new Error(`Project configuration file not found: ${Pd}
84
+ Run 'phala init' to create one.`);try{let t=Ad.readFileSync(e,"utf8"),r=S_.parse(t),o=__.parse(r);if(o.id||o.uuid||o.app_id||o.instance_id){let{cvmId:n}=ge.parse(o);return{...o,cvm_id:n}}return o}catch(t){if(t instanceof Ap.ZodError){let r=t.issues.map(o=>` - ${o.path.join(".")}: ${o.message}`).join(`
85
85
  `);throw new Error(`Invalid project configuration:
86
- ${r}`)}throw new Error(`Failed to parse ${wd}: ${t instanceof Error?t.message:String(t)}`)}}function b1(){return C_()?E_():{}}function Ai(e){if(!e)return;let{cvmId:t}=ye.parse({id:e});return t}async function w1(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,stdin:a,env:c,cwd:m}=e,u=__(r);if((u.length>0?t.getNode(u):null)?.group){let b=r.slice(u.length),y=Ni(b,void 0);if(y.flags["--help"]||y.positionals.length===0)return x1({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:u})}let p=t.resolveCommand(u);if(!p)return u.length>1&&t.getNode([u[0]])?.group?x1({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:[u[0]]}):S_({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i});let{definition:d,consumed:h}=p,g=r.slice(h.length);try{let b=Ni(g,d.meta.options);if(b.flags["--version"])return s.write(`${n}
87
- `),0;if(b.flags["--help"])return s.write(`${m0({executableName:o,definition:d,registry:t})}
88
- `),0;let y=s0(d.meta,b),v={...y.options,...y.positionals,options:y.options,positionals:y.positionals,raw:y.raw},C={argv:g,rawFlags:b.flags,rawPositionals:b.positionals,cwd:m,env:c,stdout:s,stderr:i,stdin:a,projectConfig:b1(),success(I){if(ut()){let A=typeof I=="string"?{success:!0,message:I}:{success:!0,...typeof I=="object"&&I!==null?I:{data:I}};s.write(`${JSON.stringify(A,null,2)}
89
- `)}else typeof I=="string"?s.write(`${Ha.green("\u2713")} ${Ha.green(I)}
90
- `):(s.write(`${Ha.green("\u2713")} Success
91
- `),s.write(`${JSON.stringify(I,null,2)}
92
- `))},fail(I,A){ut()?s.write(`${JSON.stringify({success:!1,error:I,...A&&{details:A}},null,2)}
93
- `):(i.write(`${Ha.red("\u2717")} ${Ha.red(I)}
94
- `),A&&i.write(`${JSON.stringify(A,null,2)}
95
- `))}},k=d.schema.parse(v),_=await d.run(k,C);return typeof _=="number"?_:0}catch(b){if(b instanceof k_)return i.write(I_(b)),1;if(vd(b))return i.write(`${b.message}
96
- `),1;throw b}}function S_(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i}=e;try{let a=Ni(r,void 0);if(a.flags["--version"])return s.write(`${n}
97
- `),0;if(a.flags["--help"])return s.write(`${nc({registry:t,executableName:o})}
98
- `),0;if(a.positionals.length===0)return s.write(`${nc({registry:t,executableName:o})}
86
+ ${r}`)}throw new Error(`Failed to parse ${Pd}: ${t instanceof Error?t.message:String(t)}`)}}function $1(){return I_()?A_():{}}function Pi(e){if(!e)return;let{cvmId:t}=ge.parse({id:e});return t}import Pp from"crypto";import Nr from"fs";import Ti from"os";import $d from"path";var Va=$d.join(Ti.homedir(),".phala-cloud"),qa=$d.join(Va,"api-key"),Td=$d.join(Va,"docker-credentials.json");function R1(){if(!Nr.existsSync(Va))try{Nr.mkdirSync(Va,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Va}:`,e),e}}function B1(){let e=[Ti.hostname(),Ti.platform(),Ti.arch(),Ti.cpus()[0]?.model||"",Ti.userInfo().username],t=Pp.createHash("sha256");return t.update(e.join("|")),t.digest()}function P_(e){try{let t=B1(),r=Pp.randomBytes(16),o=Pp.createCipheriv("aes-256-cbc",t.slice(0,32),r),n=o.update(e,"utf8","hex");return n+=o.final("hex"),`${r.toString("hex")}:${n}`}catch(t){throw l.error("Encryption failed:",t),new Error("Failed to encrypt data")}}function T_(e){try{let t=B1(),r=e.split(":");if(r.length!==2)throw new Error("Invalid encrypted format");let o=Buffer.from(r[0],"hex"),n=r[1],s=Pp.createDecipheriv("aes-256-cbc",t.slice(0,32),o),i=s.update(n,"hex","utf8");return i+=s.final("utf8"),i}catch(t){throw l.error("Decryption failed:",t),new Error("Failed to decrypt data")}}async function Tp(e){R1();try{let t=P_(e);Nr.writeFileSync(qa,t,{mode:384})}catch(t){throw l.error("Failed to save API key:",t),t}}function Zo(){try{if(process.env.PHALA_CLOUD_API_KEY)return process.env.PHALA_CLOUD_API_KEY;if(Nr.existsSync(qa)){let e=Nr.readFileSync(qa,"utf8").trim();return T_(e)}return null}catch(e){return l.error("Failed to read API key:",e),null}}async function zr(){try{Nr.existsSync(qa)?(Nr.unlinkSync(qa),l.success("API key removed successfully.")):l.warn("No API key found to remove.")}catch(e){throw l.error("Failed to remove API key:",e),e}}async function Rd(e){R1();try{Nr.writeFileSync(Td,JSON.stringify(e,null,2),{mode:384}),l.success("Docker information saved successfully.")}catch(t){throw l.error("Failed to save Docker information:",t),t}}async function io(){try{if(Nr.existsSync(Td)){let e=Nr.readFileSync(Td,"utf8");return JSON.parse(e)}return null}catch(e){return l.error("Failed to read Docker credentials:",e),null}}async function Z(){let e=Zo();return kt({apiKey:e})}async function $p(e){return kt({apiKey:e})}import{z as w}from"zod";var $_=w.object({password:w.string(),registry:w.string().nullable(),username:w.string()}),jQ=w.object({docker_compose_file:w.string(),docker_config:$_.optional().nullable(),features:w.array(w.string()),kms_enabled:w.boolean(),manifest_version:w.number(),name:w.string(),public_logs:w.boolean(),public_sysinfo:w.boolean(),runner:w.string().optional(),salt:w.string().nullable().optional(),tproxy_enabled:w.boolean(),version:w.string().optional()}).passthrough(),F1=w.object({id:w.number(),name:w.string(),status:w.string(),teepod_id:w.number().nullable(),teepod:w.object({id:w.number(),name:w.string()}).nullable(),user_id:w.number().nullable(),app_id:w.string(),vm_uuid:w.string().nullable(),instance_id:w.string().nullable(),app_url:w.string().nullable(),base_image:w.string().nullable(),vcpu:w.number(),memory:w.number(),disk_size:w.number(),manifest_version:w.number().nullable(),version:w.string().nullable(),runner:w.string().nullable(),docker_compose_file:w.string().nullable(),features:w.array(w.string()).nullable(),created_at:w.string(),encrypted_env_pubkey:w.string().nullable()}),GQ=w.object({key:w.string(),value:w.string()}),R_=w.object({is_online:w.boolean(),is_public:w.boolean(),error:w.string().nullable(),internal_ip:w.string(),latest_handshake:w.string(),public_urls:w.array(w.object({app:w.string(),instance:w.string()}))}),M1=w.object({id:w.number(),name:w.string(),status:w.string(),teepod_id:w.number(),teepod:w.object({id:w.number(),name:w.string()}),user_id:w.number().nullable(),app_id:w.string(),vm_uuid:w.string().nullable(),instance_id:w.string().nullable(),app_url:w.string().nullable(),base_image:w.string().nullable(),vcpu:w.number(),memory:w.number(),disk_size:w.number(),manifest_version:w.number().nullable(),version:w.string().nullable(),runner:w.string().nullable(),docker_compose_file:w.string().nullable(),features:w.array(w.string()).nullable(),created_at:w.string(),encrypted_env_pubkey:w.string().nullable()}),D1=w.object({is_online:w.boolean(),is_public:w.boolean(),error:w.string().nullable(),app_certificates:w.array(w.object({subject:w.object({common_name:w.string().nullable(),organization:w.string().nullable(),country:w.string().nullable(),state:w.string().nullable().optional(),locality:w.string().nullable().optional()}),issuer:w.object({common_name:w.string().nullable(),organization:w.string().nullable(),country:w.string().nullable()}),serial_number:w.string(),not_before:w.string(),not_after:w.string(),version:w.string(),fingerprint:w.string(),signature_algorithm:w.string(),sans:w.string().nullable(),is_ca:w.boolean(),position_in_chain:w.number(),quote:w.string().nullable()})).nullable(),tcb_info:w.object({mrtd:w.string(),rootfs_hash:w.string(),rtmr0:w.string(),rtmr1:w.string(),rtmr2:w.string(),rtmr3:w.string(),event_log:w.array(w.object({imr:w.number(),event_type:w.number(),digest:w.string(),event:w.string(),event_payload:w.string()}))}).nullable(),compose_file:w.string().nullable()}),B_=w.object({name:w.string(),description:w.string().optional(),version:w.array(w.number()).optional(),is_dev:w.boolean().optional(),os_image_hash:w.string().nullable().optional(),rootfs_hash:w.string().optional(),shared_ro:w.boolean().optional(),cmdline:w.string().optional(),kernel:w.string().optional(),initrd:w.string().optional(),hda:w.string().nullable().optional(),rootfs:w.string().optional(),bios:w.string().optional()}),VQ=w.object({teepod_id:w.number().nullable(),id:w.number().optional(),name:w.string(),listed:w.boolean().optional(),resource_score:w.number().optional(),remaining_vcpu:w.number().optional(),remaining_memory:w.number().optional(),remaining_cvm_slots:w.number().optional(),images:w.array(B_).optional(),region_identifier:w.string().optional(),dedicated_for_team_id:w.number().nullable().optional(),support_onchain_kms:w.boolean().optional(),fmspc:w.string().nullable().optional(),device_id:w.string().nullable().optional()});import F_ from"inquirer";async function N1(e){let t=await Z(),r=await Ga(t,{id:e});if(!r.success)throw new Error(r.error.message);return r.data}async function z1(){let e=l.startSpinner("Fetching available CVMs"),t=await Z(),r=await ja(t);if(e.stop(!0),!r.success){l.error(`Failed to fetch CVMs: ${r.error.message}`);return}let n=r.data.items;if(!n||n.length===0){l.info("No CVMs found for your account");return}let s=n.map(a=>{let c=a,m=c.hosted?.app_id||c.hosted?.id,u=c.name||c.hosted?.name,p=c.status||c.hosted?.status;return{name:`${u||"Unnamed"} (${m}) - Status: ${p||"Unknown"}`,value:m}}),{selectedCvm:i}=await F_.prompt([{type:"list",name:"selectedCvm",message:"Select a CVM:",choices:s}]);return i}async function L1(e){let t=await Z(),r=e.replace(/^app_/,""),o=await t.get(`cvms/app_${r}/attestation`);try{return D1.parse(o)}catch(n){return l.debug(`Validation error: ${n instanceof Error?n.message:String(n)}`),{is_online:!!o?.is_online,is_public:!!o?.is_public,error:typeof o?.error=="string"?o.error:null,app_certificates:Array.isArray(o?.app_certificates)?o.app_certificates:null,tcb_info:o?.tcb_info||null,compose_file:typeof o?.compose_file=="string"?o.compose_file:null}}}async function U1(e,t){let r=await Z(),o=e.replace(/^app_/,""),n=await r.post(`cvms/app_${o}/replicas`,t);return M1.parse(n)}async function Bd(e,t,r,o,n){let s=await Z(),i=e.replace(/^app_/,""),a={};if(t!==void 0&&(a.vcpu=t),r!==void 0&&(a.memory=r),o!==void 0&&(a.disk_size=o),n!==void 0&&(a.allow_restart=n),Object.keys(a).length===0)throw new Error("At least one resource parameter must be provided");return await s.patch(`cvms/app_${i}/resources`,a),!0}async function O1(e){return await(await Z()).post("cvms/pubkey/from_cvm_configuration",e)}async function H1(e){let r=await(await Z()).post("cvms/from_cvm_configuration",e);return F1.parse(r)}async function j1(e,t){let r=await Z(),o=e.replace(/^app_/,"");return await r.put(`cvms/app_${o}/compose`,t)}async function G1(e=!1){let t=await Z(),r="teepods/available";return e&&(r+="?v03x_only=1"),await t.get(r)}async function q1(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,stdin:a,env:c,cwd:m}=e,u=N_(r);if((u.length>0?t.getNode(u):null)?.group){let b=r.slice(u.length),y=Ui(b,void 0);if(y.flags["--help"]||y.positionals.length===0)return V1({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:u})}let f=t.resolveCommand(u);if(!f)return u.length>1&&t.getNode([u[0]])?.group?V1({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:[u[0]]}):D_({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i});let{definition:d,consumed:h}=f,g=r.slice(h.length);try{let b=Ui(g,d.meta.options);if(b.flags["--version"])return s.write(`${n}
87
+ `),0;if(b.flags["--help"])return s.write(`${w0({executableName:o,definition:d,registry:t})}
88
+ `),0;let y=h0(d.meta,b),v={...y.options,...y.positionals,options:y.options,positionals:y.positionals,raw:y.raw},C;if("cvmId"in v){let S=v.cvmId,$="interactive"in v&&v.interactive===!0;if(S&&typeof S=="string")C={id:S};else if(!S&&$){let M=await z1();M&&(C={app_id:M})}}let k={argv:g,rawFlags:b.flags,rawPositionals:b.positionals,cwd:m,env:c,stdout:s,stderr:i,stdin:a,projectConfig:$1(),cvmId:C,success(S){if(lt()){let $=typeof S=="string"?{success:!0,message:S}:{success:!0,...typeof S=="object"&&S!==null?S:{data:S}};s.write(`${JSON.stringify($,null,2)}
89
+ `)}else typeof S=="string"?s.write(`${Ka.green("\u2713")} ${Ka.green(S)}
90
+ `):(s.write(`${Ka.green("\u2713")} Success
91
+ `),s.write(`${JSON.stringify(S,null,2)}
92
+ `))},fail(S,$){lt()?s.write(`${JSON.stringify({success:!1,error:S,...$&&{details:$}},null,2)}
93
+ `):(i.write(`${Ka.red("\u2717")} ${Ka.red(S)}
94
+ `),$&&i.write(`${JSON.stringify($,null,2)}
95
+ `))}},I=d.schema.parse(v),P=await d.run(I,k);return typeof P=="number"?P:0}catch(b){if(b instanceof M_)return i.write(z_(b)),1;if(Fd(b))return i.write(`${b.message}
96
+ `),1;throw b}}function D_(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i}=e;try{let a=Ui(r,void 0);if(a.flags["--version"])return s.write(`${n}
97
+ `),0;if(a.flags["--help"])return s.write(`${ac({registry:t,executableName:o})}
98
+ `),0;if(a.positionals.length===0)return s.write(`${ac({registry:t,executableName:o})}
99
99
  `),0;let c=a.positionals.join(" ");return i.write(`Unknown command "${c}". Run \`${o} --help\` for a list of commands.
100
- `),1}catch(a){if(vd(a))return i.write(`${a.message}
101
- `),1;throw a}}function x1(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:a}=e;try{let c=r.slice(a.length),m=Ni(c,void 0);if(m.flags["--version"])return s.write(`${n}
102
- `),0;if(m.flags["--help"]||m.positionals.length===0)return s.write(`${c0({registry:t,executableName:o,groupPath:a})}
103
- `),0;let u=m.positionals.join(" "),f=a.join(" ");return i.write(`Unknown subcommand "${u}" for "${f}". Run \`${o} ${f} --help\` for a list of subcommands.
104
- `),1}catch(c){if(vd(c))return i.write(`${c.message}
105
- `),1;throw c}}function __(e){let t=[];for(let r of e){if(r.startsWith("-"))break;t.push(r)}return t}function I_(e){let t=e.issues[0];return t?`Invalid value for "${t.path.length>0?t.path.join("."):"input"}": ${t.message}
100
+ `),1}catch(a){if(Fd(a))return i.write(`${a.message}
101
+ `),1;throw a}}function V1(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:a}=e;try{let c=r.slice(a.length),m=Ui(c,void 0);if(m.flags["--version"])return s.write(`${n}
102
+ `),0;if(m.flags["--help"]||m.positionals.length===0)return s.write(`${v0({registry:t,executableName:o,groupPath:a})}
103
+ `),0;let u=m.positionals.join(" "),p=a.join(" ");return i.write(`Unknown subcommand "${u}" for "${p}". Run \`${o} ${p} --help\` for a list of subcommands.
104
+ `),1}catch(c){if(Fd(c))return i.write(`${c.message}
105
+ `),1;throw c}}function N_(e){let t=[];for(let r of e){if(r.startsWith("-"))break;t.push(r)}return t}function z_(e){let t=e.issues[0];return t?`Invalid value for "${t.path.length>0?t.path.join("."):"input"}": ${t.message}
106
106
  `:`${e.message}
107
- `}function vd(e){return e instanceof Error&&Object.prototype.hasOwnProperty.call(e,"code")&&typeof e.code=="string"}function v1(e){return{name:e,children:new Map,aliasMap:new Map}}var Sp=class{root=v1(null);registerGroup(t){let r=this.ensurePath(t.path);r.group=t;let o=this.getParentNode(t.path);if(o&&t.meta.aliases){let n=t.path[t.path.length-1];for(let s of t.meta.aliases)o.aliasMap.set(s,n)}}registerCommand(t){let r=this.ensurePath(t.path);r.command=t;let o=this.getParentNode(t.path);if(o&&t.meta.aliases){let n=t.path[t.path.length-1];for(let s of t.meta.aliases)o.aliasMap.set(s,n)}}resolveCommand(t){let r=this.root,o;for(let a=0;a<t.length;a+=1){let c=t[a],m=this.getChild(r,c);if(!m)break;r=m,r.command&&(o={node:r,depth:a+1})}if(!o)return;let n=t.slice(0,o.depth),s=t.slice(o.depth),i=o.node.command;return i?{definition:i,consumed:n,remaining:s}:null}getChildren(t=[]){let r=this.getNode(t);return r?[...r.children.values()]:[]}getNode(t){let r=this.root;for(let o of t){let n=this.getChild(r,o);if(!n)return;r=n}return r}ensurePath(t){let r=this.root;for(let o of t){let n=r.children.get(o);n||(n=v1(o),r.children.set(o,n)),r=n}return r}getParentNode(t){if(t.length!==0)return this.getNode(t.slice(0,-1))}getChild(t,r){let o=t.children.get(r);if(o)return o;let n=t.aliasMap.get(r);if(n)return t.children.get(n)}};var C1={path:["auth"],meta:{name:"auth",description:"Authenticate with Phala Cloud"}};import T_ from"prompts";function $(e){return{path:e.path,meta:e.meta,schema:e.schema,run:e.handler}}import _p from"node:crypto";import Or from"node:fs";import Pi from"node:os";import Ed from"node:path";var ja=Ed.join(Pi.homedir(),".phala-cloud"),Ga=Ed.join(ja,"api-key"),Cd=Ed.join(ja,"docker-credentials.json");function E1(){if(!Or.existsSync(ja))try{Or.mkdirSync(ja,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${ja}:`,e),e}}function k1(){let e=[Pi.hostname(),Pi.platform(),Pi.arch(),Pi.cpus()[0]?.model||"",Pi.userInfo().username],t=_p.createHash("sha256");return t.update(e.join("|")),t.digest()}function A_(e){try{let t=k1(),r=_p.randomBytes(16),o=_p.createCipheriv("aes-256-cbc",t.slice(0,32),r),n=o.update(e,"utf8","hex");return n+=o.final("hex"),`${r.toString("hex")}:${n}`}catch(t){throw l.error("Encryption failed:",t),new Error("Failed to encrypt data")}}function P_(e){try{let t=k1(),r=e.split(":");if(r.length!==2)throw new Error("Invalid encrypted format");let o=Buffer.from(r[0],"hex"),n=r[1],s=_p.createDecipheriv("aes-256-cbc",t.slice(0,32),o),i=s.update(n,"hex","utf8");return i+=s.final("utf8"),i}catch(t){throw l.error("Decryption failed:",t),new Error("Failed to decrypt data")}}async function Ip(e){E1();try{let t=A_(e);Or.writeFileSync(Ga,t,{mode:384})}catch(t){throw l.error("Failed to save API key:",t),t}}function hn(){try{if(process.env.PHALA_CLOUD_API_KEY)return process.env.PHALA_CLOUD_API_KEY;if(Or.existsSync(Ga)){let e=Or.readFileSync(Ga,"utf8").trim();return P_(e)}return null}catch(e){return l.error("Failed to read API key:",e),null}}async function Ur(){try{Or.existsSync(Ga)?(Or.unlinkSync(Ga),l.success("API key removed successfully.")):l.warn("No API key found to remove.")}catch(e){throw l.error("Failed to remove API key:",e),e}}async function kd(e){E1();try{Or.writeFileSync(Cd,JSON.stringify(e,null,2),{mode:384}),l.success("Docker information saved successfully.")}catch(t){throw l.error("Failed to save Docker information:",t),t}}async function uo(){try{if(Or.existsSync(Cd)){let e=Or.readFileSync(Cd,"utf8");return JSON.parse(e)}return null}catch(e){return l.error("Failed to read Docker credentials:",e),null}}async function ae(){let e=hn();return vt({apiKey:e})}async function Ap(e){return vt({apiKey:e})}var be=process.env.CLOUD_URL||"https://cloud.phala.network";var Kn=1,Wn=2048,Jn=40,Sd="dstack-0.3.6",S1=`version: '3.8'
107
+ `}function Fd(e){return e instanceof Error&&Object.prototype.hasOwnProperty.call(e,"code")&&typeof e.code=="string"}function K1(e){return{name:e,children:new Map,aliasMap:new Map}}var Rp=class{constructor(){this.root=K1(null)}registerGroup(t){let r=this.ensurePath(t.path);r.group=t;let o=this.getParentNode(t.path);if(o&&t.meta.aliases){let n=t.path[t.path.length-1];for(let s of t.meta.aliases)o.aliasMap.set(s,n)}}registerCommand(t){let r=this.ensurePath(t.path);r.command=t;let o=this.getParentNode(t.path);if(o&&t.meta.aliases){let n=t.path[t.path.length-1];for(let s of t.meta.aliases)o.aliasMap.set(s,n)}}resolveCommand(t){let r=this.root,o;for(let a=0;a<t.length;a+=1){let c=t[a],m=this.getChild(r,c);if(!m)break;r=m,r.command&&(o={node:r,depth:a+1})}if(!o)return;let n=t.slice(0,o.depth),s=t.slice(o.depth),i=o.node.command;return i?{definition:i,consumed:n,remaining:s}:null}getChildren(t=[]){let r=this.getNode(t);return r?[...r.children.values()]:[]}getNode(t){let r=this.root;for(let o of t){let n=this.getChild(r,o);if(!n)return;r=n}return r}ensurePath(t){let r=this.root;for(let o of t){let n=r.children.get(o);n||(n=K1(o),r.children.set(o,n)),r=n}return r}getParentNode(t){if(t.length!==0)return this.getNode(t.slice(0,-1))}getChild(t,r){let o=t.children.get(r);if(o)return o;let n=t.aliasMap.get(r);if(n)return t.children.get(n)}};var W1={path:["auth"],meta:{name:"auth",description:"Authenticate with Phala Cloud"}};import L_ from"prompts";function R(e){return{path:e.path,meta:e.meta,schema:e.schema,run:e.handler}}var ye=process.env.CLOUD_URL||"https://cloud.phala.network";var Pn=1,Tn=2048,$n=40,Md="dstack-0.3.6",J1=`version: '3.8'
108
108
  services:
109
109
  postgres:
110
110
  image: ankane/pgvector:latest
@@ -149,7 +149,7 @@ networks:
149
149
  driver: bridge
150
150
 
151
151
  volumes:
152
- postgres-data:`,_1=`version: '3.8'
152
+ postgres-data:`,Z1=`version: '3.8'
153
153
  services:
154
154
  app:
155
155
  image: {{imageName}}
@@ -160,47 +160,47 @@ services:
160
160
  {{#each envVars}} - {{{this}}}
161
161
  {{/each}}
162
162
  restart: always
163
- `;import{z as Pp}from"zod";var I1={name:"login",description:"[DEPRECATED] Authenticate with Phala Cloud (use 'phala login' instead)",arguments:[{name:"api-key",description:"API key for authentication (optional, triggers device flow if not provided)",required:!1,target:"apiKey"}],options:[{name:"manual",description:"Manually enter API key instead of using device flow",type:"boolean"},{name:"no-open",description:"Don't automatically open browser for device flow",type:"boolean"}]},A1=Pp.object({apiKey:Pp.string().min(1,"API key cannot be empty").optional(),manual:Pp.boolean().optional(),noOpen:Pp.boolean().optional()});async function _d(e){try{await Ip(e);let t=await Ap(e),r=await Vn(t),o=r.data;if(!r.success||!o?.username)throw await Ur(),new Error("Invalid API key");return o}catch(t){throw await Ur(),t instanceof Error?t:new Error(String(t))}}async function $_(){let e,t=await T_({type:"password",name:"apiKey",message:"Enter your API key:",validate:async r=>{if(!r||r.trim().length===0)return"API key cannot be empty";try{return e=await _d(r),!0}catch(o){return o instanceof Error?o.message:"Invalid API key"}}});if(!t.apiKey)throw new Error("API key input cancelled");return e||(e=await _d(t.apiKey)),{apiKey:t.apiKey,user:e}}async function R_(e,t){l.warn('The "phala auth login" command is deprecated and will be removed in a future version.'),l.info('Please use "phala login" instead for a better experience.'),l.break();try{let r=e.apiKey,o;if(r)o=await _d(r);else{let n=await $_();r=n.apiKey,o=n.user}if(!o)throw new Error("Failed to validate API key");return l.success(`Welcome ${o.username}! API key validated and saved successfully`),l.break(),l.info(`Open in Web UI at ${be}/dashboard/`),0}catch(r){return l.error("Failed to set API key"),l.logDetailedError(r),1}}var P1=$({path:["auth","login"],meta:I1,schema:A1,handler:R_});import{z as B_}from"zod";var T1={name:"logout",description:"[DEPRECATED] Remove the stored API key (use 'phala logout' instead)"},$1=B_.object({});async function F_(e,t){l.warn('The "phala auth logout" command is deprecated and will be removed in a future version.'),l.info('Please use "phala logout" instead.'),l.break();try{return await Ur(),l.success("API key removed successfully"),0}catch(r){return l.error("Failed to remove API key"),l.logDetailedError(r),1}}var R1=$({path:["auth","logout"],meta:T1,schema:$1,handler:F_});import{z as Tp}from"zod";var po={name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json",negatedName:"no-json"},Id={name:"debug",shorthand:"d",description:"Enable debug output",type:"boolean",target:"debug"},B1={name:"status",description:"Check Phala Cloud status and authentication",options:[...ts,po,Id],examples:[{name:"Show login status in human-readable format",value:"phala status"},{name:"Get status as JSON",value:"phala status --json"}]},$p=Tp.object({json:Tp.boolean().default(!1),debug:Tp.boolean().default(!1),apiToken:Tp.string().optional()});async function Ad(e,t){Ve(e.json);let r=e.debug||t.env.DEBUG?.toLowerCase()==="true",o=e.apiToken||hn();if(!o)return l.warn('Not authenticated. Please set an API key with "phala login"'),0;r&&l.debug(`Using API key: ${o.substring(0,5)}...`);try{let n=vt({apiKey:o}),s=await Vn(n);if(!s.success)return l.error("Failed to get user information"),s.error&&l.error(`Error: ${s.error.message}`),t.fail(s.error?.message||"Failed to get user information"),1;let i=s.data,a=t.env.PHALA_CLOUD_API_PREFIX||"https://cloud-api.phala.network/api/v1";return e.json?(t.success({apiUrl:a,username:i.username,team_name:i.team_name}),0):(t.stdout.write(`Integrated API: ${a}
163
+ `;import{z as Bp}from"zod";var Y1={name:"login",description:"[DEPRECATED] Authenticate with Phala Cloud (use 'phala login' instead)",arguments:[{name:"api-key",description:"API key for authentication (optional, triggers device flow if not provided)",required:!1,target:"apiKey"}],options:[{name:"manual",description:"Manually enter API key instead of using device flow",type:"boolean"},{name:"no-open",description:"Don't automatically open browser for device flow",type:"boolean"}]},X1=Bp.object({apiKey:Bp.string().min(1,"API key cannot be empty").optional(),manual:Bp.boolean().optional(),noOpen:Bp.boolean().optional()});async function Dd(e){try{await Tp(e);let t=await $p(e),r=await An(t),o=r.data;if(!r.success||!o?.username)throw await zr(),new Error("Invalid API key");return o}catch(t){throw await zr(),t instanceof Error?t:new Error(String(t))}}async function U_(){let e,t=await L_({type:"password",name:"apiKey",message:"Enter your API key:",validate:async r=>{if(!r||r.trim().length===0)return"API key cannot be empty";try{return e=await Dd(r),!0}catch(o){return o instanceof Error?o.message:"Invalid API key"}}});if(!t.apiKey)throw new Error("API key input cancelled");return e||(e=await Dd(t.apiKey)),{apiKey:t.apiKey,user:e}}async function O_(e,t){l.warn('The "phala auth login" command is deprecated and will be removed in a future version.'),l.info('Please use "phala login" instead for a better experience.'),l.break();try{let r=e.apiKey,o;if(r)o=await Dd(r);else{let n=await U_();r=n.apiKey,o=n.user}if(!o)throw new Error("Failed to validate API key");return l.success(`Welcome ${o.username}! API key validated and saved successfully`),l.break(),l.info(`Open in Web UI at ${ye}/dashboard/`),0}catch(r){return l.error("Failed to set API key"),l.logDetailedError(r),1}}var Q1=R({path:["auth","login"],meta:Y1,schema:X1,handler:O_});import{z as H_}from"zod";var e6={name:"logout",description:"[DEPRECATED] Remove the stored API key (use 'phala logout' instead)"},t6=H_.object({});async function j_(e,t){l.warn('The "phala auth logout" command is deprecated and will be removed in a future version.'),l.info('Please use "phala logout" instead.'),l.break();try{return await zr(),l.success("API key removed successfully"),0}catch(r){return l.error("Failed to remove API key"),l.logDetailedError(r),1}}var r6=R({path:["auth","logout"],meta:e6,schema:t6,handler:j_});import{z as Fp}from"zod";var ao={name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json",negatedName:"no-json"},Nd={name:"debug",shorthand:"d",description:"Enable debug output",type:"boolean",target:"debug"},o6={name:"status",description:"Check Phala Cloud status and authentication",options:[...Nn,ao,Nd],examples:[{name:"Show login status in human-readable format",value:"phala status"},{name:"Get status as JSON",value:"phala status --json"}]},Mp=Fp.object({json:Fp.boolean().default(!1),debug:Fp.boolean().default(!1),apiToken:Fp.string().optional()});async function zd(e,t){Ke(e.json);let r=e.debug||t.env.DEBUG?.toLowerCase()==="true",o=e.apiToken||Zo();if(!o)return l.warn('Not authenticated. Please set an API key with "phala login"'),0;r&&l.debug(`Using API key: ${o.substring(0,5)}...`);try{let n=kt({apiKey:o}),s=await An(n);if(!s.success)return l.error("Failed to get user information"),s.error&&l.error(`Error: ${s.error.message}`),t.fail(s.error?.message||"Failed to get user information"),1;let i=s.data,a=t.env.PHALA_CLOUD_API_PREFIX||"https://cloud-api.phala.network/api/v1";return e.json?(t.success({apiUrl:a,username:i.username,team_name:i.team_name}),0):(t.stdout.write(`Integrated API: ${a}
164
164
  `),t.stdout.write(`Logged in as: ${i.username}
165
165
  `),t.stdout.write(`Current Workspace: ${i.team_name}
166
- `),0)}catch(n){return l.error("Authentication failed. Your API key may be invalid or expired."),l.info('Please set a new API key with "phala login"'),r&&l.logDetailedError(n),t.fail("Authentication failed. Your API key may be invalid or expired."),1}}var F1=$({path:["status"],meta:B1,schema:$p,handler:Ad});var M1={name:"status",description:"[DEPRECATED] Check authentication status (use 'phala status' instead)",options:[...ts,po,Id]},D1=$p;var N1=$({path:["auth","status"],meta:M1,schema:D1,handler:async(e,t)=>(e.json||(l.warn('The "phala auth status" command is deprecated and will be removed in a future version.'),l.info('Please use "phala status" instead.'),l.break()),Ad(e,t))});var Pd={group:C1,commands:[P1,R1,N1]};var z1={path:["config"],meta:{name:"config",description:"Manage your local configuration"}};import M_ from"node:os";import L1 from"node:path";import qa from"fs-extra";var Rp=L1.join(M_.homedir(),".phala-cloud"),$d=L1.join(Rp,"config.json"),Td={apiUrl:"https://cloud-api.phala.network",cloudUrl:"https://cloud.phala.network",defaultTeepodId:3,defaultImage:"dstack-dev-0.3.5",defaultVcpu:1,defaultMemory:2048,defaultDiskSize:20};function D_(){if(!qa.existsSync(Rp))try{qa.mkdirSync(Rp,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Rp}:`,e),e}}function Bp(){try{if(qa.existsSync($d)){let e=qa.readFileSync($d,"utf8");return{...Td,...JSON.parse(e)}}return Td}catch(e){return l.error("Failed to load configuration:",e),Td}}function N_(e){D_();try{qa.writeFileSync($d,JSON.stringify({...Bp(),...e},null,2),{mode:384}),l.success("Configuration saved successfully.")}catch(t){throw l.error("Failed to save configuration:",t),t}}function O1(e){return Bp()[e]}function U1(e,t){let r=Bp();r[e]=t,N_(r)}function H1(){return Bp()}import{z as j1}from"zod";var G1={name:"get",description:"Get a configuration value",arguments:[{name:"key",description:"Configuration key",required:!0}]},q1=j1.object({key:j1.string()});async function z_(e,t){try{let r=O1(e.key);return r===void 0?(t.stderr.write(`Configuration key '${e.key}' not found
166
+ `),0)}catch(n){return l.error("Authentication failed. Your API key may be invalid or expired."),l.info('Please set a new API key with "phala login"'),r&&l.logDetailedError(n),t.fail("Authentication failed. Your API key may be invalid or expired."),1}}var n6=R({path:["status"],meta:o6,schema:Mp,handler:zd});var s6={name:"status",description:"[DEPRECATED] Check authentication status (use 'phala status' instead)",options:[...Nn,ao,Nd]},i6=Mp;var a6=R({path:["auth","status"],meta:s6,schema:i6,handler:async(e,t)=>(e.json||(l.warn('The "phala auth status" command is deprecated and will be removed in a future version.'),l.info('Please use "phala status" instead.'),l.break()),zd(e,t))});var Ld={group:W1,commands:[Q1,r6,a6]};var c6={path:["config"],meta:{name:"config",description:"Manage your local configuration"}};import G_ from"os";import m6 from"path";import Wa from"fs-extra";var Dp=m6.join(G_.homedir(),".phala-cloud"),Od=m6.join(Dp,"config.json"),Ud={apiUrl:"https://cloud-api.phala.network",cloudUrl:"https://cloud.phala.network",defaultTeepodId:3,defaultImage:"dstack-dev-0.3.5",defaultVcpu:1,defaultMemory:2048,defaultDiskSize:20};function V_(){if(!Wa.existsSync(Dp))try{Wa.mkdirSync(Dp,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Dp}:`,e),e}}function Np(){try{if(Wa.existsSync(Od)){let e=Wa.readFileSync(Od,"utf8");return{...Ud,...JSON.parse(e)}}return Ud}catch(e){return l.error("Failed to load configuration:",e),Ud}}function q_(e){V_();try{Wa.writeFileSync(Od,JSON.stringify({...Np(),...e},null,2),{mode:384}),l.success("Configuration saved successfully.")}catch(t){throw l.error("Failed to save configuration:",t),t}}function u6(e){return Np()[e]}function p6(e,t){let r=Np();r[e]=t,q_(r)}function f6(){return Np()}import{z as l6}from"zod";var d6={name:"get",description:"Get a configuration value",arguments:[{name:"key",description:"Configuration key",required:!0}]},h6=l6.object({key:l6.string()});async function K_(e,t){try{let r=u6(e.key);return r===void 0?(t.stderr.write(`Configuration key '${e.key}' not found
167
167
  `),1):(t.stdout.write(`${e.key}: ${JSON.stringify(r)}
168
168
  `),0)}catch(r){return t.stderr.write(`Failed to get configuration value
169
- `),l.logDetailedError(r),1}}var V1=$({path:["config","get"],meta:G1,schema:q1,handler:z_});import{z as K1}from"zod";var W1={name:"list",aliases:["ls"],description:"List all configuration values",options:[{name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json"}]},J1=K1.object({json:K1.boolean().default(!1)});async function L_(e,t){Ve(e.json);try{let r=H1();if(e.json)return t.success(r),0;t.stdout.write(`Configuration values:
169
+ `),l.logDetailedError(r),1}}var g6=R({path:["config","get"],meta:d6,schema:h6,handler:K_});import{z as y6}from"zod";var b6={name:"list",aliases:["ls"],description:"List all configuration values",options:[{name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json"}]},x6=y6.object({json:y6.boolean().default(!1)});async function W_(e,t){Ke(e.json);try{let r=f6();if(e.json)return t.success(r),0;t.stdout.write(`Configuration values:
170
170
  `);for(let[o,n]of Object.entries(r))t.stdout.write(`${o}: ${JSON.stringify(n)}
171
- `);return 0}catch(r){return l.logDetailedError(r),t.fail("Failed to list configuration values"),1}}var Z1=$({path:["config","list"],meta:W1,schema:J1,handler:L_});import{z as Rd}from"zod";var Y1={name:"set",description:"Set a configuration value",arguments:[{name:"key",description:"Configuration key",required:!0},{name:"value",description:"Configuration value",required:!0}]},X1=Rd.object({key:Rd.string(),value:Rd.string()});async function O_(e,t){try{let r=e.value;if(e.value.startsWith("{")||e.value.startsWith("[")||e.value==="true"||e.value==="false"||!Number.isNaN(Number(e.value)))try{r=JSON.parse(e.value)}catch{}return U1(e.key,r),t.stdout.write(`Configuration value for '${e.key}' set successfully
171
+ `);return 0}catch(r){return l.logDetailedError(r),t.fail("Failed to list configuration values"),1}}var v6=R({path:["config","list"],meta:b6,schema:x6,handler:W_});import{z as Hd}from"zod";var w6={name:"set",description:"Set a configuration value",arguments:[{name:"key",description:"Configuration key",required:!0},{name:"value",description:"Configuration value",required:!0}]},C6=Hd.object({key:Hd.string(),value:Hd.string()});async function J_(e,t){try{let r=e.value;if(e.value.startsWith("{")||e.value.startsWith("[")||e.value==="true"||e.value==="false"||!Number.isNaN(Number(e.value)))try{r=JSON.parse(e.value)}catch{}return p6(e.key,r),t.stdout.write(`Configuration value for '${e.key}' set successfully
172
172
  `),0}catch(r){return t.stderr.write(`Failed to set configuration value
173
- `),l.logDetailedError(r),1}}var Q1=$({path:["config","set"],meta:Y1,schema:X1,handler:O_});var Bd={group:z1,commands:[V1,Z1,Q1]};var e6={path:["cvms"],meta:{name:"cvms",description:"Manage Phala Confidential Virtual Machines (CVMs)"}};import Dp from"chalk";import{z as w}from"zod";var U_=w.object({password:w.string(),registry:w.string().nullable(),username:w.string()}),pte=w.object({docker_compose_file:w.string(),docker_config:U_.optional().nullable(),features:w.array(w.string()),kms_enabled:w.boolean(),manifest_version:w.number(),name:w.string(),public_logs:w.boolean(),public_sysinfo:w.boolean(),runner:w.string().optional(),salt:w.string().nullable().optional(),tproxy_enabled:w.boolean(),version:w.string().optional()}).passthrough(),t6=w.object({id:w.number(),name:w.string(),status:w.string(),teepod_id:w.number().nullable(),teepod:w.object({id:w.number(),name:w.string()}).nullable(),user_id:w.number().nullable(),app_id:w.string(),vm_uuid:w.string().nullable(),instance_id:w.string().nullable(),app_url:w.string().nullable(),base_image:w.string().nullable(),vcpu:w.number(),memory:w.number(),disk_size:w.number(),manifest_version:w.number().nullable(),version:w.string().nullable(),runner:w.string().nullable(),docker_compose_file:w.string().nullable(),features:w.array(w.string()).nullable(),created_at:w.string(),encrypted_env_pubkey:w.string().nullable()}),fte=w.object({key:w.string(),value:w.string()}),H_=w.object({is_online:w.boolean(),is_public:w.boolean(),error:w.string().nullable(),internal_ip:w.string(),latest_handshake:w.string(),public_urls:w.array(w.object({app:w.string(),instance:w.string()}))}),r6=w.object({id:w.number(),name:w.string(),status:w.string(),teepod_id:w.number(),teepod:w.object({id:w.number(),name:w.string()}),user_id:w.number().nullable(),app_id:w.string(),vm_uuid:w.string().nullable(),instance_id:w.string().nullable(),app_url:w.string().nullable(),base_image:w.string().nullable(),vcpu:w.number(),memory:w.number(),disk_size:w.number(),manifest_version:w.number().nullable(),version:w.string().nullable(),runner:w.string().nullable(),docker_compose_file:w.string().nullable(),features:w.array(w.string()).nullable(),created_at:w.string(),encrypted_env_pubkey:w.string().nullable()}),o6=w.object({is_online:w.boolean(),is_public:w.boolean(),error:w.string().nullable(),app_certificates:w.array(w.object({subject:w.object({common_name:w.string().nullable(),organization:w.string().nullable(),country:w.string().nullable(),state:w.string().nullable().optional(),locality:w.string().nullable().optional()}),issuer:w.object({common_name:w.string().nullable(),organization:w.string().nullable(),country:w.string().nullable()}),serial_number:w.string(),not_before:w.string(),not_after:w.string(),version:w.string(),fingerprint:w.string(),signature_algorithm:w.string(),sans:w.string().nullable(),is_ca:w.boolean(),position_in_chain:w.number(),quote:w.string().nullable()})).nullable(),tcb_info:w.object({mrtd:w.string(),rootfs_hash:w.string(),rtmr0:w.string(),rtmr1:w.string(),rtmr2:w.string(),rtmr3:w.string(),event_log:w.array(w.object({imr:w.number(),event_type:w.number(),digest:w.string(),event:w.string(),event_payload:w.string()}))}).nullable(),compose_file:w.string().nullable()}),j_=w.object({name:w.string(),description:w.string().optional(),version:w.array(w.number()).optional(),is_dev:w.boolean().optional(),os_image_hash:w.string().nullable().optional(),rootfs_hash:w.string().optional(),shared_ro:w.boolean().optional(),cmdline:w.string().optional(),kernel:w.string().optional(),initrd:w.string().optional(),hda:w.string().nullable().optional(),rootfs:w.string().optional(),bios:w.string().optional()}),lte=w.object({teepod_id:w.number().nullable(),id:w.number().optional(),name:w.string(),listed:w.boolean().optional(),resource_score:w.number().optional(),remaining_vcpu:w.number().optional(),remaining_memory:w.number().optional(),remaining_cvm_slots:w.number().optional(),images:w.array(j_).optional(),region_identifier:w.string().optional(),dedicated_for_team_id:w.number().nullable().optional(),support_onchain_kms:w.boolean().optional(),fmspc:w.string().nullable().optional(),device_id:w.string().nullable().optional()});import G_ from"inquirer";async function Fp(e){let t=await ae(),r=await Ii(t);if(!r.success)throw new Error(`Failed to fetch CVMs: ${r.error.message}`);let o=e.replace(/^app_/,""),i=r.data.items.find(c=>c.hosted?.app_id===o);if(!i)throw new Error(`CVM with App ID app_${o} not found`);return l.success(`CVM with App ID app_${o} detected`),i.hosted?.app_id||""}async function Ti(e){let t=await ae(),r=e.replace(/^app_/,""),o=await Yt(t,{app_id:r});if(!o.success)throw new Error(o.error.message);return o.data}async function n6(e){let t=await ae(),r=await Ua(t,{id:e});if(!r.success)throw new Error(r.error.message);return r.data}async function s6(e){let t=await ae(),r=e.replace(/^app_/,""),o=await t.post(`cvms/app_${r}/start`);return(await Yt(t,{app_id:r})).data}async function i6(e){let t=await ae(),r=e.replace(/^app_/,"");return await t.post(`cvms/app_${r}/stop`),(await Yt(t,{app_id:r})).data}async function a6(e){let t=await ae(),r=e.replace(/^app_/,"");return await t.post(`cvms/app_${r}/restart`),(await Yt(t,{app_id:r})).data}async function c6(e){let t=await ae(),r=e.replace(/^app_/,"");return await t.delete(`cvms/app_${r}`),!0}async function Mp(){let e=l.startSpinner("Fetching available CVMs"),t=await ae(),r=await Ii(t);if(e.stop(!0),!r.success){l.error(`Failed to fetch CVMs: ${r.error.message}`);return}let n=r.data.items;if(!n||n.length===0){l.info("No CVMs found for your account");return}let s=n.map(a=>{let c=a,m=c.hosted?.app_id||c.hosted?.id,u=c.name||c.hosted?.name,f=c.status||c.hosted?.status;return{name:`${u||"Unnamed"} (${m}) - Status: ${f||"Unknown"}`,value:m}}),{selectedCvm:i}=await G_.prompt([{type:"list",name:"selectedCvm",message:"Select a CVM:",choices:s}]);return i}async function m6(e){let t=await ae(),r=e.replace(/^app_/,""),o=await t.get(`cvms/app_${r}/attestation`);try{return o6.parse(o)}catch(n){return l.debug(`Validation error: ${n instanceof Error?n.message:String(n)}`),{is_online:!!o?.is_online,is_public:!!o?.is_public,error:typeof o?.error=="string"?o.error:null,app_certificates:Array.isArray(o?.app_certificates)?o.app_certificates:null,tcb_info:o?.tcb_info||null,compose_file:typeof o?.compose_file=="string"?o.compose_file:null}}}async function u6(e,t){let r=await ae(),o=e.replace(/^app_/,""),n=await r.post(`cvms/app_${o}/replicas`,t);return r6.parse(n)}async function Fd(e,t,r,o,n){let s=await ae(),i=e.replace(/^app_/,""),a={};if(t!==void 0&&(a.vcpu=t),r!==void 0&&(a.memory=r),o!==void 0&&(a.disk_size=o),n!==void 0&&(a.allow_restart=n),Object.keys(a).length===0)throw new Error("At least one resource parameter must be provided");return await s.patch(`cvms/app_${i}/resources`,a),!0}async function p6(e){return await(await ae()).post("cvms/pubkey/from_cvm_configuration",e)}async function f6(e){let r=await(await ae()).post("cvms/from_cvm_configuration",e);return t6.parse(r)}async function l6(e,t){let r=await ae(),o=e.replace(/^app_/,"");return await r.put(`cvms/app_${o}/compose`,t)}async function d6(e=!1){let t=await ae(),r="teepods/available";return e&&(r+="?v03x_only=1"),await t.get(r)}import{z as Md}from"zod";var h6={name:"attestation",description:"Get attestation information for a CVM",arguments:[{name:"app-id",description:"CVM app ID (prompts if not provided)",required:!1,target:"appId"}],options:[po],examples:[{name:"Show attestation summary",value:"phala cvms attestation"},{name:"Output full attestation JSON",value:"phala cvms attestation --json"}]},g6=Md.object({appId:Md.string().optional(),json:Md.boolean().default(!1)});async function q_(e){return e?Fp(e):(l.info("No CVM specified, fetching available CVMs..."),await Mp()??void 0)}async function V_(e,t){Ve(e.json);try{let r=await q_(e.appId);if(!r)return 0;let o=l.startSpinner(`Fetching attestation information for CVM app_${r}...`);try{let n=await m6(r);if(o.stop(!0),!n)return t.fail("No attestation information found"),1;if(e.json)return t.success(n),0;if(l.success("Attestation Summary:"),l.keyValueTable({Status:n.is_online?Dp.green("Online"):Dp.red("Offline"),"Public Access":n.is_public?Dp.green("Enabled"):Dp.yellow("Disabled"),Error:n.error||"None",Certificates:`${n.app_certificates?.length||0} found`},{borderStyle:"rounded"}),n.app_certificates?.length&&n.app_certificates.forEach((s,i)=>{l.break(),l.success(`Certificate #${i+1} (${s.position_in_chain===0?"End Entity":"CA"}):`),l.keyValueTable({Subject:`${s.subject.common_name||"Unknown"}${s.subject.organization?` (${s.subject.organization})`:""}`,Issuer:`${s.issuer.common_name||"Unknown"}${s.issuer.organization?` (${s.issuer.organization})`:""}`,"Serial Number":s.serial_number,Validity:`${new Date(s.not_before).toLocaleString()} to ${new Date(s.not_after).toLocaleString()}`,Fingerprint:s.fingerprint,"Signature Algorithm":s.signature_algorithm,"Is CA":s.is_ca?"Yes":"No","Position in Chain":s.position_in_chain},{borderStyle:"rounded"})}),n.tcb_info&&(l.break(),l.success("Trusted Computing Base (TCB) Information:"),l.keyValueTable({Mrtd:n.tcb_info.mrtd,"Rootfs Hash":n.tcb_info.rootfs_hash,Rtmr0:n.tcb_info.rtmr0,Rtmr1:n.tcb_info.rtmr1,Rtmr2:n.tcb_info.rtmr2,Rtmr3:n.tcb_info.rtmr3,"Event Log Entries":`${n.tcb_info.event_log.length} entries`},{borderStyle:"rounded"}),n.tcb_info.event_log?.length)){l.break(),l.success("Event Log (Showing entries to reproduce RTMR3):");let s=n.tcb_info.event_log.filter(i=>i.event).map(i=>({Event:i.event,IMR:i.imr.toString(),"Event Type":i.event_type.toString(),Payload:i.event_payload}));l.table(s,[{key:"Event",header:"Event"},{key:"IMR",header:"IMR"},{key:"Event Type",header:"Type"},{key:"Payload",header:"Payload"}]),n.tcb_info.event_log.length>s.length&&l.info("To see all full attestation data, use --json"),l.break(),l.success("To reproduce RTMR3, use the tool at https://rtmr3-calculator.vercel.app/")}return 0}catch(n){throw o.stop(!1),n}}catch(r){return l.logDetailedError(r),t.fail(`Failed to get attestation information: ${r instanceof Error?r.message:String(r)}`),1}}var y6=$({path:["cvms","attestation"],meta:h6,schema:g6,handler:V_});import S6 from"node:fs";import Y_ from"node:path";import Dd from"node:fs";import Nd from"node:path";import K_ from"inquirer";function Rt(e,t=process.cwd()){let r=Nd.resolve(t,e);if(!Dd.existsSync(r))throw new Error(`File not found at ${r}`);return!0}async function Hr(e,t,r="file",o=process.cwd()){return(await K_.prompt([{type:"input",name:r,message:e,default:t,validate:s=>{let i=Nd.resolve(o,s);return Dd.existsSync(i)?!0:`File not found at ${i}`}}]))[r]}function $i(e,t){for(let r of e){let o=Nd.join(process.cwd(),r);if(Dd.existsSync(o))return t?l.info(t.replace("{path}",o)):l.info(`File detected: ${o}`),r}}import*as b6 from"node:fs";var Va=(e,t)=>{let r={};if(e){for(let o of e)if(o.includes("=")){let[n,...s]=o.split("="),i=s.join("=");n&&(r[n]=i)}}if(t){let o=b6.readFileSync(t,"utf8");for(let n of o.split(`
174
- `)){if(!n.trim()||n.trim().startsWith("#"))continue;let s=-1,i=!1,a="";for(let g=0;g<n.length;g++)if((n[g]==='"'||n[g]==="'"||n[g]==="`")&&(g===0||n[g-1]!=="\\"))i&&n[g]===a?(i=!1,a=""):i||(i=!0,a=n[g]);else if(n[g]==="="&&!i){s=g;break}else if(n[g]==="#"&&!i)break;if(s===-1){n.trim().startsWith("#");continue}let c=n.substring(0,s).trim(),m=n.substring(s+1),u=!1,f="",p=-1;for(let g=0;g<m.length;g++)if((m[g]==='"'||m[g]==="'"||m[g]==="`")&&(g===0||m[g-1]!=="\\"))u&&m[g]===f?(u=!1,f=""):u||(u=!0,f=m[g]);else if(m[g]==="#"&&!u&&g>0&&m[g-1]===" "){p=g-1;break}else if(m[g]==="#"&&!u&&g===0){p=g;break}p!==-1&&(m=m.substring(0,p)),m===void 0&&(m="");let d=m.charAt(0),h=m.charAt(m.length-1);d==='"'&&h==='"'||d==="'"&&h==="'"||d==="`"&&h==="`"?(m=m.substring(1,m.length-1),d==='"'&&(m=m.replace(/\\\\n/g,`
175
- `))):m=m.trim(),c&&(r[c]=m)}}return Object.entries(r).map(([o,n])=>({key:o,value:n}))};import{execSync as fo,spawn as W_}from"node:child_process";import*as te from"node:fs";import*as zd from"node:net";import*as jr from"node:os";import*as Xt from"node:path";var Je={version:"0.5.3",baseUrl:"https://github.com/Dstack-TEE/dstack/releases/download/v0.5.3",installDir:Xt.join(jr.homedir(),".phala-cloud","simulator"),defaultLogPath:Xt.join(jr.homedir(),".phala-cloud","logs","dstack-simulator.log"),platforms:{darwin:{filename:"dstack-simulator-0.5.3-aarch64-apple-darwin.tgz",extractedFolder:"0.5.3",socketPath:Xt.join(jr.homedir(),".phala-cloud","simulator","0.5.3","dstack.sock")},linux:{filename:"dstack-simulator-0.5.3-x86_64-linux-musl.tgz",extractedFolder:"0.5.3",socketPath:Xt.join(jr.homedir(),".phala-cloud","simulator","0.5.3","dstack.sock")},win32:{filename:"dstack-simulator-0.5.3-x86_64-pc-windows-msvc.tgz",extractedFolder:"dstack-simulator-0.5.3-x86_64-pc-windows-msvc",socketPath:"127.0.0.1:8090"}}};function x6(){try{if(!te.existsSync(Je.installDir))return!1;let e=jr.platform();if(!Je.platforms[e])throw new Error(`Unsupported platform: ${e}`);let t=Xt.join(Je.installDir,Je.platforms[e].extractedFolder);if(!te.existsSync(t))return!1;let o=Xt.join(t,e==="win32"?"dstack-simulator.exe":"dstack-simulator");return te.existsSync(o)}catch(e){return l.error("Error checking if simulator is installed:",e),!1}}function Ka(){let e=jr.platform();if(!Je.platforms[e])throw new Error(`Unsupported platform: ${e}. Only darwin, linux, and win32 are supported.`);return e}async function w6(e){let t=r=>{l.info(r),e&&e(r)};try{let r=Ka(),o=Je.platforms[r];if(r==="win32"){try{fo("tar --version",{stdio:"ignore"})}catch{throw new Error("Windows 10 build 17063 or later is required (includes tar command). Please update your Windows version.")}throw new Error("Windows platform is currently not supported. Support will be added in a future release.")}te.existsSync(Je.installDir)||(l.info(`Creating installation directory at ${Je.installDir}`),te.mkdirSync(Je.installDir,{recursive:!0})),process.chdir(Je.installDir);let n=`${Je.baseUrl}/${o.filename}`;l.info(`Downloading simulator from ${n}`),fo(`wget ${n}`,{stdio:"inherit"});let s=Xt.join(Je.installDir,o.extractedFolder);te.existsSync(s)||te.mkdirSync(s,{recursive:!0}),l.info(`Extracting ${o.filename} to ${s}`);let i=`tar -xvf "${o.filename}" -C "${s}" --strip-components=1`;l.debug(`Running: ${i}`);try{fo(i,{stdio:"inherit"}),te.unlinkSync(o.filename)}catch(a){throw l.error(`Failed to extract ${o.filename}:`,a),new Error("Failed to extract simulator archive. Make sure you have sufficient permissions and disk space.")}l.success("Simulator installation completed successfully")}catch(r){throw l.error("Error installing simulator:",r),new Error(`Failed to install simulator: ${r}`)}}var Ld=()=>Xt.join(jr.tmpdir(),"dstack-simulator.pid");function J_(e){return Buffer.byteLength(e,"utf8")>104}function Np(){try{let e=Ld();if(te.existsSync(e)){let t=Number.parseInt(te.readFileSync(e,"utf-8").trim(),10);try{return process.kill(t,0),t}catch{te.unlinkSync(e)}}return null}catch(e){return l.warn("Error checking simulator PID:",e),null}}function Z_(e,t){try{let r=Ld();t&&l.info(`Saving simulator PID ${e} to: ${r}`),te.writeFileSync(r,e.toString(),"utf-8")}catch(r){l.warn("Failed to save simulator PID:",r)}}async function v6(e={}){try{let t=Ka(),r=Je.platforms[t],o=Xt.join(Je.installDir,r.extractedFolder),n=Np();if(n)throw new Error(`Simulator is already running with PID: ${n}`);if(t!=="win32"&&J_(r.socketPath))throw new Error(`Socket path is too long (${r.socketPath.length} chars, max 104): ${r.socketPath}`);if(t!=="win32"&&te.existsSync(r.socketPath)){l.warn(`Removing existing socket file: ${r.socketPath}`);try{te.unlinkSync(r.socketPath)}catch(m){l.warn(`Failed to remove existing socket file: ${m}`)}}process.chdir(o);let s=t==="win32"?"dstack-simulator.exe":"./dstack-simulator";e.verbose&&t!=="win32"&&l.info(`Using socket path: ${r.socketPath}`);let i={background:e.background??!0,logToFile:e.logToFile??!0,logFilePath:e.logFilePath??Je.defaultLogPath};if(i.logToFile){let m=Xt.dirname(i.logFilePath);te.existsSync(m)||te.mkdirSync(m,{recursive:!0}),e.verbose&&l.info(`Simulator logs will be written to: ${i.logFilePath}`)}e.verbose&&l.info(`Starting simulator with: ${s}`);let a=i.logToFile?["ignore",te.openSync(i.logFilePath,"a"),te.openSync(i.logFilePath,"a")]:"inherit",c=W_(s,[],{stdio:a,shell:t==="win32",detached:i.background});if(i.logToFile&&Array.isArray(a)&&(typeof a[1]=="number"&&te.closeSync(a[1]),typeof a[2]=="number"&&te.closeSync(a[2])),i.logToFile){let u=`
173
+ `),l.logDetailedError(r),1}}var E6=R({path:["config","set"],meta:w6,schema:C6,handler:J_});var jd={group:c6,commands:[g6,v6,E6]};var k6={path:["cvms"],meta:{name:"cvms",description:"Manage Phala Confidential Virtual Machines (CVMs)"}};import Lp from"chalk";import{z as zp}from"zod";var S6={name:"attestation",description:"Get attestation information for a CVM",arguments:[Xe],options:[ao,Ye],examples:[{name:"Show attestation summary",value:"phala cvms attestation"},{name:"Output full attestation JSON",value:"phala cvms attestation --json"}]},_6=zp.object({cvmId:zp.string().optional(),interactive:zp.boolean().default(!1),json:zp.boolean().default(!1)});async function Z_(e,t){if(Ke(e.json),!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=await Z(),o=await Ve(r,t.cvmId);if(!o.success)return t.fail(o.error.message),1;let n=o.data;if(!n)return t.fail("CVM not found"),1;let s=n.app_id,i=l.startSpinner(`Fetching attestation information for CVM app_${s}...`);try{let a=await L1(s);if(i.stop(!0),!a)return t.fail("No attestation information found"),1;if(e.json)return t.success(a),0;if(l.success("Attestation Summary:"),l.keyValueTable({Status:a.is_online?Lp.green("Online"):Lp.red("Offline"),"Public Access":a.is_public?Lp.green("Enabled"):Lp.yellow("Disabled"),Error:a.error||"None",Certificates:`${a.app_certificates?.length||0} found`},{borderStyle:"rounded"}),a.app_certificates?.length&&a.app_certificates.forEach((c,m)=>{l.break(),l.success(`Certificate #${m+1} (${c.position_in_chain===0?"End Entity":"CA"}):`),l.keyValueTable({Subject:`${c.subject.common_name||"Unknown"}${c.subject.organization?` (${c.subject.organization})`:""}`,Issuer:`${c.issuer.common_name||"Unknown"}${c.issuer.organization?` (${c.issuer.organization})`:""}`,"Serial Number":c.serial_number,Validity:`${new Date(c.not_before).toLocaleString()} to ${new Date(c.not_after).toLocaleString()}`,Fingerprint:c.fingerprint,"Signature Algorithm":c.signature_algorithm,"Is CA":c.is_ca?"Yes":"No","Position in Chain":c.position_in_chain},{borderStyle:"rounded"})}),a.tcb_info&&(l.break(),l.success("Trusted Computing Base (TCB) Information:"),l.keyValueTable({Mrtd:a.tcb_info.mrtd,"Rootfs Hash":a.tcb_info.rootfs_hash,Rtmr0:a.tcb_info.rtmr0,Rtmr1:a.tcb_info.rtmr1,Rtmr2:a.tcb_info.rtmr2,Rtmr3:a.tcb_info.rtmr3,"Event Log Entries":`${a.tcb_info.event_log.length} entries`},{borderStyle:"rounded"}),a.tcb_info.event_log?.length)){l.break(),l.success("Event Log (Showing entries to reproduce RTMR3):");let c=a.tcb_info.event_log.filter(m=>m.event).map(m=>({Event:m.event,IMR:m.imr.toString(),"Event Type":m.event_type.toString(),Payload:m.event_payload}));l.table(c,[{key:"Event",header:"Event"},{key:"IMR",header:"IMR"},{key:"Event Type",header:"Type"},{key:"Payload",header:"Payload"}]),a.tcb_info.event_log.length>c.length&&l.info("To see all full attestation data, use --json"),l.break(),l.success("To reproduce RTMR3, use the tool at https://rtmr3-calculator.vercel.app/")}return 0}catch(a){throw i.stop(!1),a}}catch(r){return l.logDetailedError(r),t.fail(`Failed to get attestation information: ${r instanceof Error?r.message:String(r)}`),1}}var I6=R({path:["cvms","attestation"],meta:S6,schema:_6,handler:Z_});import M6 from"fs";import tI from"path";import Gd from"fs";import Vd from"path";import Y_ from"inquirer";function Ft(e,t=process.cwd()){let r=Vd.resolve(t,e);if(!Gd.existsSync(r))throw new Error(`File not found at ${r}`);return!0}async function Lr(e,t,r="file",o=process.cwd()){return(await Y_.prompt([{type:"input",name:r,message:e,default:t,validate:s=>{let i=Vd.resolve(o,s);return Gd.existsSync(i)?!0:`File not found at ${i}`}}]))[r]}function $i(e,t){for(let r of e){let o=Vd.join(process.cwd(),r);if(Gd.existsSync(o))return t?l.info(t.replace("{path}",o)):l.info(`File detected: ${o}`),r}}import*as A6 from"fs";var Ja=(e,t)=>{let r={};if(e){for(let o of e)if(o.includes("=")){let[n,...s]=o.split("="),i=s.join("=");n&&(r[n]=i)}}if(t){let o=A6.readFileSync(t,"utf8");for(let n of o.split(`
174
+ `)){if(!n.trim()||n.trim().startsWith("#"))continue;let s=-1,i=!1,a="";for(let g=0;g<n.length;g++)if((n[g]==='"'||n[g]==="'"||n[g]==="`")&&(g===0||n[g-1]!=="\\"))i&&n[g]===a?(i=!1,a=""):i||(i=!0,a=n[g]);else if(n[g]==="="&&!i){s=g;break}else if(n[g]==="#"&&!i)break;if(s===-1){n.trim().startsWith("#");continue}let c=n.substring(0,s).trim(),m=n.substring(s+1),u=!1,p="",f=-1;for(let g=0;g<m.length;g++)if((m[g]==='"'||m[g]==="'"||m[g]==="`")&&(g===0||m[g-1]!=="\\"))u&&m[g]===p?(u=!1,p=""):u||(u=!0,p=m[g]);else if(m[g]==="#"&&!u&&g>0&&m[g-1]===" "){f=g-1;break}else if(m[g]==="#"&&!u&&g===0){f=g;break}f!==-1&&(m=m.substring(0,f)),m===void 0&&(m="");let d=m.charAt(0),h=m.charAt(m.length-1);d==='"'&&h==='"'||d==="'"&&h==="'"||d==="`"&&h==="`"?(m=m.substring(1,m.length-1),d==='"'&&(m=m.replace(/\\\\n/g,`
175
+ `))):m=m.trim(),c&&(r[c]=m)}}return Object.entries(r).map(([o,n])=>({key:o,value:n}))};import{execSync as co,spawn as X_}from"child_process";import*as re from"fs";import*as qd from"net";import*as Ur from"os";import*as Xt from"path";var Ze={version:"0.5.3",baseUrl:"https://github.com/Dstack-TEE/dstack/releases/download/v0.5.3",installDir:Xt.join(Ur.homedir(),".phala-cloud","simulator"),defaultLogPath:Xt.join(Ur.homedir(),".phala-cloud","logs","dstack-simulator.log"),platforms:{darwin:{filename:"dstack-simulator-0.5.3-aarch64-apple-darwin.tgz",extractedFolder:"0.5.3",socketPath:Xt.join(Ur.homedir(),".phala-cloud","simulator","0.5.3","dstack.sock")},linux:{filename:"dstack-simulator-0.5.3-x86_64-linux-musl.tgz",extractedFolder:"0.5.3",socketPath:Xt.join(Ur.homedir(),".phala-cloud","simulator","0.5.3","dstack.sock")},win32:{filename:"dstack-simulator-0.5.3-x86_64-pc-windows-msvc.tgz",extractedFolder:"dstack-simulator-0.5.3-x86_64-pc-windows-msvc",socketPath:"127.0.0.1:8090"}}};function P6(){try{if(!re.existsSync(Ze.installDir))return!1;let e=Ur.platform();if(!Ze.platforms[e])throw new Error(`Unsupported platform: ${e}`);let t=Xt.join(Ze.installDir,Ze.platforms[e].extractedFolder);if(!re.existsSync(t))return!1;let o=Xt.join(t,e==="win32"?"dstack-simulator.exe":"dstack-simulator");return re.existsSync(o)}catch(e){return l.error("Error checking if simulator is installed:",e),!1}}function Za(){let e=Ur.platform();if(!Ze.platforms[e])throw new Error(`Unsupported platform: ${e}. Only darwin, linux, and win32 are supported.`);return e}async function T6(e){let t=r=>{l.info(r),e&&e(r)};try{let r=Za(),o=Ze.platforms[r];if(r==="win32"){try{co("tar --version",{stdio:"ignore"})}catch{throw new Error("Windows 10 build 17063 or later is required (includes tar command). Please update your Windows version.")}throw new Error("Windows platform is currently not supported. Support will be added in a future release.")}re.existsSync(Ze.installDir)||(l.info(`Creating installation directory at ${Ze.installDir}`),re.mkdirSync(Ze.installDir,{recursive:!0})),process.chdir(Ze.installDir);let n=`${Ze.baseUrl}/${o.filename}`;l.info(`Downloading simulator from ${n}`),co(`wget ${n}`,{stdio:"inherit"});let s=Xt.join(Ze.installDir,o.extractedFolder);re.existsSync(s)||re.mkdirSync(s,{recursive:!0}),l.info(`Extracting ${o.filename} to ${s}`);let i=`tar -xvf "${o.filename}" -C "${s}" --strip-components=1`;l.debug(`Running: ${i}`);try{co(i,{stdio:"inherit"}),re.unlinkSync(o.filename)}catch(a){throw l.error(`Failed to extract ${o.filename}:`,a),new Error("Failed to extract simulator archive. Make sure you have sufficient permissions and disk space.")}l.success("Simulator installation completed successfully")}catch(r){throw l.error("Error installing simulator:",r),new Error(`Failed to install simulator: ${r}`)}}var Kd=()=>Xt.join(Ur.tmpdir(),"dstack-simulator.pid");function Q_(e){return Buffer.byteLength(e,"utf8")>104}function Up(){try{let e=Kd();if(re.existsSync(e)){let t=Number.parseInt(re.readFileSync(e,"utf-8").trim(),10);try{return process.kill(t,0),t}catch{re.unlinkSync(e)}}return null}catch(e){return l.warn("Error checking simulator PID:",e),null}}function eI(e,t){try{let r=Kd();t&&l.info(`Saving simulator PID ${e} to: ${r}`),re.writeFileSync(r,e.toString(),"utf-8")}catch(r){l.warn("Failed to save simulator PID:",r)}}async function $6(e={}){try{let t=Za(),r=Ze.platforms[t],o=Xt.join(Ze.installDir,r.extractedFolder),n=Up();if(n)throw new Error(`Simulator is already running with PID: ${n}`);if(t!=="win32"&&Q_(r.socketPath))throw new Error(`Socket path is too long (${r.socketPath.length} chars, max 104): ${r.socketPath}`);if(t!=="win32"&&re.existsSync(r.socketPath)){l.warn(`Removing existing socket file: ${r.socketPath}`);try{re.unlinkSync(r.socketPath)}catch(m){l.warn(`Failed to remove existing socket file: ${m}`)}}process.chdir(o);let s=t==="win32"?"dstack-simulator.exe":"./dstack-simulator";e.verbose&&t!=="win32"&&l.info(`Using socket path: ${r.socketPath}`);let i={background:e.background??!0,logToFile:e.logToFile??!0,logFilePath:e.logFilePath??Ze.defaultLogPath};if(i.logToFile){let m=Xt.dirname(i.logFilePath);re.existsSync(m)||re.mkdirSync(m,{recursive:!0}),e.verbose&&l.info(`Simulator logs will be written to: ${i.logFilePath}`)}e.verbose&&l.info(`Starting simulator with: ${s}`);let a=i.logToFile?["ignore",re.openSync(i.logFilePath,"a"),re.openSync(i.logFilePath,"a")]:"inherit",c=X_(s,[],{stdio:a,shell:t==="win32",detached:i.background});if(i.logToFile&&Array.isArray(a)&&(typeof a[1]=="number"&&re.closeSync(a[1]),typeof a[2]=="number"&&re.closeSync(a[2])),i.logToFile){let u=`
176
176
  === Simulator started at ${new Date().toISOString()} ===
177
177
  Command: ${s}
178
178
 
179
- `;te.appendFileSync(i.logFilePath,u)}return c.pid&&Z_(c.pid,e.verbose),i.background&&(c.unref(),e.verbose&&l.success("Simulator is running in the background")),await Ud(),c}catch(t){throw l.error("Error running simulator:",t),new Error(`Failed to run simulator: ${t}`)}}async function Wa(){try{let e=Ka(),t=Je.platforms[e];if(e==="darwin"||e==="linux"){let r=t.socketPath;return te.existsSync(r)?new Promise(o=>{let n=zd.createConnection({path:r}).on("connect",()=>{n.end(),o(!0)}).on("error",()=>{o(!1)});setTimeout(()=>{n.end(),o(!1)},1e3)}):!1}if(e==="win32"){let r="127.0.0.1";return new Promise(n=>{let s=zd.createConnection({host:r,port:8090}).on("connect",()=>{s.end(),n(!0)}).on("error",()=>{n(!1)});setTimeout(()=>{s.end(),n(!1)},1e3)})}return!1}catch(e){return l.error("Error checking if simulator is running:",e),!1}}async function C6(){try{let e=Np();if(!await Wa()&&!e)return l.info("Simulator is not running"),!0;let r=Ka(),o=!1;if(r==="win32")try{e?(l.info(`Stopping simulator process (PID: ${e})...`),process.kill(e,"SIGTERM")):fo("taskkill /F /IM dstack-simulator.exe",{stdio:"ignore"}),o=!0}catch(s){if(s.code!=="ESRCH")return l.error("Failed to stop simulator:",s),!1;o=!0}else try{e?(l.info(`Stopping simulator process (PID: ${e})...`),process.kill(e,"SIGTERM")):fo("pkill -f dstack-simulator",{stdio:"ignore"}),o=!0}catch(s){if(s.code!=="ESRCH")return l.error("Failed to stop simulator:",s),!1;o=!0}let n=Ld();if(te.existsSync(n))try{te.unlinkSync(n)}catch(s){l.warn("Failed to remove PID file:",s)}return await Zn(),o&&l.success("Simulator stopped successfully"),o}catch(e){return l.error("Error stopping simulator:",e),!1}}function Od(){let e=Ka(),t=Je.platforms[e];return e==="win32"?"http://127.0.0.1:8090":`${t.socketPath||"/tmp/dstack.sock"}`}async function Ud(e){try{let t=Od(),r=e||t;await fo(`export DSTACK_SIMULATOR_ENDPOINT=${r}`);let o=r.replace(/dstack\.sock$/,"tappd.sock");return await fo(`export TAPPD_SIMULATOR_ENDPOINT=${o}`),l.success("Setting environment for current process..."),l.success(` DSTACK_SIMULATOR_ENDPOINT=${r}`),l.success(` TAPPD_SIMULATOR_ENDPOINT=${o}`),r}catch(t){throw l.error("Error setting simulator endpoint environment variable:",t),new Error(`Failed to set simulator endpoint: ${t}`)}}async function Zn(){try{return await fo("unset DSTACK_SIMULATOR_ENDPOINT"),await fo("unset TAPPD_SIMULATOR_ENDPOINT"),l.debug("Deleted simulator endpoint environment variables from current process"),!0}catch(e){return l.warn("Error while unsetting simulator endpoint environment variables:",e),!1}}import _6 from"inquirer";import{z as lr}from"zod";var E6={name:"create",description:'[DEPRECATED] Create a new CVM (use "phala deploy" instead)',options:[{name:"name",shorthand:"n",description:"Name of the CVM",type:"string",target:"name"},{name:"compose",shorthand:"c",description:"Path to Docker Compose file",type:"string",target:"compose"},{name:"vcpu",description:`Number of vCPUs, default is ${Kn}`,type:"string",target:"vcpu"},{name:"memory",description:`Memory in MB, default is ${Wn}`,type:"string",target:"memory"},{name:"disk-size",description:`Disk size in GB, default is ${Jn}`,type:"string",target:"diskSize"},{name:"teepod-id",description:"TEEPod ID to use. If not provided, it will be selected automatically.",type:"string",target:"teepodId"},{name:"image",description:"Version of dstack image to use. If not provided, a default image is used.",type:"string",target:"image"},{name:"env-file",shorthand:"e",description:"Path to environment file",type:"string",target:"envFile"},{name:"skip-env",description:"Skip environment variable prompt",type:"boolean",target:"skipEnv"},{name:"debug",description:"Enable debug mode",type:"boolean",target:"debug"}],examples:[{name:"Create a CVM interactively",value:"phala cvms create"},{name:"Create using predefined values",value:"phala cvms create --name demo --compose ./docker-compose.yml"}]},k6=lr.object({name:lr.string().optional(),compose:lr.string().optional(),vcpu:lr.string().optional(),memory:lr.string().optional(),diskSize:lr.string().optional(),teepodId:lr.string().optional(),image:lr.string().optional(),envFile:lr.string().optional(),skipEnv:lr.boolean().default(!1),debug:lr.boolean().default(!1)});async function X_(e){if(e)return e;let{value:t}=await _6.prompt([{type:"input",name:"value",message:"Enter a name for the CVM:",validate:r=>{let o=r.trim();return o?o.length>20?"CVM name must be less than 20 characters":o.length<3?"CVM name must be at least 3 characters":/^[a-zA-Z0-9_-]+$/.test(o)?!0:"CVM name must contain only letters, numbers, underscores, and hyphens":"CVM name is required"}}]);return t.trim()}async function Q_(e){if(e)return e;let r=$i(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return await Hr("Enter the path to your Docker Compose file:",r,"file")}async function e3(e){if(e.envFile)return Va([],e.envFile);if(e.skipEnv)return l.info("Skipping environment variable prompt"),[];let{shouldSkip:t}=await _6.prompt([{type:"confirm",name:"shouldSkip",message:"Do you want to skip environment variable prompt?",default:!0}]);if(t)return l.info("Skipping environment variable prompt"),[];let r=await Hr("Enter the path to your environment file:",".env","file");return Va([],r)}function Hd(e,t){if(!e)return t;let r=Number(e);return Number.isFinite(r)?r:t}function t3(e,t){return!Number.isFinite(t)||t<=0?`Invalid ${e}: ${t}`:null}async function r3(e,t){if(!t.nodes.length)return;if(!e)return t.nodes[0];let r=Number(e);return t.nodes.find(o=>o.teepod_id===r)}function o3(e,t){let r=e.images??[];return t?r.find(o=>o.name===t):r.find(o=>o.name===Sd)}async function n3(e,t){try{l.warn('\u26A0\uFE0F This command is deprecated. Please use "phala deploy" instead.'),l.warn("\u26A0\uFE0F This legacy API will be maintained but may have limited support.\\n");let r=await X_(e.name),o=await Q_(e.compose),n=Y_.resolve(o);if(!S6.existsSync(n))return l.error(`Docker Compose file not found: ${n}`),1;let s=S6.readFileSync(n,"utf8");await Zn(),process.env.DSTACK_DOCKER_USERNAME&&process.env.DSTACK_DOCKER_PASSWORD?l.info("\u{1F510} Using private DockerHub registry credentials..."):process.env.DSTACK_AWS_ACCESS_KEY_ID&&process.env.DSTACK_AWS_SECRET_ACCESS_KEY&&process.env.DSTACK_AWS_REGION&&process.env.DSTACK_AWS_ECR_REGISTRY?l.info(`\u{1F510} Using private AWS ECR registry: ${process.env.DSTACK_AWS_ECR_REGISTRY}`):l.info("\u{1F510} Using public DockerHub registry...");let i=[];try{i=await e3(e)}catch(_){return l.error(`Failed to read environment file: ${_ instanceof Error?_.message:String(_)}`),1}let a=Hd(e.vcpu,Kn),c=Hd(e.memory,Wn),m=Hd(e.diskSize,Jn);for(let[_,I]of[["number of vCPUs",a],["memory",c],["disk size",m]]){let A=t3(_,I);if(A)return l.error(A),1}let u=l.startSpinner("Fetching available TEEPods"),f=await d6(!0);u.stop(!0);let p=await r3(e.teepodId,f);if(!p)return l.error("Failed to find suitable TEEPod"),1;let d=o3(p,e.image);if(!d)return l.error(e.image?`Failed to find selected image: ${e.image}`:`Failed to find default image ${Sd}`),1;let h={teepod_id:p.teepod_id,name:r,image:d.name,vcpu:a,memory:c,disk_size:m,compose_manifest:{docker_compose_file:s,docker_config:{url:"",username:"",password:""},features:["kms","tproxy-net"],kms_enabled:!0,manifest_version:2,name:r,public_logs:!0,public_sysinfo:!0,runner:"docker-compose",tproxy_enabled:!0},listed:!1},g=l.startSpinner("Getting public key from CVM"),b=await p6(h);if(g.stop(!0),!b)return l.error("Failed to get public key from CVM"),1;let y=l.startSpinner("Encrypting environment variables"),v=await(0,fr.encryptEnvVars)(i,b.app_env_encrypt_pubkey);y.stop(!0),e.debug&&(l.debug("Public key:",b.app_env_encrypt_pubkey),l.debug("Encrypted environment variables:",v),l.debug("Environment variables:",JSON.stringify(i)));let C=l.startSpinner("Creating CVM"),k=await f6({...h,encrypted_env:v,app_env_encrypt_pubkey:b.app_env_encrypt_pubkey,app_id_salt:b.app_id_salt});return C.stop(!0),k?(l.success("CVM created successfully"),l.break(),l.keyValueTable({"CVM ID":k.id,Name:k.name,Status:k.status,"App ID":`app_${k.app_id}`,"App URL":k.app_url||`${be}/dashboard/cvms/app_${k.app_id}`},{borderStyle:"rounded"}),l.info(""),l.success(`Your CVM is being created. You can check its status with:
180
- phala cvms get app_${k.app_id}`),0):(l.error("Failed to create CVM"),1)}catch(r){return l.error(`Failed to create CVM: ${r instanceof Error?r.message:String(r)}`),1}}var I6=$({path:["cvms","create"],meta:E6,schema:k6,handler:n3});import s3 from"inquirer";async function Ct(e){if(!e){let t=await Mp();return t||void 0}return await Fp(e)}async function zp(e,t=3e5){let r=hn(),o=vt({apiKey:r}),n=Date.now(),s=2e3;for(l.info("Waiting for CVM to be ready...");Date.now()-n<t;){try{let i=await Yt(o,{uuid:e});if(!i.success)l.warn(`Failed to get CVM info: ${i.error.message}`);else{let a=i.data,c=a.status,m=a.in_progress,u=Math.floor((Date.now()-n)/1e3);if(l.info(` [${u}s] status=${c}, in_progress=${m}`),c==="running"&&!m){let f=Math.floor((Date.now()-n)/1e3);l.success(`CVM is ready (took ${f}s)`);return}}}catch(i){l.warn(`Error checking CVM status: ${i}`)}await new Promise(i=>setTimeout(i,s))}throw new Error(`Timeout waiting for CVM to be ready (${Math.floor(t/1e3)}s)`)}import{z as Lp}from"zod";var A6={name:"delete",description:"Delete a CVM",arguments:[{name:"app-id",description:"App ID of the CVM (leave empty for interactive selection)",required:!1,target:"appId"}],options:[{name:"force",shorthand:"f",description:"Skip confirmation prompt",type:"boolean",target:"force"},{name:"yes",shorthand:"y",description:"Alias for --force (skip confirmation prompt)",type:"boolean",target:"yes"}],examples:[{name:"Delete a CVM interactively",value:"phala cvms delete"},{name:"Delete a CVM without confirmation",value:"phala cvms delete app_123 --force"}]},P6=Lp.object({appId:Lp.string().optional(),force:Lp.boolean().default(!1),yes:Lp.boolean().default(!1)});async function i3(e,t){try{let r=await Ct(e.appId);if(!e.force&&!e.yes){let{confirm:s}=await s3.prompt([{type:"confirm",name:"confirm",message:`Are you sure you want to delete CVM with App ID app_${r}? This action cannot be undone.`,default:!1}]);if(!s)return l.info("Deletion cancelled"),0}let o=l.startSpinner(`Deleting CVM app_${r}`),n=await c6(r);return o.stop(!0),n?(l.success(`CVM app_${r} deleted successfully`),0):(l.error(`Failed to delete CVM app_${r}`),1)}catch(r){return l.error("Failed to delete CVM"),l.logDetailedError(r),1}}var T6=$({path:["cvms","delete"],meta:A6,schema:P6,handler:i3});import Gd from"chalk";import{z as jd}from"zod";var $6={name:"get",description:"Get details of a CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],options:[po],examples:[{name:"Show CVM details interactively",value:"phala cvms get"},{name:"Get CVM info for a specific App ID",value:"phala cvms get app_123"}]},R6=jd.object({appId:jd.string().optional(),json:jd.boolean().default(!1)});async function a3(e,t){Ve(e.json);try{let r=await Ct(e.appId),o=r?.replace(/^app_/,"")??"";if(!o)return t.fail("No CVM App ID provided."),1;let n=l.startSpinner(`Fetching CVM with App ID app_${o}`),s=await ae(),i=await Yt(s,{app_id:o});if(n.stop(!0),!i.success)return t.fail(i.error.message),1;let a=i.data;if(!a)return t.fail(`CVM with App ID app_${r} not found`),1;if(e.json)return t.success(a),0;l.break();let c=a.status==="running"?Gd.green(a.status):a.status==="stopped"?Gd.red(a.status):Gd.yellow(a.status);return l.keyValueTable({Name:a.name,"App ID":`app_${a.app_id}`,Status:c,vCPU:a.vcpu,Memory:`${a.memory} MB`,"Disk Size":`${a.disk_size} GB`,"Dstack Image":a.base_image,"App URL":`${be}/dashboard/cvms/app_${a.app_id}`}),0}catch(r){return l.logDetailedError(r),t.fail(`Failed to get CVM details: ${r instanceof Error?r.message:String(r)}`),1}}var B6=$({path:["cvms","get"],meta:$6,schema:R6,handler:a3});import qd from"chalk";import{z as F6}from"zod";var M6={name:"list",aliases:["ls"],description:"List all CVMs",options:[po],examples:[{name:"Display CVMs in table format",value:"phala cvms list"},{name:"Print CVMs as JSON",value:"phala cvms list --json"}]},D6=F6.object({json:F6.boolean().default(!1)});async function c3(e,t){Ve(e.json);try{let r=l.startSpinner("Fetching CVMs"),o=await ae(),n=await Ii(o);if(r.stop(!0),!n.success)return t.fail(n.error.message),1;let s=n.data.items??[];if(e.json)return t.success({items:s}),0;if(s.length===0)return l.info("No CVMs found"),0;for(let i of s){let a=i,c=a.status==="running"?qd.green(a.status):a.status==="stopped"?qd.red(a.status):qd.yellow(a.status??"unknown");l.keyValueTable({Name:a.name||"Unknown","App ID":`app_${a.hosted?.app_id||"unknown"}`,"CVM ID":a.hosted?.id?.replace(/-/g,"")||"unknown",Region:a.node?.region_identifier||"N/A",Status:c,"Node Info URL":a.hosted?.app_url||"N/A","App URL":`${be}/dashboard/cvms/${a.hosted?.id?.replace(/-/g,"")||"unknown"}`},{borderStyle:"rounded"}),l.break()}return l.success(`Found ${s.length} CVMs`),l.break(),l.info(`Go to ${be}/dashboard/ to view your CVMs`),0}catch(r){return l.logDetailedError(r),t.fail(`Failed to list CVMs: ${r instanceof Error?r.message:String(r)}`),1}}var N6=$({path:["cvms","list"],meta:M6,schema:D6,handler:c3});import{z as m3}from"zod";var z6={name:"list-nodes",description:"List all available worker nodes."},L6=m3.object({});async function u3(e,t){try{let r=await ae(),o=await Oa(r);if(!o.success)throw new Error(o.error.message);let{nodes:n,kms_list:s}=o.data;if(!n||n.length===0)return l.info("No available nodes found."),0;l.info("Available Nodes:");for(let i of n)if(l.info("----------------------------------------"),l.info(` ID: ${i.teepod_id}`),l.info(` Name: ${i.name}`),l.info(` Region: ${i.region_identifier}`),l.info(` FMSPC: ${i.fmspc||"N/A"}`),l.info(` Device ID: ${i.device_id||"N/A"}`),l.info(` Support Onchain KMS: ${i.support_onchain_kms}`),l.info(" Images:"),i.images&&i.images.length>0)for(let a of i.images)l.info(` - ${a.name}`),l.info(` Hash: ${a.os_image_hash||"N/A"}`);else l.info(" N/A");if(s&&s.length>0){l.info(`
181
- Available KMS Instances:`);for(let i of s)l.info("----------------------------------------"),l.info(` ID: ${i.id}`),l.info(` URL: ${i.url}`),l.info(` Version: ${i.version}`),l.info(` Chain ID: ${i.chain_id}`),l.info(` Contract Address: ${i.kms_contract_address}`),l.info(` Gateway App ID: ${i.gateway_app_id}`)}return 0}catch(r){return l.error("Failed to list available nodes"),l.logDetailedError(r),1}}var O6=$({path:["cvms","list-nodes"],meta:z6,schema:L6,handler:u3});import j6 from"node:fs";import p3 from"node:path";import{z as Op}from"zod";var U6={name:"replicate",description:"Create a replica of an existing CVM",arguments:[{name:"cvm-id",description:"UUID of the CVM to replicate",required:!0,target:"cvmId"}],options:[{name:"teepod-id",description:"TEEPod ID to use for the replica",type:"string",target:"teepodId"},{name:"env-file",shorthand:"e",description:"Path to environment file",type:"string",target:"envFile"}],examples:[{name:"Replicate a CVM",value:"phala cvms replicate 1234 --teepod-id 5"}]},H6=Op.object({cvmId:Op.string().min(1,"CVM ID is required"),teepodId:Op.string().optional(),envFile:Op.string().optional()});function f3(e){return j6.readFileSync(e,"utf-8").split(`
182
- `).filter(r=>r.trim()!==""&&!r.trim().startsWith("#")).map(r=>{let[o,...n]=r.split("=");return{key:o.trim(),value:n.join("=").trim()}})}async function l3(e,t){try{let r=e.cvmId.replace(/-/g,""),o;if(e.envFile){let i=p3.resolve(process.cwd(),e.envFile);if(!j6.existsSync(i))throw new Error(`Environment file not found: ${i}`);let a=f3(i),c=await n6(r);l.info("Encrypting environment variables..."),o=await(0,fr.encryptEnvVars)(a,c.env_pubkey)}let n={};e.teepodId&&(n.teepod_id=Number.parseInt(e.teepodId,10)),o&&(n.encrypted_env=o);let s=await u6(r,n);return l.success(`Successfully created replica of CVM UUID: ${r} with App ID: ${s.app_id}`),l.keyValueTable({"CVM UUID":s.vm_uuid.replace(/-/g,""),"App ID":s.app_id,Name:s.name,Status:s.status,TEEPod:`${s.teepod.name} (ID: ${s.teepod_id})`,vCPUs:s.vcpu,Memory:`${s.memory} MB`,"Disk Size":`${s.disk_size} GB`,"App URL":s.app_url||`${process.env.CLOUD_URL||"https://cloud.phala.network"}/dashboard/cvms/${s.vm_uuid.replace(/-/g,"")}`},{borderStyle:"rounded"}),l.success(`Your CVM replica is being created. You can check its status with:
183
- phala cvms get ${s.app_id}`),0}catch(r){return l.error("Failed to create CVM replica"),l.logDetailedError(r),1}}var G6=$({path:["cvms","replicate"],meta:U6,schema:H6,handler:l3});import yn from"chalk";import Wd from"inquirer";async function lo(e,t={}){let{maxRetries:r=100,retryDelayMs:o=3e3,spinner:n,logRetries:s=!0}=t,i;for(let c=0;c<=r;c++)try{return await e()}catch(m){i=m;let u=m;if((u.message?.includes("409")||u.status===409||u.message?.includes("Conflict"))&&c<r)n&&n.stop(!0),s&&l.warn(`CVM is busy, retrying in ${o}ms... (attempt ${c+1}/${r})`),await new Promise(p=>setTimeout(p,o));else throw m}let a=i;throw new Error(`Failed after ${r} retries due to conflicts: ${a?.message||String(i)}`)}import{z as gn}from"zod";var q6={name:"resize",description:"Resize resources for a CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],options:[{name:"vcpu",shorthand:"v",description:"Number of virtual CPUs",type:"string",target:"vcpu"},{name:"memory",shorthand:"m",description:"Memory size in MB",type:"string",target:"memory"},{name:"disk-size",shorthand:"d",description:"Disk size in GB",type:"string",target:"diskSize"},{name:"allow-restart",shorthand:"r",description:"Allow restart of the CVM if needed for resizing",type:"string",target:"allowRestart"},{name:"yes",shorthand:"y",description:"Automatically confirm the resize operation",type:"boolean",target:"yes"},{name:"json",description:"Output result in JSON format",type:"boolean",target:"json"}],examples:[{name:"Resize CVM interactively",value:"phala cvms resize"},{name:"Resize without confirmation",value:"phala cvms resize app_123 --vcpu 4 --memory 4096 --disk-size 120 --yes"}]},V6=gn.object({appId:gn.string().optional(),vcpu:gn.string().optional(),memory:gn.string().optional(),diskSize:gn.string().optional(),allowRestart:gn.string().optional(),yes:gn.boolean().default(!1),json:gn.boolean().default(!1)});function Vd(e,t){if(e===void 0)return;let r=Number.parseInt(e,10);if(Number.isNaN(r)||r<0)throw new Error(`Please provide a valid non-negative number for ${t}`);return r}function d3(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(["true","1","yes","y"].includes(t))return!0;if(["false","0","no","n"].includes(t))return!1;throw new Error(`Invalid value for --allow-restart: ${e}`)}async function Kd(e,t){return(await Wd.prompt([{type:"input",name:"value",message:e,default:t,validate:o=>{let n=Number.parseInt(o,10);return Number.isNaN(n)||n<0?"Please enter a valid non-negative number":!0},filter:o=>Number.parseInt(o,10)}])).value}async function h3(e,t){Ve(e.json);try{let r=await Ct(e.appId),o=await Ti(r);if(!o)return t.fail(`CVM with App ID app_${r} not found`),1;let n,s,i,a;try{n=Vd(e.vcpu,"--vcpu"),s=Vd(e.memory,"--memory"),i=Vd(e.diskSize,"--disk-size"),a=d3(e.allowRestart)}catch(c){return l.error(c instanceof Error?c.message:String(c)),1}if(sf()?(n===void 0&&(n=await Kd("Enter number of vCPUs:",o.vcpu)),s===void 0&&(s=await Kd("Enter memory in MB:",o.memory)),i===void 0&&(i=await Kd("Enter disk size in GB:",o.disk_size)),a===void 0&&(a=(await Wd.prompt([{type:"confirm",name:"allowRestart",message:"Allow restart of the CVM if needed for resizing?",default:!1}])).allowRestart)):(n===void 0&&(n=o.vcpu),s===void 0&&(s=o.memory),i===void 0&&(i=o.disk_size),a===void 0&&(a=!0)),sf()){if(l.keyValueTable({vCPUs:o.vcpu!==n?`${yn.red(o.vcpu)} -> ${yn.green(n)}`:o.vcpu,Memory:o.memory!==s?`${yn.red(o.memory)} MB -> ${yn.green(s)} MB`:o.memory,"Disk Size":o.disk_size!==i?`${yn.red(o.disk_size)} GB -> ${yn.green(i)} GB`:o.disk_size,"Allow Restart":a?yn.green("Yes"):yn.red("No")}),!e.yes){let{confirm:m}=await Wd.prompt([{type:"confirm",name:"confirm",message:`Are you sure you want to resize CVM app_${r}?`,default:!1}]);if(!m)return l.info("Resize operation cancelled"),0}let c=l.startSpinner(`Resizing CVM with App ID app_${r}`);await lo(()=>Fd(r,n,s,i,a?1:0),{spinner:c}),c.stop(!0),l.break(),l.success(`Your CVM is being resized. You can check the dashboard for more details:
184
- ${be}/dashboard/cvms/app_${r}`)}else await lo(()=>Fd(r,n,s,i,a?1:0)),t.success({app_id:r,vcpu:n,memory:s,disk_size:i,allow_restart:a});return 0}catch(r){return l.error("Failed to resize CVM"),l.logDetailedError(r),t.fail(r instanceof Error?r.message:String(r)),1}}var K6=$({path:["cvms","resize"],meta:q6,schema:V6,handler:h3});import{z as W6}from"zod";var J6={name:"restart",description:"Restart a CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],examples:[{name:"Restart a specific CVM",value:"phala cvms restart app_123"}]},Z6=W6.object({appId:W6.string().optional()});async function g3(e,t){try{let r=await Ct(e.appId),o=await Ti(r);o.in_progress&&(l.warn("CVM is currently in progress (updating/restarting). Waiting for operation to complete..."),await zp(o.vm_uuid,3e5));let n=l.startSpinner(`Restarting CVM with App ID app_${r}`),s=await lo(()=>a6(r),{spinner:n});return n.stop(!0),l.break(),l.keyValueTable({"CVM ID":s.id,Name:s.name,Status:s.status,"App ID":`app_${s.app_id}`,"App URL":s.app_url||`${be}/dashboard/cvms/app_${s.app_id}`},{borderStyle:"rounded"}),l.break(),l.success(`Your CVM is being restarted. You can check the dashboard for more details:
185
- ${be}/dashboard/cvms/app_${s.app_id}`),0}catch(r){return l.error("Failed to restart CVM"),l.logDetailedError(r),1}}var Y6=$({path:["cvms","restart"],meta:J6,schema:Z6,handler:g3});import{z as X6}from"zod";var Q6={name:"start",description:"Start a stopped CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],examples:[{name:"Start a specific CVM",value:"phala cvms start app_123"}]},ew=X6.object({appId:X6.string().optional()});async function y3(e,t){try{let r=await Ct(e.appId),o=l.startSpinner(`Starting CVM with App ID app_${r}`),n=await lo(()=>s6(r),{spinner:o});return o.stop(!0),l.break(),l.keyValueTable({"CVM ID":n.id,Name:n.name,Status:n.status,"App ID":`app_${n.app_id}`},{borderStyle:"rounded"}),l.break(),l.success(`Your CVM is being started. You can check the dashboard for more details:
186
- ${be}/dashboard/cvms/app_${n.app_id}`),0}catch(r){return l.error("Failed to start CVM"),l.logDetailedError(r),1}}var tw=$({path:["cvms","start"],meta:Q6,schema:ew,handler:y3});import{z as rw}from"zod";var ow={name:"stop",description:"Stop a running CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],examples:[{name:"Stop a specific CVM",value:"phala cvms stop app_123"}]},nw=rw.object({appId:rw.string().optional()});async function b3(e,t){try{let r=await Ct(e.appId),o=l.startSpinner(`Stopping CVM with App ID app_${r}`),n=await lo(()=>i6(r),{spinner:o});return o.stop(!0),l.break(),l.keyValueTable({"CVM ID":n.id,Name:n.name,Status:n.status,"App ID":`app_${n.app_id}`},{borderStyle:"rounded"}),l.break(),l.success(`Your CVM is being stopped. You can check the dashboard for more details:
187
- ${be}/dashboard/cvms/app_${n.app_id}`),0}catch(r){return l.error("Failed to stop CVM"),l.logDetailedError(r),1}}var sw=$({path:["cvms","stop"],meta:ow,schema:nw,handler:b3});import x3 from"node:fs";import{z as Ja}from"zod";var iw={name:"upgrade",description:'[DEPRECATED] Upgrade a CVM to a new version (use "phala deploy" instead)',arguments:[{name:"app-id",description:"CVM app ID to upgrade (optional)",required:!1,target:"appId"}],options:[{name:"compose",shorthand:"c",description:"Path to new Docker Compose file",type:"string",target:"compose"},{name:"env-file",shorthand:"e",description:"Path to environment file",type:"string",target:"envFile"},{name:"debug",description:"Enable debug mode",type:"boolean",target:"debug"}],examples:[{name:"Upgrade a CVM interactively",value:"phala cvms upgrade"},{name:"Upgrade using a compose file",value:"phala cvms upgrade app_123 --compose ./docker-compose.yml"}]},aw=Ja.object({appId:Ja.string().optional(),compose:Ja.string().optional(),envFile:Ja.string().optional(),debug:Ja.boolean().default(!1)});async function w3(e){if(e.compose)return e.compose;let r=$i(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return Hr("Enter the path to your Docker Compose file:",r,"file")}async function v3(e,t){try{l.warn('\u26A0\uFE0F This command is deprecated. Please use "phala deploy" instead.'),l.warn(`\u26A0\uFE0F This legacy API will be maintained but may have limited support.
188
- `);let r=await Ct(e.appId),o=l.startSpinner(`Fetching current configuration for CVM app_${r}`),n=await Ti(r);if(o.stop(!0),!n)return l.error(`CVM with App ID app_${r} not found`),1;let s=await w3(e),i="";if(s)try{i=x3.readFileSync(s,"utf8")}catch(p){return l.error(`Failed to read Docker Compose file: ${p instanceof Error?p.message:String(p)}`),1}await Zn(),process.env.DSTACK_DOCKER_USERNAME&&process.env.DSTACK_DOCKER_PASSWORD?l.info("\u{1F510} Using private DockerHub registry credentials..."):process.env.DSTACK_AWS_ACCESS_KEY_ID&&process.env.DSTACK_AWS_SECRET_ACCESS_KEY&&process.env.DSTACK_AWS_REGION&&process.env.DSTACK_AWS_ECR_REGISTRY?l.info(`\u{1F510} Using private AWS ECR registry: ${process.env.DSTACK_AWS_ECR_REGISTRY}`):l.info("\u{1F510} Using public DockerHub registry...");let a,c=[];if(e.envFile)try{let p=Va([],e.envFile);a=await(0,fr.encryptEnvVars)(p,n.encrypted_env_pubkey),c=p.map(d=>d.key)}catch(p){return l.error(`Failed to read environment file: ${p instanceof Error?p.message:String(p)}`),1}let m={compose_manifest:{docker_compose_file:i,manifest_version:1,runner:"docker-compose",version:"1.0.0",features:["kms","tproxy-net"],name:`app_${r}`,allowed_envs:c},encrypted_env:a,allow_restart:!0,env_keys:c},u=l.startSpinner(`Upgrading CVM app_${r}`),f=await l6(r,m);return f?(u.stop(!0),f.detail&&l.info(`Details: ${f.detail}`),l.break(),l.success(`Your CVM is being upgraded. You can check the dashboard for more details:
189
- ${be}/dashboard/cvms/app_${r}`),0):(u.stop(!1),l.error("Failed to upgrade CVM"),1)}catch(r){return l.error(`Failed to upgrade CVM: ${r instanceof Error?r.message:String(r)}`),e.debug&&l.error("Full Error:",r),1}}var cw=$({path:["cvms","upgrade"],meta:iw,schema:aw,handler:v3});var Jd={group:e6,commands:[y6,I6,T6,B6,N6,O6,G6,K6,Y6,tw,sw,cw]};import{z as le}from"zod";var mw={name:"deploy",description:"Create a new CVM with on-chain KMS in one step.",arguments:[],options:[...ts,{name:"json",description:"Output in JSON format",type:"boolean",target:"json",negatedName:"no-json"},{name:"debug",description:"Enable debug logging",type:"boolean",target:"debug"},{name:"name",shorthand:"n",description:"Name of the CVM",type:"string",target:"name"},{name:"compose",shorthand:"c",description:"Path to Docker Compose file (default: docker-compose.yml in current directory)",type:"string",target:"compose"},{name:"instance-type",shorthand:"t",description:"Instance type (e.g., tdx.small, tdx.medium, tdx.large). Optional - auto-selected if not specified.",type:"string",target:"instanceType"},{name:"vcpu",description:`Number of vCPUs (optional, auto-matched if not specified), default is ${Kn}`,type:"string",target:"vcpu"},{name:"memory",description:`Memory with optional unit (optional, auto-matched if not specified), e.g., 2G, 1024MB, default is ${Wn}MB`,type:"string",target:"memory"},{name:"disk-size",description:`Disk size with optional unit (optional, auto-matched if not specified), e.g., 50G, 100GB, default is ${Jn}GB`,type:"string",target:"diskSize"},{name:"image",description:"OS image version (optional, auto-selected if not specified)",type:"string",target:"image"},{name:"region",shorthand:"r",description:"Preferred region (e.g., us-west, eu-central). Optional - auto-selected if not specified.",type:"string",target:"region"},{name:"node-id",description:"Node ID (optional, auto-selected if not specified)",type:"string",target:"nodeId"},{name:"env-file",shorthand:"e",description:"Prompt for environment variables and save to file (optional)",type:"string",target:"envFile"},{name:"interactive",shorthand:"i",description:"Enable interactive mode for required parameters",type:"boolean",target:"interactive"},{name:"kms-id",description:"KMS ID to use.",type:"string",target:"kmsId"},{name:"uuid",description:"UUID of the CVM to upgrade",type:"string",target:"uuid"},{name:"custom-app-id",description:"Custom App ID to use.",type:"string",target:"customAppId"},{name:"pre-launch-script",description:"Path to pre-launch script",type:"string",target:"preLaunchScript"},{name:"private-key",description:"Private key for signing transactions.",type:"string",target:"privateKey"},{name:"rpc-url",description:"RPC URL for the blockchain.",type:"string",target:"rpcUrl"},{name:"wait",description:"Wait for CVM to complete deployment/update before returning (only applies to updates)",type:"boolean",target:"wait"},{name:"ssh-pubkey",description:"Path to SSH public key file (default: ~/.ssh/id_rsa.pub)",type:"string",target:"sshPubkey"},{name:"dev-os",description:"Use development OS image (requires SSH public key)",type:"boolean",target:"devOs"},{name:"non-dev-os",description:"Use non-development OS image (SSH public key only if explicitly specified)",type:"boolean",target:"nonDevOs"}],examples:[{name:"Deploy with auto-selection (simplest)",value:"phala deploy"},{name:"Deploy with specific instance type",value:"phala deploy --instance-type tdx.medium"},{name:"Deploy to specific region",value:"phala deploy --region us-west"},{name:"Deploy with instance type and region",value:"phala deploy --instance-type tdx.small --region eu-central"},{name:"Deploy with manual resource specs",value:"phala deploy --vcpu 4 --memory 8G --disk-size 100G"},{name:"Deploy with on-chain KMS",value:"phala deploy --kms-id ethereum --private-key <key> --rpc-url <url>"},{name:"Deploy to specific node (advanced)",value:"phala deploy --node-id 6"}]},uw=le.object({compose:le.string().optional(),json:le.boolean().default(!0),debug:le.boolean().default(!1),apiKey:le.string().optional(),name:le.string().optional(),instanceType:le.string().optional(),vcpu:le.string().optional(),memory:le.string().optional(),diskSize:le.string().optional(),image:le.string().optional(),region:le.string().optional(),nodeId:le.string().optional(),envFile:le.string().optional(),interactive:le.boolean().default(!1),kmsId:le.string().optional(),uuid:le.string().optional(),customAppId:le.string().optional(),preLaunchScript:le.string().optional(),privateKey:le.string().optional(),rpcUrl:le.string().optional(),wait:le.boolean().default(!1),sshPubkey:le.string().optional(),devOs:le.boolean().default(!1),nonDevOs:le.boolean().default(!1)});import Ri from"node:path";import dw from"node:os";function pw(e,t="B"){if(!e||typeof e!="string")throw new Error("Invalid input: must be a non-empty string");let r=e.trim().match(/^(\d+(?:\.\d+)?)\s*([KkMmGgTt][Bb]?)?$/);if(!r)throw new Error(`Invalid format: ${e}. Expected format: <number>[unit] (e.g., 2G, 500MB, 1T)`);let o=Number.parseFloat(r[1]),n=(r[2]||t).toUpperCase().replace("B",""),s={K:1024,M:1024*1024,G:1024*1024*1024,T:1024*1024*1024*1024,"":1};if(!(n in s))throw new Error(`Unsupported unit: ${n}. Supported units: B, K/KB, M/MB, G/GB, T/TB`);return Math.round(o*s[n])}function fw(e){let t=pw(e,"MB"),r=Math.round(t/(1024*1024));if(r%1024!==0)throw new Error(`Memory must be a multiple of 1GB (1024MB). Got: ${r}MB`);return r}function lw(e){let t=pw(e,"GB"),r=Math.round(t/(1024*1024*1024));if(r%1!==0)throw new Error(`Disk size must be a multiple of 1GB. Got: ${r}GB`);return r}import Up from"dedent";import Bi from"fs-extra";import Zd from"inquirer";function C3(e,t){if(e instanceof pd)return t.json?{success:!1,error_code:e.errorCode,message:e.message,details:e.structuredDetails,suggestions:e.suggestions,links:e.links}:Zx(e);if(e&&typeof e=="object"&&"response"in e){let n=e.response?.data?.detail;if(n&&typeof n=="object"&&"error_code"in n){let{error_code:s,message:i,details:a,suggestions:c,links:m}=n;if(t.json)return{success:!1,error_code:s,message:i,details:a,suggestions:c,links:m};let u=`
179
+ `;re.appendFileSync(i.logFilePath,u)}return c.pid&&eI(c.pid,e.verbose),i.background&&(c.unref(),e.verbose&&l.success("Simulator is running in the background")),await Jd(),c}catch(t){throw l.error("Error running simulator:",t),new Error(`Failed to run simulator: ${t}`)}}async function Ya(){try{let e=Za(),t=Ze.platforms[e];if(e==="darwin"||e==="linux"){let r=t.socketPath;return re.existsSync(r)?new Promise(o=>{let n=qd.createConnection({path:r}).on("connect",()=>{n.end(),o(!0)}).on("error",()=>{o(!1)});setTimeout(()=>{n.end(),o(!1)},1e3)}):!1}if(e==="win32"){let r="127.0.0.1";return new Promise(n=>{let s=qd.createConnection({host:r,port:8090}).on("connect",()=>{s.end(),n(!0)}).on("error",()=>{n(!1)});setTimeout(()=>{s.end(),n(!1)},1e3)})}return!1}catch(e){return l.error("Error checking if simulator is running:",e),!1}}async function R6(){try{let e=Up();if(!await Ya()&&!e)return l.info("Simulator is not running"),!0;let r=Za(),o=!1;if(r==="win32")try{e?(l.info(`Stopping simulator process (PID: ${e})...`),process.kill(e,"SIGTERM")):co("taskkill /F /IM dstack-simulator.exe",{stdio:"ignore"}),o=!0}catch(s){if(s.code!=="ESRCH")return l.error("Failed to stop simulator:",s),!1;o=!0}else try{e?(l.info(`Stopping simulator process (PID: ${e})...`),process.kill(e,"SIGTERM")):co("pkill -f dstack-simulator",{stdio:"ignore"}),o=!0}catch(s){if(s.code!=="ESRCH")return l.error("Failed to stop simulator:",s),!1;o=!0}let n=Kd();if(re.existsSync(n))try{re.unlinkSync(n)}catch(s){l.warn("Failed to remove PID file:",s)}return await Rn(),o&&l.success("Simulator stopped successfully"),o}catch(e){return l.error("Error stopping simulator:",e),!1}}function Wd(){let e=Za(),t=Ze.platforms[e];return e==="win32"?"http://127.0.0.1:8090":`${t.socketPath||"/tmp/dstack.sock"}`}async function Jd(e){try{let t=Wd(),r=e||t;await co(`export DSTACK_SIMULATOR_ENDPOINT=${r}`);let o=r.replace(/dstack\.sock$/,"tappd.sock");return await co(`export TAPPD_SIMULATOR_ENDPOINT=${o}`),l.success("Setting environment for current process..."),l.success(` DSTACK_SIMULATOR_ENDPOINT=${r}`),l.success(` TAPPD_SIMULATOR_ENDPOINT=${o}`),r}catch(t){throw l.error("Error setting simulator endpoint environment variable:",t),new Error(`Failed to set simulator endpoint: ${t}`)}}async function Rn(){try{return await co("unset DSTACK_SIMULATOR_ENDPOINT"),await co("unset TAPPD_SIMULATOR_ENDPOINT"),l.debug("Deleted simulator endpoint environment variables from current process"),!0}catch(e){return l.warn("Error while unsetting simulator endpoint environment variables:",e),!1}}import D6 from"inquirer";import{z as fr}from"zod";var B6={name:"create",description:'[DEPRECATED] Create a new CVM (use "phala deploy" instead)',options:[{name:"name",shorthand:"n",description:"Name of the CVM",type:"string",target:"name"},{name:"compose",shorthand:"c",description:"Path to Docker Compose file",type:"string",target:"compose"},{name:"vcpu",description:`Number of vCPUs, default is ${Pn}`,type:"string",target:"vcpu"},{name:"memory",description:`Memory in MB, default is ${Tn}`,type:"string",target:"memory"},{name:"disk-size",description:`Disk size in GB, default is ${$n}`,type:"string",target:"diskSize"},{name:"teepod-id",description:"TEEPod ID to use. If not provided, it will be selected automatically.",type:"string",target:"teepodId"},{name:"image",description:"Version of dstack image to use. If not provided, a default image is used.",type:"string",target:"image"},{name:"env-file",shorthand:"e",description:"Path to environment file",type:"string",target:"envFile"},{name:"skip-env",description:"Skip environment variable prompt",type:"boolean",target:"skipEnv"},{name:"debug",description:"Enable debug mode",type:"boolean",target:"debug"}],examples:[{name:"Create a CVM interactively",value:"phala cvms create"},{name:"Create using predefined values",value:"phala cvms create --name demo --compose ./docker-compose.yml"}]},F6=fr.object({name:fr.string().optional(),compose:fr.string().optional(),vcpu:fr.string().optional(),memory:fr.string().optional(),diskSize:fr.string().optional(),teepodId:fr.string().optional(),image:fr.string().optional(),envFile:fr.string().optional(),skipEnv:fr.boolean().default(!1),debug:fr.boolean().default(!1)});async function rI(e){if(e)return e;let{value:t}=await D6.prompt([{type:"input",name:"value",message:"Enter a name for the CVM:",validate:r=>{let o=r.trim();return o?o.length>20?"CVM name must be less than 20 characters":o.length<3?"CVM name must be at least 3 characters":/^[a-zA-Z0-9_-]+$/.test(o)?!0:"CVM name must contain only letters, numbers, underscores, and hyphens":"CVM name is required"}}]);return t.trim()}async function oI(e){if(e)return e;let r=$i(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return await Lr("Enter the path to your Docker Compose file:",r,"file")}async function nI(e){if(e.envFile)return Ja([],e.envFile);if(e.skipEnv)return l.info("Skipping environment variable prompt"),[];let{shouldSkip:t}=await D6.prompt([{type:"confirm",name:"shouldSkip",message:"Do you want to skip environment variable prompt?",default:!0}]);if(t)return l.info("Skipping environment variable prompt"),[];let r=await Lr("Enter the path to your environment file:",".env","file");return Ja([],r)}function Zd(e,t){if(!e)return t;let r=Number(e);return Number.isFinite(r)?r:t}function sI(e,t){return!Number.isFinite(t)||t<=0?`Invalid ${e}: ${t}`:null}async function iI(e,t){if(!t.nodes.length)return;if(!e)return t.nodes[0];let r=Number(e);return t.nodes.find(o=>o.teepod_id===r)}function aI(e,t){let r=e.images??[];return t?r.find(o=>o.name===t):r.find(o=>o.name===Md)}async function cI(e,t){try{l.warn('\u26A0\uFE0F This command is deprecated. Please use "phala deploy" instead.'),l.warn("\u26A0\uFE0F This legacy API will be maintained but may have limited support.\\n");let r=await rI(e.name),o=await oI(e.compose),n=tI.resolve(o);if(!M6.existsSync(n))return l.error(`Docker Compose file not found: ${n}`),1;let s=M6.readFileSync(n,"utf8");await Rn(),process.env.DSTACK_DOCKER_USERNAME&&process.env.DSTACK_DOCKER_PASSWORD?l.info("\u{1F510} Using private DockerHub registry credentials..."):process.env.DSTACK_AWS_ACCESS_KEY_ID&&process.env.DSTACK_AWS_SECRET_ACCESS_KEY&&process.env.DSTACK_AWS_REGION&&process.env.DSTACK_AWS_ECR_REGISTRY?l.info(`\u{1F510} Using private AWS ECR registry: ${process.env.DSTACK_AWS_ECR_REGISTRY}`):l.info("\u{1F510} Using public DockerHub registry...");let i=[];try{i=await nI(e)}catch(I){return l.error(`Failed to read environment file: ${I instanceof Error?I.message:String(I)}`),1}let a=Zd(e.vcpu,Pn),c=Zd(e.memory,Tn),m=Zd(e.diskSize,$n);for(let[I,P]of[["number of vCPUs",a],["memory",c],["disk size",m]]){let S=sI(I,P);if(S)return l.error(S),1}let u=l.startSpinner("Fetching available TEEPods"),p=await G1(!0);u.stop(!0);let f=await iI(e.teepodId,p);if(!f)return l.error("Failed to find suitable TEEPod"),1;let d=aI(f,e.image);if(!d)return l.error(e.image?`Failed to find selected image: ${e.image}`:`Failed to find default image ${Md}`),1;let h={teepod_id:f.teepod_id,name:r,image:d.name,vcpu:a,memory:c,disk_size:m,compose_manifest:{docker_compose_file:s,docker_config:{url:"",username:"",password:""},features:["kms","tproxy-net"],kms_enabled:!0,manifest_version:2,name:r,public_logs:!0,public_sysinfo:!0,runner:"docker-compose",tproxy_enabled:!0},listed:!1},g=l.startSpinner("Getting public key from CVM"),b=await O1(h);if(g.stop(!0),!b)return l.error("Failed to get public key from CVM"),1;let y=l.startSpinner("Encrypting environment variables"),v=await(0,pr.encryptEnvVars)(i,b.app_env_encrypt_pubkey);y.stop(!0),e.debug&&(l.debug("Public key:",b.app_env_encrypt_pubkey),l.debug("Encrypted environment variables:",v),l.debug("Environment variables:",JSON.stringify(i)));let C=l.startSpinner("Creating CVM"),k=await H1({...h,encrypted_env:v,app_env_encrypt_pubkey:b.app_env_encrypt_pubkey,app_id_salt:b.app_id_salt});return C.stop(!0),k?(l.success("CVM created successfully"),l.break(),l.keyValueTable({"CVM ID":k.id,Name:k.name,Status:k.status,"App ID":`app_${k.app_id}`,"App URL":k.app_url||`${ye}/dashboard/cvms/app_${k.app_id}`},{borderStyle:"rounded"}),l.info(""),l.success(`Your CVM is being created. You can check its status with:
180
+ phala cvms get app_${k.app_id}`),0):(l.error("Failed to create CVM"),1)}catch(r){return l.error(`Failed to create CVM: ${r instanceof Error?r.message:String(r)}`),1}}var N6=R({path:["cvms","create"],meta:B6,schema:F6,handler:cI});import mI from"inquirer";import{z as Xa}from"zod";var z6={name:"delete",description:"Delete a CVM",arguments:[Xe],options:[Ye,{name:"force",shorthand:"f",description:"Skip confirmation prompt",type:"boolean",target:"force"},{name:"yes",shorthand:"y",description:"Alias for --force (skip confirmation prompt)",type:"boolean",target:"yes"}],examples:[{name:"Delete a CVM interactively",value:"phala cvms delete"},{name:"Delete CVM by app_id",value:"phala cvms delete app_123 --force"},{name:"Delete CVM by UUID",value:"phala cvms delete 550e8400-e29b-41d4-a716-446655440000 -f"},{name:"Delete CVM by name",value:"phala cvms delete my-app --yes"}]},L6=Xa.object({cvmId:Xa.string().optional(),interactive:Xa.boolean().default(!1),force:Xa.boolean().default(!1),yes:Xa.boolean().default(!1)});async function uI(e,t){if(!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=await Z(),o=await Ve(r,t.cvmId);if(!o.success)return t.fail(o.error.message),1;let n=o.data;if(!n)return t.fail("CVM not found"),1;let s=n.name||`app_${n.app_id}`;if(!e.force&&!e.yes){let{confirm:c}=await mI.prompt([{type:"confirm",name:"confirm",message:`Are you sure you want to delete CVM "${s}"? This action cannot be undone.`,default:!1}]);if(!c)return l.info("Deletion cancelled"),0}let i=l.startSpinner(`Deleting CVM ${s}`),a=await _d(r,t.cvmId);return i.stop(!0),a.success?(l.success(`CVM ${s} deleted successfully`),0):(l.error(`Failed to delete CVM ${s}: ${a.error.message}`),1)}catch(r){return l.error("Failed to delete CVM"),l.logDetailedError(r),1}}var U6=R({path:["cvms","delete"],meta:z6,schema:L6,handler:uI});import Yd from"chalk";import{z as Op}from"zod";var O6={name:"get",description:"Get details of a CVM",arguments:[Xe],options:[ao,Ye],examples:[{name:"Show CVM details interactively",value:"phala cvms get"},{name:"Get CVM by app_id",value:"phala cvms get app_abc123"},{name:"Get CVM by UUID",value:"phala cvms get 550e8400-e29b-41d4-a716-446655440000"},{name:"Get CVM by name",value:"phala cvms get my-app"}]},H6=Op.object({cvmId:Op.string().optional(),json:Op.boolean().default(!1),interactive:Op.boolean().default(!1)});async function pI(e,t){if(Ke(e.json),!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=l.startSpinner("Fetching CVM details"),o=await Z(),n=await Ve(o,t.cvmId);if(r.stop(!0),!n.success)return t.fail(n.error.message),1;let s=n.data;if(!s)return t.fail("CVM not found"),1;if(e.json)return t.success(s),0;l.break();let i=s.status==="running"?Yd.green(s.status):s.status==="stopped"?Yd.red(s.status):Yd.yellow(s.status);return l.keyValueTable({Name:s.name,"App ID":`app_${s.app_id}`,Status:i,vCPU:s.vcpu,Memory:`${s.memory} MB`,"Disk Size":`${s.disk_size} GB`,"Dstack Image":s.base_image,"App URL":`${ye}/dashboard/cvms/app_${s.app_id}`}),0}catch(r){return l.logDetailedError(r),t.fail(`Failed to get CVM details: ${r instanceof Error?r.message:String(r)}`),1}}var j6=R({path:["cvms","get"],meta:O6,schema:H6,handler:pI});import Xd from"chalk";import{z as G6}from"zod";var V6={name:"list",aliases:["ls"],description:"List all CVMs",options:[ao],examples:[{name:"Display CVMs in table format",value:"phala cvms list"},{name:"Print CVMs as JSON",value:"phala cvms list --json"}]},q6=G6.object({json:G6.boolean().default(!1)});async function fI(e,t){Ke(e.json);try{let r=l.startSpinner("Fetching CVMs"),o=await Z(),n=await ja(o);if(r.stop(!0),!n.success)return t.fail(n.error.message),1;let s=n.data.items??[];if(e.json)return t.success({items:s}),0;if(s.length===0)return l.info("No CVMs found"),0;for(let i of s){let a=i,c=a.status==="running"?Xd.green(a.status):a.status==="stopped"?Xd.red(a.status):Xd.yellow(a.status??"unknown");l.keyValueTable({Name:a.name||"Unknown","App ID":`app_${a.hosted?.app_id||"unknown"}`,"CVM ID":a.hosted?.id?.replace(/-/g,"")||"unknown",Region:a.node?.region_identifier||"N/A",Status:c,"Node Info URL":a.hosted?.app_url||"N/A","App URL":`${ye}/dashboard/cvms/${a.hosted?.id?.replace(/-/g,"")||"unknown"}`},{borderStyle:"rounded"}),l.break()}return l.success(`Found ${s.length} CVMs`),l.break(),l.info(`Go to ${ye}/dashboard/ to view your CVMs`),0}catch(r){return l.logDetailedError(r),t.fail(`Failed to list CVMs: ${r instanceof Error?r.message:String(r)}`),1}}var K6=R({path:["cvms","list"],meta:V6,schema:q6,handler:fI});import{z as lI}from"zod";var W6={name:"list-nodes",description:"List all available worker nodes."},J6=lI.object({});async function dI(e,t){try{let r=await Z(),o=await Ha(r);if(!o.success)throw new Error(o.error.message);let{nodes:n,kms_list:s}=o.data;if(!n||n.length===0)return l.info("No available nodes found."),0;l.info("Available Nodes:");for(let i of n)if(l.info("----------------------------------------"),l.info(` ID: ${i.teepod_id}`),l.info(` Name: ${i.name}`),l.info(` Region: ${i.region_identifier}`),l.info(` FMSPC: ${i.fmspc||"N/A"}`),l.info(` Device ID: ${i.device_id||"N/A"}`),l.info(` Support Onchain KMS: ${i.support_onchain_kms}`),l.info(" Images:"),i.images&&i.images.length>0)for(let a of i.images)l.info(` - ${a.name}`),l.info(` Hash: ${a.os_image_hash||"N/A"}`);else l.info(" N/A");if(s&&s.length>0){l.info(`
181
+ Available KMS Instances:`);for(let i of s)l.info("----------------------------------------"),l.info(` ID: ${i.id}`),l.info(` URL: ${i.url}`),l.info(` Version: ${i.version}`),l.info(` Chain ID: ${i.chain_id}`),l.info(` Contract Address: ${i.kms_contract_address}`),l.info(` Gateway App ID: ${i.gateway_app_id}`)}return 0}catch(r){return l.error("Failed to list available nodes"),l.logDetailedError(r),1}}var Z6=R({path:["cvms","list-nodes"],meta:W6,schema:J6,handler:dI});import Q6 from"fs";import hI from"path";import{z as Hp}from"zod";var Y6={name:"replicate",description:"Create a replica of an existing CVM",arguments:[{name:"cvm-id",description:"UUID of the CVM to replicate",required:!0,target:"cvmId"}],options:[{name:"teepod-id",description:"TEEPod ID to use for the replica",type:"string",target:"teepodId"},{name:"env-file",shorthand:"e",description:"Path to environment file",type:"string",target:"envFile"}],examples:[{name:"Replicate a CVM",value:"phala cvms replicate 1234 --teepod-id 5"}]},X6=Hp.object({cvmId:Hp.string().min(1,"CVM ID is required"),teepodId:Hp.string().optional(),envFile:Hp.string().optional()});function gI(e){return Q6.readFileSync(e,"utf-8").split(`
182
+ `).filter(r=>r.trim()!==""&&!r.trim().startsWith("#")).map(r=>{let[o,...n]=r.split("=");return{key:o.trim(),value:n.join("=").trim()}})}async function yI(e,t){try{let r=e.cvmId.replace(/-/g,""),o;if(e.envFile){let i=hI.resolve(process.cwd(),e.envFile);if(!Q6.existsSync(i))throw new Error(`Environment file not found: ${i}`);let a=gI(i),c=await N1(r);l.info("Encrypting environment variables..."),o=await(0,pr.encryptEnvVars)(a,c.env_pubkey)}let n={};e.teepodId&&(n.teepod_id=Number.parseInt(e.teepodId,10)),o&&(n.encrypted_env=o);let s=await U1(r,n);return l.success(`Successfully created replica of CVM UUID: ${r} with App ID: ${s.app_id}`),l.keyValueTable({"CVM UUID":s.vm_uuid.replace(/-/g,""),"App ID":s.app_id,Name:s.name,Status:s.status,TEEPod:`${s.teepod.name} (ID: ${s.teepod_id})`,vCPUs:s.vcpu,Memory:`${s.memory} MB`,"Disk Size":`${s.disk_size} GB`,"App URL":s.app_url||`${process.env.CLOUD_URL||"https://cloud.phala.network"}/dashboard/cvms/${s.vm_uuid.replace(/-/g,"")}`},{borderStyle:"rounded"}),l.success(`Your CVM replica is being created. You can check its status with:
183
+ phala cvms get ${s.app_id}`),0}catch(r){return l.error("Failed to create CVM replica"),l.logDetailedError(r),1}}var ev=R({path:["cvms","replicate"],meta:Y6,schema:X6,handler:yI});import Yo from"chalk";import t0 from"inquirer";async function mo(e,t={}){let{maxRetries:r=100,retryDelayMs:o=3e3,spinner:n,logRetries:s=!0}=t,i;for(let c=0;c<=r;c++)try{return await e()}catch(m){i=m;let u=m;if((u.message?.includes("409")||u.status===409||u.message?.includes("Conflict"))&&c<r)n&&n.stop(!0),s&&l.warn(`CVM is busy, retrying in ${o}ms... (attempt ${c+1}/${r})`),await new Promise(f=>setTimeout(f,o));else throw m}let a=i;throw new Error(`Failed after ${r} retries due to conflicts: ${a?.message||String(i)}`)}import{z as uo}from"zod";var tv={name:"resize",description:"Resize resources for a CVM",arguments:[Xe],options:[Ye,{name:"vcpu",shorthand:"v",description:"Number of virtual CPUs",type:"string",target:"vcpu"},{name:"memory",shorthand:"m",description:"Memory size in MB",type:"string",target:"memory"},{name:"disk-size",shorthand:"d",description:"Disk size in GB",type:"string",target:"diskSize"},{name:"allow-restart",shorthand:"r",description:"Allow restart of the CVM if needed for resizing",type:"string",target:"allowRestart"},{name:"yes",shorthand:"y",description:"Automatically confirm the resize operation",type:"boolean",target:"yes"},{name:"json",description:"Output result in JSON format",type:"boolean",target:"json"}],examples:[{name:"Resize CVM interactively",value:"phala cvms resize"},{name:"Resize without confirmation",value:"phala cvms resize app_123 --vcpu 4 --memory 4096 --disk-size 120 --yes"}]},rv=uo.object({cvmId:uo.string().optional(),interactive:uo.boolean().default(!1),vcpu:uo.string().optional(),memory:uo.string().optional(),diskSize:uo.string().optional(),allowRestart:uo.string().optional(),yes:uo.boolean().default(!1),json:uo.boolean().default(!1)});function Qd(e,t){if(e===void 0)return;let r=Number.parseInt(e,10);if(Number.isNaN(r)||r<0)throw new Error(`Please provide a valid non-negative number for ${t}`);return r}function bI(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(["true","1","yes","y"].includes(t))return!0;if(["false","0","no","n"].includes(t))return!1;throw new Error(`Invalid value for --allow-restart: ${e}`)}async function e0(e,t){return(await t0.prompt([{type:"input",name:"value",message:e,default:t,validate:o=>{let n=Number.parseInt(o,10);return Number.isNaN(n)||n<0?"Please enter a valid non-negative number":!0},filter:o=>Number.parseInt(o,10)}])).value}async function xI(e,t){if(Ke(e.json),!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=await Z(),o=await Ve(r,t.cvmId);if(!o.success)return t.fail(o.error.message),1;let n=o.data;if(!n)return t.fail("CVM not found"),1;let s=n.app_id,i,a,c,m;try{i=Qd(e.vcpu,"--vcpu"),a=Qd(e.memory,"--memory"),c=Qd(e.diskSize,"--disk-size"),m=bI(e.allowRestart)}catch(u){return l.error(u instanceof Error?u.message:String(u)),1}if(mf()?(i===void 0&&(i=await e0("Enter number of vCPUs:",n.vcpu)),a===void 0&&(a=await e0("Enter memory in MB:",n.memory)),c===void 0&&(c=await e0("Enter disk size in GB:",n.disk_size)),m===void 0&&(m=(await t0.prompt([{type:"confirm",name:"allowRestart",message:"Allow restart of the CVM if needed for resizing?",default:!1}])).allowRestart)):(i===void 0&&(i=n.vcpu),a===void 0&&(a=n.memory),c===void 0&&(c=n.disk_size),m===void 0&&(m=!0)),mf()){if(l.keyValueTable({vCPUs:n.vcpu!==i?`${Yo.red(n.vcpu)} -> ${Yo.green(i)}`:n.vcpu,Memory:n.memory!==a?`${Yo.red(n.memory)} MB -> ${Yo.green(a)} MB`:n.memory,"Disk Size":n.disk_size!==c?`${Yo.red(n.disk_size)} GB -> ${Yo.green(c)} GB`:n.disk_size,"Allow Restart":m?Yo.green("Yes"):Yo.red("No")}),!e.yes){let{confirm:p}=await t0.prompt([{type:"confirm",name:"confirm",message:`Are you sure you want to resize CVM app_${s}?`,default:!1}]);if(!p)return l.info("Resize operation cancelled"),0}let u=l.startSpinner(`Resizing CVM with App ID app_${s}`);await mo(()=>Bd(s,i,a,c,m?1:0),{spinner:u}),u.stop(!0),l.break(),l.success(`Your CVM is being resized. You can check the dashboard for more details:
184
+ ${ye}/dashboard/cvms/app_${s}`)}else await mo(()=>Bd(s,i,a,c,m?1:0)),t.success({app_id:s,vcpu:i,memory:a,disk_size:c,allow_restart:m});return 0}catch(r){return l.error("Failed to resize CVM"),l.logDetailedError(r),t.fail(r instanceof Error?r.message:String(r)),1}}var ov=R({path:["cvms","resize"],meta:tv,schema:rv,handler:xI});async function jp(e,t=3e5){let r=Zo(),o=kt({apiKey:r}),n=Date.now(),s=2e3;for(l.info("Waiting for CVM to be ready...");Date.now()-n<t;){try{let i=await Ve(o,{uuid:e});if(!i.success)l.warn(`Failed to get CVM info: ${i.error.message}`);else{let a=i.data,c=a.status,m=a.in_progress,u=Math.floor((Date.now()-n)/1e3);if(l.info(` [${u}s] status=${c}, in_progress=${m}`),c==="running"&&!m){let p=Math.floor((Date.now()-n)/1e3);l.success(`CVM is ready (took ${p}s)`);return}}}catch(i){l.warn(`Error checking CVM status: ${i}`)}await new Promise(i=>setTimeout(i,s))}throw new Error(`Timeout waiting for CVM to be ready (${Math.floor(t/1e3)}s)`)}import{z as r0}from"zod";var nv={name:"restart",description:"Restart a CVM",arguments:[Xe],options:[Ye],examples:[{name:"Restart CVM by app_id",value:"phala cvms restart app_123"},{name:"Restart CVM by UUID",value:"phala cvms restart 550e8400-e29b-41d4-a716-446655440000"},{name:"Restart CVM by name",value:"phala cvms restart my-app"}]},sv=r0.object({cvmId:r0.string().optional(),interactive:r0.boolean().default(!1)});async function vI(e,t){if(!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=await Z(),o=await Ve(r,t.cvmId);if(!o.success)return t.fail(o.error.message),1;let n=o.data;n.in_progress&&(l.warn("CVM is currently in progress (updating/restarting). Waiting for operation to complete..."),await jp(n.vm_uuid,3e5));let s=l.startSpinner("Restarting CVM"),i=t.cvmId,a=await mo(()=>Sd(r,i),{spinner:s});if(s.stop(!0),!a.success)return l.error(`Failed to restart CVM: ${a.error.message}`),1;let c=a.data;return l.break(),l.keyValueTable({"CVM ID":c.id,Name:c.name,Status:c.status,"App ID":`app_${c.app_id}`,"App URL":c.app_url||`${ye}/dashboard/cvms/app_${c.app_id}`},{borderStyle:"rounded"}),l.break(),l.success(`Your CVM is being restarted. You can check the dashboard for more details:
185
+ ${ye}/dashboard/cvms/app_${c.app_id}`),0}catch(r){return l.error("Failed to restart CVM"),l.logDetailedError(r),1}}var iv=R({path:["cvms","restart"],meta:nv,schema:sv,handler:vI});import{z as o0}from"zod";var av={name:"start",description:"Start a stopped CVM",arguments:[Xe],options:[Ye],examples:[{name:"Start CVM by app_id",value:"phala cvms start app_123"},{name:"Start CVM by UUID",value:"phala cvms start 550e8400-e29b-41d4-a716-446655440000"},{name:"Start CVM by name",value:"phala cvms start my-app"}]},cv=o0.object({cvmId:o0.string().optional(),interactive:o0.boolean().default(!1)});async function wI(e,t){if(!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=await Z(),o=l.startSpinner("Starting CVM"),n=t.cvmId,s=await mo(()=>Ed(r,n),{spinner:o});if(o.stop(!0),!s.success)return l.error(`Failed to start CVM: ${s.error.message}`),1;let i=s.data;return l.break(),l.keyValueTable({"CVM ID":i.id,Name:i.name,Status:i.status,"App ID":`app_${i.app_id}`},{borderStyle:"rounded"}),l.break(),l.success(`Your CVM is being started. You can check the dashboard for more details:
186
+ ${ye}/dashboard/cvms/app_${i.app_id}`),0}catch(r){return l.error("Failed to start CVM"),l.logDetailedError(r),1}}var mv=R({path:["cvms","start"],meta:av,schema:cv,handler:wI});import{z as n0}from"zod";var uv={name:"stop",description:"Stop a running CVM",arguments:[Xe],options:[Ye],examples:[{name:"Stop CVM by app_id",value:"phala cvms stop app_123"},{name:"Stop CVM by UUID",value:"phala cvms stop 550e8400-e29b-41d4-a716-446655440000"},{name:"Stop CVM by name",value:"phala cvms stop my-app"}]},pv=n0.object({cvmId:n0.string().optional(),interactive:n0.boolean().default(!1)});async function CI(e,t){if(!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=await Z(),o=l.startSpinner("Stopping CVM"),n=t.cvmId,s=await mo(()=>kd(r,n),{spinner:o});if(o.stop(!0),!s.success)return l.error(`Failed to stop CVM: ${s.error.message}`),1;let i=s.data;return l.break(),l.keyValueTable({"CVM ID":i.id,Name:i.name,Status:i.status,"App ID":`app_${i.app_id}`},{borderStyle:"rounded"}),l.break(),l.success(`Your CVM is being stopped. You can check the dashboard for more details:
187
+ ${ye}/dashboard/cvms/app_${i.app_id}`),0}catch(r){return l.error("Failed to stop CVM"),l.logDetailedError(r),1}}var fv=R({path:["cvms","stop"],meta:uv,schema:pv,handler:CI});import EI from"fs";import{z as Ri}from"zod";var lv={name:"upgrade",description:'[DEPRECATED] Upgrade a CVM to a new version (use "phala deploy" instead)',arguments:[Xe],options:[Ye,{name:"compose",shorthand:"c",description:"Path to new Docker Compose file",type:"string",target:"compose"},{name:"env-file",shorthand:"e",description:"Path to environment file",type:"string",target:"envFile"},{name:"debug",description:"Enable debug mode",type:"boolean",target:"debug"}],examples:[{name:"Upgrade a CVM interactively",value:"phala cvms upgrade"},{name:"Upgrade using a compose file",value:"phala cvms upgrade app_123 --compose ./docker-compose.yml"}]},dv=Ri.object({cvmId:Ri.string().optional(),interactive:Ri.boolean().default(!1),compose:Ri.string().optional(),envFile:Ri.string().optional(),debug:Ri.boolean().default(!1)});async function kI(e){if(e.compose)return e.compose;let r=$i(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return Lr("Enter the path to your Docker Compose file:",r,"file")}async function SI(e,t){try{if(l.warn('\u26A0\uFE0F This command is deprecated. Please use "phala deploy" instead.'),l.warn(`\u26A0\uFE0F This legacy API will be maintained but may have limited support.
188
+ `),!t.cvmId)return l.error("No CVM ID provided. Use --interactive to select interactively."),1;let r=await Z(),o=await Ve(r,t.cvmId);if(!o.success)return l.error(o.error.message),1;let n=o.data;if(!n)return l.error("CVM not found"),1;let s=n.app_id,i=n,a=await kI(e),c="";if(a)try{c=EI.readFileSync(a,"utf8")}catch(h){return l.error(`Failed to read Docker Compose file: ${h instanceof Error?h.message:String(h)}`),1}await Rn(),process.env.DSTACK_DOCKER_USERNAME&&process.env.DSTACK_DOCKER_PASSWORD?l.info("\u{1F510} Using private DockerHub registry credentials..."):process.env.DSTACK_AWS_ACCESS_KEY_ID&&process.env.DSTACK_AWS_SECRET_ACCESS_KEY&&process.env.DSTACK_AWS_REGION&&process.env.DSTACK_AWS_ECR_REGISTRY?l.info(`\u{1F510} Using private AWS ECR registry: ${process.env.DSTACK_AWS_ECR_REGISTRY}`):l.info("\u{1F510} Using public DockerHub registry...");let m,u=[];if(e.envFile)try{let h=Ja([],e.envFile);m=await(0,pr.encryptEnvVars)(h,i.encrypted_env_pubkey),u=h.map(g=>g.key)}catch(h){return l.error(`Failed to read environment file: ${h instanceof Error?h.message:String(h)}`),1}let p={compose_manifest:{docker_compose_file:c,manifest_version:1,runner:"docker-compose",version:"1.0.0",features:["kms","tproxy-net"],name:`app_${s}`,allowed_envs:u},encrypted_env:m,allow_restart:!0,env_keys:u},f=l.startSpinner(`Upgrading CVM app_${s}`),d=await j1(s,p);return d?(f.stop(!0),d.detail&&l.info(`Details: ${d.detail}`),l.break(),l.success(`Your CVM is being upgraded. You can check the dashboard for more details:
189
+ ${ye}/dashboard/cvms/app_${s}`),0):(f.stop(!1),l.error("Failed to upgrade CVM"),1)}catch(r){return l.error(`Failed to upgrade CVM: ${r instanceof Error?r.message:String(r)}`),e.debug&&l.error("Full Error:",r),1}}var hv=R({path:["cvms","upgrade"],meta:lv,schema:dv,handler:SI});var s0={group:k6,commands:[I6,N6,U6,j6,K6,Z6,ev,ov,iv,mv,fv,hv]};import{z as pe}from"zod";var gv={name:"deploy",description:"Create a new CVM with on-chain KMS in one step.",arguments:[],options:[...Nn,g0,y0,{name:"json",description:"Output in JSON format",type:"boolean",target:"json",negatedName:"no-json"},{name:"debug",description:"Enable debug logging",type:"boolean",target:"debug"},{name:"name",shorthand:"n",description:"Name of the CVM",type:"string",target:"name"},{name:"compose",shorthand:"c",description:"Path to Docker Compose file (default: docker-compose.yml in current directory)",type:"string",target:"compose"},{name:"instance-type",shorthand:"t",description:"Instance type (e.g., tdx.small, tdx.medium, tdx.large). Optional - auto-selected if not specified.",type:"string",target:"instanceType"},{name:"vcpu",description:`Number of vCPUs (optional, auto-matched if not specified), default is ${Pn}`,type:"string",target:"vcpu"},{name:"memory",description:`Memory with optional unit (optional, auto-matched if not specified), e.g., 2G, 1024MB, default is ${Tn}MB`,type:"string",target:"memory"},{name:"disk-size",description:`Disk size with optional unit (optional, auto-matched if not specified), e.g., 50G, 100GB, default is ${$n}GB`,type:"string",target:"diskSize"},{name:"image",description:"OS image version (optional, auto-selected if not specified)",type:"string",target:"image"},{name:"region",shorthand:"r",description:"Preferred region (e.g., us-west, eu-central). Optional - auto-selected if not specified.",type:"string",target:"region"},{name:"node-id",description:"Node ID (optional, auto-selected if not specified)",type:"string",target:"nodeId"},{name:"env-file",shorthand:"e",description:"Prompt for environment variables and save to file (optional)",type:"string",target:"envFile"},{name:"interactive",shorthand:"i",description:"Enable interactive mode for required parameters",type:"boolean",target:"interactive"},{name:"kms-id",description:"KMS ID to use.",type:"string",target:"kmsId"},{name:"custom-app-id",description:"Custom App ID to use.",type:"string",target:"customAppId"},{name:"pre-launch-script",description:"Path to pre-launch script",type:"string",target:"preLaunchScript"},{name:"private-key",description:"Private key for signing transactions.",type:"string",target:"privateKey"},{name:"rpc-url",description:"RPC URL for the blockchain.",type:"string",target:"rpcUrl"},{name:"wait",description:"Wait for CVM to complete deployment/update before returning (only applies to updates)",type:"boolean",target:"wait"},{name:"ssh-pubkey",description:"Path to SSH public key file (default: ~/.ssh/id_rsa.pub)",type:"string",target:"sshPubkey"},{name:"dev-os",description:"Use development OS image (requires SSH public key)",type:"boolean",target:"devOs"},{name:"non-dev-os",description:"Use non-development OS image (SSH public key only if explicitly specified)",type:"boolean",target:"nonDevOs"}],examples:[{name:"Deploy with auto-selection (simplest)",value:"phala deploy"},{name:"Deploy with specific instance type",value:"phala deploy --instance-type tdx.medium"},{name:"Deploy to specific region",value:"phala deploy --region us-west"},{name:"Deploy with instance type and region",value:"phala deploy --instance-type tdx.small --region eu-central"},{name:"Deploy with manual resource specs",value:"phala deploy --vcpu 4 --memory 8G --disk-size 100G"},{name:"Deploy with on-chain KMS",value:"phala deploy --kms-id ethereum --private-key <key> --rpc-url <url>"},{name:"Deploy to specific node (advanced)",value:"phala deploy --node-id 6"}]},yv=pe.object({compose:pe.string().optional(),json:pe.boolean().default(!0),debug:pe.boolean().default(!1),apiKey:pe.string().optional(),name:pe.string().optional(),instanceType:pe.string().optional(),vcpu:pe.string().optional(),memory:pe.string().optional(),diskSize:pe.string().optional(),image:pe.string().optional(),region:pe.string().optional(),nodeId:pe.string().optional(),envFile:pe.string().optional(),interactive:pe.boolean().default(!1),kmsId:pe.string().optional(),cvmId:pe.string().optional(),uuid:pe.string().optional(),customAppId:pe.string().optional(),preLaunchScript:pe.string().optional(),privateKey:pe.string().optional(),rpcUrl:pe.string().optional(),wait:pe.boolean().default(!1),sshPubkey:pe.string().optional(),devOs:pe.boolean().default(!1),nonDevOs:pe.boolean().default(!1)});import Bi from"path";import wv from"os";function bv(e,t="B"){if(!e||typeof e!="string")throw new Error("Invalid input: must be a non-empty string");let r=e.trim().match(/^(\d+(?:\.\d+)?)\s*([KkMmGgTt][Bb]?)?$/);if(!r)throw new Error(`Invalid format: ${e}. Expected format: <number>[unit] (e.g., 2G, 500MB, 1T)`);let o=Number.parseFloat(r[1]),n=(r[2]||t).toUpperCase().replace("B",""),s={K:1024,M:1024*1024,G:1024*1024*1024,T:1024*1024*1024*1024,"":1};if(!(n in s))throw new Error(`Unsupported unit: ${n}. Supported units: B, K/KB, M/MB, G/GB, T/TB`);return Math.round(o*s[n])}function xv(e){let t=bv(e,"MB"),r=Math.round(t/(1024*1024));if(r%1024!==0)throw new Error(`Memory must be a multiple of 1GB (1024MB). Got: ${r}MB`);return r}function vv(e){let t=bv(e,"GB"),r=Math.round(t/(1024*1024*1024));if(r%1!==0)throw new Error(`Disk size must be a multiple of 1GB. Got: ${r}GB`);return r}import Gp from"dedent";import Fi from"fs-extra";import i0 from"inquirer";function _I(e,t){if(e instanceof gd)return t.json?{success:!1,error_code:e.errorCode,message:e.message,details:e.structuredDetails,suggestions:e.suggestions,links:e.links}:c1(e);if(e&&typeof e=="object"&&"response"in e){let n=e.response?.data?.detail;if(n&&typeof n=="object"&&"error_code"in n){let{error_code:s,message:i,details:a,suggestions:c,links:m}=n;if(t.json)return{success:!1,error_code:s,message:i,details:a,suggestions:c,links:m};let u=`
190
190
  Error [${s}]: ${i}
191
191
  `;if(a&&a.length>0){u+=`
192
192
  Details:
193
- `;for(let f of a)f.message?u+=` - ${f.message}
194
- `:f.field&&f.value!==void 0&&(u+=` - ${f.field}: ${f.value}
193
+ `;for(let p of a)p.message?u+=` - ${p.message}
194
+ `:p.field&&p.value!==void 0&&(u+=` - ${p.field}: ${p.value}
195
195
  `)}if(c&&c.length>0){u+=`
196
196
  Suggestions:
197
- `;for(let f of c)u+=` - ${f}
197
+ `;for(let p of c)u+=` - ${p}
198
198
  `}if(m&&m.length>0){u+=`
199
199
  Learn more:
200
- `;for(let f of m)u+=` - ${f.label}: ${f.url}
200
+ `;for(let p of m)u+=` - ${p.label}: ${p.url}
201
201
  `}return u}}let r=e instanceof Error?e.message:String(e||"Unknown error");return t.json?{success:!1,error:r}:`
202
202
  Error: ${r}
203
- `}async function E3({apiKey:e,interactive:t}){if(!e&&!process.env.PHALA_CLOUD_API_KEY){if(t){let{apiKey:o}=await Zd.prompt([{type:"password",name:"apiKey",message:"Enter your API key:",validate:n=>n.trim()?!0:"API key is required"}]);return vt({apiKey:o})}let r=hn();if(!r)throw new Error("API key is required. Please provide it via --api-key or PHALA_CLOUD_API_KEY environment variable");return vt({apiKey:r})}return e?vt({apiKey:e}):vt()}async function k3({dockerComposePath:e,interactive:t}){if(!e)if(t){let o=$i(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");e=await Hr("Enter the path to your Docker Compose file:",o,"file")}else throw new Error(Up(`
203
+ `}async function II({apiKey:e,interactive:t}){if(!e&&!process.env.PHALA_CLOUD_API_KEY){if(t){let{apiKey:o}=await i0.prompt([{type:"password",name:"apiKey",message:"Enter your API key:",validate:n=>n.trim()?!0:"API key is required"}]);return kt({apiKey:o})}let r=Zo();if(!r)throw new Error("API key is required. Please provide it via --api-key or PHALA_CLOUD_API_KEY environment variable");return kt({apiKey:r})}return e?kt({apiKey:e}):kt()}async function AI({dockerComposePath:e,interactive:t}){if(!e)if(t){let o=$i(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");e=await Lr("Enter the path to your Docker Compose file:",o,"file")}else throw new Error(Gp(`
204
204
  Docker Compose file is required.
205
205
 
206
206
  Usage examples:
@@ -215,7 +215,7 @@ Error: ${r}
215
215
  --private-key <key> Private key for deployment
216
216
 
217
217
  Run with --interactive for guided setup
218
- `));if(!Bi.existsSync(e))throw new Error(`Docker compose file not found: ${e}`);return Bi.readFileSync(e,"utf8")}var S3=async(e,t)=>{let r=e.privateKey||process.env.PRIVATE_KEY;if(e.kmsId&&t&&!e.privateKey)if(e.interactive)r=(await Zd.prompt([{type:"password",name:"privateKey",message:"Enter your private key:",validate:n=>n.trim()?!0:"Private key is required"}])).privateKey;else throw new Error("When using on-chain KMS, either --private-key (or PRIVATE_KEY env) must be provided");return r},_3=async e=>{let t=e.name;if(!e.name){let r=Ri.basename(process.cwd()).toLowerCase().replace(/[^a-z0-9_-]/g,"-");r.length<3&&(r=`${r}-cvm`);let o=r.slice(0,20);e.interactive?t=(await Zd.prompt([{type:"input",name:"name",message:"Enter a name for the CVM:",default:o,validate:s=>s.trim()?s.trim().length>20?"CVM name must be less than 20 characters":s.trim().length<3?"CVM name must be at least 3 characters":/^[a-zA-Z0-9_-]+$/.test(s)?!0:"CVM name must contain only letters, numbers, underscores, and hyphens":"CVM name is required"}])).name:t=o}return t},I3=async e=>{let t,r=e.envFile;if(e.interactive&&(!e.envFile||r===!0)&&(r=await Hr("Enter the path to your environment file:",".env","file")),r&&r!==!0)try{let o=Bi.readFileSync(r,{encoding:"utf8"});t=h1(o)}catch(o){throw new Error(`Error reading environment file ${r}: ${o instanceof Error?o.message:String(o)}`)}return t},A3=async e=>{let t=e.sshPubkey;if(!(e.nonDevOs&&!e.sshPubkey)){if(t){if(t.startsWith("~")&&(t=Ri.join(dw.homedir(),t.slice(1))),!Bi.existsSync(t))throw new Error(`SSH public key file not found: ${t}`)}else{let r=dw.homedir(),o=[Ri.join(r,".ssh","id_rsa.pub"),Ri.join(r,".ssh","id_ed25519.pub"),Ri.join(r,".ssh","id_ecdsa.pub"),Ri.join(r,".ssh","id_dsa.pub")];for(let n of o)if(Bi.existsSync(n)){t=n;break}if(!t){if(e.devOs)throw new Error(Up(`
218
+ `));if(!Fi.existsSync(e))throw new Error(`Docker compose file not found: ${e}`);return Fi.readFileSync(e,"utf8")}var PI=async(e,t)=>{let r=e.privateKey||process.env.PRIVATE_KEY;if(e.kmsId&&t&&!e.privateKey)if(e.interactive)r=(await i0.prompt([{type:"password",name:"privateKey",message:"Enter your private key:",validate:n=>n.trim()?!0:"Private key is required"}])).privateKey;else throw new Error("When using on-chain KMS, either --private-key (or PRIVATE_KEY env) must be provided");return r},TI=async e=>{let t=e.name;if(e.name){if(!Ai(e.name))throw new Error(`Invalid CVM name: "${e.name}". Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens.`);return e.name}let r=Bi.basename(process.cwd()),o=g1(r);return e.interactive?t=(await i0.prompt([{type:"input",name:"name",message:"Enter a name for the CVM:",default:o,validate:s=>s.trim()?Ai(s.trim())?!0:"Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens":"CVM name is required"}])).name:t=o,t},$I=async e=>{let t,r=e.envFile;if(e.interactive&&(!e.envFile||r===!0)&&(r=await Lr("Enter the path to your environment file:",".env","file")),r&&r!==!0)try{let o=Fi.readFileSync(r,{encoding:"utf8"});t=A1(o)}catch(o){throw new Error(`Error reading environment file ${r}: ${o instanceof Error?o.message:String(o)}`)}return t},RI=async e=>{let t=e.sshPubkey;if(!(e.nonDevOs&&!e.sshPubkey)){if(t){if(t.startsWith("~")&&(t=Bi.join(wv.homedir(),t.slice(1))),!Fi.existsSync(t))throw new Error(`SSH public key file not found: ${t}`)}else{let r=wv.homedir(),o=[Bi.join(r,".ssh","id_rsa.pub"),Bi.join(r,".ssh","id_ed25519.pub"),Bi.join(r,".ssh","id_ecdsa.pub"),Bi.join(r,".ssh","id_dsa.pub")];for(let n of o)if(Fi.existsSync(n)){t=n;break}if(!t){if(e.devOs)throw new Error(Gp(`
219
219
  SSH public key is required for dev images but not found.
220
220
 
221
221
  Searched for:
@@ -227,30 +227,30 @@ Error: ${r}
227
227
  Please either:
228
228
  1. Create an SSH key pair: ssh-keygen -t rsa
229
229
  2. Specify a different key file: --ssh-pubkey <path>
230
- `));return}}try{let r=Bi.readFileSync(t,"utf8").trim();return l.info(`Using SSH public key from ${t}`),r}catch(r){throw new Error(`Failed to read SSH public key from ${t}: ${r instanceof Error?r.message:String(r)}`)}}};var P3=(e,t,r,o)=>{let n={name:t,compose_file:{name:"",docker_compose_file:r,allowed_envs:o?.map(s=>s.key)||[]}};return e.instanceType&&(n.instance_type=e.instanceType),e.vcpu&&(n.vcpu=Number(e.vcpu)),e.memory&&(n.memory=fw(e.memory)),e.diskSize&&(n.disk_size=lw(e.diskSize)),e.nodeId&&(n.teepod_id=Number(e.nodeId)),e.region&&(n.region=e.region),e.image&&(n.image=e.image),e.kmsId&&(n.kms_id=e.kmsId),e.devOs?n.prefer_dev=!0:e.nonDevOs&&(n.prefer_dev=!1),n},T3=async(e,t,r,o,n,s)=>{let i=await _3(e),a=await A3(e),c=[...r||[]];a&&c.push({key:"DSTACK_AUTHORIZED_KEYS",value:a});let m=P3(e,i,t,c);n.write(`Provisioning CVM ${i}...
231
- `);let u=await ld(o,m);if(!u.success){let g=C3(u.error,e);throw l.error("Error in provisioning CVM:",g),u.error}let f=u.data,p;if(e.kmsId&&!f.app_id){let g=await gd(o);if(!g.success)throw new Error(`Failed to get KMS list: ${g.error.message}`);let y=g.data.items.find(R=>R.slug===e.kmsId||R.id===e.kmsId);if(!y||!y.chain_id)throw new Error(`KMS ${e.kmsId} not found or invalid`);let v=await S3(e,y.chain_id),C=await f1({chain:y.chain,rpcUrl:e.rpcUrl,kmsContractAddress:y.kms_contract_address,privateKey:v,deviceId:f.device_id,composeHash:f.compose_hash});if(!C.success){l.logDetailedError(C,"Deploy App Auth");let R=typeof C=="object"&&C!==null?JSON.stringify(C):String(C);throw new Error(`Deployment contract failed: ${R}`)}let k=C.data,_=await yd(o,{app_id:k.appId,kms:y.slug});if(!_.success)throw l.logDetailedError(_.error,"Get App Env Encrypt PubKey"),new Error(`Failed to get app env encrypt pubkey: ${_.error.message}`);let I=_.data,A=await(0,fr.encryptEnvVars)(c,I.public_key);p=await Ep(o,{app_id:k.appId,encrypted_env:A,compose_hash:f.compose_hash,kms_id:y.slug,contract_address:k.appAuthAddress,deployer_address:k.deployer})}else{let g=c&&c.length>0?await(0,fr.encryptEnvVars)(c,f.app_env_encrypt_pubkey):void 0;p=await Ep(o,{app_id:f.app_id,encrypted_env:g,compose_hash:f.compose_hash,kms_id:e.kmsId})}if(!p.success)throw l.logDetailedError(p.error,"Commit CVM Provision"),new Error(`Failed to commit CVM provision: ${p.error.message}`);let h=p.data;if(e?.json!==!1)n.write(`${JSON.stringify({success:!0,vm_uuid:h.vm_uuid,name:h.name,app_id:h.app_id,dashboard_url:`${be}/dashboard/cvms/${h.vm_uuid}`},null,2)}
232
- `);else{let g=Up`
230
+ `));return}}try{let r=Fi.readFileSync(t,"utf8").trim();return l.info(`Using SSH public key from ${t}`),r}catch(r){throw new Error(`Failed to read SSH public key from ${t}: ${r instanceof Error?r.message:String(r)}`)}}};var BI=(e,t,r,o)=>{let n={name:t,compose_file:{name:"",docker_compose_file:r,allowed_envs:o?.map(s=>s.key)||[]}};return e.instanceType&&(n.instance_type=e.instanceType),e.vcpu&&(n.vcpu=Number(e.vcpu)),e.memory&&(n.memory=xv(e.memory)),e.diskSize&&(n.disk_size=vv(e.diskSize)),e.nodeId&&(n.teepod_id=Number(e.nodeId)),e.region&&(n.region=e.region),e.image&&(n.image=e.image),e.kmsId&&(n.kms_id=e.kmsId),e.devOs?n.prefer_dev=!0:e.nonDevOs&&(n.prefer_dev=!1),n},FI=async(e,t,r,o,n,s)=>{let i=await TI(e),a=await RI(e),c=[...r||[]];a&&c.push({key:"DSTACK_AUTHORIZED_KEYS",value:a});let m=BI(e,i,t,c);n.write(`Provisioning CVM ${i}...
231
+ `);let u=await bd(o,m);if(!u.success){let g=_I(u.error,e);throw l.error("Error in provisioning CVM:",g),u.error}let p=u.data,f;if(e.kmsId&&!p.app_id){let g=await wd(o);if(!g.success)throw new Error(`Failed to get KMS list: ${g.error.message}`);let y=g.data.items.find($=>$.slug===e.kmsId||$.id===e.kmsId);if(!y||!y.chain_id)throw new Error(`KMS ${e.kmsId} not found or invalid`);let v=await PI(e,y.chain_id),C=await S1({chain:y.chain,rpcUrl:e.rpcUrl,kmsContractAddress:y.kms_contract_address,privateKey:v,deviceId:p.device_id,composeHash:p.compose_hash});if(!C.success){l.logDetailedError(C,"Deploy App Auth");let $=typeof C=="object"&&C!==null?JSON.stringify(C):String(C);throw new Error(`Deployment contract failed: ${$}`)}let k=C.data,I=await Cd(o,{app_id:k.appId,kms:y.slug});if(!I.success)throw l.logDetailedError(I.error,"Get App Env Encrypt PubKey"),new Error(`Failed to get app env encrypt pubkey: ${I.error.message}`);let P=I.data,S=await(0,pr.encryptEnvVars)(c,P.public_key);f=await Ip(o,{app_id:k.appId,encrypted_env:S,compose_hash:p.compose_hash,kms_id:y.slug,contract_address:k.appAuthAddress,deployer_address:k.deployer})}else{let g=c&&c.length>0?await(0,pr.encryptEnvVars)(c,p.app_env_encrypt_pubkey):void 0;f=await Ip(o,{app_id:p.app_id,encrypted_env:g,compose_hash:p.compose_hash,kms_id:e.kmsId})}if(!f.success)throw l.logDetailedError(f.error,"Commit CVM Provision"),new Error(`Failed to commit CVM provision: ${f.error.message}`);let h=f.data;if(e?.json!==!1)n.write(`${JSON.stringify({success:!0,vm_uuid:h.vm_uuid,name:h.name,app_id:h.app_id,dashboard_url:`${ye}/dashboard/cvms/${h.vm_uuid}`},null,2)}
232
+ `);else{let g=Gp`
233
233
  CVM created successfully!
234
234
 
235
235
  CVM ID: ${h.vm_uuid}
236
236
  Name: ${h.name}
237
237
  App ID: ${h.app_id}
238
- Dashboard URL: ${be}/dashboard/cvms/${h.vm_uuid}
238
+ Dashboard URL: ${ye}/dashboard/cvms/${h.vm_uuid}
239
239
  `;n.write(`${g}
240
- `)}},$3=async(e,t,r,o,n)=>{let[s,i]=await Promise.all([Yt(o,{uuid:e.uuid}),Ua(o,{uuid:e.uuid})]);if(!s.success)throw l.logDetailedError(s.error,"Get CVM Info"),new Error(`Failed to get cvm info: ${s.error.message}`);if(!i.success)throw l.logDetailedError(i.error,"Get CVM Compose File"),new Error(`Failed to get cvm compose file: ${i.error.message}`);let a=s.data,c=i.data;c.docker_compose_file=t,r&&r.length>0&&(c.allowed_envs=r.map(h=>h.key)),l.info(`Preparing update for CVM ${e.uuid}...`);let m=await dd(o,{uuid:e.uuid,app_compose:c});if(!m.success)throw l.logDetailedError(m.error,"Provision CVM Compose File Update"),new Error(`Failed to provision cvm compose file: ${m.error.message}`);let u=m.data,f;if(a.kms_info?.chain_id){if(!e.privateKey)throw new Error("Private key is required for contract DstackApp");let h=await d1({chain:a.kms_info?.chain,rpcUrl:e.rpcUrl,appId:a.app_id,composeHash:u.compose_hash,privateKey:e.privateKey});if(!h.success){l.logDetailedError(h,"Add Compose Hash");let g=typeof h=="object"&&h!==null?JSON.stringify(h):String(h);throw new Error(`Failed to add compose hash: ${g}`)}}else if(r&&r.length>0){if(!a.encrypted_env_pubkey)throw new Error("CVM encrypted_env_pubkey is required for centralized KMS");f=await(0,fr.encryptEnvVars)(r,a.encrypted_env_pubkey)}let p={id:e.uuid,compose_hash:u.compose_hash,encrypted_env:f,env_keys:r?.length?r.map(h=>h.key):void 0},d=await hd(o,p);if(!d.success)throw l.logDetailedError(d.error,"Commit CVM Compose File Update"),new Error(`Failed to commit CVM compose file update: ${d.error.message}`);if(e.wait){l.info("Waiting for update to complete...");try{await zp(e.uuid,3e5)}catch(h){throw l.logDetailedError(h,"Wait for CVM Ready"),new Error(`Wait failed: ${h instanceof Error?h.message:String(h)}`)}}e?.json!==!1?n.write(`${JSON.stringify({success:!0,vm_uuid:e.uuid,name:a.name,app_id:a.app_id,dashboard_url:`${be}/dashboard/cvms/${e.uuid}`},null,2)}
240
+ `)}},MI=async(e,t,r,o,n)=>{let[s,i]=await Promise.all([Ve(o,{uuid:e.uuid}),Ga(o,{uuid:e.uuid})]);if(!s.success)throw l.logDetailedError(s.error,"Get CVM Info"),new Error(`Failed to get cvm info: ${s.error.message}`);if(!i.success)throw l.logDetailedError(i.error,"Get CVM Compose File"),new Error(`Failed to get cvm compose file: ${i.error.message}`);let a=s.data,c=i.data;c.docker_compose_file=t,r&&r.length>0&&(c.allowed_envs=r.map(h=>h.key)),l.info(`Preparing update for CVM ${e.uuid}...`);let m=await xd(o,{uuid:e.uuid,app_compose:c});if(!m.success)throw l.logDetailedError(m.error,"Provision CVM Compose File Update"),new Error(`Failed to provision cvm compose file: ${m.error.message}`);let u=m.data,p;if(a.kms_info?.chain_id){if(!e.privateKey)throw new Error("Private key is required for contract DstackApp");let h=await I1({chain:a.kms_info?.chain,rpcUrl:e.rpcUrl,appId:a.app_id,composeHash:u.compose_hash,privateKey:e.privateKey});if(!h.success){l.logDetailedError(h,"Add Compose Hash");let g=typeof h=="object"&&h!==null?JSON.stringify(h):String(h);throw new Error(`Failed to add compose hash: ${g}`)}}else if(r&&r.length>0){if(!a.encrypted_env_pubkey)throw new Error("CVM encrypted_env_pubkey is required for centralized KMS");p=await(0,pr.encryptEnvVars)(r,a.encrypted_env_pubkey)}let f={id:e.uuid,compose_hash:u.compose_hash,encrypted_env:p,env_keys:r?.length?r.map(h=>h.key):void 0},d=await vd(o,f);if(!d.success)throw l.logDetailedError(d.error,"Commit CVM Compose File Update"),new Error(`Failed to commit CVM compose file update: ${d.error.message}`);if(e.wait){l.info("Waiting for update to complete...");try{await jp(e.uuid,3e5)}catch(h){throw l.logDetailedError(h,"Wait for CVM Ready"),new Error(`Wait failed: ${h instanceof Error?h.message:String(h)}`)}}e?.json!==!1?n.write(`${JSON.stringify({success:!0,vm_uuid:e.uuid,name:a.name,app_id:a.app_id,dashboard_url:`${ye}/dashboard/cvms/${e.uuid}`},null,2)}
241
241
  `):n.write(`CVM compose file updated successfully!
242
- `)};async function hw(e,t){Ve(e.json||!1);try{let r=e.compose,o=await E3({apiKey:e.apiKey,interactive:e.interactive}),n=await k3({dockerComposePath:r,interactive:e.interactive}),s=await I3(e),i=Ai(e.uuid)??t.projectConfig.cvm_id;!!i?await $3({...e,uuid:i},n,s,o,t.stdout):await T3(e,n,s??[],o,t.stdout,t.stderr)}catch(r){throw e.json!==!1?t.stderr.write(`${JSON.stringify({success:!1,error:r instanceof Error?r.message:String(r),stack:e.debug&&r instanceof Error?r.stack:void 0},null,2)}
243
- `):t.stderr.write(`${Up`${r instanceof Error?r.message:String(r)}`}
244
- `),r}}async function R3(e,t){try{return await hw(e,{stdout:t.stdout,stderr:t.stderr,projectConfig:t.projectConfig}),0}catch{return 1}}var gw=$({path:["deploy"],meta:mw,schema:uw,handler:R3});import{z as X3}from"zod";var yw={path:["docker"],meta:{name:"docker",description:"Login to Docker Hub and manage Docker images"}};import L3 from"node:fs";import Sw from"node:path";import _w from"inquirer";import{exec as B3,spawn as F3}from"node:child_process";import ho from"node:fs";import ww from"node:os";import Za from"node:path";import{promisify as M3}from"node:util";import{execa as D3}from"execa";import N3 from"handlebars";import{INVALID as Zne,ParseStatus as Yne,ZodIssueCode as Xne,ZodParsedType as Qne,ZodType as ese,addIssueToContext as tse,z as bw}from"zod";var xw=bw.object({template:bw.string().min(1,"Template cannot be empty")});var Ya=M3(B3),vw=".phala-cloud/logs",z3=".phala-cloud/compose",Cw=10,Et=class{username;image;registry;constructor(t,r,o){this.image=t,this.username=r||"",this.registry=o||""}ensureLogsDir(){let t=Za.resolve(vw);ho.existsSync(t)||ho.mkdirSync(t,{recursive:!0})}getLogFilePath(t,r){let o=new Date().toISOString().replace(/[:.]/g,"-");return Za.resolve(vw,`${r||this.image}-${t}-${o}.log`)}getSystemArchitecture(){let t=ww.arch();switch(t){case"arm":case"arm64":return"arm64";case"x64":return"amd64";default:return t}}spawnProcess(t,r,o,n){return new Promise((s,i)=>{let a=F3(t,r);this.ensureLogsDir();let c=this.getLogFilePath(o,n),m=ho.createWriteStream(c,{flags:"a"}),u=[],f=(p,d=!1)=>{let h=p.toString().split(`
245
- `);m.write(p);for(let g of h)if(g.trim()){u.push(g),u.length>Cw&&u.shift(),console.clear(),console.log(`Latest ${Cw} lines (full log at ${c}):`),console.log("-".repeat(50));for(let b of u)d?console.error(b):console.log(b)}};a.stdout.on("data",p=>f(p)),a.stderr.on("data",p=>f(p,!0)),a.on("close",p=>{m.end(),p===0?(console.log(`
246
- Operation completed. Full log available at: ${c}`),s()):i(new Error(`Process exited with code ${p}. Check log file: ${c}`))}),a.on("error",p=>{m.end(),i(p)})})}setCredentials(t,r){this.username=t,r&&(this.registry=r)}async buildImage(t,r){try{let o=this.getSystemArchitecture(),n=`${this.username}/${this.image}:${r}`,s=l.startSpinner(`Building Docker image ${this.username}/${this.image}:${r}`);Rt(t);let i=["build","-t",n,"-f",t];return o==="arm64"&&(console.log("Detected arm64 architecture, using --platform linux/amd64"),i.push("--platform","linux/amd64")),i.push("."),await this.spawnProcess("docker",i,"build",this.image),s.stop(!0,`Docker image ${n} built successfully`),!0}catch(o){return l.error(`Failed to build Docker image: ${o instanceof Error?o.message:String(o)}`),!1}}async pushImage(t){try{let r=l.startSpinner(`Pushing Docker image ${t} to Docker Hub`);if(!await uo())throw r.stop(!1),new Error('Docker credentials not found. Please log in first with "phala docker login"');let n=t;return console.log(`Pushing image ${n} to Docker Hub...`),await this.spawnProcess("docker",["push",n],"push",t.replace(/.*\/+([\w-]+):.*$/g,"$1")),r.stop(!0,`Docker image ${n} pushed successfully`),!0}catch(r){return l.error(`Failed to push Docker image: ${r instanceof Error?r.message:String(r)}`),!1}}async login(t,r,o){try{let n=l.startSpinner(`Logging in to Docker Hub as ${t}`);if(await this.checkLogin())return n.stop(!0,"Already logged in to Docker Hub"),this.setCredentials(t,o),!0;if(!r)throw n.stop(!1),new Error("Password is required for Docker login");try{await D3("docker",["login",...o?[o]:[],"-u",t,"--password-stdin"],{input:r,timeout:1e4})}catch(i){throw i.timedOut?(n.stop(!1),new Error("Docker login timed out. Please check your credentials and try again.")):i}return n.stop(!0,"Logged in to Docker Hub successfully"),this.setCredentials(t,o),!0}catch(n){return l.error(`Failed to login to Docker Hub: ${n instanceof Error?n.message:String(n)}`),!1}}async checkLogin(){try{let t=ww.homedir(),r=Za.join(t,".docker","config.json");if(!ho.existsSync(r))return!1;let o=JSON.parse(ho.readFileSync(r,"utf-8"));return!!(o?.auths&&Object.keys(o.auths).length>0)}catch(t){return l.debug(`Docker login check failed: ${t instanceof Error?t.message:String(t)}`),!1}}async buildComposeFile(t,r,o){if(!this.username)throw new Error("Docker Hub username is required for building compose file");let n=o==="eliza"?S1:_1,s=xw.parse({template:n}),i=Za.resolve(z3);ho.existsSync(i)||(l.info(`Creating directory: ${i}`),ho.mkdirSync(i,{recursive:!0}));let a=[];r&&(a=ho.readFileSync(r,"utf-8").split(`
247
- `).filter(d=>d&&!d.startsWith("#")).map(d=>{let h=d.indexOf("#");return h>0?d.substring(0,h).trim():d.trim()}).filter(d=>d.includes("=")).map(d=>{let[h,g]=d.split("=",2),b=h.trim();return(g?g.trim():"")===""?null:`${b}=${b}`}).filter(Boolean));let c=t,u=N3.compile(s.template,{noEscape:!0})({imageName:c,envVars:a.map(p=>p.replace(/=.*/,`=\${${p.split("=")[0]}}`))}),f=Za.join(i,`${t.replace(/.*\/+([\w-]+):.*$/g,"$1")}-tee-compose.yaml`);return ho.writeFileSync(f,u),l.success(`Backup of docker compose file created at: ${f}`),f}async runComposeLocally(t,r){try{let o=l.startSpinner(`Running Docker Compose file at ${t}`);Rt(t);let n=["-f",t,"up","-d"];return r&&(Rt(r),n.splice(2,0,"--env-file",r)),await Ya(`docker compose ${n.join(" ")}`),o.stop(!0,"Docker Compose file running successfully"),!0}catch(o){return l.error(`Failed to run Docker Compose file: ${o instanceof Error?o.message:String(o)}`),!1}}async runSimulator(t,r){try{l.info(`Running TEE simulator with image ${t}`),l.info("Pulling latest simulator image..."),await Ya(`docker pull ${t}`),l.info("Starting simulator in background...");let{stdout:o}=await Ya(`docker run -d --name tee-simulator --rm -p ${r}:${r} ${t}`),n=o.trim();return l.success(`TEE simulator running successfully. Container ID: ${n}`),l.break(),l.break(),l.info("Useful commands:"),l.info(`- View logs: docker logs -f ${n}`),l.info(`- Stop simulator: docker stop ${n}`),Ud(`http://localhost:${r}`),!0}catch(o){return l.error(`Failed to run TEE simulator: ${o instanceof Error?o.message:String(o)}`),!1}}async stopSimulator(){try{let t=l.startSpinner("Stopping TEE simulator...");return await Ya("docker stop tee-simulator"),await Zn(),t.stop(!0,"TEE simulator stopped successfully"),!0}catch(t){return l.error(`Failed to stop TEE simulator: ${t instanceof Error?t.message:String(t)}`),!1}}static async listLocalImages(){try{let{stdout:t}=await Ya('docker images --format "{{.Repository}}:{{.Tag}}"'),o=(await uo())?.username;return t.split(`
248
- `).filter(s=>s&&!s.includes("<none>")).filter(s=>s.includes(`${o}/`)).map(s=>({imageName:s}))}catch(t){return l.error(`Failed to list local Docker images: ${t instanceof Error?t.message:String(t)}`),[]}}};import{z as Hp}from"zod";var Ew={name:"build",description:"Build a Docker image",options:[{name:"image",shorthand:"i",description:"Image name",type:"string",target:"image"},{name:"tag",shorthand:"t",description:"Image tag",type:"string",target:"tag"},{name:"file",shorthand:"f",description:"Path to Dockerfile",type:"string",target:"file"}],examples:[{name:"Build docker image with prompts",value:"phala docker build"},{name:"Build docker image with options",value:"phala docker build --image myapp --tag latest"}]},kw=Hp.object({image:Hp.string().optional(),tag:Hp.string().optional(),file:Hp.string().default("Dockerfile")});async function O3(e,t){try{let r=await uo();if(!r)return l.error('Docker information not found. Please login first with "phala docker login"'),1;let o=e.image;o||(o=(await _w.prompt([{type:"input",name:"image",message:"Enter the Docker image name:",validate:m=>m.trim()?!0:"Image name is required"}])).image);let n=e.tag;n||(n=(await _w.prompt([{type:"input",name:"tag",message:"Enter the Docker image tag:",default:"latest",validate:m=>m.trim()?!0:"Tag is required"}])).tag);let s=Sw.resolve(process.cwd(),e.file);if(!L3.existsSync(s)){l.info(`Default Dockerfile not found at ${s}`);let c=await Hr("Enter the path to your Dockerfile:","Dockerfile","file");s=Sw.resolve(process.cwd(),c)}return await new Et(o,r.username,r.registry).buildImage(s,n)?(l.success(`Docker image ${r.username}/${o}:${n} built successfully`),0):(l.error("Failed to build Docker image"),1)}catch(r){return l.error("Failed to build Docker image"),l.logDetailedError(r),1}}var Iw=$({path:["docker","build"],meta:Ew,schema:kw,handler:O3});import Qa from"node:fs";import jp from"node:path";import ec from"inquirer";import{z as Xa}from"zod";var Aw={name:"generate",description:"Generate a Docker Compose file",options:[{name:"image",shorthand:"i",description:"Docker image name to use in the compose file (e.g. phala/phala-cloud)",type:"string",target:"image"},{name:"env-file",shorthand:"e",description:"Path to environment variables file",type:"string",target:"envFile"},{name:"output",shorthand:"o",description:"Output path for generated docker-compose.yml",type:"string",target:"output"},{name:"template",description:"Template to use for the generated docker-compose.yml",type:"string",target:"template"}]},Pw=Xa.object({image:Xa.string().optional(),envFile:Xa.string().optional(),output:Xa.string().optional(),template:Xa.string().optional()});async function U3(e){if(e)return e;let t=await Et.listLocalImages();if(t.length===0)throw new Error('No local Docker images found. Please build an image first with "phala docker build"');let r=Array.from(new Set(t.map(n=>n.imageName))),{selectedImage:o}=await ec.prompt([{type:"list",name:"selectedImage",message:"Select an image to use in the compose file:",choices:r}]);return o}async function H3(e){if(e)return Rt(e),e;let t=jp.join(process.cwd(),".env");if(Qa.existsSync(t)){let{useDefault:o}=await ec.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(o)return t}let{envPath:r}=await ec.prompt([{type:"input",name:"envPath",message:"Enter path to environment variables file:",validate:o=>{try{return Rt(o),!0}catch{return`File not found: ${o}`}}}]);return r}async function j3(e){let t=e??jp.join(process.cwd(),"docker-compose.yml");if(Qa.existsSync(t)){let{confirmOverwrite:o}=await ec.prompt([{type:"confirm",name:"confirmOverwrite",message:`File ${t} already exists. Overwrite?`,default:!1}]);if(!o){let{customPath:n}=await ec.prompt([{type:"input",name:"customPath",message:"Enter alternative output path:",default:jp.join(process.cwd(),"docker-generated-compose.yml")}]);t=n}}let r=jp.dirname(t);return Qa.existsSync(r)||(l.info(`Creating directory: ${r}`),Qa.mkdirSync(r,{recursive:!0})),t}async function G3(e,t){try{let r=await uo();if(!r||!r.username)throw new Error('Docker Hub username not found. Please login first with "phala docker login"');let o=await U3(e.image),n=await H3(e.envFile),s=await j3(e.output);n?l.info(`Generating Docker Compose file for ${o} using env file: ${n}`):l.info(`Generating Docker Compose file for ${o} without env file`);let a=await new Et("",r.username,r.registry).buildComposeFile(o,n,e.template);return a!==s&&Qa.copyFileSync(a,s),l.success(`Docker Compose file generated successfully: ${s}`),0}catch(r){return l.error("Failed to generate Docker Compose file"),l.logDetailedError(r),1}}var Tw=$({path:["docker","generate"],meta:Aw,schema:Pw,handler:G3});import Bw from"prompts";import{z as Gp}from"zod";var $w={name:"login",description:"Login to Docker Hub",options:[{name:"username",shorthand:"u",description:"Docker Hub username",type:"string",target:"username"},{name:"password",shorthand:"p",description:"Docker Hub password",type:"string",target:"password"},{name:"registry",shorthand:"r",description:"Docker registry URL",type:"string",target:"registry"}]},Rw=Gp.object({username:Gp.string().optional(),password:Gp.string().optional(),registry:Gp.string().optional()});async function q3(e,t){try{let r=e.username,o=e.password,n=e.registry;if(!r){l.info("First we need your Docker Hub username to check if you are already logged in.");let c=await Bw({type:"text",name:"username",message:"Enter your Docker Hub username:",validate:m=>m.length>0?!0:"Username cannot be empty"});if(!c.username)return l.error("Username is required"),1;r=c.username}let s=new Et("",r,n);if(await s.login(r))return l.success(`${r} is logged in to Docker Hub`),await kd({username:r,registry:n||null}),0;if(!o){let c=await Bw({type:"password",name:"password",message:"Enter your Docker Hub password:",validate:m=>m.length>0?!0:"Password cannot be empty"});if(!c.password)return l.error("Password is required"),1;o=c.password}return await s.login(r,o,n)?(await kd({username:r,registry:n||null}),l.success("Logged in to Docker Hub successfully"),0):(l.error("Failed to login to Docker Hub"),1)}catch(r){return l.error("Failed to login to Docker Hub"),l.logDetailedError(r),1}}var Fw=$({path:["docker","login"],meta:$w,schema:Rw,handler:q3});import V3 from"inquirer";import{z as Mw}from"zod";var Dw={name:"push",description:"Push a Docker image to Docker Hub",options:[{name:"image",shorthand:"i",description:"Full image name (e.g. username/image:tag)",type:"string",target:"image"}]},Nw=Mw.object({image:Mw.string().optional()});async function K3(e){if(e)return e;let t=await Et.listLocalImages();if(t.length===0)throw new Error('No local Docker images found. Please build an image first with "phala docker build"');let r=Array.from(new Set(t.map(n=>n.imageName))),{selectedImage:o}=await V3.prompt([{type:"list",name:"selectedImage",message:"Select an image to push:",choices:r}]);return o}async function W3(e,t){try{let r=await uo();if(!r)throw new Error('Docker information not found. Please login first with "phala docker login"');let o=await K3(e.image);return await new Et("",r.username,r.registry).pushImage(o)?(l.success(`Docker image ${o} pushed successfully`),0):(l.error("Failed to push Docker image"),1)}catch(r){return l.error("Failed to push Docker image"),l.logDetailedError(r),1}}var zw=$({path:["docker","push"],meta:Dw,schema:Nw,handler:W3});import Uw from"node:fs";import Hw from"node:path";import Vp from"inquirer";import{z as qp}from"zod";var Lw={name:"run",description:"Run a Docker Compose setup",options:[{name:"compose",shorthand:"c",description:"Path to docker-compose.yml file",type:"string",target:"compose"},{name:"env-file",shorthand:"e",description:"Path to environment variables file",type:"string",target:"envFile"},{name:"skip-env",description:"Skip environment variables file prompt",type:"boolean",target:"skipEnv"}]},Ow=qp.object({compose:qp.string().optional(),envFile:qp.string().optional(),skipEnv:qp.boolean().default(!0)});async function J3(e){if(e)return Rt(e),e;let t=Hw.join(process.cwd(),"docker-compose.yml");if(Uw.existsSync(t)){let{useDefault:o}=await Vp.prompt([{type:"confirm",name:"useDefault",message:"Use docker-compose.yml in current directory?",default:!0}]);if(o)return t}let{composePath:r}=await Vp.prompt([{type:"input",name:"composePath",message:"Enter path to docker-compose.yml file:",validate:o=>{try{return Rt(o),!0}catch{return"File not found"}}}]);return r}async function Z3(e,t){if(t)return e;if(e)return Rt(e),e;let r=Hw.join(process.cwd(),".env");if(Uw.existsSync(r)){let{useDefault:n}=await Vp.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(n)return r}let{envPath:o}=await Vp.prompt([{type:"input",name:"envPath",message:"Enter path to environment variables file:",validate:n=>{try{return Rt(n),!0}catch{return`File not found: ${n}`}}}]);return o}async function Y3(e,t){try{let r=await J3(e.compose),o=await Z3(e.envFile,e.skipEnv),n=new Et("");return o?(l.info(`Validating env file: ${o}`),Rt(o),l.info(`Running Docker Compose with compose file: ${r} and env file: ${o}`)):l.info(`Running Docker Compose with compose file: ${r} without env file`),await n.runComposeLocally(r,o)?(l.success("Docker Compose is running"),0):(l.error("Failed to run Docker Compose"),1)}catch(r){return l.error("Failed to run Docker Compose"),l.logDetailedError(r),1}}var jw=$({path:["docker","run"],meta:Lw,schema:Ow,handler:Y3});var Q3={name:"docker",description:"Login to Docker Hub and manage Docker images"},eI=X3.object({});async function tI(e,t){return t.stdout.write(`Available docker subcommands: login, build, push, generate, run. Use 'phala docker <command> --help' for details.
249
- `),0}var rI=$({path:["docker"],meta:Q3,schema:eI,handler:tI}),Yd={group:yw,commands:[rI,Fw,Iw,zw,Tw,jw]};import Fi from"chalk";import oI from"open";import nI from"ora";import sI from"prompts";import{z as Kp}from"zod";var Gw={name:"login",description:"Authenticate with Phala Cloud",arguments:[{name:"api-key",description:"API key for authentication (optional, triggers device flow if not provided)",required:!1,target:"apiKey"}],options:[{name:"manual",description:"Manually enter API key instead of using device flow",type:"boolean"},{name:"no-open",description:"Don't automatically open browser for device flow",type:"boolean"}]},qw=Kp.object({apiKey:Kp.string().min(1,"API key cannot be empty").optional(),manual:Kp.boolean().optional(),noOpen:Kp.boolean().optional()});function iI(e){let{detail:t}=e;if(t&&typeof t=="object"&&!Array.isArray(t)){let r=t;if(r.error&&typeof r.error=="string")return{error:r.error,error_description:typeof r.error_description=="string"?r.error_description:void 0}}return null}async function Xd(e){try{await Ip(e);let t=await Ap(e),r=await Vn(t),o=r.data;if(!r.success||!o?.username)throw await Ur(),new Error("Invalid API key");return o}catch(t){throw await Ur(),t instanceof Error?t:new Error(String(t))}}async function aI(){let e,t=await sI({type:"password",name:"apiKey",message:"Enter your API key:",validate:async r=>{if(!r||r.trim().length===0)return"API key cannot be empty";try{return e=await Xd(r),!0}catch(o){return o instanceof Error?o.message:"Invalid API key"}}});if(!t.apiKey)throw new Error("API key input cancelled");return e||(e=await Xd(t.apiKey)),{apiKey:t.apiKey,user:e}}async function cI(e){let t=vt({useCookieAuth:!0}),r=await t.post("/auth/device/code",{client_id:"phala-cli",scope:"user:profile cvms:* nodes:*"}),{device_code:o,user_code:n,verification_uri_complete:s,interval:i,expires_in:a}=r;if(console.log(),console.log(Fi.bold("To authenticate, visit:")),console.log(Fi.cyan(s)),console.log(),console.log(Fi.bold("And enter code:"),Fi.yellow(n)),console.log(),!e.noOpen)try{await oI(s),console.log("Opening browser automatically...")}catch{console.warn("Could not open browser automatically. Please visit the URL above.")}let c=nI("Waiting for authorization...").start(),m=Date.now()+a*1e3;for(;Date.now()<m;){await new Promise(u=>setTimeout(u,i*1e3));try{let u=await t.post("/auth/device/token",{device_code:o,grant_type:"urn:ietf:params:oauth:grant-type:device_code"});return c.succeed("Authorization successful!"),u.access_token}catch(u){if(u instanceof vp){let f=iI(u);if(f)switch(f.error){case"authorization_pending":continue;case"expired_token":throw c.fail("Authorization expired"),new Error(f.error_description||"Device authorization expired. Please try again.");case"access_denied":throw c.fail("Authorization denied"),new Error(f.error_description||"You denied the authorization request.");default:throw c.fail("Authorization failed"),new Error(`Authorization failed: ${f.error_description||f.error}`)}}throw c.fail("Request failed"),u}}throw c.fail("Authorization timed out"),new Error("Authorization timed out. Please try again.")}async function mI(e,t){try{let r,o;if(e.apiKey)r=e.apiKey;else if(e.manual){let n=await aI();r=n.apiKey,o=n.user}else r=await cI({noOpen:e.noOpen});if(o||(o=await Xd(r)),!o)throw new Error("Failed to validate API key");return console.log(Fi.green(`Welcome ${o.username}! API key validated and saved successfully`)),0}catch(r){return console.error(Fi.red(`Failed to authenticate: ${r instanceof Error?r.message:String(r)}`)),1}}var Vw=$({path:["login"],meta:Gw,schema:qw,handler:mI});import{z as uI}from"zod";var Kw={name:"logout",description:"Remove the stored API key"},Ww=uI.object({});async function pI(e,t){try{return await Ur(),l.success("API key removed successfully"),0}catch(r){return l.error("Failed to remove API key"),l.logDetailedError(r),1}}var Jw=$({path:["logout"],meta:Kw,schema:Ww,handler:pI});var Zw={path:["nodes"],meta:{name:"nodes",description:"List and manage TEE nodes"}};import{z as Yw}from"zod";var Xw={name:"list",aliases:["ls"],description:"List all available worker nodes",options:[{name:"json",description:"Output in JSON format",type:"boolean"}]},Qd=Yw.object({json:Yw.boolean().optional().default(!1)});async function Qw(e,t){Ve(e.json);try{let r=await ae(),o=await Oa(r);if(!o.success)return t.fail(o.error.message),1;let{nodes:n,kms_list:s}=o.data;if(e.json)return t.success({nodes:n,kms_list:s}),0;if(!n||n.length===0)return l.info("No available nodes found."),0;l.info("Available Nodes:");for(let i of n)if(l.info("----------------------------------------"),l.info(` ID: ${i.teepod_id}`),l.info(` Name: ${i.name}`),l.info(` Region: ${i.region_identifier}`),l.info(` FMSPC: ${i.fmspc||"N/A"}`),l.info(` Device ID: ${i.device_id||"N/A"}`),l.info(` Support Onchain KMS: ${i.support_onchain_kms}`),l.info(" Images:"),i.images&&i.images.length>0)for(let a of i.images)l.info(` - ${a.name}`),l.info(` Hash: ${a.os_image_hash||"N/A"}`);else l.info(" N/A");if(s&&s.length>0){l.info("\\nAvailable KMS Instances:");for(let i of s)l.info("----------------------------------------"),l.info(` Slug: ${i.slug}`),l.info(` URL: ${i.url}`),l.info(` Version: ${i.version}`),i.chain_id&&(l.info(` Chain ID: ${i.chain_id}`),l.info(` Contract Address: ${i.kms_contract_address}`),l.info(` Gateway App ID: ${i.gateway_app_id}`))}return 0}catch(r){return t.fail(`Failed to list available nodes: ${r instanceof Error?r.message:String(r)}`),1}}var fI={name:"nodes",description:"List and manage TEE nodes"},ev=$({path:["nodes","list"],meta:Xw,schema:Qd,handler:Qw}),tv=$({path:["nodes"],meta:fI,schema:Qd,handler:Qw});var e0={group:Zw,commands:[tv,ev]};import{z as gI}from"zod";var rv={path:["simulator"],meta:{name:"simulator",description:"TEE simulator commands"}};import{z as t0}from"zod";var ov={name:"start",description:"Start the TEE simulator",options:[{name:"port",shorthand:"p",description:"Simulator port (default: 8090)",type:"string",target:"port"},{name:"verbose",shorthand:"v",description:"Enable verbose output",type:"boolean",target:"verbose"}]},nv=t0.object({port:t0.string().default("8090"),verbose:t0.boolean().default(!1)});async function lI(e,t){try{return x6()||await w6(),await Wa()?(l.success("TEE simulator is already running"),0):(await v6({verbose:e.verbose}),l.success("TEE simulator started successfully"),0)}catch(r){return l.error("Failed to start TEE simulator"),l.logDetailedError(r),1}}var sv=$({path:["simulator","start"],meta:ov,schema:nv,handler:lI});import{z as dI}from"zod";var iv={name:"stop",description:"Stop the TEE simulator"},av=dI.object({});async function hI(e,t){try{return await C6()?(l.success("TEE simulator stopped successfully"),0):(l.error("Failed to stop TEE simulator"),1)}catch(r){return l.error("Failed to stop TEE simulator"),l.logDetailedError(r),1}}var cv=$({path:["simulator","stop"],meta:iv,schema:av,handler:hI});var yI={name:"simulator",description:"TEE simulator commands"},bI=gI.object({});async function xI(e,t){try{let r=await Wa(),o=Np();if(r&&o){let s=Od(),i=s.replace(/dstack\.sock$/,"tappd.sock");t.stdout.write(`\u2713 TEE simulator is running (PID: ${o})\\n`),t.stdout.write(`
242
+ `)};async function Cv(e,t){Ke(e.json||!1);try{let r=e.compose,o=await II({apiKey:e.apiKey,interactive:e.interactive}),n=await AI({dockerComposePath:r,interactive:e.interactive}),s=await $I(e),i=Pi(e.cvmId??e.uuid)??t.projectConfig.cvm_id;!!i?await MI({...e,uuid:i},n,s,o,t.stdout):await FI(e,n,s??[],o,t.stdout,t.stderr)}catch(r){throw e.json!==!1?t.stderr.write(`${JSON.stringify({success:!1,error:r instanceof Error?r.message:String(r),stack:e.debug&&r instanceof Error?r.stack:void 0},null,2)}
243
+ `):t.stderr.write(`${Gp`${r instanceof Error?r.message:String(r)}`}
244
+ `),r}}async function DI(e,t){try{return await Cv(e,{stdout:t.stdout,stderr:t.stderr,projectConfig:t.projectConfig}),0}catch{return 1}}var Ev=R({path:["deploy"],meta:gv,schema:yv,handler:DI});import{z as a3}from"zod";var kv={path:["docker"],meta:{name:"docker",description:"Login to Docker Hub and manage Docker images"}};import WI from"fs";import Fv from"path";import Mv from"inquirer";import{exec as HI,spawn as jI}from"child_process";import po from"fs";import Pv from"os";import Qa from"path";import{promisify as GI}from"util";import{execa as VI}from"execa";import qI from"handlebars";import{INVALID as NI,ParseStatus as zI,ZodIssueCode as Mi,ZodParsedType as Sv,ZodType as LI,addIssueToContext as Di,z as _v}from"zod";var UI="ZodDecimal",OI=/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/,Iv=class e extends LI{constructor(){super(...arguments);this.max=this.lte;this.min=this.gte}_parse(r){if(r.data!==null&&typeof r.data=="object"&&"toNumber"in r.data&&(r.data=r.data.toNumber()),this._def.coerce&&(r.data=Number(r.data)),this._getType(r)!==Sv.number){let i=this._getOrReturnCtx(r);return Di(i,{code:Mi.invalid_type,expected:Sv.number,received:i.parsedType}),NI}let n,s=new zI;for(let i of this._def.checks)if(i.kind==="precision"){let a=r.data.toString().match(OI);Math.max((a[1]?a[1].length:0)-(a[2]?Number.parseInt(a[2],10):0),0)>i.value&&(n=this._getOrReturnCtx(r,n),Di(n,{code:Mi.custom,message:i.message,params:{precision:i.value}}),s.dirty())}else i.kind==="wholeNumber"?r.data.toString().split(".")[0].length>i.value&&(n=this._getOrReturnCtx(r,n),Di(n,{code:Mi.custom,message:i.message,params:{wholeNumber:i.value}}),s.dirty()):i.kind==="min"?(i.inclusive?r.data<i.value:r.data<=i.value)&&(n=this._getOrReturnCtx(r,n),Di(n,{code:Mi.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?r.data>i.value:r.data>=i.value)&&(n=this._getOrReturnCtx(r,n),Di(n,{code:Mi.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="finite"&&(Number.isFinite(r.data)||(n=this._getOrReturnCtx(r,n),Di(n,{code:Mi.not_finite,message:i.message}),s.dirty()));return{status:s.value,value:r.data}}static{this.create=r=>new e({checks:[],typeName:UI,coerce:r?.coerce??!1})}setLimit(r,o,n,s){return new e({...this._def,checks:[...this._def.checks,{kind:r,value:o,inclusive:n,message:s}]})}_addCheck(r){return new e({...this._def,checks:[...this._def.checks,r]})}lte(r,o){return this.setLimit("max",r,!0,o)}lt(r,o){return this.setLimit("max",r,!1,o)}gt(r,o){return this.setLimit("min",r,!1,o)}gte(r,o){return this.setLimit("min",r,!0,o)}precision(r,o){return this._addCheck({kind:"precision",value:r,message:o})}wholeNumber(r,o){return this._addCheck({kind:"wholeNumber",value:r,message:o})}get minValue(){let r=null;for(let o of this._def.checks)o.kind==="min"&&(r===null||o.value>r)&&(r=o.value);return r}get maxValue(){let r=null;for(let o of this._def.checks)o.kind==="max"&&(r===null||o.value<r)&&(r=o.value);return r}positive(r){return this._addCheck({kind:"min",value:0,inclusive:!1,message:r})}negative(r){return this._addCheck({kind:"max",value:0,inclusive:!1,message:r})}nonpositive(r){return this._addCheck({kind:"max",value:0,inclusive:!0,message:r})}nonnegative(r){return this._addCheck({kind:"min",value:0,inclusive:!0,message:r})}finite(r){return this._addCheck({kind:"finite",message:r})}safe(r){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:r})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:r})}get isFinite(){let r=null,o=null;for(let n of this._def.checks){if(n.kind==="finite")return!0;n.kind==="min"?(o===null||n.value>o)&&(o=n.value):n.kind==="max"&&(r===null||n.value<r)&&(r=n.value)}return Number.isFinite(o)&&Number.isFinite(r)}},Av=_v.object({template:_v.string().min(1,"Template cannot be empty")});var ec=GI(HI),Tv=".phala-cloud/logs",KI=".phala-cloud/compose",$v=10,St=class{constructor(t,r,o){this.image=t,this.username=r||"",this.registry=o||""}ensureLogsDir(){let t=Qa.resolve(Tv);po.existsSync(t)||po.mkdirSync(t,{recursive:!0})}getLogFilePath(t,r){let o=new Date().toISOString().replace(/[:.]/g,"-");return Qa.resolve(Tv,`${r||this.image}-${t}-${o}.log`)}getSystemArchitecture(){let t=Pv.arch();switch(t){case"arm":case"arm64":return"arm64";case"x64":return"amd64";default:return t}}spawnProcess(t,r,o,n){return new Promise((s,i)=>{let a=jI(t,r);this.ensureLogsDir();let c=this.getLogFilePath(o,n),m=po.createWriteStream(c,{flags:"a"}),u=[],p=(f,d=!1)=>{let h=f.toString().split(`
245
+ `);m.write(f);for(let g of h)if(g.trim()){u.push(g),u.length>$v&&u.shift(),console.clear(),console.log(`Latest ${$v} lines (full log at ${c}):`),console.log("-".repeat(50));for(let b of u)d?console.error(b):console.log(b)}};a.stdout.on("data",f=>p(f)),a.stderr.on("data",f=>p(f,!0)),a.on("close",f=>{m.end(),f===0?(console.log(`
246
+ Operation completed. Full log available at: ${c}`),s()):i(new Error(`Process exited with code ${f}. Check log file: ${c}`))}),a.on("error",f=>{m.end(),i(f)})})}setCredentials(t,r){this.username=t,r&&(this.registry=r)}async buildImage(t,r){try{let o=this.getSystemArchitecture(),n=`${this.username}/${this.image}:${r}`,s=l.startSpinner(`Building Docker image ${this.username}/${this.image}:${r}`);Ft(t);let i=["build","-t",n,"-f",t];return o==="arm64"&&(console.log("Detected arm64 architecture, using --platform linux/amd64"),i.push("--platform","linux/amd64")),i.push("."),await this.spawnProcess("docker",i,"build",this.image),s.stop(!0,`Docker image ${n} built successfully`),!0}catch(o){return l.error(`Failed to build Docker image: ${o instanceof Error?o.message:String(o)}`),!1}}async pushImage(t){try{let r=l.startSpinner(`Pushing Docker image ${t} to Docker Hub`);if(!await io())throw r.stop(!1),new Error('Docker credentials not found. Please log in first with "phala docker login"');let n=t;return console.log(`Pushing image ${n} to Docker Hub...`),await this.spawnProcess("docker",["push",n],"push",t.replace(/.*\/+([\w-]+):.*$/g,"$1")),r.stop(!0,`Docker image ${n} pushed successfully`),!0}catch(r){return l.error(`Failed to push Docker image: ${r instanceof Error?r.message:String(r)}`),!1}}async login(t,r,o){try{let n=l.startSpinner(`Logging in to Docker Hub as ${t}`);if(await this.checkLogin())return n.stop(!0,"Already logged in to Docker Hub"),this.setCredentials(t,o),!0;if(!r)throw n.stop(!1),new Error("Password is required for Docker login");try{await VI("docker",["login",...o?[o]:[],"-u",t,"--password-stdin"],{input:r,timeout:1e4})}catch(i){throw i.timedOut?(n.stop(!1),new Error("Docker login timed out. Please check your credentials and try again.")):i}return n.stop(!0,"Logged in to Docker Hub successfully"),this.setCredentials(t,o),!0}catch(n){return l.error(`Failed to login to Docker Hub: ${n instanceof Error?n.message:String(n)}`),!1}}async checkLogin(){try{let t=Pv.homedir(),r=Qa.join(t,".docker","config.json");if(!po.existsSync(r))return!1;let o=JSON.parse(po.readFileSync(r,"utf-8"));return!!(o?.auths&&Object.keys(o.auths).length>0)}catch(t){return l.debug(`Docker login check failed: ${t instanceof Error?t.message:String(t)}`),!1}}async buildComposeFile(t,r,o){if(!this.username)throw new Error("Docker Hub username is required for building compose file");let n=o==="eliza"?J1:Z1,s=Av.parse({template:n}),i=Qa.resolve(KI);po.existsSync(i)||(l.info(`Creating directory: ${i}`),po.mkdirSync(i,{recursive:!0}));let a=[];r&&(a=po.readFileSync(r,"utf-8").split(`
247
+ `).filter(d=>d&&!d.startsWith("#")).map(d=>{let h=d.indexOf("#");return h>0?d.substring(0,h).trim():d.trim()}).filter(d=>d.includes("=")).map(d=>{let[h,g]=d.split("=",2),b=h.trim();return(g?g.trim():"")===""?null:`${b}=${b}`}).filter(Boolean));let c=t,u=qI.compile(s.template,{noEscape:!0})({imageName:c,envVars:a.map(f=>f.replace(/=.*/,`=\${${f.split("=")[0]}}`))}),p=Qa.join(i,`${t.replace(/.*\/+([\w-]+):.*$/g,"$1")}-tee-compose.yaml`);return po.writeFileSync(p,u),l.success(`Backup of docker compose file created at: ${p}`),p}async runComposeLocally(t,r){try{let o=l.startSpinner(`Running Docker Compose file at ${t}`);Ft(t);let n=["-f",t,"up","-d"];return r&&(Ft(r),n.splice(2,0,"--env-file",r)),await ec(`docker compose ${n.join(" ")}`),o.stop(!0,"Docker Compose file running successfully"),!0}catch(o){return l.error(`Failed to run Docker Compose file: ${o instanceof Error?o.message:String(o)}`),!1}}async runSimulator(t,r){try{l.info(`Running TEE simulator with image ${t}`),l.info("Pulling latest simulator image..."),await ec(`docker pull ${t}`),l.info("Starting simulator in background...");let{stdout:o}=await ec(`docker run -d --name tee-simulator --rm -p ${r}:${r} ${t}`),n=o.trim();return l.success(`TEE simulator running successfully. Container ID: ${n}`),l.break(),l.break(),l.info("Useful commands:"),l.info(`- View logs: docker logs -f ${n}`),l.info(`- Stop simulator: docker stop ${n}`),Jd(`http://localhost:${r}`),!0}catch(o){return l.error(`Failed to run TEE simulator: ${o instanceof Error?o.message:String(o)}`),!1}}async stopSimulator(){try{let t=l.startSpinner("Stopping TEE simulator...");return await ec("docker stop tee-simulator"),await Rn(),t.stop(!0,"TEE simulator stopped successfully"),!0}catch(t){return l.error(`Failed to stop TEE simulator: ${t instanceof Error?t.message:String(t)}`),!1}}static async listLocalImages(){try{let{stdout:t}=await ec('docker images --format "{{.Repository}}:{{.Tag}}"'),o=(await io())?.username;return t.split(`
248
+ `).filter(s=>s&&!s.includes("<none>")).filter(s=>s.includes(`${o}/`)).map(s=>({imageName:s}))}catch(t){return l.error(`Failed to list local Docker images: ${t instanceof Error?t.message:String(t)}`),[]}}};import{z as Vp}from"zod";var Rv={name:"build",description:"Build a Docker image",options:[{name:"image",shorthand:"i",description:"Image name",type:"string",target:"image"},{name:"tag",shorthand:"t",description:"Image tag",type:"string",target:"tag"},{name:"file",shorthand:"f",description:"Path to Dockerfile",type:"string",target:"file"}],examples:[{name:"Build docker image with prompts",value:"phala docker build"},{name:"Build docker image with options",value:"phala docker build --image myapp --tag latest"}]},Bv=Vp.object({image:Vp.string().optional(),tag:Vp.string().optional(),file:Vp.string().default("Dockerfile")});async function JI(e,t){try{let r=await io();if(!r)return l.error('Docker information not found. Please login first with "phala docker login"'),1;let o=e.image;o||(o=(await Mv.prompt([{type:"input",name:"image",message:"Enter the Docker image name:",validate:m=>m.trim()?!0:"Image name is required"}])).image);let n=e.tag;n||(n=(await Mv.prompt([{type:"input",name:"tag",message:"Enter the Docker image tag:",default:"latest",validate:m=>m.trim()?!0:"Tag is required"}])).tag);let s=Fv.resolve(process.cwd(),e.file);if(!WI.existsSync(s)){l.info(`Default Dockerfile not found at ${s}`);let c=await Lr("Enter the path to your Dockerfile:","Dockerfile","file");s=Fv.resolve(process.cwd(),c)}return await new St(o,r.username,r.registry).buildImage(s,n)?(l.success(`Docker image ${r.username}/${o}:${n} built successfully`),0):(l.error("Failed to build Docker image"),1)}catch(r){return l.error("Failed to build Docker image"),l.logDetailedError(r),1}}var Dv=R({path:["docker","build"],meta:Rv,schema:Bv,handler:JI});import rc from"fs";import qp from"path";import oc from"inquirer";import{z as tc}from"zod";var Nv={name:"generate",description:"Generate a Docker Compose file",options:[{name:"image",shorthand:"i",description:"Docker image name to use in the compose file (e.g. phala/phala-cloud)",type:"string",target:"image"},{name:"env-file",shorthand:"e",description:"Path to environment variables file",type:"string",target:"envFile"},{name:"output",shorthand:"o",description:"Output path for generated docker-compose.yml",type:"string",target:"output"},{name:"template",description:"Template to use for the generated docker-compose.yml",type:"string",target:"template"}]},zv=tc.object({image:tc.string().optional(),envFile:tc.string().optional(),output:tc.string().optional(),template:tc.string().optional()});async function ZI(e){if(e)return e;let t=await St.listLocalImages();if(t.length===0)throw new Error('No local Docker images found. Please build an image first with "phala docker build"');let r=Array.from(new Set(t.map(n=>n.imageName))),{selectedImage:o}=await oc.prompt([{type:"list",name:"selectedImage",message:"Select an image to use in the compose file:",choices:r}]);return o}async function YI(e){if(e)return Ft(e),e;let t=qp.join(process.cwd(),".env");if(rc.existsSync(t)){let{useDefault:o}=await oc.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(o)return t}let{envPath:r}=await oc.prompt([{type:"input",name:"envPath",message:"Enter path to environment variables file:",validate:o=>{try{return Ft(o),!0}catch{return`File not found: ${o}`}}}]);return r}async function XI(e){let t=e??qp.join(process.cwd(),"docker-compose.yml");if(rc.existsSync(t)){let{confirmOverwrite:o}=await oc.prompt([{type:"confirm",name:"confirmOverwrite",message:`File ${t} already exists. Overwrite?`,default:!1}]);if(!o){let{customPath:n}=await oc.prompt([{type:"input",name:"customPath",message:"Enter alternative output path:",default:qp.join(process.cwd(),"docker-generated-compose.yml")}]);t=n}}let r=qp.dirname(t);return rc.existsSync(r)||(l.info(`Creating directory: ${r}`),rc.mkdirSync(r,{recursive:!0})),t}async function QI(e,t){try{let r=await io();if(!r||!r.username)throw new Error('Docker Hub username not found. Please login first with "phala docker login"');let o=await ZI(e.image),n=await YI(e.envFile),s=await XI(e.output);n?l.info(`Generating Docker Compose file for ${o} using env file: ${n}`):l.info(`Generating Docker Compose file for ${o} without env file`);let a=await new St("",r.username,r.registry).buildComposeFile(o,n,e.template);return a!==s&&rc.copyFileSync(a,s),l.success(`Docker Compose file generated successfully: ${s}`),0}catch(r){return l.error("Failed to generate Docker Compose file"),l.logDetailedError(r),1}}var Lv=R({path:["docker","generate"],meta:Nv,schema:zv,handler:QI});import Hv from"prompts";import{z as Kp}from"zod";var Uv={name:"login",description:"Login to Docker Hub",options:[{name:"username",shorthand:"u",description:"Docker Hub username",type:"string",target:"username"},{name:"password",shorthand:"p",description:"Docker Hub password",type:"string",target:"password"},{name:"registry",shorthand:"r",description:"Docker registry URL",type:"string",target:"registry"}]},Ov=Kp.object({username:Kp.string().optional(),password:Kp.string().optional(),registry:Kp.string().optional()});async function e3(e,t){try{let r=e.username,o=e.password,n=e.registry;if(!r){l.info("First we need your Docker Hub username to check if you are already logged in.");let c=await Hv({type:"text",name:"username",message:"Enter your Docker Hub username:",validate:m=>m.length>0?!0:"Username cannot be empty"});if(!c.username)return l.error("Username is required"),1;r=c.username}let s=new St("",r,n);if(await s.login(r))return l.success(`${r} is logged in to Docker Hub`),await Rd({username:r,registry:n||null}),0;if(!o){let c=await Hv({type:"password",name:"password",message:"Enter your Docker Hub password:",validate:m=>m.length>0?!0:"Password cannot be empty"});if(!c.password)return l.error("Password is required"),1;o=c.password}return await s.login(r,o,n)?(await Rd({username:r,registry:n||null}),l.success("Logged in to Docker Hub successfully"),0):(l.error("Failed to login to Docker Hub"),1)}catch(r){return l.error("Failed to login to Docker Hub"),l.logDetailedError(r),1}}var jv=R({path:["docker","login"],meta:Uv,schema:Ov,handler:e3});import t3 from"inquirer";import{z as Gv}from"zod";var Vv={name:"push",description:"Push a Docker image to Docker Hub",options:[{name:"image",shorthand:"i",description:"Full image name (e.g. username/image:tag)",type:"string",target:"image"}]},qv=Gv.object({image:Gv.string().optional()});async function r3(e){if(e)return e;let t=await St.listLocalImages();if(t.length===0)throw new Error('No local Docker images found. Please build an image first with "phala docker build"');let r=Array.from(new Set(t.map(n=>n.imageName))),{selectedImage:o}=await t3.prompt([{type:"list",name:"selectedImage",message:"Select an image to push:",choices:r}]);return o}async function o3(e,t){try{let r=await io();if(!r)throw new Error('Docker information not found. Please login first with "phala docker login"');let o=await r3(e.image);return await new St("",r.username,r.registry).pushImage(o)?(l.success(`Docker image ${o} pushed successfully`),0):(l.error("Failed to push Docker image"),1)}catch(r){return l.error("Failed to push Docker image"),l.logDetailedError(r),1}}var Kv=R({path:["docker","push"],meta:Vv,schema:qv,handler:o3});import Zv from"fs";import Yv from"path";import Jp from"inquirer";import{z as Wp}from"zod";var Wv={name:"run",description:"Run a Docker Compose setup",options:[{name:"compose",shorthand:"c",description:"Path to docker-compose.yml file",type:"string",target:"compose"},{name:"env-file",shorthand:"e",description:"Path to environment variables file",type:"string",target:"envFile"},{name:"skip-env",description:"Skip environment variables file prompt",type:"boolean",target:"skipEnv"}]},Jv=Wp.object({compose:Wp.string().optional(),envFile:Wp.string().optional(),skipEnv:Wp.boolean().default(!0)});async function n3(e){if(e)return Ft(e),e;let t=Yv.join(process.cwd(),"docker-compose.yml");if(Zv.existsSync(t)){let{useDefault:o}=await Jp.prompt([{type:"confirm",name:"useDefault",message:"Use docker-compose.yml in current directory?",default:!0}]);if(o)return t}let{composePath:r}=await Jp.prompt([{type:"input",name:"composePath",message:"Enter path to docker-compose.yml file:",validate:o=>{try{return Ft(o),!0}catch{return"File not found"}}}]);return r}async function s3(e,t){if(t)return e;if(e)return Ft(e),e;let r=Yv.join(process.cwd(),".env");if(Zv.existsSync(r)){let{useDefault:n}=await Jp.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(n)return r}let{envPath:o}=await Jp.prompt([{type:"input",name:"envPath",message:"Enter path to environment variables file:",validate:n=>{try{return Ft(n),!0}catch{return`File not found: ${n}`}}}]);return o}async function i3(e,t){try{let r=await n3(e.compose),o=await s3(e.envFile,e.skipEnv),n=new St("");return o?(l.info(`Validating env file: ${o}`),Ft(o),l.info(`Running Docker Compose with compose file: ${r} and env file: ${o}`)):l.info(`Running Docker Compose with compose file: ${r} without env file`),await n.runComposeLocally(r,o)?(l.success("Docker Compose is running"),0):(l.error("Failed to run Docker Compose"),1)}catch(r){return l.error("Failed to run Docker Compose"),l.logDetailedError(r),1}}var Xv=R({path:["docker","run"],meta:Wv,schema:Jv,handler:i3});var c3={name:"docker",description:"Login to Docker Hub and manage Docker images"},m3=a3.object({});async function u3(e,t){return t.stdout.write(`Available docker subcommands: login, build, push, generate, run. Use 'phala docker <command> --help' for details.
249
+ `),0}var p3=R({path:["docker"],meta:c3,schema:m3,handler:u3}),a0={group:kv,commands:[p3,jv,Dv,Kv,Lv,Xv]};import Ni from"chalk";import f3 from"open";import l3 from"ora";import d3 from"prompts";import{z as Zp}from"zod";var Qv={name:"login",description:"Authenticate with Phala Cloud",arguments:[{name:"api-key",description:"API key for authentication (optional, triggers device flow if not provided)",required:!1,target:"apiKey"}],options:[{name:"manual",description:"Manually enter API key instead of using device flow",type:"boolean"},{name:"no-open",description:"Don't automatically open browser for device flow",type:"boolean"}]},ew=Zp.object({apiKey:Zp.string().min(1,"API key cannot be empty").optional(),manual:Zp.boolean().optional(),noOpen:Zp.boolean().optional()});function h3(e){let{detail:t}=e;if(t&&typeof t=="object"&&!Array.isArray(t)){let r=t;if(r.error&&typeof r.error=="string")return{error:r.error,error_description:typeof r.error_description=="string"?r.error_description:void 0}}return null}async function c0(e){try{await Tp(e);let t=await $p(e),r=await An(t),o=r.data;if(!r.success||!o?.username)throw await zr(),new Error("Invalid API key");return o}catch(t){throw await zr(),t instanceof Error?t:new Error(String(t))}}async function g3(){let e,t=await d3({type:"password",name:"apiKey",message:"Enter your API key:",validate:async r=>{if(!r||r.trim().length===0)return"API key cannot be empty";try{return e=await c0(r),!0}catch(o){return o instanceof Error?o.message:"Invalid API key"}}});if(!t.apiKey)throw new Error("API key input cancelled");return e||(e=await c0(t.apiKey)),{apiKey:t.apiKey,user:e}}async function y3(e){let t=kt({useCookieAuth:!0}),r=await t.post("/auth/device/code",{client_id:"phala-cli",scope:"user:profile cvms:* nodes:*"}),{device_code:o,user_code:n,verification_uri_complete:s,interval:i,expires_in:a}=r;if(console.log(),console.log(Ni.bold("To authenticate, visit:")),console.log(Ni.cyan(s)),console.log(),console.log(Ni.bold("And enter code:"),Ni.yellow(n)),console.log(),!e.noOpen)try{await f3(s),console.log("Opening browser automatically...")}catch{console.warn("Could not open browser automatically. Please visit the URL above.")}let c=l3("Waiting for authorization...").start(),m=Date.now()+a*1e3;for(;Date.now()<m;){await new Promise(u=>setTimeout(u,i*1e3));try{let u=await t.post("/auth/device/token",{device_code:o,grant_type:"urn:ietf:params:oauth:grant-type:device_code"});return c.succeed("Authorization successful!"),u.access_token}catch(u){if(u instanceof Sp){let p=h3(u);if(p)switch(p.error){case"authorization_pending":continue;case"expired_token":throw c.fail("Authorization expired"),new Error(p.error_description||"Device authorization expired. Please try again.");case"access_denied":throw c.fail("Authorization denied"),new Error(p.error_description||"You denied the authorization request.");default:throw c.fail("Authorization failed"),new Error(`Authorization failed: ${p.error_description||p.error}`)}}throw c.fail("Request failed"),u}}throw c.fail("Authorization timed out"),new Error("Authorization timed out. Please try again.")}async function b3(e,t){try{let r,o;if(e.apiKey)r=e.apiKey;else if(e.manual){let n=await g3();r=n.apiKey,o=n.user}else r=await y3({noOpen:e.noOpen});if(o||(o=await c0(r)),!o)throw new Error("Failed to validate API key");return console.log(Ni.green(`Welcome ${o.username}! API key validated and saved successfully`)),0}catch(r){return console.error(Ni.red(`Failed to authenticate: ${r instanceof Error?r.message:String(r)}`)),1}}var tw=R({path:["login"],meta:Qv,schema:ew,handler:b3});import{z as x3}from"zod";var rw={name:"logout",description:"Remove the stored API key"},ow=x3.object({});async function v3(e,t){try{return await zr(),l.success("API key removed successfully"),0}catch(r){return l.error("Failed to remove API key"),l.logDetailedError(r),1}}var nw=R({path:["logout"],meta:rw,schema:ow,handler:v3});var sw={path:["nodes"],meta:{name:"nodes",description:"List and manage TEE nodes"}};import{z as iw}from"zod";var aw={name:"list",aliases:["ls"],description:"List all available worker nodes",options:[{name:"json",description:"Output in JSON format",type:"boolean"}]},m0=iw.object({json:iw.boolean().optional().default(!1)});async function cw(e,t){Ke(e.json);try{let r=await Z(),o=await Ha(r);if(!o.success)return t.fail(o.error.message),1;let{nodes:n,kms_list:s}=o.data;if(e.json)return t.success({nodes:n,kms_list:s}),0;if(!n||n.length===0)return l.info("No available nodes found."),0;l.info("Available Nodes:");for(let i of n)if(l.info("----------------------------------------"),l.info(` ID: ${i.teepod_id}`),l.info(` Name: ${i.name}`),l.info(` Region: ${i.region_identifier}`),l.info(` FMSPC: ${i.fmspc||"N/A"}`),l.info(` Device ID: ${i.device_id||"N/A"}`),l.info(` Support Onchain KMS: ${i.support_onchain_kms}`),l.info(" Images:"),i.images&&i.images.length>0)for(let a of i.images)l.info(` - ${a.name}`),l.info(` Hash: ${a.os_image_hash||"N/A"}`);else l.info(" N/A");if(s&&s.length>0){l.info("\\nAvailable KMS Instances:");for(let i of s)l.info("----------------------------------------"),l.info(` Slug: ${i.slug}`),l.info(` URL: ${i.url}`),l.info(` Version: ${i.version}`),i.chain_id&&(l.info(` Chain ID: ${i.chain_id}`),l.info(` Contract Address: ${i.kms_contract_address}`),l.info(` Gateway App ID: ${i.gateway_app_id}`))}return 0}catch(r){return t.fail(`Failed to list available nodes: ${r instanceof Error?r.message:String(r)}`),1}}var w3={name:"nodes",description:"List and manage TEE nodes"},mw=R({path:["nodes","list"],meta:aw,schema:m0,handler:cw}),uw=R({path:["nodes"],meta:w3,schema:m0,handler:cw});var u0={group:sw,commands:[uw,mw]};import{z as S3}from"zod";var pw={path:["simulator"],meta:{name:"simulator",description:"TEE simulator commands"}};import{z as p0}from"zod";var fw={name:"start",description:"Start the TEE simulator",options:[{name:"port",shorthand:"p",description:"Simulator port (default: 8090)",type:"string",target:"port"},{name:"verbose",shorthand:"v",description:"Enable verbose output",type:"boolean",target:"verbose"}]},lw=p0.object({port:p0.string().default("8090"),verbose:p0.boolean().default(!1)});async function C3(e,t){try{return P6()||await T6(),await Ya()?(l.success("TEE simulator is already running"),0):(await $6({verbose:e.verbose}),l.success("TEE simulator started successfully"),0)}catch(r){return l.error("Failed to start TEE simulator"),l.logDetailedError(r),1}}var dw=R({path:["simulator","start"],meta:fw,schema:lw,handler:C3});import{z as E3}from"zod";var hw={name:"stop",description:"Stop the TEE simulator"},gw=E3.object({});async function k3(e,t){try{return await R6()?(l.success("TEE simulator stopped successfully"),0):(l.error("Failed to stop TEE simulator"),1)}catch(r){return l.error("Failed to stop TEE simulator"),l.logDetailedError(r),1}}var yw=R({path:["simulator","stop"],meta:hw,schema:gw,handler:k3});var _3={name:"simulator",description:"TEE simulator commands"},I3=S3.object({});async function A3(e,t){try{let r=await Ya(),o=Up();if(r&&o){let s=Wd(),i=s.replace(/dstack\.sock$/,"tappd.sock");t.stdout.write(`\u2713 TEE simulator is running (PID: ${o})\\n`),t.stdout.write(`
250
250
  Set these environment variables to use the simulator:
251
251
  `),t.stdout.write(` export DSTACK_SIMULATOR_ENDPOINT=${s}\\n`),t.stdout.write(` export TAPPD_SIMULATOR_ENDPOINT=${i}\\n`)}else t.stdout.write(`TEE simulator is not running\\n
252
252
  `),t.stdout.write(`To start the simulator, run:
253
- `),t.stdout.write(" phala simulator start\\n");return 0}catch(r){return t.stderr.write(`Error checking simulator status: ${r instanceof Error?r.message:String(r)}\\n`),1}}var wI=$({path:["simulator"],meta:yI,schema:bI,handler:xI}),r0={group:rv,commands:[wI,sv,cv]};import{z as Mi}from"zod";import{readFileSync as kI}from"node:fs";import{dirname as SI,join as _I}from"node:path";import{fileURLToPath as II}from"node:url";function mv(e,t,r){switch(t){case"bash":return vI(e,r);case"zsh":return CI(e,r);case"fish":return EI(e,r)}}function vI(e,t){let r=t?`
253
+ `),t.stdout.write(" phala simulator start\\n");return 0}catch(r){return t.stderr.write(`Error checking simulator status: ${r instanceof Error?r.message:String(r)}\\n`),1}}var P3=R({path:["simulator"],meta:_3,schema:I3,handler:A3}),f0={group:pw,commands:[P3,dw,yw]};import{z as zi}from"zod";import{readFileSync as B3}from"fs";import{dirname as F3,join as M3}from"path";import{fileURLToPath as D3}from"url";function bw(e,t,r){switch(t){case"bash":return T3(e,r);case"zsh":return $3(e,r);case"fish":return R3(e,r)}}function T3(e,t){let r=t?`
254
254
  # Version check (once per day)
255
255
  local completion_version="${t}"
256
256
  local check_file=~/."${e}"/completion-check
@@ -287,7 +287,7 @@ ${r}
287
287
  }
288
288
 
289
289
  complete -F _${e}_completions ${e}
290
- `.trim()}function CI(e,t){let r=t?`
290
+ `.trim()}function $3(e,t){let r=t?`
291
291
  # Version check (once per day)
292
292
  local completion_version="${t}"
293
293
  local check_file=~/."${e}"/completion-check
@@ -332,7 +332,7 @@ ${r}
332
332
  }
333
333
 
334
334
  _${e}
335
- `.trim()}function EI(e,t){let r=t?`
335
+ `.trim()}function R3(e,t){let r=t?`
336
336
  # Version check (once per day)
337
337
  set -l completion_version "${t}"
338
338
  set -l check_file ~/."${e}"/completion-check
@@ -365,10 +365,10 @@ ${r}
365
365
  end
366
366
 
367
367
  complete -c ${e} -f -a "(__${e}_complete)"
368
- `.trim()}function AI(){try{let e=II(import.meta.url),t=SI(e),r=_I(t,"../package.json");return JSON.parse(kI(r,"utf-8")).version}catch{return"unknown"}}var PI={name:"__complete",description:"Internal command for shell completion",hidden:!0,arguments:[{name:"line",description:"Full command line",required:!0},{name:"fragment",description:"Current word being completed",required:!0}]},TI=Mi.object({line:Mi.string(),fragment:Mi.string()});async function $I(e,t){return t.stdout.write(`
369
- `),0}var Bae=$({path:["__complete"],meta:PI,schema:TI,handler:$I}),RI={name:"completion",description:"Generate shell completion scripts",options:[{name:"shell",type:"string",description:"Shell type (bash, zsh, fish)"},{name:"fig",type:"boolean",description:"Generate Fig/Amazon Q completion spec"}]},BI=Mi.object({shell:Mi.enum(["bash","zsh","fish"]).optional(),fig:Mi.boolean().optional()});async function FI(e,t){if(e.fig)return t.stdout.write(`Fig spec generation requires registry access. See fig-spec.ts for implementation.
370
- `),0;let r=e.shell||MI();if(!r)return t.stderr.write(`Could not detect shell. Please specify with --shell (bash, zsh, or fish)
371
- `),1;let o=AI(),n=mv("phala",r,o);switch(t.stdout.write(`# Add this to your shell configuration file:
368
+ `.trim()}function N3(){try{let e=D3(import.meta.url),t=F3(e),r=M3(t,"../package.json");return JSON.parse(B3(r,"utf-8")).version}catch{return"unknown"}}var z3={name:"__complete",description:"Internal command for shell completion",hidden:!0,arguments:[{name:"line",description:"Full command line",required:!0},{name:"fragment",description:"Current word being completed",required:!0}]},L3=zi.object({line:zi.string(),fragment:zi.string()});async function U3(e,t){return t.stdout.write(`
369
+ `),0}var Vae=R({path:["__complete"],meta:z3,schema:L3,handler:U3}),O3={name:"completion",description:"Generate shell completion scripts",options:[{name:"shell",type:"string",description:"Shell type (bash, zsh, fish)"},{name:"fig",type:"boolean",description:"Generate Fig/Amazon Q completion spec"}]},H3=zi.object({shell:zi.enum(["bash","zsh","fish"]).optional(),fig:zi.boolean().optional()});async function j3(e,t){if(e.fig)return t.stdout.write(`Fig spec generation requires registry access. See fig-spec.ts for implementation.
370
+ `),0;let r=e.shell||G3();if(!r)return t.stderr.write(`Could not detect shell. Please specify with --shell (bash, zsh, or fish)
371
+ `),1;let o=N3(),n=bw("phala",r,o);switch(t.stdout.write(`# Add this to your shell configuration file:
372
372
 
373
373
  `),t.stdout.write(`${n}
374
374
 
@@ -381,14 +381,12 @@ complete -c ${e} -f -a "(__${e}_complete)"
381
381
  `),t.stdout.write(`# source ~/.zshrc
382
382
  `);break;case"fish":t.stdout.write(`# For fish, run:
383
383
  `),t.stdout.write(`# phala completion --shell fish > ~/.config/fish/completions/phala.fish
384
- `);break}return 0}function MI(){let e=process.env.SHELL||"";return e.includes("bash")?"bash":e.includes("zsh")?"zsh":e.includes("fish")?"fish":null}var uv=$({path:["completion"],meta:RI,schema:BI,handler:FI});import{spawn as zI}from"node:child_process";import LI from"chalk";import{existsSync as pv}from"node:fs";import{homedir as tc}from"node:os";import{join as rc}from"node:path";import DI from"chalk";var Yn=class extends Error{constructor(r,o){super(`CVM is not running (current status: ${DI.yellow(r)})`);this.status=r;this.cvmId=o;this.name="CvmNotRunningError"}},Xn=class extends Error{constructor(r){super("CVM is not registered on any gateway.");this.cvmId=r;this.name="NoGatewayError"}};function Wp(e){let t=e.lastIndexOf(":");if(t>0){let r=e.substring(t+1);if(/^\d+$/.test(r))return{host:e.substring(0,t),port:r}}return{host:e}}function NI(){let e=[rc(tc(),".ssh","id_rsa"),rc(tc(),".ssh","id_ed25519"),rc(tc(),".ssh","id_ecdsa"),rc(tc(),".ssh","id_dsa")];for(let t of e)if(pv(t))return t}function Jp(e){if(e){let t=e.startsWith("~")?rc(tc(),e.slice(1)):e;if(!pv(t))throw new Error(`SSH key file not found: ${t}`);return t}return NI()}async function Zp(e,t){let r=await e.getCvmInfo({id:t});if(!r.gateway_domain)throw new Xn(t);if(r.status!=="running")throw new Yn(r.status,t);return{appId:r.app_id,gatewayDomain:r.gateway_domain,status:r.status}}function Yp(e,t){return`${e}-22.${t}`}function Xp(e,t){return e!=="443"?e:t||"443"}function Qp(e,t){let o=["-o",`ProxyCommand=${e?"openssl s_client -quiet -connect %h:%p":"openssl s_client -quiet -connect %h:%p 2>/dev/null"}`,"-o","StrictHostKeyChecking=no","-o","UserKnownHostsFile=/dev/null","-o",`ConnectTimeout=${t}`];return e||o.push("-o","LogLevel=ERROR"),o}import{z as Qn}from"zod";var fv={name:"ssh",description:"Connect to a CVM via SSH",arguments:[{name:"cvm-id",description:"CVM ID. If not provided, reads from phala.toml",required:!1,target:"cvmId"}],options:[{name:"identity",shorthand:"i",description:"SSH identity file (private key)",type:"string",target:"identity"},{name:"port",shorthand:"p",description:"SSH port. Priority: CLI option > phala.toml gateway_port > 443",type:"string",target:"port"},{name:"gateway-domain",shorthand:"g",description:"Gateway domain. Priority: CLI option > phala.toml gateway_domain > API. When specified, skips API call for offline usage",type:"string",target:"gatewayDomain"},{name:"timeout",shorthand:"t",description:"Connection timeout in seconds (default: 30)",type:"string",target:"timeout"},{name:"verbose",shorthand:"v",description:"Show verbose SSH connection details",type:"boolean",target:"verbose"}],examples:[{name:"Connect using configuration from phala.toml",value:"phala ssh"},{name:"Connect to a specific CVM (queries API for gateway)",value:"phala ssh app_123"},{name:"Offline mode: connect without API (using phala.toml gateway)",value:"phala ssh app_123 -g dstack-gateway.example.com -p 16185"},{name:"Connect with custom SSH key",value:"phala ssh app_123 -i ~/.ssh/custom_key"},{name:"Connect with verbose output for debugging",value:"phala ssh app_123 -v"}]},lv=Qn.object({cvmId:Qn.string().optional(),identity:Qn.string().optional(),port:Qn.string().default("443"),gatewayDomain:Qn.string().optional(),timeout:Qn.string().default("30"),verbose:Qn.boolean().default(!1)});async function OI(e,t){try{let r=Ai(e.cvmId)??t.projectConfig.cvm_id;if(!r)return l.error(`No CVM ID provided. Either pass a CVM ID as argument or configure it in phala.toml.
385
- Supported fields: id, uuid, app_id, or instance_id`),1;let o=e.gatewayDomain??t.projectConfig.gateway_domain,n=e.port!=="443"?e.port:t.projectConfig.gateway_port?.toString()??"443",s,i;if(o)i=o,s=r.startsWith("app_")?r.substring(4):r;else try{let h=await ae(),g=await Zp(h,r);s=g.appId,i=g.gatewayDomain}catch(h){return h instanceof Xn?l.error(h.message):h instanceof Yn?(l.error(h.message),l.info("Please start the CVM first using: phala cvms start")):l.error(h instanceof Error?h.message:"Failed to fetch CVM info"),1}let a=Wp(i),c=Xp(n,a.port),m=Yp(s,a.host),u=Jp(e.identity);u||l.warn("No default SSH key found. SSH will use ssh-agent or prompt for password."),e.verbose&&l.info(`Connecting to ${LI.cyan(m)}:${c}...`);let p=[...Qp(e.verbose,e.timeout),"-p",c];e.verbose&&p.unshift("-v"),u&&p.push("-i",u),p.push(`root@${m}`);let d=zI("ssh",p,{stdio:"inherit"});return d.on("error",h=>{l.break(),l.error(`SSH connection failed: ${h.message}`)}),new Promise(h=>{d.on("close",g=>{l.break(),g===0?(l.success("Connection closed"),h(0)):(l.error(`Connection failed with code ${g}`),h(g??1))})})}catch(r){return l.error("Failed to connect via SSH"),r instanceof Error?l.error(r.message):l.error(String(r)),1}}var dv=$({path:["ssh"],meta:fv,schema:lv,handler:OI});import{spawn as UI}from"node:child_process";import o0 from"chalk";import{z as bn}from"zod";var hv={name:"cp",description:"Copy files to/from a CVM via SCP",arguments:[{name:"source",description:"Source path. Local file or remote in format 'cvm-id:path'. Use ':path' to read cvm_id from phala.toml",required:!0,target:"source"},{name:"destination",description:"Destination path. Local file or remote in format 'cvm-id:path'. Use ':path' to read cvm_id from phala.toml",required:!0,target:"destination"}],options:[{name:"identity",shorthand:"i",description:"SSH identity file (private key)",type:"string",target:"identity"},{name:"port",shorthand:"p",description:"SSH port. Priority: CLI option > phala.toml gateway_port > 443",type:"string",target:"port"},{name:"gateway-domain",shorthand:"g",description:"Gateway domain. Priority: CLI option > phala.toml gateway_domain > API. When specified, skips API call for offline usage",type:"string",target:"gatewayDomain"},{name:"recursive",shorthand:"r",description:"Recursively copy directories",type:"boolean",target:"recursive"},{name:"verbose",shorthand:"v",description:"Show verbose SCP details",type:"boolean",target:"verbose"}],examples:[{name:"Upload using phala.toml cvm_id",value:"phala cp ./local.txt :/root/remote.txt"},{name:"Upload to a specific CVM (queries API for gateway)",value:"phala cp ./local.txt app_123:/root/remote.txt"},{name:"Download from CVM",value:"phala cp app_123:/root/remote.txt ./local.txt"},{name:"Offline mode: copy without API (using phala.toml gateway)",value:"phala cp -g dstack-gateway.example.com -p 16185 ./file.txt app_123:/root/"},{name:"Upload directory recursively",value:"phala cp -r ./local_dir app_123:/root/remote_dir"},{name:"Copy with custom SSH key",value:"phala cp -i ~/.ssh/custom_key app_123:/root/file.txt ./file.txt"}]},gv=bn.object({source:bn.string(),destination:bn.string(),identity:bn.string().optional(),port:bn.string().default("443"),gatewayDomain:bn.string().optional(),recursive:bn.boolean().default(!1),verbose:bn.boolean().default(!1)});function yv(e){let t=e.match(/^([^:]+):(.+)$/);return t?{isRemote:!0,cvmId:t[1],path:t[2]}:{isRemote:!1,path:e}}async function HI(e,t){try{let r=yv(e.source),o=yv(e.destination);if(r.isRemote===o.isRemote)return l.error("Either source or destination must be a remote path in format: cvm-id:path"),l.info("Examples:"),l.info(" phala cp ./local.txt app_123:/root/remote.txt"),l.info(" phala cp app_123:/root/remote.txt ./local.txt"),1;let n=r.isRemote?r:o,s=Ai(n.cvmId)??t.projectConfig.cvm_id;if(!s)return l.error(`No CVM ID provided. Either use format cvm-id:path or configure it in phala.toml.
386
- Supported fields: id, uuid, app_id, or instance_id`),1;let i=e.gatewayDomain??t.projectConfig.gateway_domain,a=e.port!=="443"?e.port:t.projectConfig.gateway_port?.toString()??"443",c,m;if(i)m=i,c=s.startsWith("app_")?s.substring(4):s;else try{let I=await ae(),A=await Zp(I,s);c=A.appId,m=A.gatewayDomain}catch(I){return I instanceof Xn?l.error(I.message):I instanceof Yn?(l.error(I.message),l.info("Please start the CVM first using: phala cvms start")):l.error(I instanceof Error?I.message:"Failed to fetch CVM info"),1}let u=Wp(m),f=Xp(a,u.port),p=Yp(c,u.host),d=Jp(e.identity);d||l.warn("No default SSH key found. SCP will use ssh-agent or prompt for password."),e.verbose&&l.info(`Connecting to ${o0.cyan(p)}:${f}...`);let g=[...Qp(e.verbose,"30"),"-P",f];e.verbose&&g.unshift("-v"),d&&g.push("-i",d),e.recursive&&g.push("-r");let b=r.isRemote?`root@${p}:${r.path}`:r.path,y=o.isRemote?`root@${p}:${o.path}`:o.path;g.push(b,y);let v=r.isRemote?"download":"upload",C=r.isRemote?o.path:r.path,k=r.isRemote?r.path:o.path;l.info(`${v==="upload"?"Uploading":"Downloading"} ${o0.cyan(C)} ${v==="upload"?"to":"from"} ${o0.cyan(k)}...`);let _=UI("scp",g,{stdio:"inherit"});return _.on("error",I=>{l.break(),l.error(`SCP failed: ${I.message}`)}),new Promise(I=>{_.on("close",A=>{l.break(),A===0?(l.success(`${v==="upload"?"Upload":"Download"} completed`),I(0)):(l.error(`Transfer failed with code ${A}`),I(A??1))})})}catch(r){return l.error("Failed to copy file via SCP"),r instanceof Error&&l.error(r.message),1}}var bv=$({path:["cp"],meta:hv,schema:gv,handler:HI});var KI=VI(import.meta.url),WI=GI(KI),JI=qI(WI,"../package.json"),xv=JSON.parse(jI(JI,"utf-8")),ZI=`v${xv.version}`,Re=new Sp;Re.registerCommand(F1);Re.registerCommand(gw);Re.registerCommand(Vw);Re.registerCommand(Jw);Re.registerCommand(uv);Re.registerCommand(dv);Re.registerCommand(bv);Re.registerGroup(Pd.group);for(let e of Pd.commands)Re.registerCommand(e);Re.registerGroup(Bd.group);for(let e of Bd.commands)Re.registerCommand(e);Re.registerGroup(Jd.group);for(let e of Jd.commands)Re.registerCommand(e);Re.registerGroup(Yd.group);for(let e of Yd.commands)Re.registerCommand(e);Re.registerGroup(e0.group);for(let e of e0.commands)Re.registerCommand(e);Re.registerGroup(r0.group);for(let e of r0.commands)Re.registerCommand(e);process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function YI(){let e=await w1({registry:Re,argv:process.argv.slice(2),executableName:xv.name??"phala",version:ZI,cwd:process.cwd(),env:process.env,stdout:process.stdout,stderr:process.stderr,stdin:process.stdin});process.exit(e)}YI().catch(e=>{console.error("An error occurred:",e),process.exit(1)});
384
+ `);break}return 0}function G3(){let e=process.env.SHELL||"";return e.includes("bash")?"bash":e.includes("zsh")?"zsh":e.includes("fish")?"fish":null}var xw=R({path:["completion"],meta:O3,schema:H3,handler:j3});import{spawn as K3}from"child_process";import W3 from"chalk";import{existsSync as vw}from"fs";import{homedir as nc}from"os";import{join as sc}from"path";import V3 from"chalk";var Bn=class extends Error{constructor(r,o){super(`CVM is not running (current status: ${V3.yellow(r)})`);this.status=r;this.cvmId=o;this.name="CvmNotRunningError"}},Fn=class extends Error{constructor(r){super("CVM is not registered on any gateway.");this.cvmId=r;this.name="NoGatewayError"}};function Yp(e){let t=e.lastIndexOf(":");if(t>0){let r=e.substring(t+1);if(/^\d+$/.test(r))return{host:e.substring(0,t),port:r}}return{host:e}}function q3(){let e=[sc(nc(),".ssh","id_rsa"),sc(nc(),".ssh","id_ed25519"),sc(nc(),".ssh","id_ecdsa"),sc(nc(),".ssh","id_dsa")];for(let t of e)if(vw(t))return t}function Xp(e){if(e){let t=e.startsWith("~")?sc(nc(),e.slice(1)):e;if(!vw(t))throw new Error(`SSH key file not found: ${t}`);return t}return q3()}async function Qp(e,t){let r=await e.getCvmInfo({id:t});if(!r.gateway_domain)throw new Fn(t);if(r.status!=="running")throw new Bn(r.status,t);return{appId:r.app_id,gatewayDomain:r.gateway_domain,status:r.status}}function ef(e,t){return`${e}-22.${t}`}function tf(e,t){return e!=="443"?e:t||"443"}function rf(e,t){let o=["-o",`ProxyCommand=${e?"openssl s_client -quiet -connect %h:%p":"openssl s_client -quiet -connect %h:%p 2>/dev/null"}`,"-o","StrictHostKeyChecking=no","-o","UserKnownHostsFile=/dev/null","-o",`ConnectTimeout=${t}`];return e||o.push("-o","LogLevel=ERROR"),o}import{z as Mn}from"zod";var ww={name:"ssh",description:"Connect to a CVM via SSH",arguments:[{name:"cvm-id",description:"CVM ID. If not provided, reads from phala.toml",required:!1,target:"cvmId"}],options:[{name:"identity",shorthand:"i",description:"SSH identity file (private key)",type:"string",target:"identity"},{name:"port",shorthand:"p",description:"SSH port. Priority: CLI option > phala.toml gateway_port > 443",type:"string",target:"port"},{name:"gateway-domain",shorthand:"g",description:"Gateway domain. Priority: CLI option > phala.toml gateway_domain > API. When specified, skips API call for offline usage",type:"string",target:"gatewayDomain"},{name:"timeout",shorthand:"t",description:"Connection timeout in seconds (default: 30)",type:"string",target:"timeout"},{name:"verbose",shorthand:"v",description:"Show verbose SSH connection details",type:"boolean",target:"verbose"}],examples:[{name:"Connect using configuration from phala.toml",value:"phala ssh"},{name:"Connect to a specific CVM (queries API for gateway)",value:"phala ssh app_123"},{name:"Offline mode: connect without API (using phala.toml gateway)",value:"phala ssh app_123 -g dstack-gateway.example.com -p 16185"},{name:"Connect with custom SSH key",value:"phala ssh app_123 -i ~/.ssh/custom_key"},{name:"Connect with verbose output for debugging",value:"phala ssh app_123 -v"}]},Cw=Mn.object({cvmId:Mn.string().optional(),identity:Mn.string().optional(),port:Mn.string().default("443"),gatewayDomain:Mn.string().optional(),timeout:Mn.string().default("30"),verbose:Mn.boolean().default(!1)});async function J3(e,t){try{let r=Pi(e.cvmId)??t.projectConfig.cvm_id;if(!r)return l.error(`No CVM ID provided. Either pass a CVM ID as argument or configure it in phala.toml.
385
+ Supported fields: id, uuid, app_id, or instance_id`),1;let o=e.gatewayDomain??t.projectConfig.gateway_domain,n=e.port!=="443"?e.port:t.projectConfig.gateway_port?.toString()??"443",s,i;if(o)i=o,s=r.startsWith("app_")?r.substring(4):r;else try{let h=await Z(),g=await Qp(h,r);s=g.appId,i=g.gatewayDomain}catch(h){return h instanceof Fn?l.error(h.message):h instanceof Bn?(l.error(h.message),l.info("Please start the CVM first using: phala cvms start")):l.error(h instanceof Error?h.message:"Failed to fetch CVM info"),1}let a=Yp(i),c=tf(n,a.port),m=ef(s,a.host),u=Xp(e.identity);u||l.warn("No default SSH key found. SSH will use ssh-agent or prompt for password."),e.verbose&&l.info(`Connecting to ${W3.cyan(m)}:${c}...`);let f=[...rf(e.verbose,e.timeout),"-p",c];e.verbose&&f.unshift("-v"),u&&f.push("-i",u),f.push(`root@${m}`);let d=K3("ssh",f,{stdio:"inherit"});return d.on("error",h=>{l.break(),l.error(`SSH connection failed: ${h.message}`)}),new Promise(h=>{d.on("close",g=>{l.break(),g===0?(l.success("Connection closed"),h(0)):(l.error(`Connection failed with code ${g}`),h(g??1))})})}catch(r){return l.error("Failed to connect via SSH"),r instanceof Error?l.error(r.message):l.error(String(r)),1}}var Ew=R({path:["ssh"],meta:ww,schema:Cw,handler:J3});import{spawn as Z3}from"child_process";import l0 from"chalk";import{z as Xo}from"zod";var kw={name:"cp",description:"Copy files to/from a CVM via SCP",arguments:[{name:"source",description:"Source path. Local file or remote in format 'cvm-id:path'. Use ':path' to read cvm_id from phala.toml",required:!0,target:"source"},{name:"destination",description:"Destination path. Local file or remote in format 'cvm-id:path'. Use ':path' to read cvm_id from phala.toml",required:!0,target:"destination"}],options:[{name:"identity",shorthand:"i",description:"SSH identity file (private key)",type:"string",target:"identity"},{name:"port",shorthand:"p",description:"SSH port. Priority: CLI option > phala.toml gateway_port > 443",type:"string",target:"port"},{name:"gateway-domain",shorthand:"g",description:"Gateway domain. Priority: CLI option > phala.toml gateway_domain > API. When specified, skips API call for offline usage",type:"string",target:"gatewayDomain"},{name:"recursive",shorthand:"r",description:"Recursively copy directories",type:"boolean",target:"recursive"},{name:"verbose",shorthand:"v",description:"Show verbose SCP details",type:"boolean",target:"verbose"}],examples:[{name:"Upload using phala.toml cvm_id",value:"phala cp ./local.txt :/root/remote.txt"},{name:"Upload to a specific CVM (queries API for gateway)",value:"phala cp ./local.txt app_123:/root/remote.txt"},{name:"Download from CVM",value:"phala cp app_123:/root/remote.txt ./local.txt"},{name:"Offline mode: copy without API (using phala.toml gateway)",value:"phala cp -g dstack-gateway.example.com -p 16185 ./file.txt app_123:/root/"},{name:"Upload directory recursively",value:"phala cp -r ./local_dir app_123:/root/remote_dir"},{name:"Copy with custom SSH key",value:"phala cp -i ~/.ssh/custom_key app_123:/root/file.txt ./file.txt"}]},Sw=Xo.object({source:Xo.string(),destination:Xo.string(),identity:Xo.string().optional(),port:Xo.string().default("443"),gatewayDomain:Xo.string().optional(),recursive:Xo.boolean().default(!1),verbose:Xo.boolean().default(!1)});function _w(e){let t=e.match(/^([^:]+):(.+)$/);return t?{isRemote:!0,cvmId:t[1],path:t[2]}:{isRemote:!1,path:e}}async function Y3(e,t){try{let r=_w(e.source),o=_w(e.destination);if(r.isRemote===o.isRemote)return l.error("Either source or destination must be a remote path in format: cvm-id:path"),l.info("Examples:"),l.info(" phala cp ./local.txt app_123:/root/remote.txt"),l.info(" phala cp app_123:/root/remote.txt ./local.txt"),1;let n=r.isRemote?r:o,s=Pi(n.cvmId)??t.projectConfig.cvm_id;if(!s)return l.error(`No CVM ID provided. Either use format cvm-id:path or configure it in phala.toml.
386
+ Supported fields: id, uuid, app_id, or instance_id`),1;let i=e.gatewayDomain??t.projectConfig.gateway_domain,a=e.port!=="443"?e.port:t.projectConfig.gateway_port?.toString()??"443",c,m;if(i)m=i,c=s.startsWith("app_")?s.substring(4):s;else try{let P=await Z(),S=await Qp(P,s);c=S.appId,m=S.gatewayDomain}catch(P){return P instanceof Fn?l.error(P.message):P instanceof Bn?(l.error(P.message),l.info("Please start the CVM first using: phala cvms start")):l.error(P instanceof Error?P.message:"Failed to fetch CVM info"),1}let u=Yp(m),p=tf(a,u.port),f=ef(c,u.host),d=Xp(e.identity);d||l.warn("No default SSH key found. SCP will use ssh-agent or prompt for password."),e.verbose&&l.info(`Connecting to ${l0.cyan(f)}:${p}...`);let g=[...rf(e.verbose,"30"),"-P",p];e.verbose&&g.unshift("-v"),d&&g.push("-i",d),e.recursive&&g.push("-r");let b=r.isRemote?`root@${f}:${r.path}`:r.path,y=o.isRemote?`root@${f}:${o.path}`:o.path;g.push(b,y);let v=r.isRemote?"download":"upload",C=r.isRemote?o.path:r.path,k=r.isRemote?r.path:o.path;l.info(`${v==="upload"?"Uploading":"Downloading"} ${l0.cyan(C)} ${v==="upload"?"to":"from"} ${l0.cyan(k)}...`);let I=Z3("scp",g,{stdio:"inherit"});return I.on("error",P=>{l.break(),l.error(`SCP failed: ${P.message}`)}),new Promise(P=>{I.on("close",S=>{l.break(),S===0?(l.success(`${v==="upload"?"Upload":"Download"} completed`),P(0)):(l.error(`Transfer failed with code ${S}`),P(S??1))})})}catch(r){return l.error("Failed to copy file via SCP"),r instanceof Error&&l.error(r.message),1}}var Iw=R({path:["cp"],meta:kw,schema:Sw,handler:Y3});var rA=tA(import.meta.url),oA=Q3(rA),nA=eA(oA,"../package.json"),Aw=JSON.parse(X3(nA,"utf-8")),sA=`v${Aw.version}`,Re=new Rp;Re.registerCommand(n6);Re.registerCommand(Ev);Re.registerCommand(tw);Re.registerCommand(nw);Re.registerCommand(xw);Re.registerCommand(Ew);Re.registerCommand(Iw);Re.registerGroup(Ld.group);for(let e of Ld.commands)Re.registerCommand(e);Re.registerGroup(jd.group);for(let e of jd.commands)Re.registerCommand(e);Re.registerGroup(s0.group);for(let e of s0.commands)Re.registerCommand(e);Re.registerGroup(a0.group);for(let e of a0.commands)Re.registerCommand(e);Re.registerGroup(u0.group);for(let e of u0.commands)Re.registerCommand(e);Re.registerGroup(f0.group);for(let e of f0.commands)Re.registerCommand(e);process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function iA(){let e=await q1({registry:Re,argv:process.argv.slice(2),executableName:Aw.name??"phala",version:sA,cwd:process.cwd(),env:process.env,stdout:process.stdout,stderr:process.stderr,stdin:process.stdin});process.exit(e)}iA().catch(e=>{console.error("An error occurred:",e),process.exit(1)});
387
387
  /*! Bundled license information:
388
388
 
389
389
  @noble/hashes/esm/utils.js:
390
- (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
391
-
392
390
  @noble/hashes/utils.js:
393
391
  (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
394
392
  */