phala 1.1.0-beta.13 → 1.1.0-beta.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +120 -117
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,110 +1,111 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module';const require = createRequire(import.meta.url);
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 Lr=(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 k=(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 zi=(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((EA,C0)=>{var Un=1e3,On=Un*60,Hn=On*60,Qo=Hn*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*Hn;case"minutes":case"minute":case"mins":case"min":case"m":return r*On;case"seconds":case"second":case"secs":case"sec":case"s":return r*Un;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>=Hn?Math.round(e/Hn)+"h":t>=On?Math.round(e/On)+"m":t>=Un?Math.round(e/Un)+"s":e+"ms"}function Kw(e){var t=Math.abs(e);return t>=Qo?ac(e,t,Qo,"day"):t>=Hn?ac(e,t,Hn,"hour"):t>=On?ac(e,t,On,"minute"):t>=Un?ac(e,t,Un,"second"):e+" ms"}function ac(e,t,r,o){var n=t>=r*1.5;return Math.round(e/r)+" "+o+(n?"s":"")}});var uf=ft((SA,S0)=>{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 S=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(A,_)=>{if(A==="%%")return"%";S++;let B=r.formatters[_];if(typeof B=="function"){let R=b[S];A=B.call(y,R),b.splice(S,1),S--}return A}),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}S0.exports=Ww});var k0=ft((dt,cc)=>{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 ":" ")+"+"+cc.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{}}cc.exports=uf()(dt);var{formatters:e5}=cc.exports;e5.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var _0=ft((kA,I0)=>{"use strict";I0.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((IA,P0)=>{"use strict";var t5=Lr("os"),A0=Lr("tty"),Dt=_0(),{env:Ne}=process,lo;Dt("no-color")||Dt("no-colors")||Dt("color=false")||Dt("color=never")?lo=0:(Dt("color")||Dt("colors")||Dt("color=true")||Dt("color=always"))&&(lo=1);"FORCE_COLOR"in Ne&&(Ne.FORCE_COLOR==="true"?lo=1:Ne.FORCE_COLOR==="false"?lo=0:lo=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(lo===0)return 0;if(Dt("color=16m")||Dt("color=full")||Dt("color=truecolor"))return 3;if(Dt("color=256"))return 2;if(e&&!t&&lo===void 0)return 0;let r=lo||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,uc)=>{var o5=Lr("tty"),mc=Lr("util");ze.init=u5;ze.log=a5;ze.formatArgs=s5;ze.save=c5;ze.load=m5;ze.useColors=n5;ze.destroy=mc.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(`
3
+ var Nw=Object.create;var mf=Object.defineProperty;var zw=Object.getOwnPropertyDescriptor;var Lw=Object.getOwnPropertyNames;var Uw=Object.getPrototypeOf,Ow=Object.prototype.hasOwnProperty;var Ur=(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 k=(e,t)=>()=>(e&&(t=e(e=0)),t);var ft=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),uf=(e,t)=>{for(var r in t)mf(e,r,{get:t[r],enumerable:!0})},Hw=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Lw(t))!Ow.call(e,n)&&n!==r&&mf(e,n,{get:()=>t[n],enumerable:!(o=zw(t,n))||o.enumerable});return e};var Li=(e,t,r)=>(r=e!=null?Nw(Uw(e)):{},Hw(t||!e||!e.__esModule?mf(r,"default",{value:e,enumerable:!0}):r,e));var A0=ft((LA,_0)=>{var Un=1e3,On=Un*60,Hn=On*60,rn=Hn*24,Xw=rn*7,Qw=rn*365.25;_0.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return e5(e);if(r==="number"&&isFinite(e))return t.long?r5(e):t5(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function e5(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*Qw;case"weeks":case"week":case"w":return r*Xw;case"days":case"day":case"d":return r*rn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Hn;case"minutes":case"minute":case"mins":case"min":case"m":return r*On;case"seconds":case"second":case"secs":case"sec":case"s":return r*Un;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function t5(e){var t=Math.abs(e);return t>=rn?Math.round(e/rn)+"d":t>=Hn?Math.round(e/Hn)+"h":t>=On?Math.round(e/On)+"m":t>=Un?Math.round(e/Un)+"s":e+"ms"}function r5(e){var t=Math.abs(e);return t>=rn?cc(e,t,rn,"day"):t>=Hn?cc(e,t,Hn,"hour"):t>=On?cc(e,t,On,"minute"):t>=Un?cc(e,t,Un,"second"):e+" ms"}function cc(e,t,r,o){var n=t>=r*1.5;return Math.round(e/r)+" "+o+(n?"s":"")}});var df=ft((UA,P0)=>{function o5(e){r.debug=r,r.default=r,r.coerce=c,r.disable=i,r.enable=n,r.enabled=a,r.humanize=A0(),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,x=Number(new Date),w=x-(p||x);y.diff=w,y.prev=p,y.curr=x,p=x,b[0]=r.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let S=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(A,_)=>{if(A==="%%")return"%";S++;let B=r.formatters[_];if(typeof B=="function"){let R=b[S];A=B.call(y,R),b.splice(S,1),S--}return A}),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}P0.exports=o5});var T0=ft((dt,mc)=>{dt.formatArgs=s5;dt.save=i5;dt.load=a5;dt.useColors=n5;dt.storage=c5();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 n5(){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 s5(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 i5(e){try{e?dt.storage.setItem("debug",e):dt.storage.removeItem("debug")}catch{}}function a5(){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 c5(){try{return localStorage}catch{}}mc.exports=df()(dt);var{formatters:m5}=mc.exports;m5.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var R0=ft((OA,$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 M0=ft((HA,F0)=>{"use strict";var u5=Ur("os"),B0=Ur("tty"),Dt=R0(),{env:Ne}=process,bo;Dt("no-color")||Dt("no-colors")||Dt("color=false")||Dt("color=never")?bo=0:(Dt("color")||Dt("colors")||Dt("color=true")||Dt("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 hf(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function gf(e,t){if(bo===0)return 0;if(Dt("color=16m")||Dt("color=full")||Dt("color=truecolor"))return 3;if(Dt("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=u5.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 p5(e){let t=gf(e,e&&e.isTTY);return hf(t)}F0.exports={supportsColor:p5,stdout:hf(gf(!0,B0.isatty(1))),stderr:hf(gf(!0,B0.isatty(2)))}});var N0=ft((ze,pc)=>{var f5=Ur("tty"),uc=Ur("util");ze.init=x5;ze.log=g5;ze.formatArgs=d5;ze.save=y5;ze.load=b5;ze.useColors=l5;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=M0();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 l5(){return"colors"in ze.inspectOpts?!!ze.inspectOpts.colors:f5.isatty(process.stderr.fd)}function d5(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+"+uc.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(mc.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]]}uc.exports=uf()(ze);var{formatters:$0}=uc.exports;$0.o=function(e){return this.inspectOpts.colors=this.useColors,mc.inspect(e,this.inspectOpts).split(`
7
- `).map(t=>t.trim()).join(" ")};$0.O=function(e){return this.inspectOpts.colors=this.useColors,mc.inspect(e,this.inspectOpts)}});var B0=ft((_A,lf)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?lf.exports=k0():lf.exports=R0()});var df,M0=k(()=>{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=k(()=>{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 jn,pc,fc,lc,Ui=k(()=>{H();jn=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"})}},pc=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"})}},fc=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"})}},lc=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 It=k(()=>{});function Y(e){return ce(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Nt=k(()=>{It()});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=k(()=>{});var Oi,Hi,ji,dc=k(()=>{H();Oi=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"})}},Hi=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"})}},ji=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 ho(e,{dir:t,size:r=32}={}){return typeof e=="string"?Ur(e,{dir:t,size:r}):p5(e,{dir:t,size:r})}function Ur(e,{dir:t,size:r=32}={}){if(r===null)return e;let o=e.replace("0x","");if(o.length>r*2)throw new Hi({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 Hi({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 hc=k(()=>{dc()});function ie(e,t={}){return typeof e=="number"||typeof e=="bigint"?E(e,t):typeof e=="string"?er(e,t):typeof e=="boolean"?gc(e,t):X(e,t)}function gc(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(ht(r,{size:t.size}),ho(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}),ho(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 jn({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?ho(a,{size:o}):a}function er(e,t={}){let r=l5.encode(e);return X(r,t)}var f5,l5,D=k(()=>{Ui();hc();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}),ho(r,{size:t.size})):r}function N0(e){if(e>=Or.zero&&e<=Or.nine)return e-Or.zero;if(e>=Or.A&&e<=Or.F)return e-(Or.A-10);if(e>=Or.a&&e<=Or.f)return e-(Or.a-10)}function Fe(e,t={}){let r=e;t.size&&(ht(r,{size:t.size}),r=ho(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}),ho(r,{dir:"right",size:t.size})):r}var d5,Or,Ue=k(()=>{H();It();hc();Be();D();d5=new TextEncoder;Or={zero:48,nine:57,A:65,F:70,a:97,f:102}});function ht(e,{size:t}){if(Y(e)>t)throw new lc({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 fc(r)}function be(e,t={}){return Number(ae(e,t))}var Be=k(()=>{Ui();Nt();tn()});function Gn(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 yc=k(()=>{});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,go=k(()=>{D();b5={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"}});var bP,xP,vP,wP,CP,EP,SP,kP,IP,_P,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,S4,k4,I4,_4,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,nT,Vn,xf=k(()=>{bP=2n**(8n-1n)-1n,xP=2n**(16n-1n)-1n,vP=2n**(24n-1n)-1n,wP=2n**(32n-1n)-1n,CP=2n**(40n-1n)-1n,EP=2n**(48n-1n)-1n,SP=2n**(56n-1n)-1n,kP=2n**(64n-1n)-1n,IP=2n**(72n-1n)-1n,_P=2n**(80n-1n)-1n,AP=2n**(88n-1n)-1n,PP=2n**(96n-1n)-1n,TP=2n**(104n-1n)-1n,$P=2n**(112n-1n)-1n,RP=2n**(120n-1n)-1n,BP=2n**(128n-1n)-1n,FP=2n**(136n-1n)-1n,MP=2n**(144n-1n)-1n,DP=2n**(152n-1n)-1n,NP=2n**(160n-1n)-1n,zP=2n**(168n-1n)-1n,LP=2n**(176n-1n)-1n,UP=2n**(184n-1n)-1n,OP=2n**(192n-1n)-1n,HP=2n**(200n-1n)-1n,jP=2n**(208n-1n)-1n,GP=2n**(216n-1n)-1n,VP=2n**(224n-1n)-1n,qP=2n**(232n-1n)-1n,KP=2n**(240n-1n)-1n,WP=2n**(248n-1n)-1n,JP=2n**(256n-1n)-1n,ZP=-(2n**(8n-1n)),YP=-(2n**(16n-1n)),XP=-(2n**(24n-1n)),QP=-(2n**(32n-1n)),e4=-(2n**(40n-1n)),t4=-(2n**(48n-1n)),r4=-(2n**(56n-1n)),o4=-(2n**(64n-1n)),n4=-(2n**(72n-1n)),s4=-(2n**(80n-1n)),i4=-(2n**(88n-1n)),a4=-(2n**(96n-1n)),c4=-(2n**(104n-1n)),m4=-(2n**(112n-1n)),u4=-(2n**(120n-1n)),p4=-(2n**(128n-1n)),f4=-(2n**(136n-1n)),l4=-(2n**(144n-1n)),d4=-(2n**(152n-1n)),h4=-(2n**(160n-1n)),g4=-(2n**(168n-1n)),y4=-(2n**(176n-1n)),b4=-(2n**(184n-1n)),x4=-(2n**(192n-1n)),v4=-(2n**(200n-1n)),w4=-(2n**(208n-1n)),C4=-(2n**(216n-1n)),E4=-(2n**(224n-1n)),S4=-(2n**(232n-1n)),k4=-(2n**(240n-1n)),I4=-(2n**(248n-1n)),_4=-(2n**(256n-1n)),A4=2n**8n-1n,P4=2n**16n-1n,T4=2n**24n-1n,$4=2n**32n-1n,R4=2n**40n-1n,B4=2n**48n-1n,F4=2n**56n-1n,M4=2n**64n-1n,D4=2n**72n-1n,N4=2n**80n-1n,z4=2n**88n-1n,L4=2n**96n-1n,U4=2n**104n-1n,O4=2n**112n-1n,H4=2n**120n-1n,j4=2n**128n-1n,G4=2n**136n-1n,V4=2n**144n-1n,q4=2n**152n-1n,K4=2n**160n-1n,W4=2n**168n-1n,J4=2n**176n-1n,Z4=2n**184n-1n,Y4=2n**192n-1n,X4=2n**200n-1n,Q4=2n**208n-1n,eT=2n**216n-1n,tT=2n**224n-1n,rT=2n**232n-1n,oT=2n**240n-1n,nT=2n**248n-1n,Vn=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=k(()=>{});var qi,qn,bc,vf=k(()=>{H();qi=class extends x{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}},qn=class extends x{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}},bc=class extends x{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function Kn(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,xc=k(()=>{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 bc({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new qn({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new qi({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 qi({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 vc,j0,wc=k(()=>{vc={gwei:9,wei:18},j0={ether:-9,wei:9}});function Cc(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=k(()=>{});function Wn(e,t="wei"){return Cc(e,vc[t])}var Ec=k(()=>{wc();wf()});function Me(e,t="wei"){return Cc(e,j0[t])}var Jn=k(()=>{wc();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,kc,Ic,_c,Ac,Zn,Yn,Xn,Pc,_t=k(()=>{Ec();Jn();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"})}},kc=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"})}},_c=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"})}},Ac=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"&&`${Wn(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}},Zn=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"})}},Yn=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"})}},Xn=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}},Pc=class extends x{constructor({hash:t}){super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}});function S5(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(!S5(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 os(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 Tc(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 yo(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function $c(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function or(e,t){return e<<32-t|e>>>t}function I5(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function _5(e){for(let t=0;t<e.length;t++)e[t]=I5(e[t]);return e}function A5(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Ki(e){return typeof e=="string"&&(e=A5(e)),nn(e),e}function Rc(e){let t=o=>e().update(Ki(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}var k5,Ef,rs,Bc=k(()=>{k5=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;Ef=k5?e=>e:_5;rs=class{}});function T5(e,t=!1){return t?{h:Number(e&Mc),l:Number(e>>W0&Mc)}:{h:Number(e>>W0&Mc)|0,l:Number(e&Mc)|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 Mc,W0,Z0,Y0,X0,Q0,eh=k(()=>{Mc=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=k(()=>{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,Hc,jc,Wi,an,Ji=k(()=>{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"})}},Hc=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"})}},jc=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"})}},Wi=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 jr,Lt,ss,is,as,cs,ms,us,ps,fs,dr,Ut,xo=k(()=>{Jn();H();jr=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(jr,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(jr,"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/});ss=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(ss,"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/});is=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(is,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});as=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(as,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});cs=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(cs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});ms=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(ms,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});us=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(us,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});ps=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(ps,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});fs=class extends x{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}};Object.defineProperty(fs,"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,ls=k(()=>{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]}yo(r)}var F5,Zi,M5,D5,N5,z5,ch,mh,uh,ph,L5,U5,ih,ah,Sf,H5,Gc,kf=k(()=>{eh();Bc();F5=BigInt(0),Zi=BigInt(1),M5=BigInt(2),D5=BigInt(7),N5=BigInt(256),z5=BigInt(113),ch=[],mh=[],uh=[];for(let e=0,t=Zi,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<<Zi^(t>>D5)*z5)%N5,t&M5&&(n^=Zi<<(Zi<<BigInt(s))-Zi);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);Sf=class e extends rs{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){os(this),t=Ki(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){os(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(Tc(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,yo(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)=>Rc(()=>new Sf(t,e,r)),Gc=H5(1,136,256/8)});function se(e,t){let r=t||"hex",o=Gc(ce(e,{strict:!1})?zt(e):e);return r==="bytes"?o:ie(o)}var Ht=k(()=>{kf();It();Ue();D()});function Gr(e,t){if(If.has(`${e}.${t}`))return If.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 If.set(`${e}.${t}`,s),s}function ds(e,t){if(!ee(e,{strict:!1}))throw new ne({address:e});return Gr(e,t)}var If,vo=k(()=>{nr();Ue();Ht();ls();At();If=new Ot(8192)});function ee(e,t){let{strict:r=!0}=t??{},o=`${e}.${r}`;if(_f.has(o))return _f.get(o);let n=j5.test(e)?e.toLowerCase()===e?!0:r?Gr(e)===e:!0:!1;return _f.set(o,n),n}var j5,_f,At=k(()=>{ls();vo();j5=/^0x[a-fA-F0-9]{40}$/,_f=new Ot(8192)});function jt(e,t,r,{strict:o}={}){return ce(e,{strict:!1})?Vc(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 Oi({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 Oi({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 Vc(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 wo=k(()=>{dc();It();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=k(()=>{Ji()});function j(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}var ve=k(()=>{});var wh,Zc,Ch,Yc=k(()=>{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."},Zc={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 Xc(e.type);return`${e.name}(${ea(e.inputs,{includeName:t})})`}function ea(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")?`(${ea(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}var Vr=k(()=>{we()});var Qc,ta,gs,qt,em,tm,rm,om,ra,ys,nm,bs,oa,sr,xs,sm,im,am,ir,hr,cm,mm,vs,Xc,we=k(()=>{Vr();Nt();H();Qc=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"})}},ta=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"})}},gs=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: (${ea(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"})}},em=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"})}},tm=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"})}},rm=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"})}},om=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"})}},ra=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"})}},ys=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}},nm=class extends x{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}},bs=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"})}},oa=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
- `),{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"})}},xs=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"})}},sm=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"})}},im=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"})}},am=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: (${ea(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}},cm=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"})}},mm=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"})}},vs=class extends x{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
32
- `),{name:"InvalidArrayError"})}},Xc=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,Sh=k(()=>{Ue();Ht();t2=e=>se(zt(e))});var kh,Ih=k(()=>{kh="1.1.0"});var Ie,ws=k(()=>{Ih();Ie=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@${kh}`].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,um,na=k(()=>{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)?$/,um=/^\(.+?\).*?$/});function pm(e){let t=e.type;if(_h.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+=pm(s),n<r-1&&(t+=", ")}let o=Pt(_h,e.type);return t+=`)${o?.array??""}`,pm({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var _h,Ah=k(()=>{na();_h=/^tuple(?<array>(\[(\d*)\])*)$/});function qr(e){let t="",r=e.length;for(let o=0;o<r;o++){let n=e[o];t+=pm(n),o!==r-1&&(t+=", ")}return t}var Rf=k(()=>{Ah()});function mn(e){return e.type==="function"?`function ${e.name}(${qr(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${qr(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${qr(e.inputs)})`:e.type==="error"?`error ${e.name}(${qr(e.inputs)})`:e.type==="constructor"?`constructor(${qr(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}var Ph=k(()=>{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 Co(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,fm,Cs=k(()=>{na();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"]),fm=new Set(["calldata","memory","storage"])});var lm,dm,hm,gm=k(()=>{ws();lm=class extends Ie{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"})}},dm=class extends Ie{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"})}},hm=class extends Ie{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 ym,bm,xm,vm,wm,Cm,Em=k(()=>{ws();ym=class extends Ie{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"})}},bm=class extends Ie{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},xm=class extends Ie{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"})}},vm=class extends Ie{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"})}},wm=class extends Ie{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"})}},Cm=class extends Ie{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,km,Ff=k(()=>{ws();gr=class extends Ie{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 Ie{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},km=class extends Ie{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=k(()=>{ws();Im=class extends Ie{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 _m,Zh=k(()=>{ws();_m=class extends Ie{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 Am,Xh=k(()=>{Am=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 sa(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:fm,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:fm,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(Am.has(r))return Am.get(r);let o=um.test(e),n=Pt(o?m2:c2,e);if(!n)throw new bm({param:e});if(n.name&&f2(n.name))throw new xm({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 hm({type:c});if(n.modifier){if(!t?.modifiers?.has?.(n.modifier))throw new vm({param:e,type:t?.type,modifier:n.modifier});if(fm.has(n.modifier)&&!l2(c,!!n.array))throw new wm({param:e,type:t?.type,modifier:n.modifier})}let u={type:`${c}${n.array??""}`,...s,...i,...m};return Am.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 _m({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,Es=k(()=>{na();gm();Em();Ff();Zh();Xh();Cs();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 Ss(e){let t={},r=e.length;for(let i=0;i<r;i++){let a=e[i];if(!Co(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 km({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(um.test(i.type))o.push(i);else{let c=Pt(d2,i.type);if(!c?.type)throw new Cm({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 dm({type:u})}}return o}var d2,Pm=k(()=>{na();gm();Em();Ff();Jh();Cs();Es();d2=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/});function Tm(e){let t=Ss(e),r=[],o=e.length;for(let n=0;n<o;n++){let s=e[n];Co(s)||r.push(sa(s,t))}return r}var eg=k(()=>{Cs();Pm();Es()});function $m(e){let t;if(typeof e=="string")t=sa(e);else{let r=Ss(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(!Co(s)){t=sa(s,r);break}}}if(!t)throw new lm({signature:e});return t}var tg=k(()=>{gm();Cs();Pm();Es()});function Rm(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=Ss(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(Co(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 ym({params:e});return t}var rg=k(()=>{Em();Cs();Pm();Es();Es()});var ia=k(()=>{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=k(()=>{H()});var ig,ag=k(()=>{ia();sg();ig=e=>{let t=typeof e=="string"?e:mn(e);return ng(t)}});function Bm(e){return Eh(ig(e))}var Df=k(()=>{Sh();ag()});var yr,ks=k(()=>{wo();Df();yr=e=>jt(Bm(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 pc(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=k(()=>{Ui();tn();Be();D()});var fg,Fm,Nf=k(()=>{fg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Fm=/^(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 rm({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=Mm(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"]=Fm.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 cm(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:Ur(e.toLowerCase())}}function y2(e,{length:t,param:r}){let o=t===null;if(!Array.isArray(e))throw new vs(e);if(!o&&e.length!==t)throw new em({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=Ur(n,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Pe([Ur(E(o,{size:32})),n])}}if(o!==Number.parseInt(r,10))throw new tm({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:Ur(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:Ur(gc(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 jn({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(Ur(jt(t,n*32,(n+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Pe([Ur(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 Mm(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var Kr=k(()=>{we();nr();H();Ui();At();at();hc();Nt();wo();D();Nf()});function Wr(e,t){let r=typeof t=="string"?Fe(t):t,o=Kn(r);if(Y(r)===0&&e.length>0)throw new qt;if(Y(t)&&Y(t)<32)throw new gs({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]=Is(o,a,{staticPosition:0});n+=m,s.push(c)}return s}function Is(e,t,{staticPosition:r}){let o=Mm(t.type);if(o){let[n,s]=o;return S2(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 k2(e);if(t.type.startsWith("bytes"))return I2(e,t,{staticPosition:r});if(t.type.startsWith("uint")||t.type.startsWith("int"))return _2(e,t);if(t.type==="string")return P2(e,{staticPosition:r});throw new mm(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function E2(e){let t=e.readBytes(32);return[Gr(X(Af(t,-20))),32]}function S2(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=aa(t),p=0,f=[];for(let d=0;d<m;++d){e.setPosition(c+(u?d*32:p));let[h,g]=Is(e,t,{staticPosition:c});p+=g,f.push(h)}return e.setPosition(o+32),[f,32]}if(aa(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]=Is(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]=Is(e,t,{staticPosition:o+n});n+=c,s.push(a)}return[s,n]}function k2(e){return[mg(e.readBytes(32),{size:32}),32]}function I2(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 _2(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(aa(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]=Is(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]=Is(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 aa(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(aa);let r=Mm(e.type);return!!(r&&aa({...e,type:r[1]}))}var lg,Uf,ca=k(()=>{we();vo();xc();Nt();wo();tn();pg();Ue();D();Kr();lg=32,Uf=32});function Dm(e){let{abi:t,data:r}=e,o=jt(r,0,4);if(o==="0x")throw new qt;let s=[...t||[],Zc,Ch].find(i=>i.type==="error"&&o===yr(De(i)));if(!s)throw new ys(o,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:s,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Wr(s.inputs,jt(r,4)):void 0,errorName:s.name}}var Of=k(()=>{Yc();we();wo();ks();ca();Vr()});var W,et=k(()=>{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=k(()=>{et()});var Eo,ma=k(()=>{Df();Eo=Bm});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"?Eo(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 im({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=k(()=>{we();It();At();ma();ks()});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}:
5
+ `+s),e.push(n+"m+"+pc.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=h5()+t+" "+e[0]}function h5(){return ze.inspectOpts.hideDate?"":new Date().toISOString()+" "}function g5(...e){return process.stderr.write(uc.formatWithOptions(ze.inspectOpts,...e)+`
6
+ `)}function y5(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function b5(){return process.env.DEBUG}function x5(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=df()(ze);var{formatters:D0}=pc.exports;D0.o=function(e){return this.inspectOpts.colors=this.useColors,uc.inspect(e,this.inspectOpts).split(`
7
+ `).map(t=>t.trim()).join(" ")};D0.O=function(e){return this.inspectOpts.colors=this.useColors,uc.inspect(e,this.inspectOpts)}});var z0=ft((jA,yf)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?yf.exports=T0():yf.exports=N0()});var bf,U0=k(()=>{bf="2.38.6"});function O0(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?O0(e.cause,t):t?null:e}var xf,v,H=k(()=>{U0();xf={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${bf}`},v=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=xf.getDocsUrl?.({...r,docsPath:n}),i=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...o?[`Details: ${o}`]:[],...xf.version?[`Version: ${xf.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=bf}walk(t){return O0(this,t)}}});var jn,fc,lc,dc,Oi=k(()=>{H();jn=class extends v{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 v{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 v{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 v{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 It=k(()=>{});function Y(e){return ce(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Nt=k(()=>{It()});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 nn=k(()=>{});var Hi,ji,Gi,hc=k(()=>{H();Hi=class extends v{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 v{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 v{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"?Or(e,{dir:t,size:r}):v5(e,{dir:t,size:r})}function Or(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 v5(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=k(()=>{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}),xo(r,{size:t.size})):r}function X(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=w5[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(ht(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 jn({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=C5.encode(e);return X(r,t)}var w5,C5,D=k(()=>{Oi();gc();Be();w5=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));C5=new TextEncoder});function zt(e,t={}){return typeof e=="number"||typeof e=="bigint"?k5(e,t):typeof e=="boolean"?S5(e,t):ce(e)?Fe(e,t):tr(e,t)}function S5(e,t={}){let r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(ht(r,{size:t.size}),xo(r,{size:t.size})):r}function H0(e){if(e>=Hr.zero&&e<=Hr.nine)return e-Hr.zero;if(e>=Hr.A&&e<=Hr.F)return e-(Hr.A-10);if(e>=Hr.a&&e<=Hr.f)return e-(Hr.a-10)}function Fe(e,t={}){let r=e;t.size&&(ht(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=H0(o.charCodeAt(a++)),m=H0(o.charCodeAt(a++));if(c===void 0||m===void 0)throw new v(`Invalid byte sequence ("${o[a-2]}${o[a-1]}" in "${o}").`);s[i]=c*16+m}return s}function k5(e,t){let r=E(e,t);return Fe(r)}function tr(e,t={}){let r=E5.encode(e);return typeof t.size=="number"?(ht(r,{size:t.size}),xo(r,{dir:"right",size:t.size})):r}var E5,Hr,Ue=k(()=>{H();It();gc();Be();D();E5=new TextEncoder;Hr={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 vf(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=k(()=>{Oi();Nt();nn()});function Gn(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=k(()=>{});function gt(e,t){let r={};return typeof e.authorizationList<"u"&&(r.authorizationList=A5(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=_5[e.type]),typeof e.value<"u"&&(r.value=E(e.value)),r}function A5(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 _5,vo=k(()=>{D();_5={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"}});var 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,S4,k4,I4,_4,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,nT,sT,iT,aT,cT,mT,uT,pT,fT,lT,dT,hT,gT,yT,bT,xT,vT,Vn,Ef=k(()=>{FP=2n**(8n-1n)-1n,MP=2n**(16n-1n)-1n,DP=2n**(24n-1n)-1n,NP=2n**(32n-1n)-1n,zP=2n**(40n-1n)-1n,LP=2n**(48n-1n)-1n,UP=2n**(56n-1n)-1n,OP=2n**(64n-1n)-1n,HP=2n**(72n-1n)-1n,jP=2n**(80n-1n)-1n,GP=2n**(88n-1n)-1n,VP=2n**(96n-1n)-1n,qP=2n**(104n-1n)-1n,KP=2n**(112n-1n)-1n,WP=2n**(120n-1n)-1n,JP=2n**(128n-1n)-1n,ZP=2n**(136n-1n)-1n,YP=2n**(144n-1n)-1n,XP=2n**(152n-1n)-1n,QP=2n**(160n-1n)-1n,e4=2n**(168n-1n)-1n,t4=2n**(176n-1n)-1n,r4=2n**(184n-1n)-1n,o4=2n**(192n-1n)-1n,n4=2n**(200n-1n)-1n,s4=2n**(208n-1n)-1n,i4=2n**(216n-1n)-1n,a4=2n**(224n-1n)-1n,c4=2n**(232n-1n)-1n,m4=2n**(240n-1n)-1n,u4=2n**(248n-1n)-1n,p4=2n**(256n-1n)-1n,f4=-(2n**(8n-1n)),l4=-(2n**(16n-1n)),d4=-(2n**(24n-1n)),h4=-(2n**(32n-1n)),g4=-(2n**(40n-1n)),y4=-(2n**(48n-1n)),b4=-(2n**(56n-1n)),x4=-(2n**(64n-1n)),v4=-(2n**(72n-1n)),w4=-(2n**(80n-1n)),C4=-(2n**(88n-1n)),E4=-(2n**(96n-1n)),S4=-(2n**(104n-1n)),k4=-(2n**(112n-1n)),I4=-(2n**(120n-1n)),_4=-(2n**(128n-1n)),A4=-(2n**(136n-1n)),P4=-(2n**(144n-1n)),T4=-(2n**(152n-1n)),$4=-(2n**(160n-1n)),R4=-(2n**(168n-1n)),B4=-(2n**(176n-1n)),F4=-(2n**(184n-1n)),M4=-(2n**(192n-1n)),D4=-(2n**(200n-1n)),N4=-(2n**(208n-1n)),z4=-(2n**(216n-1n)),L4=-(2n**(224n-1n)),U4=-(2n**(232n-1n)),O4=-(2n**(240n-1n)),H4=-(2n**(248n-1n)),j4=-(2n**(256n-1n)),G4=2n**8n-1n,V4=2n**16n-1n,q4=2n**24n-1n,K4=2n**32n-1n,W4=2n**40n-1n,J4=2n**48n-1n,Z4=2n**56n-1n,Y4=2n**64n-1n,X4=2n**72n-1n,Q4=2n**80n-1n,eT=2n**88n-1n,tT=2n**96n-1n,rT=2n**104n-1n,oT=2n**112n-1n,nT=2n**120n-1n,sT=2n**128n-1n,iT=2n**136n-1n,aT=2n**144n-1n,cT=2n**152n-1n,mT=2n**160n-1n,uT=2n**168n-1n,pT=2n**176n-1n,fT=2n**184n-1n,lT=2n**192n-1n,dT=2n**200n-1n,hT=2n**208n-1n,gT=2n**216n-1n,yT=2n**224n-1n,bT=2n**232n-1n,xT=2n**240n-1n,vT=2n**248n-1n,Vn=2n**256n-1n});function Pe(e){return typeof e[0]=="string"?Oe(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 Oe(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}var at=k(()=>{});var Ki,qn,xc,Sf=k(()=>{H();Ki=class extends v{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}},qn=class extends v{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}},xc=class extends v{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function Kn(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(T5);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var T5,vc=k(()=>{Sf();T5={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 qn({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,W0,Cc=k(()=>{wc={gwei:9,wei:18},W0={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 kf=k(()=>{});function Wn(e,t="wei"){return Ec(e,wc[t])}var Sc=k(()=>{Cc();kf()});function Me(e,t="wei"){return Ec(e,W0[t])}var Jn=k(()=>{Cc();kf()});function an(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 kc,Ic,_c,Ac,Pc,Zn,Yn,Xn,Tc,_t=k(()=>{Sc();Jn();H();kc=class extends v{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"})}},Ic=class extends v{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}},_c=class extends v{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",an(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 v{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 v{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=an({chain:n&&`${n?.name} (id: ${n?.id})`,from:r?.address,to:p,value:typeof f<"u"&&`${Wn(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}},Zn=class extends v{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"})}},Yn=class extends v{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"})}},Xn=class extends v{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 v{constructor({hash:t}){super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}});function B5(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function If(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function cn(e,...t){if(!B5(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 os(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){cn(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function Z0(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function wo(...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 M5(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function D5(e){for(let t=0;t<e.length;t++)e[t]=M5(e[t]);return e}function N5(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=N5(e)),cn(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 F5,_f,rs,Fc=k(()=>{F5=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;_f=F5?e=>e:D5;rs=class{}});function L5(e,t=!1){return t?{h:Number(e&Dc),l:Number(e>>Q0&Dc)}:{h:Number(e>>Q0&Dc)|0,l:Number(e&Dc)|0}}function eh(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}=L5(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var Dc,Q0,th,rh,oh,nh,sh=k(()=>{Dc=BigInt(4294967295),Q0=BigInt(32);th=(e,t,r)=>e<<r|t>>>32-r,rh=(e,t,r)=>t<<r|e>>>32-r,oh=(e,t,r)=>t<<r-32|e>>>64-r,nh=(e,t,r)=>e<<r-32|t>>>64-r});var ne,nr=k(()=>{H();ne=class extends v{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 mn,jc,Gc,Ji,un,Zi=k(()=>{H();mn=class extends v{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 v{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 v{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 v{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}},un=class extends v{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}});var Gr,Lt,ss,is,as,cs,ms,us,ps,fs,dr,Ut,Eo=k(()=>{Jn();H();Gr=class extends v{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(Gr,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(Gr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});Lt=class extends v{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/});ss=class extends v{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(ss,"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/});is=class extends v{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(is,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});as=class extends v{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(as,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});cs=class extends v{constructor({cause:t,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}exceeds the maximum allowed nonce.`,{cause:t,name:"NonceMaxValueError"})}};Object.defineProperty(cs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});ms=class extends v{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(ms,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});us=class extends v{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(us,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});ps=class extends v{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(ps,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});fs=class extends v{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}};Object.defineProperty(fs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});dr=class extends v{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 v{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}});var Ot,ls=k(()=>{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 Z5(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=ph(m,u,1)^r[a],f=fh(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=dh[i],c=ph(n,s,a),m=fh(n,s,a),u=lh[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]^=W5[o],e[1]^=J5[o]}wo(r)}var j5,Yi,G5,V5,q5,K5,lh,dh,hh,gh,W5,J5,ph,fh,Af,Y5,Vc,Pf=k(()=>{sh();Fc();j5=BigInt(0),Yi=BigInt(1),G5=BigInt(2),V5=BigInt(7),q5=BigInt(256),K5=BigInt(113),lh=[],dh=[],hh=[];for(let e=0,t=Yi,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],lh.push(2*(5*o+r)),dh.push((e+1)*(e+2)/2%64);let n=j5;for(let s=0;s<7;s++)t=(t<<Yi^(t>>V5)*K5)%q5,t&G5&&(n^=Yi<<(Yi<<BigInt(s))-Yi);hh.push(n)}gh=eh(hh,!0),W5=gh[0],J5=gh[1],ph=(e,t,r)=>r>32?oh(e,t,r):th(e,t,r),fh=(e,t,r)=>r>32?nh(e,t,r):rh(e,t,r);Af=class e extends rs{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,If(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=Z0(this.state)}clone(){return this._cloneInto()}keccak(){_f(this.state32),Z5(this.state32,this.rounds),_f(this.state32),this.posOut=0,this.pos=0}update(t){os(this),t=Wi(t),cn(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){os(this,!1),cn(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 If(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,wo(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}},Y5=(e,t,r)=>Bc(()=>new Af(t,e,r)),Vc=Y5(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=k(()=>{Pf();It();Ue();D()});function Vr(e,t){if(Tf.has(`${e}.${t}`))return Tf.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 Tf.set(`${e}.${t}`,s),s}function ds(e,t){if(!ee(e,{strict:!1}))throw new ne({address:e});return Vr(e,t)}var Tf,So=k(()=>{nr();Ue();Ht();ls();At();Tf=new Ot(8192)});function ee(e,t){let{strict:r=!0}=t??{},o=`${e}.${r}`;if($f.has(o))return $f.get(o);let n=X5.test(e)?e.toLowerCase()===e?!0:r?Vr(e)===e:!0:!1;return $f.set(o,n),n}var X5,$f,At=k(()=>{ls();So();X5=/^0x[a-fA-F0-9]{40}$/,$f=new Ot(8192)});function jt(e,t,r,{strict:o}={}){return ce(e,{strict:!1})?qc(e,t,r,{strict:o}):Rf(e,t,r,{strict:o})}function yh(e,t){if(typeof t=="number"&&t>0&&t>Y(e)-1)throw new Hi({offset:t,position:"start",size:Y(e)})}function bh(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 Rf(e,t,r,{strict:o}={}){yh(e,t);let n=e.slice(t,r);return o&&bh(n,t,r),n}function qc(e,t,r,{strict:o}={}){yh(e,t);let n=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return o&&bh(n,t,r),n}var ko=k(()=>{hc();It();Nt()});function Gt({blockNumber:e,chain:t,contract:r}){let o=t?.contracts?.[r];if(!o)throw new mn({chain:t,contract:{name:r}});if(e&&o.blockCreated&&o.blockCreated>e)throw new mn({blockNumber:e,chain:t,contract:{name:r,blockCreated:o.blockCreated}});return o.address}var pn=k(()=>{Zi()});function j(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}var ve=k(()=>{});var Ih,Yc,_h,Xc=k(()=>{Ih={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"},_h={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=>m2(r,{includeName:t})).join(t?", ":","):""}function m2(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 qr=k(()=>{we()});var em,ra,gs,qt,tm,rm,om,nm,oa,ys,sm,bs,na,sr,xs,im,am,cm,ir,hr,mm,um,vs,Qc,we=k(()=>{qr();Nt();H();em=class extends v{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 v{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"})}},gs=class extends v{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 v{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}},tm=class extends v{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 v{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 v{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 v{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 v{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"})}},ys=class extends v{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 v{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}},bs=class extends v{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 v{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
+ `),{docsPath:r,name:"AbiEventNotFoundError"})}},sr=class extends v{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"})}},xs=class extends v{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 v{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 v{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 v{constructor({expectedSize:t,givenSize:r}){super(`Expected bytes${t}, got bytes${r}.`,{name:"BytesSizeMismatchError"})}},ir=class extends v{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 v{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 v{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 v{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"})}},vs=class extends v{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
32
+ `),{name:"InvalidArrayError"})}},Qc=class extends v{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
33
+ `),{name:"InvalidDefinitionTypeError"})}}});function Ah(e){return u2(e)}var u2,Ph=k(()=>{Ue();Ht();u2=e=>se(zt(e))});var Th,$h=k(()=>{Th="1.1.0"});var Ie,ws=k(()=>{$h();Ie=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@${Th}`].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 Ff,Mf,pm,sa=k(()=>{Ff=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Mf=/^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(Rh.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(Rh,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 Rh,Bh=k(()=>{sa();Rh=/^tuple(?<array>(\[(\d*)\])*)$/});function Kr(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 Df=k(()=>{Bh()});function fn(e){return e.type==="function"?`function ${e.name}(${Kr(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${Kr(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${Kr(e.inputs)})`:e.type==="error"?`error ${e.name}(${Kr(e.inputs)})`:e.type==="constructor"?`constructor(${Kr(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}var Fh=k(()=>{Df()});function Dh(e){return Mh.test(e)}function Nh(e){return Pt(Mh,e)}function Lh(e){return zh.test(e)}function Uh(e){return Pt(zh,e)}function Hh(e){return Oh.test(e)}function jh(e){return Pt(Oh,e)}function Io(e){return Gh.test(e)}function Vh(e){return Pt(Gh,e)}function Kh(e){return qh.test(e)}function Wh(e){return Pt(qh,e)}function Zh(e){return Jh.test(e)}function Yh(e){return Pt(Jh,e)}function Xh(e){return p2.test(e)}var Mh,zh,Oh,Gh,qh,Jh,p2,Nf,Qh,lm,Cs=k(()=>{sa();Mh=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;zh=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;Oh=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;Gh=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;qh=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;Jh=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;p2=/^receive\(\) external payable$/;Nf=new Set(["memory","indexed","storage","calldata"]),Qh=new Set(["indexed"]),lm=new Set(["calldata","memory","storage"])});var dm,hm,gm,ym=k(()=>{ws();dm=class extends Ie{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 Ie{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 Ie{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,Sm=k(()=>{ws();bm=class extends Ie{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 Ie{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},vm=class extends Ie{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 Ie{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 Ie{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 Ie{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,km,Im,zf=k(()=>{ws();gr=class extends Ie{constructor({signature:t,type:r}){super(`Invalid ${r} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}},km=class extends Ie{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},Im=class extends Ie{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 _m,eg=k(()=>{ws();_m=class extends Ie{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,tg=k(()=>{ws();Am=class extends Ie{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 rg(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,og=k(()=>{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(Hh(e))return f2(e,t);if(Lh(e))return l2(e,t);if(Dh(e))return d2(e,t);if(Kh(e))return h2(e,t);if(Zh(e))return g2(e);if(Xh(e))return{type:"receive",stateMutability:"payable"};throw new km({signature:e})}function f2(e,t={}){let r=jh(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 l2(e,t={}){let r=Uh(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:Qh,structs:t,type:"event"}));return{name:r.name,type:"event",inputs:n}}function d2(e,t={}){let r=Nh(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 h2(e,t={}){let r=Wh(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 g2(e){let t=Yh(e);if(!t)throw new gr({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}function ar(e,t){let r=rg(e,t?.type,t?.structs);if(Pm.has(r))return Pm.get(r);let o=pm.test(e),n=Pt(o?b2:y2,e);if(!n)throw new xm({param:e});if(n.name&&w2(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(x2.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,t?.type!=="struct"&&!Lf(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)&&!C2(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 Lf(e){return e==="address"||e==="bool"||e==="function"||e==="string"||Ff.test(e)||Mf.test(e)}function w2(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||Ff.test(e)||Mf.test(e)||v2.test(e)}function C2(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}var y2,b2,x2,v2,Es=k(()=>{sa();ym();Sm();zf();tg();og();Cs();y2=/^(?<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$_]*))?$/,b2=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,x2=/^u?int$/;v2=/^(?: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 Ss(e){let t={},r=e.length;for(let i=0;i<r;i++){let a=e[i];if(!Io(a))continue;let c=Vh(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 Im({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]=ng(c,t)}return o}function ng(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(E2,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 _m({type:u});o.push({...i,type:`tuple${m??""}`,components:ng(t[u]??[],t,new Set([...r,u]))})}else if(Lf(u))o.push(i);else throw new hm({type:u})}}return o}var E2,Tm=k(()=>{sa();ym();Sm();zf();eg();Cs();Es();E2=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/});function $m(e){let t=Ss(e),r=[],o=e.length;for(let n=0;n<o;n++){let s=e[n];Io(s)||r.push(ia(s,t))}return r}var sg=k(()=>{Cs();Tm();Es()});function Rm(e){let t;if(typeof e=="string")t=ia(e);else{let r=Ss(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(!Io(s)){t=ia(s,r);break}}}if(!t)throw new dm({signature:e});return t}var ig=k(()=>{ym();Cs();Tm();Es()});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:Nf}))}else{let r=Ss(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(Io(s))continue;let i=yt(s),a=i.length;for(let c=0;c<a;c++)t.push(ar(i[c],{modifiers:Nf,structs:r}))}}if(t.length===0)throw new bm({params:e});return t}var ag=k(()=>{Sm();Cs();Tm();Es();Es()});var aa=k(()=>{Fh();Df();sg();ig();ag()});function mg(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 v("Unable to normalize signature.");return n}var ug=k(()=>{H()});var pg,fg=k(()=>{aa();ug();pg=e=>{let t=typeof e=="string"?e:fn(e);return mg(t)}});function Fm(e){return Ah(pg(e))}var Uf=k(()=>{Ph();fg()});var yr,ks=k(()=>{ko();Uf();yr=e=>jt(Fm(e),0,4)});function lg(e,t={}){typeof t.size<"u"&&ht(e,{size:t.size});let r=X(e,t);return ae(r,t)}function dg(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 hg(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 gg=k(()=>{Oi();nn();Be();D()});var yg,Mm,Of=k(()=>{yg=/^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=S2({params:e,values:t}),o=jf(r);return o.length===0?"0x":o}function S2({params:e,values:t}){let r=[];for(let o=0;o<e.length;o++)r.push(Hf({param:e[o],value:t[o]}));return r}function Hf({param:e,value:t}){let r=Dm(e.type);if(r){let[o,n]=r;return I2(t,{length:o,param:{...e,type:n}})}if(e.type==="tuple")return $2(t,{param:e});if(e.type==="address")return k2(t);if(e.type==="bool")return A2(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){let o=e.type.startsWith("int"),[,,n="256"]=Mm.exec(e.type)??[];return P2(t,{signed:o,size:Number(n)})}if(e.type.startsWith("bytes"))return _2(t,{param:e});if(e.type==="string")return T2(t);throw new mm(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function jf(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 k2(e){if(!ee(e))throw new ne({address:e});return{dynamic:!1,encoded:Or(e.toLowerCase())}}function I2(e,{length:t,param:r}){let o=t===null;if(!Array.isArray(e))throw new vs(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=Hf({param:r,value:e[i]});a.dynamic&&(n=!0),s.push(a)}if(o||n){let i=jf(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 _2(e,{param:t}){let[,r]=t.type.split("bytes"),o=Y(e);if(!r){let n=e;return o%32!==0&&(n=Or(n,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Pe([Or(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:Or(e,{dir:"right"})}}function A2(e){if(typeof e!="boolean")throw new v(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Or(yc(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 jn({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 T2(e){let t=er(e),r=Math.ceil(Y(t)/32),o=[];for(let n=0;n<r;n++)o.push(Or(jt(t,n*32,(n+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Pe([Or(E(Y(t),{size:32})),...o])}}function $2(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=Hf({param:s,value:e[i]});o.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?jf(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 Wr=k(()=>{we();nr();H();Oi();At();at();gc();Nt();ko();D();Of()});function Jr(e,t){let r=typeof t=="string"?Fe(t):t,o=Kn(r);if(Y(r)===0&&e.length>0)throw new qt;if(Y(t)&&Y(t)<32)throw new gs({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]=Is(o,a,{staticPosition:0});n+=m,s.push(c)}return s}function Is(e,t,{staticPosition:r}){let o=Dm(t.type);if(o){let[n,s]=o;return B2(e,{...t,type:s},{length:n,staticPosition:r})}if(t.type==="tuple")return N2(e,t,{staticPosition:r});if(t.type==="address")return R2(e);if(t.type==="bool")return F2(e);if(t.type.startsWith("bytes"))return M2(e,t,{staticPosition:r});if(t.type.startsWith("uint")||t.type.startsWith("int"))return D2(e,t);if(t.type==="string")return z2(e,{staticPosition:r});throw new um(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function R2(e){let t=e.readBytes(32);return[Vr(X(Rf(t,-20))),32]}function B2(e,t,{length:r,staticPosition:o}){if(!r){let i=br(e.readBytes(Gf)),a=o+i,c=a+bg;e.setPosition(a);let m=br(e.readBytes(bg)),u=ca(t),p=0,f=[];for(let d=0;d<m;++d){e.setPosition(c+(u?d*32:p));let[h,g]=Is(e,t,{staticPosition:c});p+=g,f.push(h)}return e.setPosition(o+32),[f,32]}if(ca(t)){let i=br(e.readBytes(Gf)),a=o+i,c=[];for(let m=0;m<r;++m){e.setPosition(a+m*32);let[u]=Is(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]=Is(e,t,{staticPosition:o+n});n+=c,s.push(a)}return[s,n]}function F2(e){return[dg(e.readBytes(32),{size:32}),32]}function M2(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 D2(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?lg(n,{signed:r}):br(n,{signed:r}),32]}function N2(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(Gf)),a=r+i;for(let c=0;c<t.components.length;++c){let m=t.components[c];e.setPosition(a+s);let[u,p]=Is(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]=Is(e,a,{staticPosition:r});n[o?i:a?.name]=c,s+=m}return[n,s]}function z2(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=hg(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 bg,Gf,ma=k(()=>{we();So();vc();Nt();ko();nn();gg();Ue();D();Wr();bg=32,Gf=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,_h].find(i=>i.type==="error"&&o===yr(De(i)));if(!s)throw new ys(o,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:s,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Jr(s.inputs,jt(r,4)):void 0,errorName:s.name}}var Vf=k(()=>{Xc();we();ko();ks();ma();qr()});var W,et=k(()=>{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 qf({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 xg=k(()=>{et()});var _o,ua=k(()=>{Uf();_o=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"?_o(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?Kf(m,p):!1})){if(i&&"inputs"in i&&i.inputs){let m=vg(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 Kf(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)=>Kf(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=>Kf(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function vg(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 vg(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 Ao=k(()=>{we();It();At();ua();ks()});function wg(e){return e.reduce((t,{slot:r,value:o})=>`${t} ${r}: ${o}
35
+ `,"")}function Cg(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+=gg(o.state)),o.stateDiff&&(n+=` stateDiff:
41
- `,n+=gg(o.stateDiff)),n},` State Override:
42
- `).slice(0,-1)}var Nm,zm,Gf=k(()=>{H();Nm=class extends x{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}},zm=class extends x{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}});var bg,un,Lm=k(()=>{bg=e=>e,un=e=>e});var _s,As,pn,Um,Om,xr,ko=k(()=>{ve();Yc();Of();Vr();dg();So();Ec();Jn();we();H();Gf();_t();Lm();_s=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"&&`${Wn(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}},As=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=Dm({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 ys&&(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}},Um=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"})}},Om=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,ua,fn=k(()=>{et();H();Lm();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}},ua=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,Ps,Ts,$s,Rs,Jr,vr,Bs,Fs,Ms,_o,ln,Ds,dn,Ns,zs,Ls,Us,Os,Ao,Hs,js,Gs,Vs,qs,Po,Hm,Ks=k(()=>{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}},Ps=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(Ps,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});Ts=class e extends tt{constructor(t){super(t,{code:e.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}};Object.defineProperty(Ts,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});$s=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($s,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});Rs=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(Rs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});Jr=class e extends tt{constructor(t){super(t,{code:e.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}};Object.defineProperty(Jr,"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});Bs=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(Bs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});Fs=class e extends tt{constructor(t){super(t,{code:e.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}};Object.defineProperty(Fs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});Ms=class e extends tt{constructor(t){super(t,{code:e.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}};Object.defineProperty(Ms,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});_o=class e extends tt{constructor(t,{method:r}={}){super(t,{code:e.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}};Object.defineProperty(_o,"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});Ds=class e extends tt{constructor(t){super(t,{code:e.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}};Object.defineProperty(Ds,"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});Ns=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(Ns,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});zs=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(zs,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});Ls=class e extends mt{constructor(t){super(t,{code:e.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}};Object.defineProperty(Ls,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});Us=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(Us,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});Os=class e extends mt{constructor(t){super(t,{code:e.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}};Object.defineProperty(Os,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});Ao=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(Ao,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});Hs=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(Hs,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});js=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(js,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});Gs=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(Gs,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});Vs=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(Vs,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});qs=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(qs,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});Po=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(Po,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});Hm=class extends tt{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}});function To(e,t){let r=(e.details||"").toLowerCase(),o=e instanceof x?e.walk(n=>n?.code===jr.code):e;return o instanceof x?new jr({cause:e,message:o.details}):jr.nodeMessage.test(r)?new jr({cause:e,message:e.details}):Lt.nodeMessage.test(r)?new Lt({cause:e,maxFeePerGas:t?.maxFeePerGas}):ss.nodeMessage.test(r)?new ss({cause:e,maxFeePerGas:t?.maxFeePerGas}):is.nodeMessage.test(r)?new is({cause:e,nonce:t?.nonce}):as.nodeMessage.test(r)?new as({cause:e,nonce:t?.nonce}):cs.nodeMessage.test(r)?new cs({cause:e,nonce:t?.nonce}):ms.nodeMessage.test(r)?new ms({cause:e}):us.nodeMessage.test(r)?new us({cause:e,gas:t?.gas}):ps.nodeMessage.test(r)?new ps({cause:e,gas:t?.gas}):fs.nodeMessage.test(r)?new fs({cause:e}):dr.nodeMessage.test(r)?new dr({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Ut({cause:e})}var pa=k(()=>{H();xo()});function jm(e,{docsPath:t,...r}){let o=(()=>{let n=To(e,r);return n instanceof Ut?e:n})();return new _s(o,{docsPath:t,...r})}var Vf=k(()=>{ko();xo();pa()});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 Ws=k(()=>{});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>Vn)throw new Lt({maxFeePerGas:o});if(n&&o&&n>o)throw new dr({maxFeePerGas:o,maxPriorityFeePerGas:n})}var Zr=k(()=>{ve();xf();nr();xo();_t();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=k(()=>{we();ks();Vr();So();wg="/docs/contract/encodeFunctionData"});function pe(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=k(()=>{at();Kr();Eg()});function _g(e){if(!(!e||e.length===0))return e.reduce((t,{slot:r,value:o})=>{if(r.length!==66)throw new ji({size:r.length,targetSize:66,type:"hex"});if(o.length!==66)throw new ji({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=_g(o)),n!==void 0){if(i.state)throw new zm;i.stateDiff=_g(n)}return i}function Js(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 Nm({address:r});t[r]=R2(o)}return t}var Ym=k(()=>{nr();dc();Gf();At();D()});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=k(()=>{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 xs(s.name,{docsPath:Kf});let i=Wr(s.outputs,n);if(i&&i.length>1)return i;if(i&&i.length===1)return i[0]}var Kf,Fo=k(()=>{we();ca();So();Kf="/docs/contract/decodeFunctionResult"});var Bg,Fg=k(()=>{Bg="0.1.1"});function Mg(){return Bg}var Dg=k(()=>{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 M,wt=k(()=>{Dg();M=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 ri(e,t){if(Jt(e)>t)throw new ru({givenSize:Jt(e),maxSize:t})}function zg(e,t){if(typeof t=="number"&&t>0&&t>Jt(e)-1)throw new la({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 la({offset:r,position:"end",size:Jt(e)})}function Wf(e){if(e>=Yr.zero&&e<=Yr.nine)return e-Yr.zero;if(e>=Yr.A&&e<=Yr.F)return e-(Yr.A-10);if(e>=Yr.a&&e<=Yr.f)return e-(Yr.a-10)}function Ug(e,t={}){let{dir:r,size:o=32}=t;if(o===0)return e;if(e.length>o)throw new ou({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 Yr,Og=k(()=>{Mo();Yr={zero:48,nine:57,A:65,F:70,a:97,f:102}});function oi(e,t){if(de(e)>t)throw new nu({givenSize:de(e),maxSize:t})}function Hg(e,t){if(typeof t=="number"&&t>0&&t>de(e)-1)throw new da({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 da({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 su({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=k(()=>{je()});function Do(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,ha=k(()=>{D2="#__bigint"});import{equalBytes as l7}from"@noble/curves/abstract/utils";function L2(e){if(!(e instanceof Uint8Array)){if(!e)throw new ni(e);if(typeof e!="object")throw new ni(e);if(!("BYTES_PER_ELEMENT"in e))throw new ni(e);if(e.BYTES_PER_ELEMENT!==1||e.constructor.name!=="Uint8Array")throw new ni(e)}}function qg(e){return e instanceof Uint8Array?e:typeof e=="string"?si(e):U2(e)}function U2(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function si(e,t={}){let{size:r}=t,o=e;r&&(oi(e,r),o=kr(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 M(`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"?(ri(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"&&ri(e,r);let o=_e(e,t);return el(o,t)}function Zg(e,t={}){let{size:r}=t,o=e;if(typeof r<"u"&&(ri(o,r),o=Qf(o)),o.length>1||o[0]>1)throw new Xf(o);return!!o[0]}function Sr(e,t={}){let{size:r}=t;typeof r<"u"&&ri(e,r);let o=_e(e,t);return au(o,t)}function Yg(e,t={}){let{size:r}=t,o=e;return typeof r<"u"&&(ri(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,ni,ru,la,ou,Mo=k(()=>{wt();je();Og();Yf();ha();N2=new TextDecoder,z2=new TextEncoder;Xf=class extends M{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"})}},ni=class extends M{constructor(t){super(`Value \`${typeof t=="object"?Do(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"})}},ru=class extends M{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"})}},la=class extends M{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"})}},ou=class extends M{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 h7}from"@noble/curves/abstract/utils";function V2(e,t={}){let{strict:r=!1}=t;if(!e)throw new cu(e);if(typeof e!="string")throw new cu(e);if(r&&!/^0x[0-9a-fA-F]*$/.test(e))throw new mu(e);if(!e.startsWith("0x"))throw new mu(e)}function xe(...e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}function ii(e){return e instanceof Uint8Array?_e(e):Array.isArray(e)?_e(new Uint8Array(e)):e}function uu(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(oi(r,t.size),Xr(r,t.size)):r}function _e(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"?(oi(o,t.size),kr(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 ga({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?Xr(c,o):c}function ai(e,t={}){return _e(j2.encode(e),t)}function Xr(e,t){return Zf(e,{dir:"left",size:t})}function kr(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&&oi(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 au(e,t={}){let{signed:r,size:o}=t;return Number(!r&&!o?e:el(e,t))}function ya(e,t={}){let{strict:r=!1}=t;try{return V2(e,{strict:r}),!0}catch{return!1}}var j2,G2,ga,cu,mu,nu,da,su,je=k(()=>{wt();Yf();ha();j2=new TextEncoder,G2=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));ga=class extends M{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"})}},cu=class extends M{constructor(t){super(`Value \`${typeof t=="object"?Do(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"})}},mu=class extends M{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"})}},nu=class extends M{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"})}},da=class extends M{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"})}},su=class extends M{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=k(()=>{je()});function pu(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=k(()=>{je();ey()});var yn,fu,ry,lu,oy,ol,nl,sl,il,No=k(()=>{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"}],fu=[{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"}],lu=[...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=k(()=>{ny="0x82ad56cb"});var du,iy,ay,ci,ba=k(()=>{du="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",iy="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",ay="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",ci="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 Qc({docsPath:al});if(!("inputs"in n))throw new ta({docsPath:al});if(!n.inputs||n.inputs.length===0)throw new ta({docsPath:al});let s=ct(n.inputs,r);return Oe([o,s])}var al,hu=k(()=>{we();at();Kr();al="/docs/contract/encodeDeployData"});function mi(){let e=()=>{},t=()=>{};return{promise:new Promise((o,n)=>{e=o,t=n}),resolve:e,reject:t}}var gu=k(()=>{});function yu({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}=mi();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=k(()=>{gu();cl=new Map});var bu,xu,vu,cy=k(()=>{et();H();Lm();bu=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"})}},xu=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"})}},vu=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 sm(o,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:n.name,args:"inputs"in n&&n.inputs&&n.inputs.length>0?Wr(n.inputs,jt(r,4)):void 0}}var uy=k(()=>{we();wo();ks();ca();Vr()});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 ra(r,{docsPath:ul});n=c}if(n.type!=="error")throw new ra(void 0,{docsPath:ul});let s=De(n),i=yr(s),a="0x";if(o&&o.length>0){if(!n.inputs)throw new om(n.name,{docsPath:ul});a=ct(n.inputs,o)}return Oe([i,a])}var ul,py=k(()=>{we();at();ks();Kr();Vr();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 xs(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 vs(o)})();return ct(n.outputs,s)}var fl,ly=k(()=>{we();Kr();So();fl="/docs/contract/encodeFunctionResult"});async function ll(e){let{data:t,ccipRequest:r}=e,{args:[o]}=my({abi:fu,data:t}),n=[],s=[];return await Promise.all(o.map(async(i,a)=>{try{s[a]=i.urls.includes(Qr)?await ll({data:i.data,ccipRequest:r}):await r(i),n[a]=!1}catch(c){n[a]=!0,s[a]=K2(c)}})),fy({abi:fu,functionName:"query",result:[n,s]})}function K2(e){return e.name==="HttpRequestError"&&e.status?pl({abi:fu,errorName:"HttpError",args:[e.status,e.shortMessage]}):pl({abi:[Zc],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}var Qr,xa=k(()=>{No();Yc();uy();py();ly();Qr="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}=Dm({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 vu({sender:i,to:n});let d=a.includes(Qr)?await ll({data:c,ccipRequest:f}):await f({data:c,sender:i,urls:a}),{data:h}=await Ir(e,{blockNumber:t,blockTag:r,data:Pe([m,ct([{type:"bytes"},{type:"bytes"}],[d,u])]),to:n});return h}catch(d){throw new bu({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 xu({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=k(()=>{ui();cy();fn();Of();Kr();hn();at();It();xa();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 Ir(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:S,value:I,stateOverride:A,..._}=t,B=r?j(r):void 0;if(u&&(f||d))throw new x("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(u&&S)throw new x("Cannot provide both `code` & `to` as parameters.");let R=u&&p,F=f&&d&&S&&p,O=R||F,G=R?by({code:u,data:p}):F?X2({data:p,factory:f,factoryData:d,to:S}):p;try{rt(t);let me=(typeof s=="bigint"?E(s):void 0)||i,Ae=m?pu(m):void 0,qe=Js(A),Mt=e.chain?.formatters?.transactionRequest?.format,ke=(Mt||gt)({...wr(_,{format:Mt}),accessList:a,account:B,authorizationList:o,blobs:c,data:G,gas:h,gasPrice:g,maxFeePerBlobGas:b,maxFeePerGas:y,maxPriorityFeePerGas:v,nonce:C,to:O?void 0:S,value:I},"call");if(n&&Z2({request:ke})&&!qe&&!Ae)try{return await Y2(e,{...ke,blockNumber:s,blockTag:i})}catch(ue){if(!(ue instanceof Wi)&&!(ue instanceof sn))throw ue}let lr=(()=>{let ue=[ke,me];return qe&&Ae?[...ue,qe,Ae]:qe?[...ue,qe]:Ae?[...ue,{},Ae]:ue})(),po=await e.request({method:"eth_call",params:lr});return po==="0x"?{data:void 0}:{data:po}}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&&S)return{data:await Ae(e,{data:me,to:S})};throw O&&me?.slice(0,10)==="0x101bb98d"?new Om({factory:f}):jm(V,{...t,account:B,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 Wi})(),p=(typeof s=="bigint"?E(s):void 0)||i,{schedule:f}=yu({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=pe({abi:yn,args:[b],functionName:"aggregate3"}),v=await e.request({method:"eth_call",params:[{...m===null?{data:by({code:ci,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:Tm(["constructor(bytes, bytes)"]),bytecode:du,args:[t,r]})}function X2(e){let{data:t,factory:r,factoryData:o,to:n}=e;return bn({abi:Tm(["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 ui=k(()=>{ia();rl();ve();No();sy();ba();H();Ji();ko();Fo();hu();Tt();cn();D();Vf();Ws();go();ml();Ym();Zr()});var nd=ft(Ma=>{"use strict";var C8=Ma&&Ma.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ma,"__esModule",{value:!0});Ma.encryptEnvVars=k8;var rd=Lr("@noble/curves/ed25519"),od=C8(Lr("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 S8(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}async function k8(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),S8(u)}});var dx=ft(Da=>{"use strict";var I8=Da&&Da.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Da,"__esModule",{value:!0});Da.getComposeHash=T8;var _8=I8(Lr("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 _8.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 bp=BigInt(2**32-1),id=BigInt(32);function ad(e,t=!1){return t?{h:Number(e&bp),l:Number(e>>id&bp)}:{h:Number(e>>id&bp)|0,l:Number(e&bp)|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 Sx=(e,t)=>e;U.rotr32L=Sx;var kx=(e,t,r)=>e<<r|t>>>32-r;U.rotlSH=kx;var Ix=(e,t,r)=>t<<r|e>>>32-r;U.rotlSL=Ix;var _x=(e,t,r)=>t<<r-32|e>>>64-r;U.rotlBH=_x;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:Sx,rotlSH:kx,rotlSL:Ix,rotlBH:_x,rotlBL:Ax,add:Px,add3L:Tx,add3H:$x,add4L:Rx,add4H:Bx,add5H:Mx,add5L:Fx};U.default=$8});var Nx=ft(xp=>{"use strict";Object.defineProperty(xp,"__esModule",{value:!0});xp.crypto=void 0;var Vo=Lr("crypto");xp.crypto=Vo&&typeof Vo=="object"&&"webcrypto"in Vo?Vo.webcrypto:Vo&&typeof Vo=="object"&&"randomBytes"in Vo?Vo: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=Si;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=vp;N.kdfInputToBytes=K8;N.concatBytes=W8;N.checkOpts=J8;N.createHasher=Hx;N.createOptHasher=jx;N.createXOFer=Gx;N.randomBytes=Z8;var Ei=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 Si(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){Si(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(Si(e),Ox)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=O8[e[r]];return t}var ro={_0:48,_9:57,A:65,F:70,a:97,f:102};function zx(e){if(e>=ro._0&&e<=ro._9)return e-ro._0;if(e>=ro.A&&e<=ro.F)return e-(ro.A-10);if(e>=ro.a&&e<=ro.f)return e-(ro.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 vp(e){return typeof e=="string"&&(e=pd(e)),Si(e),e}function K8(e){return typeof e=="string"&&(e=pd(e)),Si(e),e}function W8(...e){let t=0;for(let o=0;o<e.length;o++){let n=e[o];Si(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(vp(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(vp(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(vp(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(Ei.crypto&&typeof Ei.crypto.getRandomValues=="function")return Ei.crypto.getRandomValues(new Uint8Array(e));if(Ei.crypto&&typeof Ei.crypto.randomBytes=="function")return Uint8Array.from(Ei.crypto.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}});var e1=ft(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=Xx;var za=Dx(),st=Vx(),Y8=BigInt(0),Na=BigInt(1),X8=BigInt(2),Q8=BigInt(7),eE=BigInt(256),tE=BigInt(113),Wx=[],Jx=[],Zx=[];for(let e=0,t=Na,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<<Na^(t>>Q8)*tE)%eE,t&X8&&(n^=Na<<(Na<<BigInt(s))-Na);Zx.push(n)}var Yx=(0,za.split)(Zx,!0),rE=Yx[0],oE=Yx[1],qx=(e,t,r)=>r>32?(0,za.rotlBH)(e,t,r):(0,za.rotlSH)(e,t,r),Kx=(e,t,r)=>r>32?(0,za.rotlBL)(e,t,r):(0,za.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 La=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}};fe.Keccak=La;var qo=(e,t,r)=>(0,st.createHasher)(()=>new La(t,e,r));fe.sha3_224=qo(6,144,224/8);fe.sha3_256=qo(6,136,256/8);fe.sha3_384=qo(6,104,384/8);fe.sha3_512=qo(6,72,512/8);fe.keccak_224=qo(1,144,224/8);fe.keccak_256=qo(1,136,256/8);fe.keccak_384=qo(1,104,384/8);fe.keccak_512=qo(1,72,512/8);var Qx=(e,t,r)=>(0,st.createXOFer)((o={})=>new La(t,e,o.dkLen===void 0?r:o.dkLen,!0));fe.shake128=Qx(31,168,128/8);fe.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=Lr("@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 MI}from"zod";import qa from"chalk";function sc(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??sc(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"},zn=[Mw,Dw],Ln=[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??sc(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 Li(e,t,r={}){let o=[...zn,...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 ic(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 zn)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 ic({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 zn)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=[...zn,...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 SI from"path";import Ad from"fs-extra";import kI from"@iarna/toml";import{z as _p}from"zod";var i1=zi(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 Ko}from"zod";import{z as K}from"zod";import{z as Wo}from"zod";function en(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}yc();Be();yc();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=Gn("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 Gi(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=Gn("block",Gi);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();yc();var bf={"0x0":"reverted","0x1":"success"};function Vi(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=Gn("transactionReceipt",Vi);H();xc();Ue();D();function rr(e,t="hex"){let r=O0(e),o=Kn(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.")}_t();D();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",...Qn({},s)])}return t}Ue();D();function es(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();D();function ts(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))}D();Bc();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 Fc=class extends rs{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=$c(this.buffer)}update(t){os(this),t=Ki(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=$c(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){os(this),Tc(t,this),this.finished=!0;let{buffer:r,view:o,blockLen:n,isLE:s}=this,{pos:i}=this;r[i++]=128,yo(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=$c(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()}},Hr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Bc();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]),bo=new Uint32Array(64),Dc=class extends Fc{constructor(t=32){super(64,t,8,!1),this.A=Hr[0]|0,this.B=Hr[1]|0,this.C=Hr[2]|0,this.D=Hr[3]|0,this.E=Hr[4]|0,this.F=Hr[5]|0,this.G=Hr[6]|0,this.H=Hr[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)bo[p]=t.getUint32(r,!1);for(let p=16;p<64;p++){let f=bo[p-15],d=bo[p-2],h=or(f,7)^or(f,18)^f>>>3,g=or(d,17)^or(d,19)^d>>>10;bo[p]=g+bo[p-7]+h+bo[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]+bo[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(){yo(bo)}destroy(){this.set(0,0,0,0,0,0,0,0),yo(this.buffer)}};var th=Rc(()=>new Dc);var rh=th;It();Ue();D();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 Nc(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 zc=class extends x{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}},ns=class extends x{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}},Lc=class extends x{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}},Uc=class extends x{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${1}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}};xc();Nt();Ue();D();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 ns;if(o>761855)throw new zc({maxSize:761855,size:o});let n=[],s=!0,i=0;for(;s;){let a=Kn(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 Oc(e){let{data:t,kzg:r,to:o}=e,n=e.blobs??sh({data:t,to:o}),s=e.commitments??es({blobs:n,kzg:r,to:o}),i=e.proofs??ts({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();D();xf();nr();H();Ji();xo();At();Nt();wo();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})}qc(e)}function hh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new ns;for(let r of t){let o=Y(r),n=be(jt(r,0,1));if(o!==32)throw new Lc({hash:r,size:o});if(n!==1)throw new Uc({hash:r,version:n})}}qc(e)}function qc(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>Vn)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>Vn)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>Vn)throw new Lt({maxFeePerGas:o})}_t();function Kc(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();_t();At();function Yi(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 _c({storageKey:n[s]});if(!ee(o,{strict:!1}))throw new ne({address:o});t.push([o,n])}return t}function Wc(e,t){let r=Kc(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=Yi(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,...Qn(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(A=>X(A)),S=e.kzg,I=es({blobs:C,kzg:S});if(typeof f>"u"&&(f=Nc({commitments:I})),typeof d>"u"){let A=ts({blobs:C,commitments:I,kzg:S});d=Oc({blobs:C,commitments:I,proofs:A})}}let h=Yi(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??[],...Qn(e,t)],b=[],y=[],v=[];if(d)for(let C=0;C<d.length;C++){let{blob:S,commitment:I,proof:A}=d[C];b.push(S),y.push(I),v.push(A)}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;qc(e);let p=Yi(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,...Qn(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=Yi(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,...Qn(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 kc({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 Qn(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();D();function J5(e,t){return Y5(e)?Z5(e):Wc(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 Jc=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 Xi=1,Qi=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:{[Xi]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Xi]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Xi]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Xi]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:Xi}),Q5=en({...Qi,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://mainnet-preconf.base.org"]}}});Ji();function hs({chain:e,currentChainId:t}){if(!e)throw new jc;if(t!==e.id)throw new Hc({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 Gm=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 Se}from"zod";import{z as Bt}from"zod";import{z as T}from"zod";import{z as Ii}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 iS 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 DS}from"zod";import{z as o1}from"zod";import{z as Br}from"zod";import{z as Pi}from"zod";import{z as _n}from"zod";import{z as ik}from"zod";import{z as mk}from"zod";import{z as oe}from"zod";import{z as Tr}from"zod";import{z as Ek}from"zod";import{z as Ee}from"zod";import{z as L}from"zod";import{z as Ai}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 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)}we();H();var Vm=class extends x{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}};Ue();Ht();ma();Kr();Vr();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 oa(r,{docsPath:xg});n=c}if(n.type!=="event")throw new oa(void 0,{docsPath:xg});let s=De(n),i=Eo(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 Vm(e.type);return ct([e],[t])}D();function $o(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 qm(e,t){let{address:r,abi:o,args:n,eventName:s,fromBlock:i,strict:a,toBlock:c}=t,m=$o(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();ko();fn();Ks();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 Um({functionName:s}):[$2,Jr.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 As(d,{abi:t,args:o,contractAddress:r,docsPath:n,functionName:s,sender:i})}ve();H();vo();Ht();function Km(e){let t=se(`0x${e.substring(4)}`).substring(26);return Gr(`0x${t}`)}It();Nt();Be();D();async function kg({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=Sg(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=Sg(a);return o.Signature.fromCompact(i.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function Sg(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 Wm({hash:e,signature:t}){return Km(await kg({hash:e,signature:t}))}at();Ue();D();Ht();function Jm(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 Ro(e){let{authorization:t,signature:r}=e;return Wm({hash:Jm(t),signature:r??t})}D();Ec();Jn();H();_t();var Zm=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"&&`${Wn(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}};xo();pa();function Ig(e,{docsPath:t,...r}){let o=(()=>{let n=To(e,r);return n instanceof Ut?e:n})();return new Zm(o,{docsPath:t,...r})}Ws();go();Ym();Zr();ve();Jn();H();var Xm=class extends x{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}},Bo=class extends x{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}},Qm=class extends x{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Me(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};Be();H();var Zs=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"})}};D();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 Zs({blockHash:t,blockNumber:r});return(e.chain?.formatters?.block?.format||Gi)(a,"getBlock")}async function Ys(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 P(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):P(e,ot,"getBlock")({}),P(e,Ys,"getGasPrice")({})]);if(typeof s.baseFeePerGas!="bigint")throw new Bo;let a=i-s.baseFeePerGas;return a<0n?0n:a}}async function Pg(e,t){return eu(e,t)}async function eu(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 Xm;let c=10**(i.toString().split(".")[1]?.length??0),m=f=>f*BigInt(Math.ceil(i*c))/BigInt(c),u=r||await P(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 Bo;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 P(e,Ys,"getGasPrice")({}))}}Be();D();async function Xs(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)}Zr();Be();async function xt(e){let t=await e.request({method:"eth_chainId"},{dedupe:!0});return be(t)}var fa=["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=fa,type:u}=t,p=r&&j(r),f={...t,...p?{from:p?.address}:{}},d;async function h(){return d||(d=await P(e,ot,"getBlock")({blockTag:"latest"}),d)}let g;async function b(){return g||(n?n.id:typeof t.chainId<"u"?t.chainId:(g=await P(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 P(e,Xs,"getTransactionCount")({address:p.address,blockTag:"pending"});if((m.includes("blobVersionedHashes")||m.includes("sidecars"))&&o&&i){let y=es({blobs:o,kzg:i});if(m.includes("blobVersionedHashes")){let v=Nc({commitments:y,to:"hex"});f.blobVersionedHashes=v}if(m.includes("sidecars")){let v=ts({blobs:o,commitments:y,kzg:i}),C=Oc({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=Kc(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 eu(e,{block:y,chain:n,request:f});if(typeof t.maxPriorityFeePerGas>"u"&&t.maxFeePerGas&&t.maxFeePerGas<C)throw new Qm({maxPriorityFeePerGas:C});f.maxPriorityFeePerGas=C,f.maxFeePerGas=v}}else{if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")throw new Bo;if(typeof t.gasPrice>"u"){let y=await h(),{gasPrice:v}=await eu(e,{block:y,chain:n,request:f,type:"legacy"});f.gasPrice=v}}return m.includes("gas")&&typeof s>"u"&&(f.gas=await P(e,Qs,"estimateGas")({...f,account:p,prepare:p?.type==="local"?[]:["blobVersionedHashes"]})),rt(f),delete f.parameters,f}async function Qs(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:S,...I}=o?await Er(e,{...t,parameters:s}):t,_=(typeof u=="bigint"?E(u):void 0)||p,B=Js(S),R=await(async()=>{if(I.to)return I.to;if(a&&a.length>0)return await Ro({authorization:a[0]}).catch(()=>{throw new x("`to` is required. Could not infer from `authorizationList`")})})();rt(t);let F=e.chain?.formatters?.transactionRequest?.format,G=(F||gt)({...wr(I,{format:F}),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:R,value:C},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:B?[G,_??e.experimental_blockTag??"latest",B]:_?[G,_]:[G]}))}catch(i){throw Ig(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=pe({abi:r,args:n,functionName:s});try{return await P(e,Qs,"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();ma();we();vf();Nt();ma();ca();Vr();var Rg="/docs/contract/decodeEventLog";function ei(e){let{abi:t,data:r,strict:o,topics:n}=e,s=o??!0,[i,...a]=n;if(!i)throw new nm({docsPath:Rg});let c=t.find(g=>g.type==="event"&&i===Eo(De(g)));if(!(c&&"name"in c)||c.type!=="event")throw new bs(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=Wr(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 gs||g instanceof qn?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:(Wr([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]===Eo(m));if(!a)return null;let c=ei({...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 bs)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}D();async function ti(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 tu(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 P(e,ti,"getLogs")({address:o,args:n,blockHash:s,event:u,events:p,fromBlock:a,toBlock:c,strict:m})}Fo();Tt();ui();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,Ir,"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();Fo();Tt();ui();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=pe({abi:r,args:n,functionName:i});try{let{data:u}=await P(e,Ir,"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();Ks();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 va(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 va(c);let m=async()=>{n&&(await e({unpoll:s}),await va(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 _r(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 zo(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 Lo(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 S,I=!1,A=Zt(async()=>{if(!I){try{S=await P(e,qm,"createContractEventFilter")({abi:r,address:o,args:n,eventName:i,strict:b,fromBlock:a})}catch{}I=!0;return}try{let _;if(S)_=await P(e,zo,"getFilterChanges")({filter:S});else{let B=await P(e,_r,"getBlockNumber")({});C&&C<B?_=await P(e,tu,"getContractEvents")({abi:r,address:o,args:n,eventName:i,fromBlock:C+1n,toBlock:B,strict:b}):_=[],C=B}if(_.length===0)return;if(s)v.onLogs(_);else for(let B of _)v.onLogs([B])}catch(_){S&&_ instanceof vr&&(I=!1),v.onError?.(_)}},{emitOnBegin:!0,interval:p});return async()=>{S&&await P(e,Lo,"uninstallFilter")({filter:S}),A()}})})():(()=>{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},S=>((async()=>{try{let I=(()=>{if(e.transport.type==="fallback"){let B=e.transport.transports.find(R=>R.config.type==="webSocket"||R.config.type==="ipc");return B?B.value:e.transport}return e.transport})(),A=i?Cr({abi:r,eventName:i,args:n}):[],{unsubscribe:_}=await I.subscribe({params:["logs",{address:o,topics:A}],onData(B){if(!v)return;let R=B.result;try{let{eventName:F,args:O}=ei({abi:r,data:R.data,topics:R.topics,strict:f}),G=Qe(R,{args:O,eventName:F});S.onLogs([G])}catch(F){let O,G;if(F instanceof ir||F instanceof hr){if(f)return;O=F.abiItem.name,G=F.abiItem.inputs?.some(me=>!("name"in me&&me.name))}let V=Qe(R,{args:G?[]:{},eventName:O});S.onLogs([V])}},onError(B){S.onError?.(B)}});C=_,v||C()}catch(I){c?.(I)}})(),()=>C()))})()}ve();Tt();ve();H();xo();_t();pa();function pi(e,{docsPath:t,...r}){let o=(()=>{let n=To(e,r);return n instanceof Ut?e:n})();return new Ac(o,{docsPath:t,...r})}Ws();go();ls();Zr();async function fi(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}var hl=new Ot(128);async function Uo(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 Ro({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,xt,"getChainId")({}),hs({currentChainId:C,chain:o}));let S=e.chain?.formatters?.transactionRequest?.format,A=(S||gt)({...wr(b,{format:S}),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"),_=hl.get(e.uid),B=_?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:B,params:[A]},{retryCount:0})}catch(R){if(_===!1)throw R;let F=R;if(F.name==="InvalidInputRpcError"||F.name==="InvalidParamsRpcError"||F.name==="MethodNotFoundRpcError"||F.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[A]},{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),F):G});throw F}}if(y?.type==="local"){let C=await P(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:[...fa,"sidecars"],type:h,value:g,...b,to:v}),S=o?.serializers?.transaction,I=await y.signTransaction(C,{serializer:S});return await P(e,fi,"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:pi(v,{...t,account:y,chain:t.chain||void 0})}}async function xn(e,t){return xn.internal(e,Uo,"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=pe({abi:i,args:m,functionName:p});try{return await P(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 wu=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}};gu();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 va(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();wo();tn();Be();ve();H();Ks();Tt();at();Be();D();var gl="0x5792579257925792579257925792579257925792579257925792579257925792",yl=E(0,{size:32});async function Cu(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?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 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 Ao(new x(v,{details:v}))}if(a&&p.length>1){let y="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new Po(new x(y,{details:y}))}let h=[];for(let y of p){let v=Uo(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 pi(f,{...t,account:u,chain:t.chain})}}async function Eu(e,t){async function r(u){if(u.endsWith(gl.slice(2))){let f=Le(Vc(u,-64,-32)),d=Vc(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}=mi(),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 P(e,Eu,"getCallsStatus")({id:r});if(c&&C.status==="failure")throw new wu(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 ku=256,Iu;function _u(e=11){if(!Iu||ku+e>256*2){Iu="",ku=0;for(let t=0;t<256;t++)Iu+=(256+Math.random()*256|0).toString(16).substring(1)}return Iu.substring(ku,ku+++e)}function Au(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:_u(),...a?{experimental_blockTag:a}:{}};function v(C){return S=>{let I=S(C);for(let _ in y)delete I[_];let A={...C,...I};return Object.assign(A,{extend:v(A)})}}return Object.assign(y,{extend:v(y)})}No();Fo();Tt();cn();tn();D();H();ko();function li(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}xa();at();Ue();D();Ht();It();function Pu(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 X(t);let r=e.split(".");for(let o=r.length-1;o>=0;o-=1){let n=Pu(r[o]),s=n?zt(n):se(tr(r[o]),"bytes");t=se(Pe([t,s]),"bytes")}return X(t)}Ue();function Sy(e){return`[${e.slice(2)}]`}Ue();D();Ht();function ky(e){let t=new Uint8Array(32).fill(0);return e?Pu(e)||se(tr(e)):X(t)}function di(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(Sy(ky(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 Iy(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?[wa(s),BigInt(n)]:[wa(s)];try{let f=pe({abi:nl,functionName:"addr",args:p}),d={address:m,abi:lu,functionName:"resolveWithGateways",args:[ie(di(s)),f,i??[Qr]],blockNumber:r,blockTag:o},g=await P(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(li(f))return null;throw f}}H();var Tu=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"})}},Oo=class extends x{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}},hi=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"})}},$u=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 _y(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=_y(t?.ipfs,"https://ipfs.io"),n=_y(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 hi({uri:e})}function vl(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new Tu({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 Ru({gatewayUrls:e,uri:vl(r)})}catch{throw new hi({uri:t})}}async function Ru({gatewayUrls:e,uri:t}){let{uri:r,isOnChain:o}=xl({uri:t,gatewayUrls:e});if(o||await cC(r))return r;throw new hi({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 Oo({reason:"Only EIP-155 supported"});if(!i)throw new Oo({reason:"Chain ID not found"});if(!c)throw new Oo({reason:"Contract address not found"});if(!n)throw new Oo({reason:"Token ID not found"});if(!a)throw new Oo({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 $u({namespace:t.namespace})}async function $y(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?mC(e,{gatewayUrls:t,record:r}):Ru({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 Ru({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)})}No();Fo();Tt();cn();D();xa();async function Bu(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:lu,args:[ie(di(s)),pe({abi:ol,functionName:"text",args:[wa(s),n]}),i??[Qr]],functionName:"resolveWithGateways",blockNumber:r,blockTag:o},d=await P(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(li(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 P(e,Bu,"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}}No();cn();xa();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??[Qr]],functionName:"reverseWithGateways",blockNumber:o,blockTag:n},p=P(e,Te,"readContract"),[f]=await p(u);return f||null}catch(u){if(a)throw u;if(li(u))return null;throw u}}cn();D();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 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:[ie(di(n))],blockNumber:r,blockTag:o});return c}ui();ve();D();Vf();Ws();go();Zr();async function Fu(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,S=(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:[S,y]});return{accessList:I.accessList,gasUsed:BigInt(I.gasUsed)}}catch(b){throw jm(b,{...t,account:g,chain:e.chain})}}async function My(e){let t=$o(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}D();async function Mu(e,{address:t,args:r,event:o,events:n,fromBlock:s,strict:i,toBlock:a}={}){let c=n??(o?[o]:void 0),m=$o(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 Du(e){let t=$o(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}D();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();D();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)}D();async function Ca(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 Nu=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 P(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 Nu({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"}];D();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}D();vo();hn();async function jy({address:e,authorization:t,signature:r}){return Wt(ds(e),await Ro({authorization:t,signature:r}))}H();fn();Ks();D();ls();var zu=new Ot(8192);function Gy(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(zu.get(r))return zu.get(r);let o=e().finally(()=>zu.delete(r));return zu.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 _o(new Error("method not supported"),{method:m});if(s?.include&&!s.include.includes(m))throw new _o(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 Ps.code:throw new Ps(f);case Ts.code:throw new Ts(f);case $s.code:throw new $s(f,{method:r.method});case Rs.code:throw new Rs(f);case Jr.code:throw new Jr(f);case vr.code:throw new vr(f);case Bs.code:throw new Bs(f);case Fs.code:throw new Fs(f);case Ms.code:throw new Ms(f);case _o.code:throw new _o(f,{method:r.method});case ln.code:throw new ln(f);case Ds.code:throw new Ds(f);case dn.code:throw new dn(f);case Ns.code:throw new Ns(f);case zs.code:throw new zs(f);case Ls.code:throw new Ls(f);case Us.code:throw new Us(f);case Os.code:throw new Os(f);case Ao.code:throw new Ao(f);case Hs.code:throw new Hs(f);case js.code:throw new js(f);case Gs.code:throw new Gs(f);case Vs.code:throw new Vs(f);case qs.code:throw new qs(f);case Po.code:throw new Po(f);case 5e3:throw new dn(f);default:throw p instanceof x?p:new Hm(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===Jr.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();D();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 ua({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 ua?f:new Kt({body:o,cause:f,url:e})}}}}Ht();var Wy=`Ethereum Signed Message:
52
- `;at();Nt();D();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 gi(e,t){return se(Jy(e),t)}Kr();at();D();Ht();we();nr();et();H();var Lu=class extends x{constructor({domain:t}){super(`Invalid domain "${W(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}},Uu=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`."]})}},Ou=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();D();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 Hu(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(Fm);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 am({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 Lu({domain:t});s(n.EIP712Domain,t)}if(o!=="EIP712Domain")if(n[o])s(n[o],r);else throw new Uu({primaryType:o,types:n})}function ju({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 Ou({type:e})}function Gu(e){let{domain:t={},message:r,primaryType:o}=e,n={EIP712Domain:ju({domain:t}),...e.types};Hu({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 Pa={};sf(Pa,{InvalidWrappedSignatureError:()=>sp,assert:()=>ip,from:()=>XC,magicBytes:()=>Kl,suffixParameters:()=>Wl,unwrap:()=>wb,validate:()=>e8,wrap:()=>QC});ia();Mo();var Vu=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 Vu(8192)},qu=yC.checksum;wt();kf();Mo();je();function wn(e,t={}){let{as:r=typeof e=="string"?"Hex":"Bytes"}=t,o=Gc(qg(e));return r==="Bytes"?o:_e(o)}Mo();wt();je();ha();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 Ku({prefix:o,cause:new kl});return}if(r===!0||typeof n=="bigint"&&typeof s>"u"){if(o!==3&&o!==2)throw new Ku({prefix:o,cause:new Sl});return}throw new El({publicKey:e})}function rb(e){let t=(()=>{if(ya(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(_e(e))}function ob(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new Il({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 _l(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 M{constructor({publicKey:t}){super(`Value \`${Do(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"})}},Ku=class extends M{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"})}},Sl=class extends M{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"})}},kl=class extends M{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}},Il=class extends M{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(ii(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 Wu({address:e,cause:new Al});if(r){if(e.toLowerCase()===e)return;if(Ju(e)!==e)throw new Wu({address:e,cause:new Pl})}}function Ju(e){if(qu.has(e))return qu.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 qu.set(e,n),n}function wC(e,t={}){let{checksum:r=!1}=t;return Cn(e),r?Ju(e):e}function sb(e,t={}){let r=wn(`0x${_l(e).slice(4)}`).substring(26);return wC(`0x${r}`,t)}function Zu(e,t={}){let{strict:r=!0}=t??{};try{return Cn(e,{strict:r}),!0}catch{return!1}}var Wu=class extends M{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 M{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 M{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}};Mo();wt();je();Mo();wt();je();var ib=/^(.*)\[([0-9]*)\]$/,ab=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Xu=/^(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)?$/,yj=2n**(8n-1n)-1n,bj=2n**(16n-1n)-1n,xj=2n**(24n-1n)-1n,vj=2n**(32n-1n)-1n,wj=2n**(40n-1n)-1n,Cj=2n**(48n-1n)-1n,Ej=2n**(56n-1n)-1n,Sj=2n**(64n-1n)-1n,kj=2n**(72n-1n)-1n,Ij=2n**(80n-1n)-1n,_j=2n**(88n-1n)-1n,Aj=2n**(96n-1n)-1n,Pj=2n**(104n-1n)-1n,Tj=2n**(112n-1n)-1n,$j=2n**(120n-1n)-1n,Rj=2n**(128n-1n)-1n,Bj=2n**(136n-1n)-1n,Fj=2n**(144n-1n)-1n,Mj=2n**(152n-1n)-1n,Dj=2n**(160n-1n)-1n,Nj=2n**(168n-1n)-1n,zj=2n**(176n-1n)-1n,Lj=2n**(184n-1n)-1n,Uj=2n**(192n-1n)-1n,Oj=2n**(200n-1n)-1n,Hj=2n**(208n-1n)-1n,jj=2n**(216n-1n)-1n,Gj=2n**(224n-1n)-1n,Vj=2n**(232n-1n)-1n,qj=2n**(240n-1n)-1n,Kj=2n**(248n-1n)-1n,Wj=2n**(256n-1n)-1n,Jj=-(2n**(8n-1n)),Zj=-(2n**(16n-1n)),Yj=-(2n**(24n-1n)),Xj=-(2n**(32n-1n)),Qj=-(2n**(40n-1n)),eG=-(2n**(48n-1n)),tG=-(2n**(56n-1n)),rG=-(2n**(64n-1n)),oG=-(2n**(72n-1n)),nG=-(2n**(80n-1n)),sG=-(2n**(88n-1n)),iG=-(2n**(96n-1n)),aG=-(2n**(104n-1n)),cG=-(2n**(112n-1n)),mG=-(2n**(120n-1n)),uG=-(2n**(128n-1n)),pG=-(2n**(136n-1n)),fG=-(2n**(144n-1n)),lG=-(2n**(152n-1n)),dG=-(2n**(160n-1n)),hG=-(2n**(168n-1n)),gG=-(2n**(176n-1n)),yG=-(2n**(184n-1n)),bG=-(2n**(192n-1n)),xG=-(2n**(200n-1n)),vG=-(2n**(208n-1n)),wG=-(2n**(216n-1n)),CG=-(2n**(224n-1n)),EG=-(2n**(232n-1n)),SG=-(2n**(240n-1n)),kG=-(2n**(248n-1n)),IG=-(2n**(256n-1n)),_G=2n**8n-1n,AG=2n**16n-1n,PG=2n**24n-1n,TG=2n**32n-1n,$G=2n**40n-1n,RG=2n**48n-1n,BG=2n**56n-1n,FG=2n**64n-1n,MG=2n**72n-1n,DG=2n**80n-1n,NG=2n**88n-1n,zG=2n**96n-1n,LG=2n**104n-1n,UG=2n**112n-1n,OG=2n**120n-1n,HG=2n**128n-1n,jG=2n**136n-1n,GG=2n**144n-1n,VG=2n**152n-1n,qG=2n**160n-1n,KG=2n**168n-1n,WG=2n**176n-1n,JG=2n**184n-1n,ZG=2n**192n-1n,YG=2n**200n-1n,XG=2n**208n-1n,QG=2n**216n-1n,eV=2n**224n-1n,tV=2n**232n-1n,rV=2n**240n-1n,oV=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 _C(e,t,{checksumAddress:o,staticPosition:n});if(t.type==="address")return CC(e,{checksum:o});if(t.type==="bool")return SC(e);if(t.type.startsWith("bytes"))return kC(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return IC(e,t);if(t.type==="string")return AC(e,{staticPosition:n});throw new yi(t.type)}var mb=32,$l=32;function CC(e,t={}){let{checksum:r=!1}=t,o=e.readBytes(32);return[(s=>r?Ju(s):s)(_e(Wg(o,-20))),32]}function EC(e,t,r){let{checksumAddress:o,length:n,staticPosition:s}=r;if(!n){let c=Sr(e.readBytes($l)),m=s+c,u=m+mb;e.setPosition(m);let p=Sr(e.readBytes(mb)),f=Ea(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(Ea(t)){let c=Sr(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 SC(e){return[Zg(e.readBytes(32),{size:32}),32]}function kC(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=Sr(e.readBytes(32));e.setPosition(r+i);let a=Sr(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[_e(c),32]}return[_e(e.readBytes(Number.parseInt(n,10),32)),32]}function IC(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}):Sr(n,{signed:r}),32]}function _C(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(Ea(t)){let c=Sr(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=Sr(e.readBytes(32)),o=t+r;e.setPosition(o);let n=Sr(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"]=Xu.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 yi(o.type)}function Qu(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:Xr(e.toLowerCase())}}function TC(e,t){let{checksumAddress:r,length:o,parameter:n}=t,s=o===null;if(!Array.isArray(e))throw new tp(e);if(!s&&e.length!==o)throw new ep({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=Qu(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=kr(n,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:xe(Xr(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:kr(e)}}function RC(e){if(typeof e!="boolean")throw new M(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Xr(uu(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 ga({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=ai(e),r=Math.ceil(de(t)/32),o=[];for(let n=0;n<r;n++)o.push(kr(he(t,n*32,(n+1)*32)));return{dynamic:!0,encoded:xe(kr(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?Qu(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 Ea(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(Ea);let r=Bl(e.type);return!!(r&&Ea({...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 rp({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 rp({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 op(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 rp=class extends M{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 M{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 M{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 bi(e,t,r={}){let{as:o="Array",checksumAddress:n=!1}=r,s=typeof t=="string"?si(t):t,i=op(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:_e(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 Ho(e,t,r){let{checksumAddress:o=!1}=r??{};if(e.length!==t.length)throw new np({expectedLength:e.length,givenLength:t.length});let n=ub({checksumAddress:o,parameters:e,values:t}),s=Qu(n);return s.length===0?"0x":s}function Dl(e,t){if(e.length!==t.length)throw new np({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),Xr(c.toLowerCase(),n?32:0)}if(r==="string")return ai(o);if(r==="bytes")return o;if(r==="bool")return Xr(uu(o),n?32:1);let s=r.match(Xu);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 kr(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 yi(r)}e.encode=t})(Dl||(Dl={}));function Ia(e){return Array.isArray(e)&&typeof e[0]=="string"?Rm(e):typeof e=="string"?Rm(e):e}var Nl=class extends M{constructor({data:t,parameters:r,size:o}){super(`Data size of ${o} bytes is too small for given parameters.`,{metaMessages:[`Params: (${qr(r)})`,`Data: ${t} (${o} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}},zl=class extends M{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}},ep=class extends M{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 M{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"})}},np=class extends M{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"})}},tp=class extends M{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}},yi=class extends M{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();Mo();wt();je();function zC(e,t){let{as:r}=t,o=lb(e),n=op(new Uint8Array(o.length));return o.encode(n),r==="Hex"?_e(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"?si(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 M("Length is too large.")}import{secp256k1 as aV}from"@noble/curves/secp256k1";wt();je();ha();function jl(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>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 Aa({value:e.yParity})}function HC(e){return hb(_e(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 Aa({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 Aa({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 M{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${de(ii(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}},_a=class extends M{constructor({signature:t}){super(`Signature \`${Do(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 M{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 M{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"})}},Aa=class extends M{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 M{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(ii(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 ip(e){if(typeof e=="string"){if(he(e,-32)!==Kl)throw new sp(e)}else jl(e.authorization)}function XC(e){return typeof e=="string"?wb(e):e}function wb(e){ip(e);let t=au(he(e,-64,-32)),r=he(e,-t-64,-64),o=he(e,0,-t-64),[n,s,i]=bi(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;ip(e);let o=vb({payload:xb(e.authorization),signature:Vl(e.authorization)}),n=Ho(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 ip(e),!0}catch{return!1}}var sp=class extends M{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"})}};wc();H();var ap=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 ap({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 Sn(e,t="wei"){return Cb(e,vc[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 Sb(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)}D();async function kb(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]})}_t();D();async function xi(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 Zn({blockHash:t,blockNumber:r,blockTag:i,hash:n,index:s});return(e.chain?.formatters?.transaction?.format||rn)(c,"getTransaction")}async function Ib(e,{hash:t,transactionReceipt:r}){let[o,n]=await Promise.all([P(e,_r,"getBlockNumber")({}),t?P(e,xi,"getTransaction")({hash:t}):void 0]),s=r?.blockNumber||n?.blockNumber;return s?o-s+1n:0n}_t();async function vi(e,{hash:t}){let r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new Yn({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||Vi)(r,"getTransactionReceipt")}No();ba();we();H();ko();Fo();Tt();cn();async function _b(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:S,args:I,functionName:A}=m[v];try{let _=pe({abi:C,args:I,functionName:A});g+=(_.length-2)/2,u>0&&g>u&&d[h].length>0&&(h++,g=(_.length-2)/2,d[h]=[]),d[h]=[...d[h],{allowFailure:!0,callData:_,target:S}]}catch(_){let B=$t(_,{abi:C,address:S,args:I,docsPath:"/docs/contract/multicall",functionName:A,sender:r});if(!n)throw B;d[h]=[...d[h],{allowFailure:!0,callData:"0x",target:S}]}}let b=await Promise.allSettled(d.map(v=>P(e,Te,"readContract")({...f===null?{code:ci}:{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 S=C.value;for(let I=0;I<S.length;I++){let{returnData:A,success:_}=S[I],{callData:B}=d[v][I],{abi:R,address:F,functionName:O,args:G}=m[y.length];try{if(B==="0x")throw new qt;if(!_)throw new xr({data:A});let V=vt({abi:R,args:G,data:A,functionName:O});y.push(n?{result:V,status:"success"}:V)}catch(V){let me=$t(V,{abi:R,address:F,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();ko();xo();Fo();Tt();at();D();pa();go();Ym();Zr();async function Ta(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?pu(f.blockOverrides):void 0,h=f.calls.map(b=>{let y=b,v=y.account?j(y.account):void 0,C=y.abi?pe(y):y.data,S={...y,account:v,data:y.dataSuffix?Pe([C||"0x",y.dataSuffix]):C,from:y.from??v?.address};return rt(S),gt(S)}),g=f.stateOverrides?Js(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)=>({...Gi(f),calls:f.calls.map((h,g)=>{let{abi:b,args:y,functionName:v,to:C}=n[d].calls[g],S=h.error?.data??h.returnData,I=BigInt(h.gasUsed),A=h.logs?.map(F=>Qe(F)),_=h.status==="0x1"?"success":"failure",B=b&&_==="success"&&S!=="0x"?vt({abi:b,data:S,functionName:v}):null,R=(()=>{if(_==="success")return;let F;if(h.error?.data==="0x"?F=new qt:h.error&&(F=new xr(h.error)),!!F)return $t(F,{abi:b??[],address:C??"0x",args:y,functionName:v??"<unknown>"})})();return{data:S,gasUsed:I,logs:A,status:_,..._==="success"?{result:B}:{error:R}}})}))}catch(c){let m=c,u=To(m,{});throw u instanceof Ut?m:u}}ia();wt();je();wt();function mp(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 M("Unable to normalize signature.");return n}function cp(e,t){let r=typeof e,o=t.type;switch(o){case"address":return Zu(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)=>cp(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=>cp(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")?Zu(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?Zu(r[o],{strict:!1}):!1)return i}}function up(e,t={}){let{prepare:r=!0}=t,o=Array.isArray(e)?$m(e):typeof e=="string"?$m(e):e;return{...o,...r?{hash:wi(o)}:{}}}function $a(e,t,r){let{args:o=[],prepare:n=!0}=r??{},s=ya(t,{strict:!1}),i=e.filter(m=>s?m.type==="function"||m.type==="error"?Yl(m)===he(t,0,4):m.type==="event"?wi(m)===t:!1:"name"in m&&m.name===t);if(i.length===0)throw new jo({name:t});if(i.length===1)return{...i[0],...n?{hash:wi(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:wi(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?cp(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 jo({name:t});return{...c,...n?{hash:wi(c)}:{}}}function Yl(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return $a(r,o)}return e[0]})();return he(wi(t),0,4)}function o8(...e){let t=(()=>{if(Array.isArray(e[0])){let[o,n]=e;return $a(o,n)}return e[0]})(),r=typeof t=="string"?t:mn(t);return mp(r)}function wi(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return $a(r,o)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:wn(ai(o8(t)))}var Zl=class extends M{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${mp(mn(t.abiItem))}\`, and`,`\`${r.type}\` in \`${mp(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"})}},jo=class extends M{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?Ho(t.inputs,n):"0x")}function Tb(e){return up(e)}function n8(e){let t=e.find(r=>r.type==="constructor");if(!t)throw new jo({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?Ho(n.inputs,r):void 0;return i?xe(s,i):s}function kn(e,t={}){return up(e,t)}function $b(e,t,r){let o=$a(e,t,r);if(o.type!=="function")throw new jo({name:t,type:"function"});return o}function i8(e){return Yl(e)}ve();var Bb="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",mr="0x0000000000000000000000000000000000000000";ba();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:du,args:[c8,Rb(kn("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:ke}=await Fu(e,{account:m.address,...z,data:z.abi?pe(z):z.data});return ke.map(({address:lr,storageKeys:po})=>po.length>0?lr:null)})).then(z=>z.flat().filter(Boolean)):[],f=await Ta(e,{blockNumber:r,blockTag:o,blocks:[...i?[{calls:[{data:u}],stateOverrides:s},{calls:p.map((z,ke)=>({abi:[kn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:z,from:mr,nonce:ke})),stateOverrides:[{address:mr,nonce:0}]}]:[],{calls:[...n,{}].map(z=>({...z,from:m?.address})),stateOverrides:s},...i?[{calls:[{data:u}]},{calls:p.map((z,ke)=>({abi:[kn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:z,from:mr,nonce:ke})),stateOverrides:[{address:mr,nonce:0}]},{calls:p.map((z,ke)=>({to:z,abi:[kn("function decimals() returns (uint256)")],functionName:"decimals",from:mr,nonce:ke})),stateOverrides:[{address:mr,nonce:0}]},{calls:p.map((z,ke)=>({to:z,abi:[kn("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:mr,nonce:ke})),stateOverrides:[{address:mr,nonce:0}]},{calls:p.map((z,ke)=>({to:z,abi:[kn("function symbol() returns (string)")],functionName:"symbol",from:mr,nonce:ke})),stateOverrides:[{address:mr,nonce:0}]}]:[]],traceTransfers:a,validation:c}),d=i?f[2]:f[0],[h,g,,b,y,v,C,S]=i?f:[],{calls:I,...A}=d,_=I.slice(0,-1)??[],B=h?.calls??[],R=g?.calls??[],F=[...B,...R].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=(S?.calls??[]).map(z=>z.status==="success"?z.result:null),qe=(C?.calls??[]).map(z=>z.status==="success"?z.result:null),Mt=[];for(let[z,ke]of V.entries()){let lr=F[z];if(typeof ke!="bigint"||typeof lr!="bigint")continue;let po=me[z-1],ue=Ae[z-1],fo=qe[z-1],Qt=z===0?{address:Bb,decimals:18,symbol:"ETH"}:{address:p[z-1],decimals:fo||po?Number(po??1):void 0,symbol:ue??void 0};Mt.some(of=>of.token.address===Qt.address)||Mt.push({token:Qt,value:{pre:lr,post:ke,diff:ke-lr}})}return{assetChanges:Mt,block:A,results:_}}var Ra={};sf(Ra,{InvalidWrappedSignatureError:()=>pp,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 pp(e)}function p8(e){return typeof e=="string"?Mb(e):e}function Mb(e){Ql(e);let[t,r,o]=bi(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(Ho(Ia("address, bytes, bytes"),[o,t,r]),Xl)}function l8(e){try{return Ql(e),!0}catch{return!1}}var pp=class extends M{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"})}};No();ba();ko();hu();Tt();vo();hn();at();It();Be();D();Be();Ue();import{secp256k1 as d8}from"@noble/curves/secp256k1";function fp({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)}ui();async function Go(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?fp(a):X(a)})();try{return Pa.validate(i)?await h8(e,{...t,multicallAddress:s,signature:i}):await g8(e,{...t,verifierAddress:n,signature:i})}catch(a){try{if(Wt(ds(r),await Wm({hash:o,signature:i})))return!0}catch{}if(a instanceof eo)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}=Pa.unwrap(t.signature);if(await Ca(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 eo;let h=await P(e,Te,"readContract")({...i?{address:i}:{code:ci},authorizationList:[f],abi:yn,blockNumber:o,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:u??r,callData:c}]:[],{allowFailure:!0,target:r,callData:pe({abi:sl,functionName:"isValidSignature",args:[s,m]})}]]});if(h[h.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new eo}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||Ra.validate(i)?i:Ra.wrap({data:n,signature:i,to:o}))(),u=a?{to:a,data:pe({abi:il,functionName:"isValidSig",args:[r,s,m]}),...c}:{data:bn({abi:il,args:[r,s,m],bytecode:ay}),...c},{data:p}=await P(e,Ir,"call")(u).catch(f=>{throw f instanceof _s?new eo:f});if(gf(p??"0x0"))return!0;throw new eo}async function y8(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,signature:i}=t;if((await P(e,Te,"readContract")({address:r,abi:sl,args:[s,i],blockNumber:o,blockTag:n,functionName:"isValidSignature"}).catch(c=>{throw c instanceof As?new eo:c})).startsWith("0x1626ba7e"))return!0;throw new eo}var eo=class extends Error{};async function Db(e,{address:t,message:r,factory:o,factoryData:n,signature:s,...i}){let a=gi(r);return Go(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=Gu({message:i,primaryType:a,types:c,domain:m});return Go(e,{address:r,factory:o,factoryData:n,hash:p,signature:s,...u})}_t();gu();et();Be();et();function lp(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 P(e,_r,"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 dp(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}=mi(),S=c?setTimeout(()=>{b?.(),g?.(),C(new Pc({hash:n}))},c):void 0;return g=nt(m,{onReplaced:s,resolve:v,reject:C},async I=>{if(d=await P(e,vi,"getTransactionReceipt")({hash:n}).catch(()=>{}),d&&o<=1){clearTimeout(S),I.resolve(d),g?.();return}b=P(e,lp,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(A){let _=R=>{clearTimeout(S),b?.(),R(),g?.()},B=A;if(!h)try{if(d){if(o>1&&(!d.blockNumber||B-d.blockNumber+1n<o))return;_(()=>I.resolve(d));return}if(r&&!p&&(h=!0,await vn(async()=>{p=await P(e,xi,"getTransaction")({hash:n}),p.blockNumber&&(B=p.blockNumber)},{delay:a,retryCount:i}),h=!1),d=await P(e,vi,"getTransactionReceipt")({hash:n}),o>1&&(!d.blockNumber||B-d.blockNumber+1n<o))return;_(()=>I.resolve(d))}catch(R){if(R instanceof Zn||R instanceof Yn){if(!p){h=!1;return}try{f=p,h=!0;let F=await vn(()=>P(e,ot,"getBlock")({blockNumber:B,includeTransactions:!0}),{delay:a,retryCount:i,shouldRetry:({error:V})=>V instanceof Zs});h=!1;let O=F.transactions.find(({from:V,nonce:me})=>V===f.from&&me===f.nonce);if(!O||(d=await P(e,vi,"getTransactionReceipt")({hash:O.hash}),o>1&&(!d.blockNumber||B-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"),_(()=>{I.onReplaced?.({reason:G,replacedTransaction:f,transaction:O,transactionReceipt:d}),I.resolve(d)})}catch(F){_(()=>I.reject(F))}}else _(()=>I.reject(R))}}})}),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 P(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 P(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&&P(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(S=>S.config.type==="webSocket"||S.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 S=await P(e,ot,"getBlock")({blockNumber:C.result?.number,includeTransactions:u}).catch(()=>{});h&&(n(S,p),g=!1,p=S)},onError(C){s?.(C)}});b=v,h||b()}catch(y){s?.(y)}})(),()=>b()})()}we();Ks();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,S=!1,I=Zt(async()=>{if(!S){try{C=await P(e,Mu,"createEventFilter")({address:t,args:r,event:n,events:s,strict:d,fromBlock:i})}catch{}S=!0;return}try{let A;if(C)A=await P(e,zo,"getFilterChanges")({filter:C});else{let _=await P(e,_r,"getBlockNumber")({});v&&v!==_?A=await P(e,ti,"getLogs")({address:t,args:r,event:n,events:s,fromBlock:v+1n,toBlock:_}):A=[],v=_}if(A.length===0)return;if(o)y.onLogs(A);else for(let _ of A)y.onLogs([_])}catch(A){C&&A instanceof vr&&(S=!1),y.onError?.(A)}},{emitOnBegin:!0,interval:u});return async()=>{C&&await P(e,Lo,"uninstallFilter")({filter:C}),I()}})})():(()=>{let b=!0,y=()=>b=!1;return(async()=>{try{let v=(()=>{if(e.transport.type==="fallback"){let A=e.transport.transports.find(_=>_.config.type==="webSocket"||_.config.type==="ipc");return A?A.value:e.transport}return e.transport})(),C=s??(n?[n]:void 0),S=[];C&&(S=[C.flatMap(_=>Cr({abi:[_],eventName:_.name,args:r}))],n&&(S=S[0]));let{unsubscribe:I}=await v.subscribe({params:["logs",{address:t,topics:S}],onData(A){if(!b)return;let _=A.result;try{let{eventName:B,args:R}=ei({abi:C??[],data:_.data,topics:_.topics,strict:d}),F=Qe(_,{args:R,eventName:B});c([F])}catch(B){let R,F;if(B instanceof ir||B instanceof hr){if(p)return;R=B.abiItem.name,F=B.abiItem.inputs?.some(G=>!("name"in G&&G.name))}let O=Qe(_,{args:F?[]:{},eventName:R});c([O])}},onError(A){a?.(A)}});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 P(e,Du,"createPendingTransactionFilter")({});return}catch(h){throw f(),h}let d=await P(e,zo,"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 P(e,Lo,"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=gi(n);return Go(e,{address:u.address,hash:f,signature:a,...m})}_t();async function Ci(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||Vi)(n);if(i.status==="reverted"&&r)throw new Xn({receipt:i});return i}function Gb(e){return{call:t=>Ir(e,t),createAccessList:t=>Fu(e,t),createBlockFilter:()=>My(e),createContractEventFilter:t=>qm(e,t),createEventFilter:t=>Mu(e,t),createPendingTransactionFilter:()=>Du(e),estimateContractGas:t=>$g(e,t),estimateGas:t=>Qs(e,t),getBalance:t=>Dy(e,t),getBlobBaseFee:()=>Ny(e),getBlock:t=>ot(e,t),getBlockNumber:t=>_r(e,t),getBlockTransactionCount:t=>zy(e,t),getBytecode:t=>Ca(e,t),getChainId:()=>xt(e),getCode:t=>Ca(e,t),getContractEvents:t=>tu(e,t),getEip712Domain:t=>Ly(e,t),getEnsAddress:t=>Iy(e,t),getEnsAvatar:t=>Ry(e,t),getEnsName:t=>By(e,t),getEnsResolver:t=>Fy(e,t),getEnsText:t=>Bu(e,t),getFeeHistory:t=>Oy(e,t),estimateFeesPerGas:t=>Pg(e,t),getFilterChanges:t=>zo(e,t),getFilterLogs:t=>Hy(e,t),getGasPrice:()=>Ys(e),getLogs:t=>ti(e,t),getProof:t=>Sb(e,t),estimateMaxPriorityFeePerGas:t=>Ag(e,t),getStorageAt:t=>kb(e,t),getTransaction:t=>xi(e,t),getTransactionConfirmations:t=>Ib(e,t),getTransactionCount:t=>Xs(e,t),getTransactionReceipt:t=>vi(e,t),multicall:t=>_b(e,t),prepareTransactionRequest:t=>Er(e,t),readContract:t=>Te(e,t),sendRawTransaction:t=>fi(e,t),sendRawTransactionSync:t=>Ci(e,t),simulate:t=>Ta(e,t),simulateBlocks:t=>Ta(e,t),simulateCalls:t=>Fb(e,t),simulateContract:t=>xy(e,t),verifyHash:t=>Go(e,t),verifyMessage:t=>Db(e,t),verifySiweMessage:t=>jb(e,t),verifyTypedData:t=>Nb(e,t),uninstallFilter:t=>Lo(e,t),waitForTransactionReceipt:t=>dp(e,t),watchBlocks:t=>zb(e,t),watchBlockNumber:t=>lp(e,t),watchContractEvent:t=>Ey(e,t),watchEvent:t=>Lb(e,t),watchPendingTransactions:t=>Ub(e,t)}}function In(e){let{key:t="public",name:r="Public Client"}=e;return Au({...e,key:t,name:r,type:"publicClient"}).extend(Gb)}D();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})}hu();function qb(e,t){let{abi:r,args:o,bytecode:n,...s}=t,i=bn({abi:r,args:o,bytecode:n});return Uo(e,{...s,...s.authorizationList?{to:null}:{},data:i})}vo();async function Kb(e){return e.account?.type==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>Gr(r))}ve();D();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 hp(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,xt,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await P(e,Xs,"getTransactionCount")({address:s.address,blockTag:"pending"}),(i==="self"||i?.address&&Wt(i.address,s.address))&&(a.nonce+=1)),a}vo();async function Zb(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>ds(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 Cu(e,t);return await Su(e,{...t,id:n.id,timeout:o})}ve();H();_t();Ws();go();ls();Zr();var ed=new Ot(128);async function gp(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 S=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 Ro({authorization:s[0]}).catch(()=>{throw new x("`to` is required. Could not infer from `authorizationList`.")})})();if(S?.type==="json-rpc"||S===null){let A;o!==null&&(A=await P(e,xt,"getChainId")({}),hs({currentChainId:A,chain:o}));let _=e.chain?.formatters?.transactionRequest?.format,R=(_||gt)({...wr(v,{format:_}),accessList:n,account:S,authorizationList:s,blobs:i,chainId:A,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,to:I,type:b,value:y},"sendTransaction"),F=ed.get(e.uid),O=F?"wallet_sendTransaction":"eth_sendTransaction",G=await(async()=>{try{return await e.request({method:O,params:[R]},{retryCount:0})}catch(me){if(F===!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:[R]},{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 P(e,dp,"waitForTransactionReceipt")({checkReplacement:!1,hash:G,pollingInterval:h,timeout:C});if(g&&V.status==="reverted")throw new Xn({receipt:V});return V}if(S?.type==="local"){let A=await P(e,Er,"prepareTransactionRequest")({account:S,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,nonceManager:S.nonceManager,parameters:[...fa,"sidecars"],type:b,value:y,...v,to:I}),_=o?.serializers?.transaction,B=await S.signTransaction(A,{serializer:_});return await P(e,Ci,"sendRawTransactionSync")({serializedTransaction:B,throwOnReceiptRevert:g})}throw S?.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:S?.type})}catch(I){throw I instanceof Vt?I:pi(I,{...t,account:S,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 hp(e,t);return o.signAuthorization(n)}ve();D();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();D();go();Zr();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 P(e,xt,"getChainId")({});o!==null&&hs({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:ju({domain:o}),...t.types};if(Hu({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})}D();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,gp,"sendTransactionSync",t)}function ax(e){return{addChain:t=>Vb(e,t),deployContract:t=>qb(e,t),getAddresses:()=>Kb(e),getCallsStatus:t=>Eu(e,t),getCapabilities:t=>Wb(e,t),getChainId:()=>xt(e),getPermissions:()=>Jb(e),prepareAuthorization:t=>hp(e,t),prepareTransactionRequest:t=>Er(e,t),requestAddresses:()=>Zb(e),requestPermissions:t=>Yb(e,t),sendCalls:t=>Cu(e,t),sendCallsSync:t=>Xb(e,t),sendRawTransaction:t=>fi(e,t),sendRawTransactionSync:t=>Ci(e,t),sendTransaction:t=>Uo(e,t),sendTransactionSync:t=>gp(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 Ba(e){let{key:t="wallet",name:r="Wallet Client",transport:o}=e;return Au({...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=_u();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 yp=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 to(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 yp;let S=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:A}){let _={method:I,params:A},{schedule:B}=yu({id:C,wait:b,shouldSplitBatch(G){return G.length>g},fn:G=>S.request({body:G}),sort:(G,V)=>G.id-V.id}),R=async G=>r?B(G):[await S.request({body:G})],[{error:F,result:O}]=await R(_);if(p)return{error:F,result:O};if(F)throw new Io({body:_,error:F,url:C});return O},retryCount:y,retryDelay:u,timeout:v,type:"http"},{fetchOptions:n,url:C})}}It();D();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"}}It();Ue();D();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"?fp({...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:Jm({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:gi(e),privateKey:t,to:"hex"})}Ht();async function fx(e){let{privateKey:t,transaction:r,serializer:o=Wc}=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:Gu(r),privateKey:t,to:"hex"})}function Fa(e,t={}){let{nonceManager:r}=t,o=ie(w8.getPublicKey(e.slice(2),!1)),n=Km(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 oQ=zi(nd(),1);import{z as Ce}from"zod";var pr=zi(nd(),1),xI=zi(dx(),1),vI=zi(t1(),1);import{z as _i}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 Cp 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 Cp(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 Cp(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 Cp(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 Ua=["2025-05-31","2025-10-28"],ki=(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(`
40
+ `,n+=wg(o.state)),o.stateDiff&&(n+=` stateDiff:
41
+ `,n+=wg(o.stateDiff)),n},` State Override:
42
+ `).slice(0,-1)}var zm,Lm,Wf=k(()=>{H();zm=class extends v{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}},Lm=class extends v{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}});var Eg,ln,Um=k(()=>{Eg=e=>e,ln=e=>e});var _s,As,dn,Om,Hm,xr,Po=k(()=>{ve();Xc();Vf();qr();xg();Ao();Sc();Jn();we();H();Wf();_t();Um();_s=class extends v{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=an({from:h?.address,to:p,value:typeof f<"u"&&`${Wn(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
+ ${Cg(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}},As=class extends v{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?qf({abiItem:c,args:o,includeFunctionName:!1,includeName:!1}):void 0,u=c?De(c,{includeName:!0}):void 0,p=an({address:n&&Eg(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}},dn=class extends v{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=Ih[d]}else{let d=u?De(u,{includeName:!0}):void 0,h=u&&f?qf({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 ys&&(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 v{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 v{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 v{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,To,pa,hn=k(()=>{et();H();Um();Kt=class extends v{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: ${ln(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 v{constructor({body:t,error:r,url:o}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${ln(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 v{constructor({body:t,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${ln(r)}`,`Request body: ${W(t)}`],name:"TimeoutError"})}}});var L2,tt,mt,Ps,Ts,$s,Rs,Zr,vr,Bs,Fs,Ms,$o,gn,Ds,yn,Ns,zs,Ls,Us,Os,Ro,Hs,js,Gs,Vs,qs,Bo,jm,Ks=k(()=>{H();hn();L2=-1,tt=class extends v{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??L2}},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}},Ps=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(Ps,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});Ts=class e extends tt{constructor(t){super(t,{code:e.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}};Object.defineProperty(Ts,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});$s=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($s,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});Rs=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(Rs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});Zr=class e extends tt{constructor(t){super(t,{code:e.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}};Object.defineProperty(Zr,"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});Bs=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(Bs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});Fs=class e extends tt{constructor(t){super(t,{code:e.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}};Object.defineProperty(Fs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});Ms=class e extends tt{constructor(t){super(t,{code:e.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}};Object.defineProperty(Ms,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});$o=class e extends tt{constructor(t,{method:r}={}){super(t,{code:e.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}};Object.defineProperty($o,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});gn=class e extends tt{constructor(t){super(t,{code:e.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}};Object.defineProperty(gn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});Ds=class e extends tt{constructor(t){super(t,{code:e.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}};Object.defineProperty(Ds,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});yn=class e extends mt{constructor(t){super(t,{code:e.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}};Object.defineProperty(yn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});Ns=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(Ns,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});zs=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(zs,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});Ls=class e extends mt{constructor(t){super(t,{code:e.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}};Object.defineProperty(Ls,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});Us=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(Us,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});Os=class e extends mt{constructor(t){super(t,{code:e.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}};Object.defineProperty(Os,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});Ro=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(Ro,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});Hs=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(Hs,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});js=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(js,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});Gs=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(Gs,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});Vs=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(Vs,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});qs=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(qs,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});Bo=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(Bo,"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 Fo(e,t){let r=(e.details||"").toLowerCase(),o=e instanceof v?e.walk(n=>n?.code===Gr.code):e;return o instanceof v?new Gr({cause:e,message:o.details}):Gr.nodeMessage.test(r)?new Gr({cause:e,message:e.details}):Lt.nodeMessage.test(r)?new Lt({cause:e,maxFeePerGas:t?.maxFeePerGas}):ss.nodeMessage.test(r)?new ss({cause:e,maxFeePerGas:t?.maxFeePerGas}):is.nodeMessage.test(r)?new is({cause:e,nonce:t?.nonce}):as.nodeMessage.test(r)?new as({cause:e,nonce:t?.nonce}):cs.nodeMessage.test(r)?new cs({cause:e,nonce:t?.nonce}):ms.nodeMessage.test(r)?new ms({cause:e}):us.nodeMessage.test(r)?new us({cause:e,gas:t?.gas}):ps.nodeMessage.test(r)?new ps({cause:e,gas:t?.gas}):fs.nodeMessage.test(r)?new fs({cause:e}):dr.nodeMessage.test(r)?new dr({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Ut({cause:e})}var fa=k(()=>{H();Eo()});function Gm(e,{docsPath:t,...r}){let o=(()=>{let n=Fo(e,r);return n instanceof Ut?e:n})();return new _s(o,{docsPath:t,...r})}var Jf=k(()=>{Po();Eo();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 Ws=k(()=>{});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 kc;if(o&&o>Vn)throw new Lt({maxFeePerGas:o});if(n&&o&&n>o)throw new dr({maxFeePerGas:o,maxPriorityFeePerGas:n})}var Yr=k(()=>{ve();Ef();nr();Eo();_t();At()});function _g(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:Ig});n=s}if(n.type!=="function")throw new sr(void 0,{docsPath:Ig});return{abi:[n],functionName:yr(De(n))}}var Ig,Ag=k(()=>{we();ks();qr();Ao();Ig="/docs/contract/encodeFunctionData"});function fe(e){let{args:t}=e,{abi:r,functionName:o}=e.abi.length===1&&e.functionName?.startsWith("0x")?e:_g(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=k(()=>{at();Wr();Ag()});function Rg(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 O2(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=Rg(o)),n!==void 0){if(i.state)throw new Lm;i.stateDiff=Rg(n)}return i}function Js(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]=O2(o)}return t}var Xm=k(()=>{nr();hc();Wf();At();D()});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 bn=k(()=>{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:Yf});s=a}if(s.type!=="function")throw new sr(void 0,{docsPath:Yf});if(!s.outputs)throw new xs(s.name,{docsPath:Yf});let i=Jr(s.outputs,n);if(i&&i.length>1)return i;if(i&&i.length===1)return i[0]}var Yf,zo=k(()=>{we();ma();Ao();Yf="/docs/contract/decodeFunctionResult"});var zg,Lg=k(()=>{zg="0.1.1"});function Ug(){return zg}var Og=k(()=>{Lg()});function Hg(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?Hg(e.cause,t):t?null:e}var M,wt=k(()=>{Og();M=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@${Ug()}`}),this.cause=r.cause,this.details=o,this.docs=i,this.docsPath=n,this.shortMessage=t}walk(t){return Hg(this,t)}}});function ri(e,t){if(Jt(e)>t)throw new ou({givenSize:Jt(e),maxSize:t})}function jg(e,t){if(typeof t=="number"&&t>0&&t>Jt(e)-1)throw new da({offset:t,position:"start",size:Jt(e)})}function Gg(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 Xf(e){if(e>=Xr.zero&&e<=Xr.nine)return e-Xr.zero;if(e>=Xr.A&&e<=Xr.F)return e-(Xr.A-10);if(e>=Xr.a&&e<=Xr.f)return e-(Xr.a-10)}function Vg(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 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 Xr,qg=k(()=>{Lo();Xr={zero:48,nine:57,A:65,F:70,a:97,f:102}});function oi(e,t){if(de(e)>t)throw new su({givenSize:de(e),maxSize:t})}function Kg(e,t){if(typeof t=="number"&&t>0&&t>de(e)-1)throw new ha({offset:t,position:"start",size:de(e)})}function Wg(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 el(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 Jg(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 tl=k(()=>{je()});function Uo(e,t,r){return JSON.stringify(e,(o,n)=>typeof t=="function"?t(o,n):typeof n=="bigint"?n.toString()+V2:n,r)}var V2,ga=k(()=>{V2="#__bigint"});import{equalBytes as P7}from"@noble/curves/abstract/utils";function W2(e){if(!(e instanceof Uint8Array)){if(!e)throw new ni(e);if(typeof e!="object")throw new ni(e);if(!("BYTES_PER_ELEMENT"in e))throw new ni(e);if(e.BYTES_PER_ELEMENT!==1||e.constructor.name!=="Uint8Array")throw new ni(e)}}function Yg(e){return e instanceof Uint8Array?e:typeof e=="string"?si(e):J2(e)}function J2(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function si(e,t={}){let{size:r}=t,o=e;r&&(oi(e,r),o=kr(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=Xf(n.charCodeAt(c++)),u=Xf(n.charCodeAt(c++));if(m===void 0||u===void 0)throw new M(`Invalid byte sequence ("${n[c-2]}${n[c-1]}" in "${n}").`);i[a]=m*16+u}return i}function Xg(e,t={}){let{size:r}=t,o=K2.encode(e);return typeof r=="number"?(ri(o,r),Z2(o,r)):o}function Z2(e,t){return Vg(e,{dir:"right",size:t})}function Jt(e){return e.length}function Qg(e,t,r,o={}){let{strict:n}=o;jg(e,t);let s=e.slice(t,r);return n&&Gg(s,t,r),s}function ey(e,t={}){let{size:r}=t;typeof r<"u"&&ri(e,r);let o=_e(e,t);return nl(o,t)}function ty(e,t={}){let{size:r}=t,o=e;if(typeof r<"u"&&(ri(o,r),o=ol(o)),o.length>1||o[0]>1)throw new rl(o);return!!o[0]}function Sr(e,t={}){let{size:r}=t;typeof r<"u"&&ri(e,r);let o=_e(e,t);return cu(o,t)}function ry(e,t={}){let{size:r}=t,o=e;return typeof r<"u"&&(ri(o,r),o=Y2(o)),q2.decode(o)}function ol(e){return Qf(e,{dir:"left"})}function Y2(e){return Qf(e,{dir:"right"})}function oy(e){try{return W2(e),!0}catch{return!1}}var q2,K2,rl,ni,ou,da,nu,Lo=k(()=>{wt();je();qg();tl();ga();q2=new TextDecoder,K2=new TextEncoder;rl=class extends M{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"})}},ni=class extends M{constructor(t){super(`Value \`${typeof t=="object"?Uo(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 M{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 M{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 M{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 $7}from"@noble/curves/abstract/utils";function eC(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 ii(e){return e instanceof Uint8Array?_e(e):Array.isArray(e)?_e(new Uint8Array(e)):e}function pu(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(oi(r,t.size),Qr(r,t.size)):r}function _e(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=Q2[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(oi(o,t.size),kr(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?Qr(c,o):c}function ai(e,t={}){return _e(X2.encode(e),t)}function Qr(e,t){return el(e,{dir:"left",size:t})}function kr(e,t){return el(e,{dir:"right",size:t})}function he(e,t,r,o={}){let{strict:n}=o;Kg(e,t);let s=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return n&&Wg(s,t,r),s}function de(e){return Math.ceil((e.length-2)/2)}function sl(e){return Jg(e,{dir:"left"})}function nl(e,t={}){let{signed:r}=t;t.size&&oi(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:nl(e,t))}function ba(e,t={}){let{strict:r=!1}=t;try{return eC(e,{strict:r}),!0}catch{return!1}}var X2,Q2,ya,mu,uu,su,ha,iu,je=k(()=>{wt();tl();ga();X2=new TextEncoder,Q2=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));ya=class extends M{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 M{constructor(t){super(`Value \`${typeof t=="object"?Uo(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 M{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 M{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 M{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 M{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 ny(e){return{address:e.address,amount:te(e.amount),index:te(e.index),validatorIndex:te(e.validatorIndex)}}var sy=k(()=>{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(ny)}}}var il=k(()=>{je();sy()});var vn,lu,ay,du,cy,al,cl,ml,ul,Oo=k(()=>{vn=[{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"}]}],ay=[{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=[...ay,{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"}]}],cy=[...ay,{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"}]}],al=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],cl=[{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"}]}],ml=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],ul=[{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 my,uy=k(()=>{my="0x82ad56cb"});var hu,py,fy,ci,xa=k(()=>{hu="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",py="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",fy="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",ci="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033"});function wn(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:pl});if(!("inputs"in n))throw new ra({docsPath:pl});if(!n.inputs||n.inputs.length===0)throw new ra({docsPath:pl});let s=ct(n.inputs,r);return Oe([o,s])}var pl,gu=k(()=>{we();at();Wr();pl="/docs/contract/encodeDeployData"});function mi(){let e=()=>{},t=()=>{};return{promise:new Promise((o,n)=>{e=o,t=n}),resolve:e,reject:t}}var yu=k(()=>{});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=()=>fl.delete(t),a=()=>c().map(({args:u})=>u),c=()=>fl.get(t)||[],m=u=>fl.set(t,[...c(),u]);return{flush:i,async schedule(u){let{promise:p,resolve:f,reject:d}=mi();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 fl,ll=k(()=>{yu();fl=new Map});var xu,vu,wu,ly=k(()=>{et();H();Um();xu=class extends v{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=>` ${ln(a)}`)],` Sender: ${s}`,` Data: ${o}`,` Callback selector: ${t}`,` Extra data: ${n}`].flat(),name:"OffchainLookupError"})}},vu=class extends v{constructor({result:t,url:r}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${ln(r)}`,`Response: ${W(t)}`],name:"OffchainLookupResponseMalformedError"})}},wu=class extends v{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 dy(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?Jr(n.inputs,jt(r,4)):void 0}}var hy=k(()=>{we();ko();ks();ma();qr()});function hl(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:dl});n=c}if(n.type!=="error")throw new oa(void 0,{docsPath:dl});let s=De(n),i=yr(s),a="0x";if(o&&o.length>0){if(!n.inputs)throw new nm(n.name,{docsPath:dl});a=ct(n.inputs,o)}return Oe([i,a])}var dl,gy=k(()=>{we();at();ks();Wr();qr();Ao();dl="/docs/contract/encodeErrorResult"});function yy(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:gl});n=i}if(n.type!=="function")throw new sr(void 0,{docsPath:gl});if(!n.outputs)throw new xs(n.name,{docsPath:gl});let s=(()=>{if(n.outputs.length===0)return[];if(n.outputs.length===1)return[o];if(Array.isArray(o))return o;throw new vs(o)})();return ct(n.outputs,s)}var gl,by=k(()=>{we();Wr();Ao();gl="/docs/contract/encodeFunctionResult"});async function yl(e){let{data:t,ccipRequest:r}=e,{args:[o]}=dy({abi:lu,data:t}),n=[],s=[];return await Promise.all(o.map(async(i,a)=>{try{s[a]=i.urls.includes(eo)?await yl({data:i.data,ccipRequest:r}):await r(i),n[a]=!1}catch(c){n[a]=!0,s[a]=rC(c)}})),yy({abi:lu,functionName:"query",result:[n,s]})}function rC(e){return e.name==="HttpRequestError"&&e.status?hl({abi:lu,errorName:"HttpError",args:[e.status,e.shortMessage]}):hl({abi:[Yc],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}var eo,va=k(()=>{Oo();Xc();hy();gy();by();eo="x-batch-gateway:true"});var wy={};uf(wy,{ccipRequest:()=>vy,offchainLookup:()=>nC,offchainLookupAbiItem:()=>xy,offchainLookupSignature:()=>oC});async function nC(e,{blockNumber:t,blockTag:r,data:o,to:n}){let{args:s}=Nm({data:o,abi:[xy]}),[i,a,c,m,u]=s,{ccipRead:p}=e,f=p&&typeof p?.request=="function"?p.request:vy;try{if(!Wt(n,i))throw new wu({sender:i,to:n});let d=a.includes(eo)?await yl({data:c,ccipRequest:f}):await f({data:c,sender:i,urls:a}),{data:h}=await Ir(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 vy({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 oC,xy,Cy=k(()=>{ui();ly();hn();Vf();Wr();bn();at();It();va();et();oC="0x556f1830",xy={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 Ir(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:x,nonce:w,to:S,value:I,stateOverride:A,..._}=t,B=r?j(r):void 0;if(u&&(f||d))throw new v("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(u&&S)throw new v("Cannot provide both `code` & `to` as parameters.");let R=u&&p,F=f&&d&&S&&p,O=R||F,G=R?Ey({code:u,data:p}):F?aC({data:p,factory:f,factoryData:d,to:S}):p;try{rt(t);let ue=(typeof s=="bigint"?E(s):void 0)||i,Ae=m?fu(m):void 0,qe=Js(A),Mt=e.chain?.formatters?.transactionRequest?.format,ke=(Mt||gt)({...wr(_,{format:Mt}),accessList:a,account:B,authorizationList:o,blobs:c,data:G,gas:h,gasPrice:g,maxFeePerBlobGas:b,maxFeePerGas:y,maxPriorityFeePerGas:x,nonce:w,to:O?void 0:S,value:I},"call");if(n&&sC({request:ke})&&!qe&&!Ae)try{return await iC(e,{...ke,blockNumber:s,blockTag:i})}catch(pe){if(!(pe instanceof Ji)&&!(pe instanceof mn))throw pe}let lr=(()=>{let pe=[ke,ue];return qe&&Ae?[...pe,qe,Ae]:qe?[...pe,qe]:Ae?[...pe,{},Ae]:pe})(),go=await e.request({method:"eth_call",params:lr});return go==="0x"?{data:void 0}:{data:go}}catch(V){let ue=cC(V),{offchainLookup:Ae,offchainLookupSignature:qe}=await Promise.resolve().then(()=>(Cy(),wy));if(e.ccipRead!==!1&&ue?.slice(0,10)===qe&&S)return{data:await Ae(e,{data:ue,to:S})};throw O&&ue?.slice(0,10)==="0x101bb98d"?new Hm({factory:f}):Gm(V,{...t,account:B,chain:e.chain})}}function sC({request:e}){let{data:t,to:r,...o}=e;return!(!t||t.startsWith(my)||!r||Object.values(o).filter(n=>typeof n<"u").length>0)}async function iC(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:x})=>y+(x.length-2),0)>r*2},fn:async g=>{let b=g.map(w=>({allowFailure:!0,callData:w.data,target:w.to})),y=fe({abi:vn,args:[b],functionName:"aggregate3"}),x=await e.request({method:"eth_call",params:[{...m===null?{data:Ey({code:ci,data:y})}:{to:m,data:y}},p]});return vt({abi:vn,args:[b],functionName:"aggregate3",data:x||"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 Ey(e){let{code:t,data:r}=e;return wn({abi:$m(["constructor(bytes, bytes)"]),bytecode:hu,args:[t,r]})}function aC(e){let{data:t,factory:r,factoryData:o,to:n}=e;return wn({abi:$m(["constructor(address, bytes, address, bytes)"]),bytecode:py,args:[n,t,r,o]})}function cC(e){if(!(e instanceof v))return;let t=e.walk();return typeof t?.data=="object"?t.data?.data:t.data}var ui=k(()=>{aa();il();ve();Oo();uy();xa();H();Zi();Po();zo();gu();Tt();pn();D();Jf();Ws();vo();ll();Xm();Yr()});var cd=ft(Da=>{"use strict";var $8=Da&&Da.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Da,"__esModule",{value:!0});Da.encryptEnvVars=F8;var id=Ur("@noble/curves/ed25519"),ad=$8(Ur("crypto"));function R8(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 B8(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}async function F8(e,t){let r=JSON.stringify({env:e}),o=id.x25519.utils.randomPrivateKey(),n=id.x25519.getPublicKey(o),s=R8(t),i=id.x25519.getSharedSecret(o,s),a=await ad.default.subtle.importKey("raw",i,{name:"AES-GCM",length:256},!0,["encrypt"]),c=ad.default.getRandomValues(new Uint8Array(12)),m=await ad.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),B8(u)}});var xx=ft(Na=>{"use strict";var M8=Na&&Na.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Na,"__esModule",{value:!0});Na.getComposeHash=L8;var D8=M8(Ur("crypto"));function md(e){return e==null?e:Array.isArray(e)?e.map(md):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=md(o),t},{}):e}function N8(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 z8(e){let t=md(e);return JSON.stringify(t,(r,o)=>typeof o=="number"&&(isNaN(o)||!isFinite(o))?null:o)}function L8(e,t=!1){t&&(e=N8(e));let r=z8(e);return D8.default.createHash("sha256").update(r,"utf8").digest("hex")}});var Ox=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=Fx;U.fromBig=pd;U.split=vx;var xp=BigInt(2**32-1),ud=BigInt(32);function pd(e,t=!1){return t?{h:Number(e&xp),l:Number(e>>ud&xp)}:{h:Number(e>>ud&xp)|0,l:Number(e&xp)|0}}function vx(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}=pd(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var wx=(e,t)=>BigInt(e>>>0)<<ud|BigInt(t>>>0);U.toBig=wx;var Cx=(e,t,r)=>e>>>r;U.shrSH=Cx;var Ex=(e,t,r)=>e<<32-r|t>>>r;U.shrSL=Ex;var Sx=(e,t,r)=>e>>>r|t<<32-r;U.rotrSH=Sx;var kx=(e,t,r)=>e<<32-r|t>>>r;U.rotrSL=kx;var Ix=(e,t,r)=>e<<64-r|t>>>r-32;U.rotrBH=Ix;var _x=(e,t,r)=>e>>>r-32|t<<64-r;U.rotrBL=_x;var Ax=(e,t)=>t;U.rotr32H=Ax;var Px=(e,t)=>e;U.rotr32L=Px;var Tx=(e,t,r)=>e<<r|t>>>32-r;U.rotlSH=Tx;var $x=(e,t,r)=>t<<r|e>>>32-r;U.rotlSL=$x;var Rx=(e,t,r)=>t<<r-32|e>>>64-r;U.rotlBH=Rx;var Bx=(e,t,r)=>e<<r-32|t>>>64-r;U.rotlBL=Bx;function Fx(e,t,r,o){let n=(t>>>0)+(o>>>0);return{h:e+r+(n/2**32|0)|0,l:n|0}}var Mx=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);U.add3L=Mx;var Dx=(e,t,r,o)=>t+r+o+(e/2**32|0)|0;U.add3H=Dx;var Nx=(e,t,r,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0);U.add4L=Nx;var zx=(e,t,r,o,n)=>t+r+o+n+(e/2**32|0)|0;U.add4H=zx;var Lx=(e,t,r,o,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0)+(n>>>0);U.add5L=Lx;var Ux=(e,t,r,o,n,s)=>t+r+o+n+s+(e/2**32|0)|0;U.add5H=Ux;var U8={fromBig:pd,split:vx,toBig:wx,shrSH:Cx,shrSL:Ex,rotrSH:Sx,rotrSL:kx,rotrBH:Ix,rotrBL:_x,rotr32H:Ax,rotr32L:Px,rotlSH:Tx,rotlSL:$x,rotlBH:Rx,rotlBL:Bx,add:Fx,add3L:Mx,add3H:Dx,add4L:Nx,add4H:zx,add5H:Ux,add5L:Lx};U.default=U8});var Hx=ft(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});vp.crypto=void 0;var Jo=Ur("crypto");vp.crypto=Jo&&typeof Jo=="object"&&"webcrypto"in Jo?Jo.webcrypto:Jo&&typeof Jo=="object"&&"randomBytes"in Jo?Jo:void 0});var Zx=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=Gx;N.anumber=fd;N.abytes=Si;N.ahash=O8;N.aexists=H8;N.aoutput=j8;N.u8=G8;N.u32=V8;N.clean=q8;N.createView=K8;N.rotr=W8;N.rotl=J8;N.byteSwap=dd;N.byteSwap32=Vx;N.bytesToHex=Y8;N.hexToBytes=X8;N.asyncLoop=eE;N.utf8ToBytes=hd;N.bytesToUtf8=tE;N.toBytes=wp;N.kdfInputToBytes=rE;N.concatBytes=oE;N.checkOpts=nE;N.createHasher=Kx;N.createOptHasher=Wx;N.createXOFer=Jx;N.randomBytes=sE;var Ei=Hx();function Gx(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function fd(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Si(e,...t){if(!Gx(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 O8(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");fd(e.outputLen),fd(e.blockLen)}function H8(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 j8(e,t){Si(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function G8(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function V8(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function q8(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function K8(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function W8(e,t){return e<<32-t|e>>>t}function J8(e,t){return e<<t|e>>>32-t>>>0}N.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function dd(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}N.swap8IfBE=N.isLE?e=>e:e=>dd(e);N.byteSwapIfBE=N.swap8IfBE;function Vx(e){for(let t=0;t<e.length;t++)e[t]=dd(e[t]);return e}N.swap32IfBE=N.isLE?e=>e:Vx;var qx=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Z8=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Y8(e){if(Si(e),qx)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Z8[e[r]];return t}var oo={_0:48,_9:57,A:65,F:70,a:97,f:102};function jx(e){if(e>=oo._0&&e<=oo._9)return e-oo._0;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 X8(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(qx)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=jx(e.charCodeAt(s)),a=jx(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 Q8=async()=>{};N.nextTick=Q8;async function eE(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 hd(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function tE(e){return new TextDecoder().decode(e)}function wp(e){return typeof e=="string"&&(e=hd(e)),Si(e),e}function rE(e){return typeof e=="string"&&(e=hd(e)),Si(e),e}function oE(...e){let t=0;for(let o=0;o<e.length;o++){let n=e[o];Si(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 nE(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 ld=class{};N.Hash=ld;function Kx(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 Wx(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 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}N.wrapConstructor=Kx;N.wrapConstructorWithOpts=Wx;N.wrapXOFConstructorWithOpts=Jx;function sE(e=32){if(Ei.crypto&&typeof Ei.crypto.getRandomValues=="function")return Ei.crypto.getRandomValues(new Uint8Array(e));if(Ei.crypto&&typeof Ei.crypto.randomBytes=="function")return Uint8Array.from(Ei.crypto.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}});var s1=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=o1;var La=Ox(),st=Zx(),iE=BigInt(0),za=BigInt(1),aE=BigInt(2),cE=BigInt(7),mE=BigInt(256),uE=BigInt(113),Qx=[],e1=[],t1=[];for(let e=0,t=za,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],Qx.push(2*(5*o+r)),e1.push((e+1)*(e+2)/2%64);let n=iE;for(let s=0;s<7;s++)t=(t<<za^(t>>cE)*uE)%mE,t&aE&&(n^=za<<(za<<BigInt(s))-za);t1.push(n)}var r1=(0,La.split)(t1,!0),pE=r1[0],fE=r1[1],Yx=(e,t,r)=>r>32?(0,La.rotlBH)(e,t,r):(0,La.rotlSH)(e,t,r),Xx=(e,t,r)=>r>32?(0,La.rotlBL)(e,t,r):(0,La.rotlSL)(e,t,r);function o1(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=Yx(m,u,1)^r[a],f=Xx(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=e1[i],c=Yx(n,s,a),m=Xx(n,s,a),u=Qx[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]^=pE[o],e[1]^=fE[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),o1(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 Zo=(e,t,r)=>(0,st.createHasher)(()=>new Ua(t,e,r));le.sha3_224=Zo(6,144,224/8);le.sha3_256=Zo(6,136,256/8);le.sha3_384=Zo(6,104,384/8);le.sha3_512=Zo(6,72,512/8);le.keccak_224=Zo(1,144,224/8);le.keccak_256=Zo(1,136,256/8);le.keccak_384=Zo(1,104,384/8);le.keccak_512=Zo(1,72,512/8);var n1=(e,t,r)=>(0,st.createXOFer)((o={})=>new Ua(t,e,o.dkLen===void 0?r:o.dkLen,!0));le.shake128=n1(31,168,128/8);le.shake256=n1(31,136,256/8)});var i1=ft(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});gd.verifyEnvEncryptPublicKey=hE;var lE=s1(),dE=Ur("@noble/curves/secp256k1");function hE(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,lE.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=dE.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 dA}from"fs";import{dirname as hA,join as gA}from"path";import{fileURLToPath as yA}from"url";import{ZodError as GI}from"zod";import Ri from"chalk";function sc(e){return e.split(/[\s-]+/).filter(Boolean).map((t,r)=>r===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function x0(e){return e===void 0?[]:Array.isArray(e)?[...e]:[e]}function v0(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);t.passThrough.length>0&&(r["--"]=t.passThrough);let o={},n=e.arguments??[],s=[...t.positionals],i=0;for(let a of n){let c=a.target??sc(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 Kw from"arg";var jw={name:"help",shorthand:"h",description:"Show help information for the current command",type:"boolean",target:"help"},Gw={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"},Vw={name:"api-token",description:"API token used for authentication",type:"string",target:"apiToken",aliases:["api-key"],argumentName:"token"},zn=[jw,Gw],Ln=[Vw],Xe={name:"cvm_id",description:"CVM identifier (UUID, app_id, instance_id, or name)",required:!1,target:"cvmId"},w0={name:"cvm-id",description:"CVM identifier (UUID, app_id, instance_id, or name)",type:"string",target:"cvmId"},C0={name:"uuid",description:"[DEPRECATED] Use --cvm-id instead. CVM UUID.",type:"string",target:"cvmId"};import E0 from"arg";function S0(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??sc(n.name),a=qw(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 x0(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]=E0.flag(()=>!0),o.set(c,{option:n,canonicalKey:s,target:i,negatedKey:c})}}return{spec:t,descriptors:r,negatedLookup:o}}function qw(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 E0.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 Ww(e){let t=e.indexOf("--");return t===-1?[[...e],[]]:[e.slice(0,t),e.slice(t+1)]}function Ui(e,t,r={}){let o=[...zn,...t?[...t]:[]],n=S0(o),{permissive:s=!1,stopAtPositional:i=!1}=r,[a,c]=Ww(e),m=Kw(n.spec,{argv:a,permissive:s,stopAtPositional:i}),{_:u,...p}=m;return{positionals:u??[],flags:p,flagConfig:n,passThrough:c}}function ic(e){return e==="unstable"?" [UNSTABLE]":e==="deprecated"?" [DEPRECATED]":""}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??n.group?.meta,i=s?.description??"",a=s?.stability,c=a?ic(a):"",m=n.name??"";o.push(` ${m.padEnd(18)}${i}${c}`.trimEnd())}o.push(""),o.push("Global options:");for(let n of zn)o.push(` ${pf(n).padEnd(24)}${n.description??""}`.trimEnd());return o.join(`
48
+ `)}function k0(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??m.group?.meta,p=u?.description??"",f=u?.stability,d=f?ic(f):"",h=m.name??"";s.push(` ${h.padEnd(18)}${p}${d}`.trimEnd())}s.push("")}s.push("Global options:");for(let m of zn)s.push(` ${pf(m).padEnd(24)}${m.description??""}`.trimEnd());return s.join(`
49
+ `)}function I0(e){let{executableName:t,definition:r,registry:o}=e,n=Jw({executableName:t,definition:r}),s=ic(r.meta.stability),i=[n,"",`${r.meta.description}${s}`],a=r.meta.arguments??[];if(a.length>0){i.push(""),i.push("Arguments:");for(let u of a){let p=Yw(u);i.push(` ${p.padEnd(18)}${u.description??""}`.trimEnd())}}let c=[...zn,...r.meta.options??[]];if(c.length>0){i.push(""),i.push("Options:");for(let u of c)u.hidden||i.push(` ${pf(u).padEnd(24)}${u.description??""}`.trimEnd())}if(r.meta.passThrough&&(i.push(""),i.push("Pass-through (after --):"),i.push(` ${r.meta.passThrough.description}`),r.meta.passThrough.examples&&r.meta.passThrough.examples.length>0)){i.push(""),i.push(" Examples:");for(let u of r.meta.passThrough.examples)i.push(` ${u}`)}if(r.meta.examples&&r.meta.examples.length>0){i.push(""),i.push("Examples:");for(let u of r.meta.examples)i.push(` # ${u.name}`),i.push(` ${u.value}`)}let m=o.getChildren(r.path);if(m.length>0){i.push(""),i.push("Subcommands:");for(let u of m){let p=u.command?.meta??u.group?.meta,f=p?.description??"",d=p?.stability,h=d?ic(d):"",g=u.name??"";i.push(` ${g.padEnd(18)}${f}${h}`.trimEnd())}}return i.join(`
50
+ `)}function Jw({executableName:e,definition:t}){let r=[e,...t.path],n=(t.meta.arguments??[]).map(m=>Zw(m)).join(" "),i=(t.meta.options?.length??0)>0?" [options]":"",a=n?` ${n}`:"",c=t.meta.passThrough?" [--] [...]":"";return`Usage: ${r.join(" ")}${i}${a}${c}`}function Zw(e){let t=`<${e.name}>`;return e.variadic?`${t}...`:e.required===!1?`[${t}]`:t}function Yw(e){return e.variadic?`<${e.name}...>`:e.required===!1?`<${e.name}>?`:`<${e.name}>`}function pf(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 ff=!1;function Ke(e){ff=e}function lt(){return ff}function lf(){return!ff}import BI from"path";import Rd from"fs-extra";import FI from"@iarna/toml";import{z as Pp}from"zod";var p1=Li(z0(),1);import{ofetch as gE}from"ofetch";function L0(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 Yo}from"zod";import{z as K}from"zod";import{z as Xo}from"zod";function on(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}bc();Be();bc();var wf={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function sn(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?wf[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=I5(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 j0=Gn("transaction",sn);function I5(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:sn(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 G0=Gn("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 Cf={"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?Cf[e.status]:null,type:e.type?wf[e.type]||e.type:null};return e.blobGasPrice&&(r.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(r.blobGasUsed=BigInt(e.blobGasUsed)),r}var V0=Gn("transactionReceipt",qi);H();vc();Ue();D();function rr(e,t="hex"){let r=q0(e),o=Kn(new Uint8Array(r.length));return r.encode(o),t==="hex"?X(o.bytes):o.bytes}function q0(e){return Array.isArray(e)?$5(e.map(t=>q0(t))):R5(e)}function $5(e){let t=e.reduce((n,s)=>n+s.length,0),r=K0(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 R5(e){let t=typeof e=="string"?Fe(e):e,r=K0(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 K0(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 v("Length is too large.")}_t();D();function J0(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",...Qn({},s)])}return t}Ue();D();function es(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();D();function ts(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))}D();Fc();function z5(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 Y0(e,t,r){return e&t^~e&r}function X0(e,t,r){return e&t^e&r^t&r}var Mc=class extends rs{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){os(this),t=Wi(t),cn(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){os(this),$c(t,this),this.finished=!0;let{buffer:r,view:o,blockLen:n,isLE:s}=this,{pos:i}=this;r[i++]=128,wo(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(o,0),i=0);for(let p=i;p<n;p++)r[p]=0;z5(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()}},jr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Fc();var U5=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),Nc=class extends Mc{constructor(t=32){super(64,t,8,!1),this.A=jr[0]|0,this.B=jr[1]|0,this.C=jr[2]|0,this.D=jr[3]|0,this.E=jr[4]|0,this.F=jr[5]|0,this.G=jr[6]|0,this.H=jr[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)Co[p]=t.getUint32(r,!1);for(let p=16;p<64;p++){let f=Co[p-15],d=Co[p-2],h=or(f,7)^or(f,18)^f>>>3,g=or(d,17)^or(d,19)^d>>>10;Co[p]=g+Co[p-7]+h+Co[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+Y0(a,c,m)+U5[p]+Co[p]|0,g=(or(o,2)^or(o,13)^or(o,22))+X0(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(){wo(Co)}destroy(){this.set(0,0,0,0,0,0,0,0),wo(this.buffer)}};var ih=Bc(()=>new Nc);var ah=ih;It();Ue();D();function ch(e,t){let r=t||"hex",o=ah(ce(e,{strict:!1})?zt(e):e);return r==="bytes"?o:ie(o)}function mh(e){let{commitment:t,version:r=1}=e,o=e.to??(typeof t=="string"?"hex":"bytes"),n=ch(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(mh({commitment:s,to:o,version:r}));return n}H();var Lc=class extends v{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}},ns=class extends v{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}},Uc=class extends v{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}},Oc=class extends v{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${1}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}};vc();Nt();Ue();D();function uh(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 ns;if(o>761855)throw new Lc({maxSize:761855,size:o});let n=[],s=!0,i=0;for(;s;){let a=Kn(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??uh({data:t,to:o}),s=e.commitments??es({blobs:n,kzg:r,to:o}),i=e.proofs??ts({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();nn();D();Ef();nr();H();Zi();Eo();At();Nt();ko();Be();function xh(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 un({chainId:o})}Kc(e)}function vh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new ns;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 un({chainId:t});if(n&&!ee(n))throw new ne({address:n});if(o&&o>Vn)throw new Lt({maxFeePerGas:o});if(r&&o&&r>o)throw new dr({maxFeePerGas:o,maxPriorityFeePerGas:r})}function wh(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(t<=0)throw new un({chainId:t});if(s&&!ee(s))throw new ne({address:s});if(r||n)throw new v("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(o&&o>Vn)throw new Lt({maxFeePerGas:o})}function Ch(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 un({chainId:t});if(r||n)throw new v("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(o&&o>Vn)throw new Lt({maxFeePerGas:o})}_t();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 _c({transaction:e})}nr();_t();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"?t2(e,t):r==="eip2930"?r2(e,t):r==="eip4844"?e2(e,t):r==="eip7702"?Q5(e,t):o2(e,t)}function Q5(e,t){let{authorizationList:r,chainId:o,gas:n,nonce:s,to:i,value:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:p}=e;xh(e);let f=Xi(u),d=J0(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,...Qn(e,t)])])}function e2(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:p}=e;vh(e);let f=e.blobVersionedHashes,d=e.sidecars;if(e.blobs&&(typeof f>"u"||typeof d>"u")){let w=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(A=>X(A)),S=e.kzg,I=es({blobs:w,kzg:S});if(typeof f>"u"&&(f=zc({commitments:I})),typeof d>"u"){let A=ts({blobs:w,commitments:I,kzg:S});d=Hc({blobs:w,commitments:I,proofs:A})}}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??[],...Qn(e,t)],b=[],y=[],x=[];if(d)for(let w=0;w<d.length;w++){let{blob:S,commitment:I,proof:A}=d[w];b.push(S),y.push(I),x.push(A)}return Oe(["0x03",d?rr([g,b,y,x]):rr(g)])}function t2(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,...Qn(e,t)];return Oe(["0x02",rr(f)])}function r2(e,t){let{chainId:r,gas:o,data:n,nonce:s,to:i,value:a,accessList:c,gasPrice:m}=e;wh(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,...Qn(e,t)];return Oe(["0x01",rr(p)])}function o2(e,t){let{chainId:r=0,gas:o,data:n,nonce:s,to:i,value:a,gasPrice:c}=e;Ch(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 Ic({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 Qn(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 Eh={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}};Be();var Sh={block:G0({format(e){return{transactions:e.transactions?.map(r=>{if(typeof r=="string")return r;let o=sn(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:j0({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:V0({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();D();function n2(e,t){return i2(e)?s2(e):Jc(e,t)}var kh={transaction:n2};function s2(e){a2(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 i2(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function a2(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 Bf={blockTime:2e3,contracts:Eh,formatters:Sh,serializers:kh};var Zc=on({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=on({...Bf,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:{...Bf.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}),c2=on({...ea,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://mainnet-preconf.base.org"]}}});Zi();function hs({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 v{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 v{constructor({docsPath:t,metaMessages:r,type:o}){super(`Account type "${o}" is not supported.`,{docsPath:t,metaMessages:r,name:"AccountTypeNotSupportedError"})}};var Vm=on({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 Bt}from"zod";import{z as T}from"zod";import{z as Ii}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 hS 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 VS}from"zod";import{z as c1}from"zod";import{z as Br}from"zod";import{z as Pi}from"zod";import{z as Tn}from"zod";import{z as hk}from"zod";import{z as bk}from"zod";import{z as oe}from"zod";import{z as Tr}from"zod";import{z as Rk}from"zod";import{z as Ee}from"zod";import{z as L}from"zod";import{z as Ai}from"zod";import{z as m1}from"zod";import{z as it}from"zod";import{z as k1}from"zod";import{z as Pr}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)}we();H();var qm=class extends v{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}};Ue();Ht();ua();Wr();qr();Ao();var Sg="/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:Sg});n=c}if(n.type!=="event")throw new na(void 0,{docsPath:Sg});let s=De(n),i=_o(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)=>kg({param:u,value:m[p][d]})):typeof m[p]<"u"&&m[p]!==null?kg({param:u,value:m[p]}):null)??[])}return[i,...a]}function kg({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])}D();function Mo(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=Mo(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();Po();hn();Ks();var U2=3;function $t(e,{abi:t,address:r,args:o,docsPath:n,functionName:s,sender:i}){let a=e instanceof xr?e:e instanceof v?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}):[U2,Zr.code].includes(c)&&(m||u||p||f)?new dn({abi:t,data:typeof m=="object"?m.data:m,functionName:s,message:a instanceof To?u:f??p}):e;return new As(d,{abi:t,args:o,contractAddress:r,docsPath:n,functionName:s,sender:i})}ve();H();So();Ht();function Wm(e){let t=se(`0x${e.substring(4)}`).substring(26);return Vr(`0x${t}`)}It();Nt();Be();D();async function Tg({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=Pg(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=Pg(a);return o.Signature.fromCompact(i.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function Pg(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 Tg({hash:e,signature:t}))}at();Ue();D();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 Do(e){let{authorization:t,signature:r}=e;return Jm({hash:Zm(t),signature:r??t})}D();Sc();Jn();H();_t();var Ym=class extends v{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=an({from:r?.address,to:p,value:typeof f<"u"&&`${Wn(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}};Eo();fa();function $g(e,{docsPath:t,...r}){let o=(()=>{let n=Fo(e,r);return n instanceof Ut?e:n})();return new Ym(o,{docsPath:t,...r})}Ws();vo();Xm();Yr();ve();Jn();H();var Qm=class extends v{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}},No=class extends v{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}},eu=class extends v{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Me(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};Be();H();var Zs=class extends v{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"})}};D();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 Zs({blockHash:t,blockNumber:r});return(e.chain?.formatters?.block?.format||Vi)(a,"getBlock")}async function Ys(e){let t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function Bg(e,t){return Zf(e,t)}async function Zf(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,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):P(e,ot,"getBlock")({}),P(e,Ys,"getGasPrice")({})]);if(typeof s.baseFeePerGas!="bigint")throw new No;let a=i-s.baseFeePerGas;return a<0n?0n:a}}async function Fg(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 P(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 No;let f=typeof n?.maxPriorityFeePerGas=="bigint"?n.maxPriorityFeePerGas:await Zf(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 P(e,Ys,"getGasPrice")({}))}}Be();D();async function Xs(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)}Yr();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"],Mg=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 P(e,ot,"getBlock")({blockTag:"latest"}),d)}let g;async function b(){return g||(n?n.id:typeof t.chainId<"u"?t.chainId:(g=await P(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 P(e,Xs,"getTransactionCount")({address:p.address,blockTag:"pending"});if((m.includes("blobVersionedHashes")||m.includes("sidecars"))&&o&&i){let y=es({blobs:o,kzg:i});if(m.includes("blobVersionedHashes")){let x=zc({commitments:y,to:"hex"});f.blobVersionedHashes=x}if(m.includes("sidecars")){let x=ts({blobs:o,commitments:y,kzg:i}),w=Hc({blobs:o,commitments:y,proofs:x,to:"hex"});f.sidecars=w}}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=Mg.get(e.uid);typeof y>"u"&&(y=typeof(await h())?.baseFeePerGas=="bigint",Mg.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:x,maxPriorityFeePerGas:w}=await tu(e,{block:y,chain:n,request:f});if(typeof t.maxPriorityFeePerGas>"u"&&t.maxFeePerGas&&t.maxFeePerGas<w)throw new eu({maxPriorityFeePerGas:w});f.maxPriorityFeePerGas=w,f.maxFeePerGas=x}}else{if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")throw new No;if(typeof t.gasPrice>"u"){let y=await h(),{gasPrice:x}=await tu(e,{block:y,chain:n,request:f,type:"legacy"});f.gasPrice=x}}return m.includes("gas")&&typeof s>"u"&&(f.gas=await P(e,Qs,"estimateGas")({...f,account:p,prepare:p?.type==="local"?[]:["blobVersionedHashes"]})),rt(f),delete f.parameters,f}async function Qs(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:x,value:w,stateOverride:S,...I}=o?await Er(e,{...t,parameters:s}):t,_=(typeof u=="bigint"?E(u):void 0)||p,B=Js(S),R=await(async()=>{if(I.to)return I.to;if(a&&a.length>0)return await Do({authorization:a[0]}).catch(()=>{throw new v("`to` is required. Could not infer from `authorizationList`")})})();rt(t);let F=e.chain?.formatters?.transactionRequest?.format,G=(F||gt)({...wr(I,{format:F}),account:n,accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,data:f,gas:d,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:x,to:R,value:w},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:B?[G,_??e.experimental_blockTag??"latest",B]:_?[G,_]:[G]}))}catch(i){throw $g(i,{...t,account:n,chain:e.chain})}}async function Dg(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 P(e,Qs,"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})}}Ao();we();bn();Ue();Ht();ua();we();Sf();Nt();ua();ma();qr();var Ng="/docs/contract/decodeEventLog";function ei(e){let{abi:t,data:r,strict:o,topics:n}=e,s=o??!0,[i,...a]=n;if(!i)throw new sm({docsPath:Ng});let c=t.find(g=>g.type==="event"&&i===_o(De(g)));if(!(c&&"name"in c)||c.type!=="event")throw new bs(i,{docsPath:Ng});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],x=a[g];if(!x)throw new hr({abiItem:c,param:b});f[p?y:b.name||y]=H2({param:b,value:x})}let h=u.filter(g=>!("indexed"in g&&g.indexed));if(h.length>0){if(r&&r!=="0x")try{let g=Jr(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 gs||g instanceof qn?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 H2({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Jr([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]===_o(m));if(!a)return null;let c=ei({...i,abi:[a],strict:n});return s&&!s.includes(c.eventName)||!j2({args:c.args,inputs:a.inputs,matchArgs:r})?null:{...c,...i}}catch(a){let c,m;if(a instanceof bs)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 j2(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}D();async function ti(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 P(e,ti,"getLogs")({address:o,args:n,blockHash:s,event:u,events:p,fromBlock:a,toBlock:c,strict:m})}zo();Tt();ui();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 P(e,Ir,"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();zo();Tt();ui();async function Sy(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 P(e,Ir,"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();Ks();var bl=new Map,ky=new Map,mC=0;function nt(e,t,r){let o=++mC,n=()=>bl.get(e)||[],s=()=>{let u=n();bl.set(e,u.filter(p=>p.id!==o))},i=()=>{let u=n();if(!u.some(f=>f.id===o))return;let p=ky.get(e);if(u.length===1&&p){let f=p();f instanceof Promise&&f.catch(()=>{})}s()},a=n();if(bl.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"&&ky.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 uC=new Map,pC=new Map;function Iy(e){let t=(n,s)=>({clear:()=>s.delete(n),get:()=>s.get(n),set:i=>s.set(n,i)}),r=t(e,uC),o=t(e,pC);return{clear:()=>{r.clear(),o.clear()},promise:r,response:o}}async function _y(e,{cacheKey:t,cacheTime:r=Number.POSITIVE_INFINITY}){let o=Iy(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 fC=e=>`blockNumber.${e}`;async function _r(e,{cacheTime:t=e.cacheTime}={}){let r=await _y(()=>e.request({method:"eth_blockNumber"}),{cacheKey:fC(e.uid),cacheTime:t});return BigInt(r)}async function Ho(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 jo(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function Ay(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},x=>{let w;a!==void 0&&(w=a-1n);let S,I=!1,A=Zt(async()=>{if(!I){try{S=await P(e,Km,"createContractEventFilter")({abi:r,address:o,args:n,eventName:i,strict:b,fromBlock:a})}catch{}I=!0;return}try{let _;if(S)_=await P(e,Ho,"getFilterChanges")({filter:S});else{let B=await P(e,_r,"getBlockNumber")({});w&&w<B?_=await P(e,ru,"getContractEvents")({abi:r,address:o,args:n,eventName:i,fromBlock:w+1n,toBlock:B,strict:b}):_=[],w=B}if(_.length===0)return;if(s)x.onLogs(_);else for(let B of _)x.onLogs([B])}catch(_){S&&_ instanceof vr&&(I=!1),x.onError?.(_)}},{emitOnBegin:!0,interval:p});return async()=>{S&&await P(e,jo,"uninstallFilter")({filter:S}),A()}})})():(()=>{let b=f??!1,y=W(["watchContractEvent",o,n,s,e.uid,i,p,b]),x=!0,w=()=>x=!1;return nt(y,{onLogs:m,onError:c},S=>((async()=>{try{let I=(()=>{if(e.transport.type==="fallback"){let B=e.transport.transports.find(R=>R.config.type==="webSocket"||R.config.type==="ipc");return B?B.value:e.transport}return e.transport})(),A=i?Cr({abi:r,eventName:i,args:n}):[],{unsubscribe:_}=await I.subscribe({params:["logs",{address:o,topics:A}],onData(B){if(!x)return;let R=B.result;try{let{eventName:F,args:O}=ei({abi:r,data:R.data,topics:R.topics,strict:f}),G=Qe(R,{args:O,eventName:F});S.onLogs([G])}catch(F){let O,G;if(F instanceof ir||F instanceof hr){if(f)return;O=F.abiItem.name,G=F.abiItem.inputs?.some(ue=>!("name"in ue&&ue.name))}let V=Qe(R,{args:G?[]:{},eventName:O});S.onLogs([V])}},onError(B){S.onError?.(B)}});w=_,x||w()}catch(I){c?.(I)}})(),()=>w()))})()}ve();Tt();ve();H();Eo();_t();fa();function pi(e,{docsPath:t,...r}){let o=(()=>{let n=Fo(e,r);return n instanceof Ut?e:n})();return new Pc(o,{docsPath:t,...r})}Ws();vo();ls();Yr();async function fi(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}var xl=new Ot(128);async function Go(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 x=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await Do({authorization:s[0]}).catch(()=>{throw new v("`to` is required. Could not infer from `authorizationList`.")})})();if(y?.type==="json-rpc"||y===null){let w;o!==null&&(w=await P(e,xt,"getChainId")({}),hs({currentChainId:w,chain:o}));let S=e.chain?.formatters?.transactionRequest?.format,A=(S||gt)({...wr(b,{format:S}),accessList:n,account:y,authorizationList:s,blobs:i,chainId:w,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,to:x,type:h,value:g},"sendTransaction"),_=xl.get(e.uid),B=_?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:B,params:[A]},{retryCount:0})}catch(R){if(_===!1)throw R;let F=R;if(F.name==="InvalidInputRpcError"||F.name==="InvalidParamsRpcError"||F.name==="MethodNotFoundRpcError"||F.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[A]},{retryCount:0}).then(O=>(xl.set(e.uid,!0),O)).catch(O=>{let G=O;throw G.name==="MethodNotFoundRpcError"||G.name==="MethodNotSupportedRpcError"?(xl.set(e.uid,!1),F):G});throw F}}if(y?.type==="local"){let w=await P(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:x}),S=o?.serializers?.transaction,I=await y.signTransaction(w,{serializer:S});return await P(e,fi,"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(x){throw x instanceof Vt?x:pi(x,{...t,account:y,chain:t.chain||void 0})}}async function Cn(e,t){return Cn.internal(e,Go,"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 P(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})(Cn||(Cn={}));H();H();var Cu=class extends v{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 En(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();ko();nn();Be();ve();H();Ks();Tt();at();Be();D();var vl="0x5792579257925792579257925792579257925792579257925792579257925792",wl=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(x=>!x.optional)){let x="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new Ro(new v(x,{details:x}))}if(a&&p.length>1){let y="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new Bo(new v(y,{details:y}))}let h=[];for(let y of p){let x=Go(e,{account:u,chain:n,data:y.data,to:y.to,value:y.value?ae(y.value):void 0});h.push(x),i>0&&await new Promise(w=>setTimeout(w,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:wl);return{id:Pe([...b,E(n.id,{size:32}),vl])}}throw pi(f,{...t,account:u,chain:t.chain})}}async function Su(e,t){async function r(u){if(u.endsWith(vl.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=>wl.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:Cf[u.status]}))??[],statusCode:m,status:c,version:i}}async function ku(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}=mi(),d,h=nt(m,{resolve:p,reject:f},g=>{let b=Zt(async()=>{let y=x=>{clearTimeout(d),b(),x(),h()};try{let x=await En(async()=>{let w=await P(e,Su,"getCallsStatus")({id:r});if(c&&w.status==="failure")throw new Cu(w);return w},{retryCount:s,delay:i});if(!n(x))return;y(()=>g.resolve(x))}catch(x){y(()=>g.reject(x))}},{interval:o,emitOnBegin:!0});return b});return d=a?setTimeout(()=>{h(),clearTimeout(d),f(new Cl({id:r}))},a):void 0,await u}var Cl=class extends v{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}};ve();var Iu=256,_u;function Au(e=11){if(!_u||Iu+e>256*2){_u="",Iu=0;for(let t=0;t<256;t++)_u+=(256+Math.random()*256|0).toString(16).substring(1)}return _u.substring(Iu,Iu+++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 x(w){return S=>{let I=S(w);for(let _ in y)delete I[_];let A={...w,...I};return Object.assign(A,{extend:x(A)})}}return Object.assign(y,{extend:x(y)})}Oo();zo();Tt();pn();nn();D();H();Po();function li(e){if(!(e instanceof v))return!1;let t=e.walk(r=>r instanceof dn);return t instanceof dn?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();D();Ht();It();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 Py(e){return`[${e.slice(2)}]`}Ue();D();Ht();function Ty(e){let t=new Uint8Array(32).fill(0);return e?Tu(e)||se(tr(e)):X(t)}function di(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(Py(Ty(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:cl,functionName:"addr",args:p}),d={address:m,abi:du,functionName:"resolveWithGateways",args:[ie(di(s)),f,i??[eo]],blockNumber:r,blockTag:o},g=await P(e,Te,"readContract")(d);if(g[0]==="0x")return null;let b=vt({abi:cl,args:p,functionName:"addr",data:g[0]});return b==="0x"||Le(b)==="0x00"?null:b}catch(f){if(a)throw f;if(li(f))return null;throw f}}H();var $u=class extends v{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"})}},Vo=class extends v{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}},hi=class extends v{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 v{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}};var lC=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,dC=/^(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>\/.*)?$/,hC=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,gC=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function yC(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 Ry(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function El({uri:e,gatewayUrls:t}){let r=hC.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};let o=Ry(t?.ipfs,"https://ipfs.io"),n=Ry(t?.arweave,"https://arweave.net"),s=e.match(lC),{protocol:i,subpath:a,target:c,subtarget:m=""}=s?.groups||{},u=i==="ipns:/"||a==="ipns/",p=i==="ipfs:/"||a==="ipfs/"||dC.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(gC,"");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 hi({uri:e})}function Sl(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 By({gatewayUrls:e,uri:t}){try{let r=await fetch(t).then(n=>n.json());return await Bu({gatewayUrls:e,uri:Sl(r)})}catch{throw new hi({uri:t})}}async function Bu({gatewayUrls:e,uri:t}){let{uri:r,isOnChain:o}=El({uri:t,gatewayUrls:e});if(o||await yC(r))return r;throw new hi({uri:t})}function Fy(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 Vo({reason:"Only EIP-155 supported"});if(!i)throw new Vo({reason:"Chain ID not found"});if(!c)throw new Vo({reason:"Contract address not found"});if(!n)throw new Vo({reason:"Token ID not found"});if(!a)throw new Vo({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i,10),namespace:a.toLowerCase(),contractAddress:c,tokenID:n}}async function My(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 Dy(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?bC(e,{gatewayUrls:t,record:r}):Bu({uri:r,gatewayUrls:t})}async function bC(e,{gatewayUrls:t,record:r}){let o=Fy(r),n=await My(e,{nft:o}),{uri:s,isOnChain:i,isEncoded:a}=El({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:Sl(u),gatewayUrls:t})}let c=o.tokenID;return o.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),By({gatewayUrls:t,uri:s.replace(/(?:0x)?{id}/,c)})}Oo();zo();Tt();pn();D();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(di(s)),fe({abi:al,functionName:"text",args:[Ca(s),n]}),i??[eo]],functionName:"resolveWithGateways",blockNumber:r,blockTag:o},d=await P(e,Te,"readContract")(p);if(d[0]==="0x")return null;let h=vt({abi:al,functionName:"text",data:d[0]});return h===""?null:h}catch(p){if(a)throw p;if(li(p))return null;throw p}}async function Ny(e,{blockNumber:t,blockTag:r,assetGatewayUrls:o,name:n,gatewayUrls:s,strict:i,universalResolverAddress:a}){let c=await P(e,Fu,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:n,universalResolverAddress:a,gatewayUrls:s,strict:i});if(!c)return null;try{return await Dy(e,{record:c,gatewayUrls:o})}catch{return null}}Oo();pn();va();async function zy(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:cy,args:[r,s,i??[eo]],functionName:"reverseWithGateways",blockNumber:o,blockTag:n},p=P(e,Te,"readContract"),[f]=await p(u);return f||null}catch(u){if(a)throw u;if(li(u))return null;throw u}}pn();D();async function Ly(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 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:[ie(di(n))],blockNumber:r,blockTag:o});return c}ui();ve();D();Jf();Ws();vo();Yr();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,x=e.chain?.formatters?.transactionRequest?.format,S=(x||gt)({...wr(h,{format:x}),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:[S,y]});return{accessList:I.accessList,gasUsed:BigInt(I.gasUsed)}}catch(b){throw Gm(b,{...t,account:g,chain:e.chain})}}async function Uy(e){let t=Mo(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}D();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=Mo(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=Mo(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}D();async function Oy(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 Hy(e){let t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}Be();D();async function jy(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)}D();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 v{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 Gy(e,t){let{address:r,factory:o,factoryData:n}=t;try{let[s,i,a,c,m,u,p]=await P(e,Te,"readContract")({abi:xC,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 xC=[{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"}];D();function Vy(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 qy(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 Vy(i)}async function Ky(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}D();So();bn();async function Wy({address:e,authorization:t,signature:r}){return Wt(ds(e),await Do({authorization:t,signature:r}))}H();hn();Ks();D();ls();var Lu=new Ot(8192);function Jy(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 Zy(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 $o(new Error("method not supported"),{method:m});if(s?.include&&!s.include.includes(m))throw new $o(new Error("method not supported"),{method:m});let u=n?er(`${c}.${W(r)}`):void 0;return Jy(()=>En(async()=>{try{return await e(r)}catch(p){let f=p;switch(f.code){case Ps.code:throw new Ps(f);case Ts.code:throw new Ts(f);case $s.code:throw new $s(f,{method:r.method});case Rs.code:throw new Rs(f);case Zr.code:throw new Zr(f);case vr.code:throw new vr(f);case Bs.code:throw new Bs(f);case Fs.code:throw new Fs(f);case Ms.code:throw new Ms(f);case $o.code:throw new $o(f,{method:r.method});case gn.code:throw new gn(f);case Ds.code:throw new Ds(f);case yn.code:throw new yn(f);case Ns.code:throw new Ns(f);case zs.code:throw new zs(f);case Ls.code:throw new Ls(f);case Us.code:throw new Us(f);case Os.code:throw new Os(f);case Ro.code:throw new Ro(f);case Hs.code:throw new Hs(f);case js.code:throw new js(f);case Gs.code:throw new Gs(f);case Vs.code:throw new Vs(f);case qs.code:throw new qs(f);case Bo.code:throw new Bo(f);case 5e3:throw new yn(f);default:throw p instanceof v?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})=>vC(p)}),{enabled:n,id:u})}}function vC(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===gn.code||e.code===Zr.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();D();hn();function Yy(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 wC(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var kl=wC();function Xy(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 Yy(async({signal:h})=>{let g={...c,body:Array.isArray(o)?W(o.map(w=>({jsonrpc:"2.0",id:w.id??kl.take(),...w}))):W({jsonrpc:"2.0",id:o.id??kl.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 Qy=`Ethereum Signed Message:
52
+ `;at();Nt();D();function eb(e){let t=typeof e=="string"?er(e):typeof e.raw=="string"?e.raw:X(e.raw),r=er(`${Qy}${Y(t)}`);return Pe([r,t])}function gi(e,t){return se(eb(e),t)}Wr();at();D();Ht();we();nr();et();H();var Uu=class extends v{constructor({domain:t}){super(`Invalid domain "${W(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}},Ou=class extends v{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 v{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}};At();Nt();D();Of();et();function tb(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(yg);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&&(CC(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 CC(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(EC({domain:t,types:n})),o!=="EIP712Domain"&&s.push(rb({data:r,primaryType:o,types:n})),se(Pe(s))}function EC({domain:e,types:t}){return rb({data:e,primaryType:"EIP712Domain",types:t})}function rb({data:e,primaryType:t,types:r}){let o=ob({data:e,primaryType:t,types:r});return se(o)}function ob({data:e,primaryType:t,types:r}){let o=[{type:"bytes32"}],n=[SC({primaryType:t,types:r})];for(let s of r[t]){let[i,a]=sb({types:r,name:s.name,type:s.type,value:e[s.name]});o.push(i),n.push(a)}return ct(o,n)}function SC({primaryType:e,types:t}){let r=ie(kC({primaryType:e,types:t}));return se(r)}function kC({primaryType:e,types:t}){let r="",o=nb({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 nb({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])nb({primaryType:s.type,types:t},r);return r}function sb({types:e,name:t,type:r,value:o}){if(e[r]!==void 0)return[{type:"bytes32"},se(ob({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=>sb({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={};uf(Ta,{InvalidWrappedSignatureError:()=>ip,assert:()=>ap,from:()=>a8,magicBytes:()=>Yl,suffixParameters:()=>Xl,unwrap:()=>Ib,validate:()=>m8,wrap:()=>c8});aa();Lo();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 IC={checksum:new qu(8192)},Ku=IC.checksum;wt();Pf();Lo();je();function Sn(e,t={}){let{as:r=typeof e=="string"?"Hex":"Bytes"}=t,o=Vc(Yg(e));return r==="Bytes"?o:_e(o)}Lo();wt();je();ga();function ib(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 Pl});return}if(r===!0||typeof n=="bigint"&&typeof s>"u"){if(o!==3&&o!==2)throw new Wu({prefix:o,cause:new Al});return}throw new _l({publicKey:e})}function ab(e){let t=(()=>{if(ba(e))return cb(e);if(oy(e))return AC(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 ib(t),t}function AC(e){return cb(_e(e))}function cb(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new Tl({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 $l(e,t={}){ib(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 _l=class extends M{constructor({publicKey:t}){super(`Value \`${Uo(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 M{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"})}},Al=class extends M{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"})}},Pl=class extends M{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}},Tl=class extends M{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(ii(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};var PC=/^0x[a-fA-F0-9]{40}$/;function kn(e,t={}){let{strict:r=!0}=t;if(!PC.test(e))throw new Ju({address:e,cause:new Rl});if(r){if(e.toLowerCase()===e)return;if(Zu(e)!==e)throw new Ju({address:e,cause:new Bl})}}function Zu(e){if(Ku.has(e))return Ku.get(e);kn(e,{strict:!1});let t=e.substring(2).toLowerCase(),r=Sn(Xg(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 TC(e,t={}){let{checksum:r=!1}=t;return kn(e),r?Zu(e):e}function ub(e,t={}){let r=Sn(`0x${$l(e).slice(4)}`).substring(26);return TC(`0x${r}`,t)}function Yu(e,t={}){let{strict:r=!0}=t??{};try{return kn(e,{strict:r}),!0}catch{return!1}}var Ju=class extends M{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"})}},Rl=class extends M{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"})}},Bl=class extends M{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}};Lo();wt();je();Lo();wt();je();var pb=/^(.*)\[([0-9]*)\]$/,fb=/^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)?$/,Bj=2n**(8n-1n)-1n,Fj=2n**(16n-1n)-1n,Mj=2n**(24n-1n)-1n,Dj=2n**(32n-1n)-1n,Nj=2n**(40n-1n)-1n,zj=2n**(48n-1n)-1n,Lj=2n**(56n-1n)-1n,Uj=2n**(64n-1n)-1n,Oj=2n**(72n-1n)-1n,Hj=2n**(80n-1n)-1n,jj=2n**(88n-1n)-1n,Gj=2n**(96n-1n)-1n,Vj=2n**(104n-1n)-1n,qj=2n**(112n-1n)-1n,Kj=2n**(120n-1n)-1n,Wj=2n**(128n-1n)-1n,Jj=2n**(136n-1n)-1n,Zj=2n**(144n-1n)-1n,Yj=2n**(152n-1n)-1n,Xj=2n**(160n-1n)-1n,Qj=2n**(168n-1n)-1n,eG=2n**(176n-1n)-1n,tG=2n**(184n-1n)-1n,rG=2n**(192n-1n)-1n,oG=2n**(200n-1n)-1n,nG=2n**(208n-1n)-1n,sG=2n**(216n-1n)-1n,iG=2n**(224n-1n)-1n,aG=2n**(232n-1n)-1n,cG=2n**(240n-1n)-1n,mG=2n**(248n-1n)-1n,uG=2n**(256n-1n)-1n,pG=-(2n**(8n-1n)),fG=-(2n**(16n-1n)),lG=-(2n**(24n-1n)),dG=-(2n**(32n-1n)),hG=-(2n**(40n-1n)),gG=-(2n**(48n-1n)),yG=-(2n**(56n-1n)),bG=-(2n**(64n-1n)),xG=-(2n**(72n-1n)),vG=-(2n**(80n-1n)),wG=-(2n**(88n-1n)),CG=-(2n**(96n-1n)),EG=-(2n**(104n-1n)),SG=-(2n**(112n-1n)),kG=-(2n**(120n-1n)),IG=-(2n**(128n-1n)),_G=-(2n**(136n-1n)),AG=-(2n**(144n-1n)),PG=-(2n**(152n-1n)),TG=-(2n**(160n-1n)),$G=-(2n**(168n-1n)),RG=-(2n**(176n-1n)),BG=-(2n**(184n-1n)),FG=-(2n**(192n-1n)),MG=-(2n**(200n-1n)),DG=-(2n**(208n-1n)),NG=-(2n**(216n-1n)),zG=-(2n**(224n-1n)),LG=-(2n**(232n-1n)),UG=-(2n**(240n-1n)),OG=-(2n**(248n-1n)),HG=-(2n**(256n-1n)),jG=2n**8n-1n,GG=2n**16n-1n,VG=2n**24n-1n,qG=2n**32n-1n,KG=2n**40n-1n,WG=2n**48n-1n,JG=2n**56n-1n,ZG=2n**64n-1n,YG=2n**72n-1n,XG=2n**80n-1n,QG=2n**88n-1n,eV=2n**96n-1n,tV=2n**104n-1n,rV=2n**112n-1n,oV=2n**120n-1n,nV=2n**128n-1n,sV=2n**136n-1n,iV=2n**144n-1n,aV=2n**152n-1n,cV=2n**160n-1n,mV=2n**168n-1n,uV=2n**176n-1n,pV=2n**184n-1n,fV=2n**192n-1n,lV=2n**200n-1n,dV=2n**208n-1n,hV=2n**216n-1n,gV=2n**224n-1n,yV=2n**232n-1n,bV=2n**240n-1n,xV=2n**248n-1n,Fl=2n**256n-1n;function In(e,t,r){let{checksumAddress:o,staticPosition:n}=r,s=Nl(t.type);if(s){let[i,a]=s;return RC(e,{...t,type:a},{checksumAddress:o,length:i,staticPosition:n})}if(t.type==="tuple")return DC(e,t,{checksumAddress:o,staticPosition:n});if(t.type==="address")return $C(e,{checksum:o});if(t.type==="bool")return BC(e);if(t.type.startsWith("bytes"))return FC(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return MC(e,t);if(t.type==="string")return NC(e,{staticPosition:n});throw new yi(t.type)}var db=32,Ml=32;function $C(e,t={}){let{checksum:r=!1}=t,o=e.readBytes(32);return[(s=>r?Zu(s):s)(_e(Qg(o,-20))),32]}function RC(e,t,r){let{checksumAddress:o,length:n,staticPosition:s}=r;if(!n){let c=Sr(e.readBytes(Ml)),m=s+c,u=m+db;e.setPosition(m);let p=Sr(e.readBytes(db)),f=Sa(t),d=0,h=[];for(let g=0;g<p;++g){e.setPosition(u+(f?g*32:d));let[b,y]=In(e,t,{checksumAddress:o,staticPosition:u});d+=y,h.push(b)}return e.setPosition(s+32),[h,32]}if(Sa(t)){let c=Sr(e.readBytes(Ml)),m=s+c,u=[];for(let p=0;p<n;++p){e.setPosition(m+p*32);let[f]=In(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]=In(e,t,{checksumAddress:o,staticPosition:s+i});i+=u,a.push(m)}return[a,i]}function BC(e){return[ty(e.readBytes(32),{size:32}),32]}function FC(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=Sr(e.readBytes(32));e.setPosition(r+i);let a=Sr(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[_e(c),32]}return[_e(e.readBytes(Number.parseInt(n,10),32)),32]}function MC(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?ey(n,{signed:r}):Sr(n,{signed:r}),32]}function DC(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(Sa(t)){let c=Sr(e.readBytes(Ml)),m=n+c;for(let u=0;u<t.components.length;++u){let p=t.components[u];e.setPosition(m+a);let[f,d]=In(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]=In(e,m,{checksumAddress:o,staticPosition:n});i[s?c:m?.name]=u,a+=p}return[i,a]}function NC(e,{staticPosition:t}){let r=Sr(e.readBytes(32)),o=t+r;e.setPosition(o);let n=Sr(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=ry(ol(s));return e.setPosition(t+32),[i,32]}function hb({checksumAddress:e,parameters:t,values:r}){let o=[];for(let n=0;n<t.length;n++)o.push(Dl({checksumAddress:e,parameter:t[n],value:r[n]}));return o}function Dl({checksumAddress:e=!1,parameter:t,value:r}){let o=t,n=Nl(o.type);if(n){let[s,i]=n;return LC(r,{checksumAddress:e,length:s,parameter:{...o,type:i}})}if(o.type==="tuple")return GC(r,{checksumAddress:e,parameter:o});if(o.type==="address")return zC(r,{checksum:e});if(o.type==="bool")return OC(r);if(o.type.startsWith("uint")||o.type.startsWith("int")){let s=o.type.startsWith("int"),[,,i="256"]=Qu.exec(o.type)??[];return HC(r,{signed:s,size:Number(i)})}if(o.type.startsWith("bytes"))return UC(r,{type:o.type});if(o.type==="string")return jC(r);throw new yi(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 zC(e,t){let{checksum:r=!1}=t;return kn(e,{strict:r}),{dynamic:!1,encoded:Qr(e.toLowerCase())}}function LC(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=Dl({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 UC(e,{type:t}){let[,r]=t.split("bytes"),o=de(e);if(!r){let n=e;return o%32!==0&&(n=kr(n,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:xe(Qr(te(o,{size:32})),n)}}if(o!==Number.parseInt(r,10))throw new ka({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:kr(e)}}function OC(e){if(typeof e!="boolean")throw new M(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Qr(pu(e))}}function HC(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 jC(e){let t=ai(e),r=Math.ceil(de(t)/32),o=[];for(let n=0;n<r;n++)o.push(kr(he(t,n*32,(n+1)*32)));return{dynamic:!0,encoded:xe(kr(te(de(t),{size:32})),...o)}}function GC(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=Dl({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 Nl(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function Sa(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(Sa);let r=Nl(e.type);return!!(r&&Sa({...e,type:r[1]}))}wt();var qC={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 Ll({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new zl({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(qC);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 M{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}},zl=class extends M{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"})}},Ll=class extends M{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 bi(e,t,r={}){let{as:o="Array",checksumAddress:n=!1}=r,s=typeof t=="string"?si(t):t,i=np(s);if(Jt(s)===0&&e.length>0)throw new Hl;if(Jt(s)&&Jt(s)<32)throw new Ol({data:typeof t=="string"?t:_e(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]=In(i,u,{checksumAddress:n,staticPosition:0});a+=f,o==="Array"?c.push(p):c[u.name??m]=p}return c}function qo(e,t,r){let{checksumAddress:o=!1}=r??{};if(e.length!==t.length)throw new sp({expectedLength:e.length,givenLength:t.length});let n=hb({checksumAddress:o,parameters:e,values:t}),s=ep(n);return s.length===0?"0x":s}function Ul(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(Ul.encode(n,s))}return xe(...r)}(function(e){function t(r,o,n=!1){if(r==="address"){let c=o;return kn(c),Qr(c.toLowerCase(),n?32:0)}if(r==="string")return ai(o);if(r==="bytes")return o;if(r==="bool")return Qr(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(fb);if(i){let[c,m]=i;if(Number.parseInt(m,10)!==(o.length-2)/2)throw new ka({expectedSize:Number.parseInt(m,10),value:o});return kr(o,n?32:0)}let a=r.match(pb);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 yi(r)}e.encode=t})(Ul||(Ul={}));function _a(e){return Array.isArray(e)&&typeof e[0]=="string"?Bm(e):typeof e=="string"?Bm(e):e}var Ol=class extends M{constructor({data:t,parameters:r,size:o}){super(`Data size of ${o} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Kr(r)})`,`Data: ${t} (${o} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}},Hl=class extends M{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 M{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"})}},ka=class extends M{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 M{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 M{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}},yi=class extends M{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();Lo();wt();je();function KC(e,t){let{as:r}=t,o=bb(e),n=np(new Uint8Array(o.length));return o.encode(n),r==="Hex"?_e(n.bytes):n.bytes}function yb(e,t={}){let{as:r="Hex"}=t;return KC(e,{as:r})}function bb(e){return Array.isArray(e)?WC(e.map(t=>bb(t))):JC(e)}function WC(e){let t=e.reduce((n,s)=>n+s.length,0),r=xb(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 JC(e){let t=typeof e=="string"?si(e):e,r=xb(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 xb(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 M("Length is too large.")}import{secp256k1 as EV}from"@noble/curves/secp256k1";wt();je();ga();function Kl(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>Fl)throw new Gl({value:e.r});if(e.s<0n||e.s>Fl)throw new Vl({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new Pa({value:e.yParity})}function YC(e){return vb(_e(e))}function vb(e){if(e.length!==130&&e.length!==132)throw new jl({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 Zl(n)}catch{throw new Pa({value:n})}})();return typeof o>"u"?{r:t,s:r}:{r:t,s:r,yParity:o}}function Wl(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return Jl(e)}function Jl(e){let t=typeof e=="string"?vb(e):e instanceof Uint8Array?YC(e):typeof e.r=="string"?QC(e):e.v?XC(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}};return Kl(t),t}function XC(e){return{r:e.r,s:e.s,yParity:Zl(e.v)}}function QC(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=Zl(r)),typeof o!="number")throw new Pa({value:e.yParity});return o})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function wb(e){let{r:t,s:r,yParity:o}=e;return[o?"0x01":"0x",t===0n?"0x":sl(te(t)),r===0n?"0x":sl(te(r))]}function Zl(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 ql({value:e})}var jl=class extends M{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${de(ii(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}},Aa=class extends M{constructor({signature:t}){super(`Signature \`${Uo(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}},Gl=class extends M{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"})}},Vl=class extends M{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 M{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"})}},ql=class extends M{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 Eb(e,t={}){return typeof e.chainId=="string"?e8(e):{...e,...t.signature}}function e8(e){let{address:t,chainId:r,nonce:o}=e,n=Wl(e);return{address:t,chainId:Number(r),nonce:BigInt(o),...n}}function Sb(e){return t8(e,{presign:!0})}function t8(e,t={}){let{presign:r}=t;return Sn(xe("0x05",yb(r8(r?{address:e.address,chainId:e.chainId,nonce:e.nonce}:e))))}function r8(e){let{address:t,chainId:r,nonce:o}=e,n=Wl(e);return[r?te(r):"0x",t,o?te(o):"0x",...n?wb(n):[]]}wt();je();import{secp256k1 as n8}from"@noble/curves/secp256k1";je();function kb(e){return ub(s8(e))}function s8(e){let{payload:t,signature:r}=e,{r:o,s:n,yParity:s}=r,a=new n8.Signature(BigInt(o),BigInt(n)).addRecoveryBit(s).recoverPublicKey(ii(t).substring(2));return ab(a)}var Yl="0x8010801080108010801080108010801080108010801080108010801080108010",Xl=_a("(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)!==Yl)throw new ip(e)}else Kl(e.authorization)}function a8(e){return typeof e=="string"?Ib(e):e}function Ib(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]=bi(Xl,r);return{authorization:Eb({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 c8(e){let{data:t,signature:r}=e;ap(e);let o=kb({payload:Sb(e.authorization),signature:Jl(e.authorization)}),n=qo(Xl,[{...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,Yl)}function m8(e){try{return ap(e),!0}catch{return!1}}var ip=class extends M{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 v{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}};function _b(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 _n(e,t="wei"){return _b(e,wc[t])}function u8(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function Ab(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?be(e.nonce):void 0,storageProof:e.storageProof?u8(e.storageProof):void 0}}async function Pb(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 Ab(a)}D();async function Tb(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]})}_t();D();async function xi(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 Zn({blockHash:t,blockNumber:r,blockTag:i,hash:n,index:s});return(e.chain?.formatters?.transaction?.format||sn)(c,"getTransaction")}async function $b(e,{hash:t,transactionReceipt:r}){let[o,n]=await Promise.all([P(e,_r,"getBlockNumber")({}),t?P(e,xi,"getTransaction")({hash:t}):void 0]),s=r?.blockNumber||n?.blockNumber;return s?o-s+1n:0n}_t();async function vi(e,{hash:t}){let r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new Yn({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||qi)(r,"getTransactionReceipt")}Oo();xa();we();H();Po();zo();Tt();pn();async function Rb(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 x=0;x<m.length;x++){let{abi:w,address:S,args:I,functionName:A}=m[x];try{let _=fe({abi:w,args:I,functionName:A});g+=(_.length-2)/2,u>0&&g>u&&d[h].length>0&&(h++,g=(_.length-2)/2,d[h]=[]),d[h]=[...d[h],{allowFailure:!0,callData:_,target:S}]}catch(_){let B=$t(_,{abi:w,address:S,args:I,docsPath:"/docs/contract/multicall",functionName:A,sender:r});if(!n)throw B;d[h]=[...d[h],{allowFailure:!0,callData:"0x",target:S}]}}let b=await Promise.allSettled(d.map(x=>P(e,Te,"readContract")({...f===null?{code:ci}:{address:f},abi:vn,account:r,args:[x],authorizationList:o,blockNumber:s,blockOverrides:i,blockTag:a,functionName:"aggregate3",stateOverride:c}))),y=[];for(let x=0;x<b.length;x++){let w=b[x];if(w.status==="rejected"){if(!n)throw w.reason;for(let I=0;I<d[x].length;I++)y.push({status:"failure",error:w.reason,result:void 0});continue}let S=w.value;for(let I=0;I<S.length;I++){let{returnData:A,success:_}=S[I],{callData:B}=d[x][I],{abi:R,address:F,functionName:O,args:G}=m[y.length];try{if(B==="0x")throw new qt;if(!_)throw new xr({data:A});let V=vt({abi:R,args:G,data:A,functionName:O});y.push(n?{result:V,status:"success"}:V)}catch(V){let ue=$t(V,{abi:R,address:F,args:G,docsPath:"/docs/contract/multicall",functionName:O});if(!n)throw ue;y.push({error:ue,result:void 0,status:"failure"})}}}if(y.length!==m.length)throw new v("multicall results mismatch");return y}il();ve();we();Po();Eo();zo();Tt();at();D();fa();vo();Xm();Yr();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,x=y.account?j(y.account):void 0,w=y.abi?fe(y):y.data,S={...y,account:x,data:y.dataSuffix?Pe([w||"0x",y.dataSuffix]):w,from:y.from??x?.address};return rt(S),gt(S)}),g=f.stateOverrides?Js(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:x,to:w}=n[d].calls[g],S=h.error?.data??h.returnData,I=BigInt(h.gasUsed),A=h.logs?.map(F=>Qe(F)),_=h.status==="0x1"?"success":"failure",B=b&&_==="success"&&S!=="0x"?vt({abi:b,data:S,functionName:x}):null,R=(()=>{if(_==="success")return;let F;if(h.error?.data==="0x"?F=new qt:h.error&&(F=new xr(h.error)),!!F)return $t(F,{abi:b??[],address:w??"0x",args:y,functionName:x??"<unknown>"})})();return{data:S,gasUsed:I,logs:A,status:_,..._==="success"?{result:B}:{error:R}}})}))}catch(c){let m=c,u=Fo(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 M("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 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")?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:wi(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"?td(m)===he(t,0,4):m.type==="event"?wi(m)===t:!1:"name"in m&&m.name===t);if(i.length===0)throw new Ko({name:t});if(i.length===1)return{...i[0],...n?{hash:wi(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:wi(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=Ql(m.inputs,a.inputs,o);if(p)throw new ed({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 Ko({name:t});return{...c,...n?{hash:wi(c)}:{}}}function td(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return Ra(r,o)}return e[0]})();return he(wi(t),0,4)}function f8(...e){let t=(()=>{if(Array.isArray(e[0])){let[o,n]=e;return Ra(o,n)}return e[0]})(),r=typeof t=="string"?t:fn(t);return up(r)}function wi(...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:Sn(ai(f8(t)))}var ed=class extends M{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${up(fn(t.abiItem))}\`, and`,`\`${r.type}\` in \`${up(fn(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"})}},Ko=class extends M{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 Fb(...e){let[t,r]=(()=>{if(Array.isArray(e[0])){let[s,i]=e;return[l8(s),i]}return e})(),{bytecode:o,args:n}=r;return xe(o,t.inputs?.length&&n?.length?qo(t.inputs,n):"0x")}function Mb(e){return pp(e)}function l8(e){let t=e.find(r=>r.type==="constructor");if(!t)throw new Ko({name:"constructor"});return t}je();function Nb(...e){let[t,r=[]]=(()=>{if(Array.isArray(e[0])){let[m,u,p]=e;return[Db(m,u,{args:p}),p]}let[a,c]=e;return[a,c]})(),{overloads:o}=t,n=o?Db([t,...o],t.name,{args:r}):t,s=h8(n),i=r.length>0?qo(n.inputs,r):void 0;return i?xe(s,i):s}function An(e,t={}){return pp(e,t)}function Db(e,t,r){let o=Ra(e,t,r);if(o.type!=="function")throw new Ko({name:t,type:"function"});return o}function h8(e){return td(e)}ve();var zb="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",mr="0x0000000000000000000000000000000000000000";xa();H();Tt();var y8="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function Lb(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 v("`account` is required when `traceAssetChanges` is true");let u=m?Fb(Mb("constructor(bytes, bytes)"),{bytecode:hu,args:[y8,Nb(An("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:ke}=await Mu(e,{account:m.address,...z,data:z.abi?fe(z):z.data});return ke.map(({address:lr,storageKeys:go})=>go.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,ke)=>({abi:[An("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:z,from:mr,nonce:ke})),stateOverrides:[{address:mr,nonce:0}]}]:[],{calls:[...n,{}].map(z=>({...z,from:m?.address})),stateOverrides:s},...i?[{calls:[{data:u}]},{calls:p.map((z,ke)=>({abi:[An("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:z,from:mr,nonce:ke})),stateOverrides:[{address:mr,nonce:0}]},{calls:p.map((z,ke)=>({to:z,abi:[An("function decimals() returns (uint256)")],functionName:"decimals",from:mr,nonce:ke})),stateOverrides:[{address:mr,nonce:0}]},{calls:p.map((z,ke)=>({to:z,abi:[An("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:mr,nonce:ke})),stateOverrides:[{address:mr,nonce:0}]},{calls:p.map((z,ke)=>({to:z,abi:[An("function symbol() returns (string)")],functionName:"symbol",from:mr,nonce:ke})),stateOverrides:[{address:mr,nonce:0}]}]:[]],traceTransfers:a,validation:c}),d=i?f[2]:f[0],[h,g,,b,y,x,w,S]=i?f:[],{calls:I,...A}=d,_=I.slice(0,-1)??[],B=h?.calls??[],R=g?.calls??[],F=[...B,...R].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),ue=(x?.calls??[]).map(z=>z.status==="success"?z.result:null),Ae=(S?.calls??[]).map(z=>z.status==="success"?z.result:null),qe=(w?.calls??[]).map(z=>z.status==="success"?z.result:null),Mt=[];for(let[z,ke]of V.entries()){let lr=F[z];if(typeof ke!="bigint"||typeof lr!="bigint")continue;let go=ue[z-1],pe=Ae[z-1],yo=qe[z-1],Qt=z===0?{address:zb,decimals:18,symbol:"ETH"}:{address:p[z-1],decimals:yo||go?Number(go??1):void 0,symbol:pe??void 0};Mt.some(cf=>cf.token.address===Qt.address)||Mt.push({token:Qt,value:{pre:lr,post:ke,diff:ke-lr}})}return{assetChanges:Mt,block:A,results:_}}var Ba={};uf(Ba,{InvalidWrappedSignatureError:()=>fp,assert:()=>od,from:()=>v8,magicBytes:()=>rd,universalSignatureValidatorAbi:()=>x8,universalSignatureValidatorBytecode:()=>b8,unwrap:()=>Ub,validate:()=>C8,wrap:()=>w8});wt();je();var rd="0x6492649264926492649264926492649264926492649264926492649264926492",b8="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",x8=[{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 od(e){if(he(e,-32)!==rd)throw new fp(e)}function v8(e){return typeof e=="string"?Ub(e):e}function Ub(e){od(e);let[t,r,o]=bi(_a("address, bytes, bytes"),e);return{data:r,signature:o,to:t}}function w8(e){let{data:t,signature:r,to:o}=e;return xe(qo(_a("address, bytes, bytes"),[o,t,r]),rd)}function C8(e){try{return od(e),!0}catch{return!1}}var fp=class extends M{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"})}};Oo();xa();Po();gu();Tt();So();bn();at();It();Be();D();Be();Ue();import{secp256k1 as E8}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 E8.Signature(ae(e),ae(t)).toCompactHex()}${s===0?"1b":"1c"}`;return r==="hex"?i:Fe(i)}ui();async function Wo(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 S8(e,{...t,multicallAddress:s,signature:i}):await k8(e,{...t,verifierAddress:n,signature:i})}catch(a){try{if(Wt(ds(r),await Jm({hash:o,signature:i})))return!0}catch{}if(a instanceof to)return!1;throw a}}async function S8(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 I8(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 Wy({address:r,authorization:f}))throw new to;let h=await P(e,Te,"readContract")({...i?{address:i}:{code:ci},authorizationList:[f],abi:vn,blockNumber:o,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:u??r,callData:c}]:[],{allowFailure:!0,target:r,callData:fe({abi:ml,functionName:"isValidSignature",args:[s,m]})}]]});if(h[h.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new to}async function k8(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:ul,functionName:"isValidSig",args:[r,s,m]}),...c}:{data:wn({abi:ul,args:[r,s,m],bytecode:fy}),...c},{data:p}=await P(e,Ir,"call")(u).catch(f=>{throw f instanceof _s?new to:f});if(vf(p??"0x0"))return!0;throw new to}async function I8(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,signature:i}=t;if((await P(e,Te,"readContract")({address:r,abi:ml,args:[s,i],blockNumber:o,blockTag:n,functionName:"isValidSignature"}).catch(c=>{throw c instanceof As?new to:c})).startsWith("0x1626ba7e"))return!0;throw new to}var to=class extends Error{};async function Ob(e,{address:t,message:r,factory:o,factoryData:n,signature:s,...i}){let a=gi(r);return Wo(e,{address:t,factory:o,factoryData:n,hash:a,signature:s,...i})}async function Hb(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 Wo(e,{address:r,factory:o,factoryData:n,hash:p,signature:s,...u})}_t();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 P(e,_r,"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(x=>x.config.type==="webSocket"||x.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 x=ae(y.result?.number);f.onBlockNumber(x,c),c=x},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:x,reject:w}=mi(),S=c?setTimeout(()=>{b?.(),g?.(),w(new Tc({hash:n}))},c):void 0;return g=nt(m,{onReplaced:s,resolve:x,reject:w},async I=>{if(d=await P(e,vi,"getTransactionReceipt")({hash:n}).catch(()=>{}),d&&o<=1){clearTimeout(S),I.resolve(d),g?.();return}b=P(e,dp,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(A){let _=R=>{clearTimeout(S),b?.(),R(),g?.()},B=A;if(!h)try{if(d){if(o>1&&(!d.blockNumber||B-d.blockNumber+1n<o))return;_(()=>I.resolve(d));return}if(r&&!p&&(h=!0,await En(async()=>{p=await P(e,xi,"getTransaction")({hash:n}),p.blockNumber&&(B=p.blockNumber)},{delay:a,retryCount:i}),h=!1),d=await P(e,vi,"getTransactionReceipt")({hash:n}),o>1&&(!d.blockNumber||B-d.blockNumber+1n<o))return;_(()=>I.resolve(d))}catch(R){if(R instanceof Zn||R instanceof Yn){if(!p){h=!1;return}try{f=p,h=!0;let F=await En(()=>P(e,ot,"getBlock")({blockNumber:B,includeTransactions:!0}),{delay:a,retryCount:i,shouldRetry:({error:V})=>V instanceof Zs});h=!1;let O=F.transactions.find(({from:V,nonce:ue})=>V===f.from&&ue===f.nonce);if(!O||(d=await P(e,vi,"getTransactionReceipt")({hash:O.hash}),o>1&&(!d.blockNumber||B-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"),_(()=>{I.onReplaced?.({reason:G,replacedTransaction:f,transaction:O,transactionReceipt:d}),I.resolve(d)})}catch(F){_(()=>I.reject(F))}}else _(()=>I.reject(R))}}})}),y}et();function jb(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 P(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 x=await P(e,ot,"getBlock")({blockNumber:y,includeTransactions:u});g.onBlock(x,p),p=x}}(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&&P(e,ot,"getBlock")({blockTag:t,includeTransactions:u}).then(w=>{h&&g&&(n(w,void 0),g=!1)}).catch(s);let y=(()=>{if(e.transport.type==="fallback"){let w=e.transport.transports.find(S=>S.config.type==="webSocket"||S.config.type==="ipc");return w?w.value:e.transport}return e.transport})(),{unsubscribe:x}=await y.subscribe({params:["newHeads"],async onData(w){if(!h)return;let S=await P(e,ot,"getBlock")({blockNumber:w.result?.number,includeTransactions:u}).catch(()=>{});h&&(n(S,p),g=!1,p=S)},onError(w){s?.(w)}});b=x,h||b()}catch(y){s?.(y)}})(),()=>b()})()}we();Ks();et();function Gb(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 x;i!==void 0&&(x=i-1n);let w,S=!1,I=Zt(async()=>{if(!S){try{w=await P(e,Du,"createEventFilter")({address:t,args:r,event:n,events:s,strict:d,fromBlock:i})}catch{}S=!0;return}try{let A;if(w)A=await P(e,Ho,"getFilterChanges")({filter:w});else{let _=await P(e,_r,"getBlockNumber")({});x&&x!==_?A=await P(e,ti,"getLogs")({address:t,args:r,event:n,events:s,fromBlock:x+1n,toBlock:_}):A=[],x=_}if(A.length===0)return;if(o)y.onLogs(A);else for(let _ of A)y.onLogs([_])}catch(A){w&&A instanceof vr&&(S=!1),y.onError?.(A)}},{emitOnBegin:!0,interval:u});return async()=>{w&&await P(e,jo,"uninstallFilter")({filter:w}),I()}})})():(()=>{let b=!0,y=()=>b=!1;return(async()=>{try{let x=(()=>{if(e.transport.type==="fallback"){let A=e.transport.transports.find(_=>_.config.type==="webSocket"||_.config.type==="ipc");return A?A.value:e.transport}return e.transport})(),w=s??(n?[n]:void 0),S=[];w&&(S=[w.flatMap(_=>Cr({abi:[_],eventName:_.name,args:r}))],n&&(S=S[0]));let{unsubscribe:I}=await x.subscribe({params:["logs",{address:t,topics:S}],onData(A){if(!b)return;let _=A.result;try{let{eventName:B,args:R}=ei({abi:w??[],data:_.data,topics:_.topics,strict:d}),F=Qe(_,{args:R,eventName:B});c([F])}catch(B){let R,F;if(B instanceof ir||B instanceof hr){if(p)return;R=B.abiItem.name,F=B.abiItem.inputs?.some(G=>!("name"in G&&G.name))}let O=Qe(_,{args:F?[]:{},eventName:R});c([O])}},onError(A){a?.(A)}});y=I,b||y()}catch(x){a?.(x)}})(),()=>y()})()}et();function Vb(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 P(e,Nu,"createPendingTransactionFilter")({});return}catch(h){throw f(),h}let d=await P(e,Ho,"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 P(e,jo,"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 qb(e){let{scheme:t,statement:r,...o}=e.match(_8)?.groups??{},{chainId:n,expirationTime:s,issuedAt:i,notBefore:a,requestId:c,...m}=e.match(A8)?.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 _8=/^(?:(?<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)?/,A8=/(?: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();bn();function Kb(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 Wb(e,t){let{address:r,domain:o,message:n,nonce:s,scheme:i,signature:a,time:c=new Date,...m}=t,u=qb(n);if(!u.address||!Kb({address:r,domain:o,message:u,nonce:s,scheme:i,time:c}))return!1;let f=gi(n);return Wo(e,{address:u.address,hash:f,signature:a,...m})}_t();async function Ci(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 Xn({receipt:i});return i}function Jb(e){return{call:t=>Ir(e,t),createAccessList:t=>Mu(e,t),createBlockFilter:()=>Uy(e),createContractEventFilter:t=>Km(e,t),createEventFilter:t=>Du(e,t),createPendingTransactionFilter:()=>Nu(e),estimateContractGas:t=>Dg(e,t),estimateGas:t=>Qs(e,t),getBalance:t=>Oy(e,t),getBlobBaseFee:()=>Hy(e),getBlock:t=>ot(e,t),getBlockNumber:t=>_r(e,t),getBlockTransactionCount:t=>jy(e,t),getBytecode:t=>Ea(e,t),getChainId:()=>xt(e),getCode:t=>Ea(e,t),getContractEvents:t=>ru(e,t),getEip712Domain:t=>Gy(e,t),getEnsAddress:t=>$y(e,t),getEnsAvatar:t=>Ny(e,t),getEnsName:t=>zy(e,t),getEnsResolver:t=>Ly(e,t),getEnsText:t=>Fu(e,t),getFeeHistory:t=>qy(e,t),estimateFeesPerGas:t=>Fg(e,t),getFilterChanges:t=>Ho(e,t),getFilterLogs:t=>Ky(e,t),getGasPrice:()=>Ys(e),getLogs:t=>ti(e,t),getProof:t=>Pb(e,t),estimateMaxPriorityFeePerGas:t=>Bg(e,t),getStorageAt:t=>Tb(e,t),getTransaction:t=>xi(e,t),getTransactionConfirmations:t=>$b(e,t),getTransactionCount:t=>Xs(e,t),getTransactionReceipt:t=>vi(e,t),multicall:t=>Rb(e,t),prepareTransactionRequest:t=>Er(e,t),readContract:t=>Te(e,t),sendRawTransaction:t=>fi(e,t),sendRawTransactionSync:t=>Ci(e,t),simulate:t=>$a(e,t),simulateBlocks:t=>$a(e,t),simulateCalls:t=>Lb(e,t),simulateContract:t=>Sy(e,t),verifyHash:t=>Wo(e,t),verifyMessage:t=>Ob(e,t),verifySiweMessage:t=>Wb(e,t),verifyTypedData:t=>Hb(e,t),uninstallFilter:t=>jo(e,t),waitForTransactionReceipt:t=>hp(e,t),watchBlocks:t=>jb(e,t),watchBlockNumber:t=>dp(e,t),watchContractEvent:t=>Ay(e,t),watchEvent:t=>Gb(e,t),watchPendingTransactions:t=>Vb(e,t)}}function Pn(e){let{key:t="public",name:r="Public Client"}=e;return Pu({...e,key:t,name:r,type:"publicClient"}).extend(Jb)}D();async function Zb(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 Yb(e,t){let{abi:r,args:o,bytecode:n,...s}=t,i=wn({abi:r,args:o,bytecode:n});return Go(e,{...s,...s.authorizationList?{to:null}:{},data:i})}So();async function Xb(e){return e.account?.type==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>Vr(r))}ve();D();async function Qb(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 ex(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}ve();bn();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 P(e,xt,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await P(e,Xs,"getTransactionCount")({address:s.address,blockTag:"pending"}),(i==="self"||i?.address&&Wt(i.address,s.address))&&(a.nonce+=1)),a}So();async function tx(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>ds(r))}async function rx(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function ox(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 ku(e,{...t,id:n.id,timeout:o})}ve();H();_t();Ws();vo();ls();Yr();var nd=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,...x}=t,w=t.timeout??Math.max((o?.blockTime??0)*3,5e3);if(typeof r>"u")throw new He({docsPath:"/docs/actions/wallet/sendTransactionSync"});let S=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 Do({authorization:s[0]}).catch(()=>{throw new v("`to` is required. Could not infer from `authorizationList`.")})})();if(S?.type==="json-rpc"||S===null){let A;o!==null&&(A=await P(e,xt,"getChainId")({}),hs({currentChainId:A,chain:o}));let _=e.chain?.formatters?.transactionRequest?.format,R=(_||gt)({...wr(x,{format:_}),accessList:n,account:S,authorizationList:s,blobs:i,chainId:A,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,to:I,type:b,value:y},"sendTransaction"),F=nd.get(e.uid),O=F?"wallet_sendTransaction":"eth_sendTransaction",G=await(async()=>{try{return await e.request({method:O,params:[R]},{retryCount:0})}catch(ue){if(F===!1)throw ue;let Ae=ue;if(Ae.name==="InvalidInputRpcError"||Ae.name==="InvalidParamsRpcError"||Ae.name==="MethodNotFoundRpcError"||Ae.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[R]},{retryCount:0}).then(qe=>(nd.set(e.uid,!0),qe)).catch(qe=>{let Mt=qe;throw Mt.name==="MethodNotFoundRpcError"||Mt.name==="MethodNotSupportedRpcError"?(nd.set(e.uid,!1),Ae):Mt});throw Ae}})(),V=await P(e,hp,"waitForTransactionReceipt")({checkReplacement:!1,hash:G,pollingInterval:h,timeout:w});if(g&&V.status==="reverted")throw new Xn({receipt:V});return V}if(S?.type==="local"){let A=await P(e,Er,"prepareTransactionRequest")({account:S,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,nonceManager:S.nonceManager,parameters:[...la,"sidecars"],type:b,value:y,...x,to:I}),_=o?.serializers?.transaction,B=await S.signTransaction(A,{serializer:_});return await P(e,Ci,"sendRawTransactionSync")({serializedTransaction:B,throwOnReceiptRevert:g})}throw S?.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:S?.type})}catch(I){throw I instanceof Vt?I:pi(I,{...t,account:S,chain:t.chain||void 0})}}async function nx(e,t){let{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}ve();async function sx(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();D();async function ix(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();D();vo();Yr();async function ax(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 P(e,xt,"getChainId")({});o!==null&&hs({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 cx(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=tb({domain:o,message:n,primaryType:s,types:a});return e.request({method:"eth_signTypedData_v4",params:[i.address,c]},{retryCount:0})}D();async function mx(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:E(t)}]},{retryCount:0})}async function ux(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}async function px(e,t){return Cn.internal(e,yp,"sendTransactionSync",t)}function fx(e){return{addChain:t=>Zb(e,t),deployContract:t=>Yb(e,t),getAddresses:()=>Xb(e),getCallsStatus:t=>Su(e,t),getCapabilities:t=>Qb(e,t),getChainId:()=>xt(e),getPermissions:()=>ex(e),prepareAuthorization:t=>gp(e,t),prepareTransactionRequest:t=>Er(e,t),requestAddresses:()=>tx(e),requestPermissions:t=>rx(e,t),sendCalls:t=>Eu(e,t),sendCallsSync:t=>ox(e,t),sendRawTransaction:t=>fi(e,t),sendRawTransactionSync:t=>Ci(e,t),sendTransaction:t=>Go(e,t),sendTransactionSync:t=>yp(e,t),showCallsStatus:t=>nx(e,t),signAuthorization:t=>sx(e,t),signMessage:t=>ix(e,t),signTransaction:t=>ax(e,t),signTypedData:t=>cx(e,t),switchChain:t=>mx(e,t),waitForCallsStatus:t=>ku(e,t),watchAsset:t=>ux(e,t),writeContract:t=>Cn(e,t),writeContractSync:t=>px(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(fx)}function lx({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:Zy(o,{methods:t,retryCount:n,retryDelay:s,uid:m}),value:c}}hn();H();var bp=class extends v{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}};ll();function ro(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,x=h??t.timeout??1e4,w=e||f?.rpcUrls.default.http[0];if(!w)throw new bp;let S=Xy(w,{fetchFn:o,fetchOptions:n,onRequest:c,onResponse:m,timeout:x});return lx({key:s,methods:i,name:a,async request({method:I,params:A}){let _={method:I,params:A},{schedule:B}=bu({id:w,wait:b,shouldSplitBatch(G){return G.length>g},fn:G=>S.request({body:G}),sort:(G,V)=>G.id-V.id}),R=async G=>r?B(G):[await S.request({body:G})],[{error:F,result:O}]=await R(_);if(p)return{error:F,result:O};if(F)throw new To({body:_,error:F,url:w});return O},retryCount:y,retryDelay:u,timeout:x,type:"http"},{fetchOptions:n,url:w})}}It();D();import{secp256k1 as T8}from"@noble/curves/secp256k1";nr();At();function dx(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"}}It();Ue();D();import{secp256k1 as P8}from"@noble/curves/secp256k1";var sd=!1;async function Ar({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(sd,{strict:!1})?Fe(sd):sd}),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 hx(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 gx({message:e,privateKey:t}){return await Ar({hash:gi(e),privateKey:t,to:"hex"})}Ht();async function yx(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 bx(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(T8.getPublicKey(e.slice(2),!1)),n=Wm(o);return{...dx({address:n,nonceManager:r,async sign({hash:i}){return Ar({hash:i,privateKey:e,to:"hex"})},async signAuthorization(i){return hx({...i,privateKey:e})},async signMessage({message:i}){return gx({message:i,privateKey:e})},async signTransaction(i,{serializer:a}={}){return yx({privateKey:e,transaction:i,serializer:a})},async signTypedData(i){return bx({...i,privateKey:e})}}),publicKey:o,source:"privateKey"}}var xQ=Li(cd(),1);import{z as Ce}from"zod";var pr=Li(cd(),1),AI=Li(xx(),1),PI=Li(i1(),1);import{z as _i}from"zod";var yE=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)}},yd=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=yE.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})}},bE=class extends Fr{constructor(e,t){super(e,t),this.isValidationError=!0,this.validationErrors=t.validationErrors}},xE=class extends Fr{constructor(){super(...arguments),this.isAuthError=!0}},kp=class extends Fr{constructor(){super(...arguments),this.isBusinessError=!0}},vE=class extends Fr{constructor(){super(...arguments),this.isServerError=!0}},wE=class extends Fr{constructor(){super(...arguments),this.isUnknownError=!0}};function CE(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 f1(e){if(!Array.isArray(e))return{errors:[],message:typeof e=="string"?e:"Validation error"};let t=e.map((n,s)=>{let i=CE(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 EE(e){return e===422?"validation":e===401||e===403?"auth":e>=400&&e<500?"business":e>=500?"server":"unknown"}function SE(e,t,r){if(e===422&&Array.isArray(t)){let{message:o}=f1(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 kE(e){let t=e.status??0,r=e.statusText??"Unknown Error",o=e.detail,n=IE(o);if(n)return new vd(n.message,{status:t,statusText:r,detail:o,errorCode:n.error_code,structuredDetails:n.details,suggestions:n.suggestions,links:n.links});let s=EE(t),i=SE(t,o,e.message),a={status:t,statusText:r,detail:o};if(s==="validation"&&Array.isArray(o)){let{errors:c}=f1(o);return new bE(i,{...a,validationErrors:c})}return s==="auth"?new xE(i,a):s==="business"?new kp(i,a):s==="server"?new vE(i,a):new wE(i,a)}var vd=class extends kp{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 IE(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 l1(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"],ki=(0,p1.default)("phala::api-client");function _E(e){return Object.entries(e).map(([t,r])=>` -H "${t}: ${r}"`).join(`
56
+ `)}function AE(e){return e?` -d '${(typeof e=="string"?e:JSON.stringify(e,null,2)).replace(/'/g,"\\'")}'`:""}function a1(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 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&&Ua.includes(t.version)?t.version:Ua[Ua.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(ki.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(`
59
+ `)}var PE=class{constructor(e={}){this.emitter=L0();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=gE.create({baseURL:n,timeout:s||3e4,headers:u,...a?{credentials:"include"}:{},...m,onRequest({request:p,options:f}){if(ki.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(([x,w])=>{typeof w=="string"&&(b[x]=w)});let y=[`> curl -X ${d} "${g}"`,_E(b),f.body?AE(f.body):""].filter(Boolean).join(`
60
60
  `);ki(`
61
61
  === REQUEST ===
62
62
  %s
63
63
  `,y)}},onResponse({request:p,response:f,options:d}){if(ki.enabled){let h=d.method||"GET",g=typeof p=="string"?p:p.url;ki(`
64
64
  === RESPONSE [%s %s] (%dms) ===
65
65
  %s
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}`),ki.enabled){let h=d.method||"GET",g=typeof p=="string"?p:p.url;ki(`
66
+ `,h,g,f.headers.get("x-response-time")||"?",a1(f.status,f.statusText,f.headers,f._data))}},onResponseError:({request:p,response:f,options:d})=>{if(console.warn(`HTTP ${f.status}: ${f.url}`),ki.enabled){let h=d.method||"GET",g=typeof p=="string"?p:p.url;ki(`
67
67
  === ERROR RESPONSE [%s %s] ===
68
68
  %s
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=Ko.object({username:Ko.string(),email:Ko.string(),credits:Ko.number(),granted_credits:Ko.number(),avatar:Ko.string(),team_name:Ko.string(),team_tier:Ko.string()}).passthrough(),{action:EE,safeAction:An}=p1(CE,async e=>await e.get("/auth/me")),SE={[Gm.id]:Gm,[Qi.id]:Qi,[Jc.id]:Jc},kE=Wo.object({id:Wo.string(),slug:Wo.string().nullable(),url:Wo.string(),version:Wo.string(),chain_id:Wo.number().nullable(),kms_contract_address:Wo.string().nullable().transform(e=>e),gateway_app_id:Wo.string().nullable().transform(e=>e)}).passthrough(),oo=kE.transform(e=>{if(e.chain_id!=null){let t=SE[e.chain_id];if(t)return{...e,chain:t}}return e}),IE=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(),_E=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(IE),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(_E),kms_list:K.array(oo)}).passthrough(),{action:TE,safeAction:Oa}=p1(PE,async e=>await e.get("/teepods/available")),f1=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(),$E=Se.object({name:Se.string(),items:Se.array(f1),total:Se.number()}).strict(),RE=Se.object({result:Se.array($E)}).strict(),BE=Se.object({items:Se.array(f1),total:Se.number(),family:Se.string()}).strict(),FE=Se.object({family:Se.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:oo.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:oo.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()}),kp=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 Ti(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 wp();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)||!Ti(t)?wp():t}function wp(){let e=Date.now().toString(36),t=Math.random().toString(36).substring(2,6);return`dstack-app-${e}-${t}`}var Mr=Ii.object({id:Ii.string().optional(),uuid:Ii.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:Ii.string().optional(),instance_id:Ii.string().optional(),name:Ii.string().refine(Ti,{message:"Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens"}).optional()}),Jo=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=Jo(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:Ha}=Q(XE,async(e,t)=>{let r=YE.parse(t??{});return await e.get("/cvms/paginated",{params:r})}),eS=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",tS=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=>Ti(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 rS(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:oS,safeAction:bd}=Q(eS,async(e,t)=>{let r=tS.parse(t),o=rS(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)}),nS=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(),PX=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:sS,safeAction:Ip}=Q(nS,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 aS(e){let t=b1(e),r=x1(t);return iS.createHash("sha256").update(r,"utf8").digest("hex")}function cS(e){let t=e;return{...e,getHash:()=>aS(t),toString:()=>x1(b1(t))}}var mS=y1.transform(e=>cS(e)),uS=ge,{action:pS,safeAction:ja}=Q(mS,async(e,t)=>{let{cvmId:r}=uS.parse(t);return await e.get(`/cvms/${r}/compose_file`)}),fS=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})),lS=Rr.object({app_id:Rr.string().nullable(),device_id:Rr.string().nullable(),compose_hash:Rr.string(),kms_info:oo.nullable().optional()}).passthrough(),{action:dS,safeAction:xd}=Q(lS,async(e,t)=>{let r=fS.parse(t);return await e.post(`/cvms/${r.cvmId}/compose_file/provision`,r.request)}),hS=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??void 0,_raw:e})),gS=ur.any().transform(()=>{}),{action:yS,safeAction:vd}=Q(gS,async(e,t)=>{let r=hS.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,update_env_vars:r.update_env_vars})}),bS=Jo(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}}),xS=Je.object({status:Je.literal("in_progress"),message:Je.string(),correlation_id:Je.string(),allowed_envs_changed:Je.boolean()}),vS=Je.object({status:Je.literal("precondition_required"),message:Je.string(),compose_hash:Je.string(),app_id:Je.string(),device_id:Je.string(),kms_info:oo}),wS=Je.union([xS,vS]),{action:CS,safeAction:ES}=Q(wS,async(e,t)=>{let r=bS.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}}),SS=Jo(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}}),kS=Ct.object({status:Ct.literal("in_progress"),message:Ct.string(),correlation_id:Ct.string()}),IS=Ct.object({status:Ct.literal("precondition_required"),message:Ct.string(),compose_hash:Ct.string(),app_id:Ct.string(),device_id:Ct.string(),kms_info:oo}),_S=Ct.union([kS,IS]),{action:AS,safeAction:PS}=Q(_S,async(e,t)=>{let r=SS.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}}),TS=Jo(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}}),$S=Et.object({status:Et.literal("in_progress"),message:Et.string(),correlation_id:Et.string()}),RS=Et.object({status:Et.literal("precondition_required"),message:Et.string(),compose_hash:Et.string(),app_id:Et.string(),device_id:Et.string(),kms_info:oo}),BS=Et.union([$S,RS]),{action:FS,safeAction:MS}=Q(BS,async(e,t)=>{let r=TS.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}}),NS=ge,{action:zS,safeAction:LS}=Q(DS.string(),async(e,t)=>{let{cvmId:r}=NS.parse(t);return await e.get(`/cvms/${r}/pre-launch-script`)}),US=o1.object({kms_id:o1.string().min(1,"KMS ID is required")}),{action:OS,safeAction:HS}=Q(oo,async(e,t)=>{let r=US.parse(t);return await e.get(`/kms/${r.kms_id}`)}),jS=Br.object({page:Br.number().int().min(1).optional(),page_size:Br.number().int().min(1).optional(),is_onchain:Br.boolean().optional()}).strict(),GS=Br.object({items:Br.array(oo),total:Br.number(),page:Br.number(),page_size:Br.number(),pages:Br.number()}).strict(),{action:VS,safeAction:wd}=Q(GS,async(e,t)=>{let r=jS.parse(t??{});return await e.get("/kms",{params:r})}),qS=Pi.object({kms:Pi.string().min(1,"KMS ID or slug is required"),app_id:Pi.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(),KS=Pi.object({public_key:Pi.string(),signature:Pi.string()}).strict(),{action:WS,safeAction:Cd}=Q(KS,async(e,t)=>{let r=qS.parse(t);return await e.get(`/kms/${r.kms}/pubkey/${r.app_id}`)}),JS=_n.object({counts:_n.number().int().min(1).max(20).optional().default(1)}).strict(),ZS=_n.object({app_ids:_n.array(_n.object({app_id:_n.string(),nonce:_n.number().int().min(0)}))}).strict(),{action:YS,safeAction:XS}=Q(ZS,async(e,t)=>{let r=JS.parse(t??{}),o=new URLSearchParams;return o.append("counts",r.counts.toString()),await e.get(`/kms/phala/next_app_id?${o.toString()}`)}),QS=ge,{action:ek,safeAction:Ed}=Q(kp,async(e,t)=>{let{cvmId:r}=QS.parse(t);return await e.post(`/cvms/${r}/start`)}),tk=ge,{action:rk,safeAction:Sd}=Q(kp,async(e,t)=>{let{cvmId:r}=tk.parse(t);return await e.post(`/cvms/${r}/stop`)}),ok=ge,{action:nk,safeAction:sk}=Q(kp,async(e,t)=>{let{cvmId:r}=ok.parse(t);return await e.post(`/cvms/${r}/shutdown`)}),ak=Jo(Mr.extend({force:ik.boolean().optional()})),{action:ck,safeAction:kd}=Q(kp,async(e,t)=>{let r=ak.parse(t),{cvmId:o}=ge.parse(r),{force:n=!1}=r;return await e.post(`/cvms/${o}/restart`,{force:n})}),uk=ge,{action:pk,safeAction:Id}=Q(mk.void(),async(e,t)=>{let{cvmId:r}=uk.parse(t);await e.delete(`/cvms/${r}`)}),fk=oe.object({name:oe.string(),mount_point:oe.string(),total_size:oe.number(),free_size:oe.number()}),lk=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(fk)}),dk=oe.object({is_online:oe.boolean(),is_public:oe.boolean().default(!1),error:oe.string().nullable(),sysinfo:lk.nullable(),status:oe.string().nullable(),in_progress:oe.boolean().default(!1),boot_progress:oe.string().nullable(),boot_error:oe.string().nullable()}),hk=ge,{action:gk,safeAction:yk}=Q(dk,async(e,t)=>{let{cvmId:r}=hk.parse(t);return await e.get(`/cvms/${r}/stats`)}),bk=Tr.object({app:Tr.string(),instance:Tr.string()}),xk=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(bk).nullable()}),vk=ge,{action:wk,safeAction:Ck}=Q(xk,async(e,t)=>{let{cvmId:r}=vk.parse(t);return await e.get(`/cvms/${r}/network`)}),Sk=ge,{action:kk,safeAction:Ik}=Q(Ek.string(),async(e,t)=>{let{cvmId:r}=Sk.parse(t);return await e.get(`/cvms/${r}/docker-compose.yml`)}),_k=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()}),Ak=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(_k).nullable()}),Pk=ge,{action:Tk,safeAction:$k}=Q(Ak,async(e,t)=>{let{cvmId:r}=Pk.parse(t);return await e.get(`/cvms/${r}/composition`)}),Rk=L.object({common_name:L.string().nullable(),organization:L.string().nullable(),country:L.string().nullable(),state:L.string().nullable(),locality:L.string().nullable()}),Bk=L.object({common_name:L.string().nullable(),organization:L.string().nullable(),country:L.string().nullable()}),Fk=L.object({subject:Rk,issuer:Bk,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()}),Mk=L.object({imr:L.number(),event_type:L.number(),digest:L.string(),event:L.string(),event_payload:L.string()}),Dk=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(Mk),app_compose:L.string()}),Nk=L.object({name:L.string().nullable(),is_online:L.boolean(),is_public:L.boolean().default(!0),error:L.string().nullable(),app_certificates:L.array(Fk).nullable(),tcb_info:Dk.nullable(),compose_file:L.string().nullable()}),zk=ge,{action:Lk,safeAction:Uk}=Q(Nk,async(e,t)=>{let{cvmId:r}=zk.parse(t);return await e.get(`/cvms/${r}/attestation`)}),Ok=Jo(Mr.extend({vcpu:Ai.number().optional(),memory:Ai.number().optional(),disk_size:Ai.number().optional(),instance_type:Ai.string().optional(),allow_restart:Ai.boolean().optional()})),{action:Hk,safeAction:jk}=Q(Ai.void(),async(e,t)=>{let r=Ok.parse(t),{cvmId:o}=ge.parse(r),{...n}=r;await e.patch(`/cvms/${o}/resources`,n)}),Gk=Jo(Mr.extend({public_sysinfo:n1.boolean(),public_logs:n1.boolean()})),{action:Vk,safeAction:qk}=Q(h1,async(e,t)=>{let r=Gk.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()}),Kk=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()}),Wk=it.array(Kk),Jk=ge,{action:Zk,safeAction:Yk}=Q(Wk,async(e,t)=>{let{cvmId:r}=Jk.parse(t);return await e.get(`/cvms/${r}/available-os-images`)}),Xk=Jo(Mr.extend({os_image_name:v1.string().min(1,"OS image name is required")})),{action:Qk,safeAction:eI}=Q(v1.void(),async(e,t)=>{let r=Xk.parse(t),{cvmId:o}=ge.parse(r),{os_image_name:n}=r;await e.patch(`/cvms/${o}/os-image`,{os_image_name:n})}),tI=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()}),rI=ge,{action:oI,safeAction:nI}=Q(tI,async(e,t)=>{let{cvmId:r}=rI.parse(t);return await e.get(`/cvms/${r}/state`)});function St(e={}){let t=wE(e),r={getCurrentUser:EE,safeGetCurrentUser:An,getAvailableNodes:TE,safeGetAvailableNodes:Oa,listAllInstanceTypeFamilies:ME,safeListAllInstanceTypeFamilies:DE,listFamilyInstanceTypes:NE,safeListFamilyInstanceTypes:zE,listWorkspaces:OE,safeListWorkspaces:HE,getWorkspace:jE,safeGetWorkspace:GE,getCvmInfo:ZE,safeGetCvmInfo:Ve,getCvmList:QE,safeGetCvmList:Ha,provisionCvm:oS,safeProvisionCvm:bd,commitCvmProvision:sS,safeCommitCvmProvision:Ip,getCvmComposeFile:pS,safeGetCvmComposeFile:ja,provisionCvmComposeFileUpdate:dS,safeProvisionCvmComposeFileUpdate:xd,commitCvmComposeFileUpdate:yS,safeCommitCvmComposeFileUpdate:vd,updateCvmEnvs:CS,safeUpdateCvmEnvs:ES,updateDockerCompose:AS,safeUpdateDockerCompose:PS,updatePreLaunchScript:FS,safeUpdatePreLaunchScript:MS,getCvmPreLaunchScript:zS,safeGetCvmPreLaunchScript:LS,startCvm:ek,safeStartCvm:Ed,stopCvm:rk,safeStopCvm:Sd,shutdownCvm:nk,safeShutdownCvm:sk,restartCvm:ck,safeRestartCvm:kd,deleteCvm:pk,safeDeleteCvm:Id,getCvmStats:gk,safeGetCvmStats:yk,getCvmNetwork:wk,safeGetCvmNetwork:Ck,getCvmDockerCompose:kk,safeGetCvmDockerCompose:Ik,getCvmContainersStats:Tk,safeGetCvmContainersStats:$k,getCvmAttestation:Lk,safeGetCvmAttestation:Uk,updateCvmResources:Hk,safeUpdateCvmResources:jk,updateCvmVisibility:Vk,safeUpdateCvmVisibility:qk,getAvailableOsImages:Zk,safeGetAvailableOsImages:Yk,updateOsImage:Qk,safeUpdateOsImage:eI,getKmsInfo:OS,safeGetKmsInfo:HS,getKmsList:VS,safeGetKmsList:wd,getAppEnvEncryptPubKey:WS,safeGetAppEnvEncryptPubKey:Cd,nextAppIds:YS,safeNextAppIds:XS,getCvmState:oI,safeGetCvmState:nI};return t.extend(r)}function Ep(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 sI(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 iI(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 aI(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 sI(e,r),i=await iI(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 _d(){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([aI(c.publicClient,y,{timeout:p,confirmations:f}),new Promise((S,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 S=new $r("Transaction failed on-chain",y,v);throw g?.(S,y),S}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 _d().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 S1=[{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}],cI=$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(),mI=cI.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"]}),uI=$e.object({appId:$e.string(),appAuthAddress:$e.string(),deployer:$e.string(),transactionHash:$e.string(),blockNumber:$e.bigint().optional(),gasUsed:$e.bigint().optional()}).passthrough();function pI(e,t,r){try{let o=cr({abi:S1,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 fI(e,t){let r=mI.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:S}=r,I="0000000000000000000000000000000000000000000000000000000000000000",_=u!==I&&u!=="0x"+I?!1:m,B,R,F,O;if(i){let ue=Fa(i);if(c){if(typeof c!="object"||!c)throw new Error("publicClient is invalid");B=c}else{if(!o)throw new Error("Chain required for publicClient");B=In({chain:o,transport:to(n)})}if(!o)throw new Error("Chain required for walletClient");R=Ba({account:ue,chain:o,transport:to(n)}),F=ue.address,O=o.id}else if(a){if(typeof a!="object"||!a)throw new Error("walletClient is invalid");if(R=a,c){if(typeof c!="object"||!c)throw new Error("publicClient is invalid");B=c}else{if(!o)throw new Error("Chain required for publicClient");B=In({chain:o,transport:to(n)})}if(!R.account?.address)throw new Error("WalletClient needs an account");F=R.account.address,o?O=o.id:O=await R.getChainId()}else throw new Error("Need privateKey or walletClient");let G={publicClient:B,walletClient:R,address:F,chainId:O},V=_d();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?Sn(h):Sn("0.001")},fo=await C1(G,ue);if(!fo.networkValid)throw new Error(`Wrong network. Need chain ${ue.targetChainId}, got ${fo.details.currentChainId}`);if(!fo.balanceValid){let Qt=Number(ue.minBalance)/1e18,of=Number(fo.details.balance)/1e18;throw new Error(`Not enough ETH. Need ${Qt}, have ${of.toFixed(6)}`)}}let me=Ep(u),Ae=Ep(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 fo={address:s,abi:S1,functionName:"deployAndRegisterApp",args:[ue.address,f,_,qe,Mt],account:ue.walletClient.account||ue.address,chain:o||null};return await ue.walletClient.writeContract(fo)},ke=b?await E1(z,G,[],{timeout:g,confirmations:1,onSubmitted:C,onConfirmed:S,signal:y},b):await V.execute(z,G,[],{timeout:g,confirmations:1,onSubmitted:C,onConfirmed:S,signal:y}),lr=pI(ke.receipt,F,s);return t?.schema===!1?lr:(t?.schema||uI).parse(lr)}async function k1(e,t){try{return{success:!0,data:await fI(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 I1=[{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}],lI=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"]}),dI=Ce.object({composeHash:Ce.string(),appId:Ce.string(),transactionHash:Ce.string(),blockNumber:Ce.bigint().optional(),gasUsed:Ce.bigint().optional()}).passthrough();function hI(e,t,r,o){console.log(e.logs);try{let n=cr({abi:I1,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 gI(e,t){let r=lI.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,S,I,A=s.startsWith("0x")?s:`0x${s}`;if(a){let V=Fa(a);if(m)v=m;else{if(!o)throw new Error("Chain required when creating publicClient");v=In({chain:o,transport:to(n)})}if(!o)throw new Error("Chain required when creating walletClient");C=Ba({account:V,chain:o,transport:to(n)}),S=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=In({chain:o,transport:to(n)})}if(!C.account?.address)throw new Error("WalletClient must have an account with address");S=C.account.address,I=o?o.id:await C.getChainId()}else throw new Error("Either privateKey or walletClient must be provided");let _={publicClient:v,walletClient:C,address:S,chainId:I},B=_d();if(d&&typeof d=="function"){let V=()=>{d(B.status),B.isComplete||setTimeout(V,100)};setTimeout(V,10)}if(!b){let V={targetChainId:I,minBalance:y?Sn(y):Sn("0.001")},me=await C1(_,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 R=async V=>await V.walletClient.writeContract({address:A,abi:I1,functionName:"addComposeHash",args:[Ep(i)],account:V.walletClient.account||V.address,chain:o||null}),F=p?await E1(R,_,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:f},p):await B.execute(R,_,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:f}),O=hI(F.receipt,Ep(i),A,s);return t?.schema===!1?O:(t?.schema||dI).parse(O)}async function _1(e,t){try{return{success:!0,data:await gI(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 uQ=_i.object({target:_i.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),interval:_i.number().min(5).max(30).default(5).describe("Polling interval in seconds"),timeout:_i.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),maxRetries:_i.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),retryDelay:_i.number().min(0).default(5e3).describe("Delay between retries in milliseconds")});var yI=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function bI(e){let t={},r=e.toString();r=r.replace(/\r\n?/gm,`
70
- `);let o;for(;(o=yI.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=bI(e),r=[];for(let[o,n]of Object.entries(t))r.push({key:o,value:n});return r}import pt from"chalk";import wI from"ora";function CI(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 EI(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(...EI(o,t));continue}let n=CI(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(`
69
+ `,h,g,a1(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?yd.fromFetchError(e):e instanceof Error?yd.fromError(e):new yd("Unknown error occurred",{detail:"Unknown error occurred"})}emitError(e){let t=kE(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 TE(e={}){return new PE(e)}function d1(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 h1(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 g1(e,t){function r(i,a){return o(i,a)}async function o(i,a){d1(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=h1(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){d1(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=h1(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 $E=Yo.object({username:Yo.string(),email:Yo.string(),credits:Yo.number(),granted_credits:Yo.number(),avatar:Yo.string(),team_name:Yo.string(),team_tier:Yo.string()}).passthrough(),{action:RE,safeAction:$n}=g1($E,async e=>await e.get("/auth/me")),BE={[Vm.id]:Vm,[ea.id]:ea,[Zc.id]:Zc},FE=Xo.object({id:Xo.string(),slug:Xo.string().nullable(),url:Xo.string(),version:Xo.string(),chain_id:Xo.number().nullable(),kms_contract_address:Xo.string().nullable().transform(e=>e),gateway_app_id:Xo.string().nullable().transform(e=>e)}).passthrough(),no=FE.transform(e=>{if(e.chain_id!=null){let t=BE[e.chain_id];if(t)return{...e,chain:t}}return e}),ME=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(),DE=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(ME),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(),NE=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(),zE=K.object({tier:K.string(),capacity:NE,nodes:K.array(DE),kms_list:K.array(no)}).passthrough(),{action:LE,safeAction:Ha}=g1(zE,async e=>await e.get("/teepods/available")),y1=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(),UE=Se.object({name:Se.string(),items:Se.array(y1),total:Se.number()}).strict(),OE=Se.object({result:Se.array(UE)}).strict(),HE=Se.object({items:Se.array(y1),total:Se.number(),family:Se.string()}).strict(),jE=Se.object({family:Se.string()}).strict(),{action:GE,safeAction:VE}=Q(OE,async e=>await e.get("/instance-types")),{action:qE,safeAction:KE}=Q(HE,async(e,t)=>{let r=jE.parse(t);return await e.get(`/instance-types/${r.family}`)}),b1=Bt.object({id:Bt.string(),name:Bt.string(),slug:Bt.string().nullable(),tier:Bt.string(),role:Bt.string(),created_at:Bt.string()}).passthrough(),WE=Bt.object({has_more:Bt.boolean(),next_cursor:Bt.string().nullable(),total:Bt.number().nullable()}).passthrough(),JE=Bt.object({data:Bt.array(b1),pagination:WE}).passthrough(),{action:ZE,safeAction:YE}=Q(JE,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:XE,safeAction:QE}=Q(b1,async(e,t)=>await e.get(`/workspaces/${t}`)),eS=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()}),tS=T.object({id:T.number(),username:T.string()}),wd=T.object({id:T.number(),name:T.string(),region_identifier:T.string().nullable().optional()}),x1=T.object({app:T.string(),instance:T.string()}),rS=T.object({hosted:eS,name:T.string(),managed_user:tS.nullable(),node:wd.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:no.nullable(),vcpu:T.number().nullable(),memory:T.number().nullable(),disk_size:T.number().nullable(),gateway_domain:T.string().nullable(),public_urls:T.array(x1)}),v1=T.object({id:T.number(),name:T.string(),status:T.string(),in_progress:T.boolean().optional().default(!1),teepod_id:T.number().nullable(),teepod:wd.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:no.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(x1).optional().default([]),gateway_domain:T.string().optional().nullable()}),Ip=T.object({id:T.number(),name:T.string(),status:T.string(),teepod_id:T.number(),teepod:wd.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 Ti(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 w1(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)||!Ti(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=Ii.object({id:Ii.string().optional(),uuid:Ii.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:Ii.string().optional(),instance_id:Ii.string().optional(),name:Ii.string().refine(Ti,{message:"Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens"}).optional()}),Qo=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"}),oS=Qo(Mr),ge=oS.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}}),nS=ge,{action:sS,safeAction:Ve}=Q(v1,async(e,t)=>{let{cvmId:r}=nS.parse(t);return await e.get(`/cvms/${r}`)}),iS=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(),aS=Yt.object({items:Yt.array(rS),total:Yt.number(),page:Yt.number(),page_size:Yt.number(),pages:Yt.number()}).strict(),{action:cS,safeAction:ja}=Q(aS,async(e,t)=>{let r=iS.parse(t??{});return await e.get("/cvms/paginated",{params:r})}),mS=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}),bd="Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens",uS=q.object({node_id:q.number().optional(),teepod_id:q.number().optional(),region:q.string().optional(),name:q.string().min(5,bd).max(63,bd).refine(e=>Ti(e),bd),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 pS(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:fS,safeAction:Cd}=Q(mS,async(e,t)=>{let r=uS.parse(t),o=pS(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)}),lS=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(),VX=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:dS,safeAction:_p}=Q(lS,async(e,t)=>await e.post("/cvms",t)),C1=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 xd(e){return e==null?e:Array.isArray(e)?e.map(xd):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=xd(o),t},{}):e}function E1(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 S1(e){let t=xd(e),r=JSON.stringify(t,null,4);return r=r.replace(/": /g,'":'),r}function gS(e){let t=E1(e),r=S1(t);return hS.createHash("sha256").update(r,"utf8").digest("hex")}function yS(e){let t=e;return{...e,getHash:()=>gS(t),toString:()=>S1(E1(t))}}var bS=C1.transform(e=>yS(e)),xS=ge,{action:vS,safeAction:Ga}=Q(bS,async(e,t)=>{let{cvmId:r}=xS.parse(t);return await e.get(`/cvms/${r}/compose_file`)}),wS=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:C1,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})),CS=Rr.object({app_id:Rr.string().nullable(),device_id:Rr.string().nullable(),compose_hash:Rr.string(),kms_info:no.nullable().optional()}).passthrough(),{action:ES,safeAction:Ed}=Q(CS,async(e,t)=>{let r=wS.parse(t);return await e.post(`/cvms/${r.cvmId}/compose_file/provision`,r.request)}),SS=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??void 0,_raw:e})),kS=ur.any().transform(()=>{}),{action:IS,safeAction:Sd}=Q(kS,async(e,t)=>{let r=SS.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,update_env_vars:r.update_env_vars})}),_S=Qo(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}}),AS=Je.object({status:Je.literal("in_progress"),message:Je.string(),correlation_id:Je.string(),allowed_envs_changed:Je.boolean()}),PS=Je.object({status:Je.literal("precondition_required"),message:Je.string(),compose_hash:Je.string(),app_id:Je.string(),device_id:Je.string(),kms_info:no}),TS=Je.union([AS,PS]),{action:$S,safeAction:RS}=Q(TS,async(e,t)=>{let r=_S.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}}),BS=Qo(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}}),FS=Ct.object({status:Ct.literal("in_progress"),message:Ct.string(),correlation_id:Ct.string()}),MS=Ct.object({status:Ct.literal("precondition_required"),message:Ct.string(),compose_hash:Ct.string(),app_id:Ct.string(),device_id:Ct.string(),kms_info:no}),DS=Ct.union([FS,MS]),{action:NS,safeAction:zS}=Q(DS,async(e,t)=>{let r=BS.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}}),LS=Qo(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}}),US=Et.object({status:Et.literal("in_progress"),message:Et.string(),correlation_id:Et.string()}),OS=Et.object({status:Et.literal("precondition_required"),message:Et.string(),compose_hash:Et.string(),app_id:Et.string(),device_id:Et.string(),kms_info:no}),HS=Et.union([US,OS]),{action:jS,safeAction:GS}=Q(HS,async(e,t)=>{let r=LS.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}}),qS=ge,{action:KS,safeAction:WS}=Q(VS.string(),async(e,t)=>{let{cvmId:r}=qS.parse(t);return await e.get(`/cvms/${r}/pre-launch-script`)}),JS=c1.object({kms_id:c1.string().min(1,"KMS ID is required")}),{action:ZS,safeAction:YS}=Q(no,async(e,t)=>{let r=JS.parse(t);return await e.get(`/kms/${r.kms_id}`)}),XS=Br.object({page:Br.number().int().min(1).optional(),page_size:Br.number().int().min(1).optional(),is_onchain:Br.boolean().optional()}).strict(),QS=Br.object({items:Br.array(no),total:Br.number(),page:Br.number(),page_size:Br.number(),pages:Br.number()}).strict(),{action:ek,safeAction:kd}=Q(QS,async(e,t)=>{let r=XS.parse(t??{});return await e.get("/kms",{params:r})}),tk=Pi.object({kms:Pi.string().min(1,"KMS ID or slug is required"),app_id:Pi.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(),rk=Pi.object({public_key:Pi.string(),signature:Pi.string()}).strict(),{action:ok,safeAction:Id}=Q(rk,async(e,t)=>{let r=tk.parse(t);return await e.get(`/kms/${r.kms}/pubkey/${r.app_id}`)}),nk=Tn.object({counts:Tn.number().int().min(1).max(20).optional().default(1)}).strict(),sk=Tn.object({app_ids:Tn.array(Tn.object({app_id:Tn.string(),nonce:Tn.number().int().min(0)}))}).strict(),{action:ik,safeAction:ak}=Q(sk,async(e,t)=>{let r=nk.parse(t??{}),o=new URLSearchParams;return o.append("counts",r.counts.toString()),await e.get(`/kms/phala/next_app_id?${o.toString()}`)}),ck=ge,{action:mk,safeAction:_d}=Q(Ip,async(e,t)=>{let{cvmId:r}=ck.parse(t);return await e.post(`/cvms/${r}/start`)}),uk=ge,{action:pk,safeAction:Ad}=Q(Ip,async(e,t)=>{let{cvmId:r}=uk.parse(t);return await e.post(`/cvms/${r}/stop`)}),fk=ge,{action:lk,safeAction:dk}=Q(Ip,async(e,t)=>{let{cvmId:r}=fk.parse(t);return await e.post(`/cvms/${r}/shutdown`)}),gk=Qo(Mr.extend({force:hk.boolean().optional()})),{action:yk,safeAction:Pd}=Q(Ip,async(e,t)=>{let r=gk.parse(t),{cvmId:o}=ge.parse(r),{force:n=!1}=r;return await e.post(`/cvms/${o}/restart`,{force:n})}),xk=ge,{action:vk,safeAction:Td}=Q(bk.void(),async(e,t)=>{let{cvmId:r}=xk.parse(t);await e.delete(`/cvms/${r}`)}),wk=oe.object({name:oe.string(),mount_point:oe.string(),total_size:oe.number(),free_size:oe.number()}),Ck=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(wk)}),Ek=oe.object({is_online:oe.boolean(),is_public:oe.boolean().default(!1),error:oe.string().nullable(),sysinfo:Ck.nullable(),status:oe.string().nullable(),in_progress:oe.boolean().default(!1),boot_progress:oe.string().nullable(),boot_error:oe.string().nullable()}),Sk=ge,{action:kk,safeAction:Ik}=Q(Ek,async(e,t)=>{let{cvmId:r}=Sk.parse(t);return await e.get(`/cvms/${r}/stats`)}),_k=Tr.object({app:Tr.string(),instance:Tr.string()}),Ak=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(_k).nullable()}),Pk=ge,{action:Tk,safeAction:$k}=Q(Ak,async(e,t)=>{let{cvmId:r}=Pk.parse(t);return await e.get(`/cvms/${r}/network`)}),Bk=ge,{action:Fk,safeAction:Mk}=Q(Rk.string(),async(e,t)=>{let{cvmId:r}=Bk.parse(t);return await e.get(`/cvms/${r}/docker-compose.yml`)}),Dk=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()}),Nk=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(Dk).nullable()}),zk=ge,{action:Lk,safeAction:Uk}=Q(Nk,async(e,t)=>{let{cvmId:r}=zk.parse(t);return await e.get(`/cvms/${r}/composition`)}),Ok=L.object({common_name:L.string().nullable(),organization:L.string().nullable(),country:L.string().nullable(),state:L.string().nullable(),locality:L.string().nullable()}),Hk=L.object({common_name:L.string().nullable(),organization:L.string().nullable(),country:L.string().nullable()}),jk=L.object({subject:Ok,issuer:Hk,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()}),Gk=L.object({imr:L.number(),event_type:L.number(),digest:L.string(),event:L.string(),event_payload:L.string()}),Vk=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(Gk),app_compose:L.string()}),qk=L.object({name:L.string().nullable(),is_online:L.boolean(),is_public:L.boolean().default(!0),error:L.string().nullable(),app_certificates:L.array(jk).nullable(),tcb_info:Vk.nullable(),compose_file:L.string().nullable()}),Kk=ge,{action:Wk,safeAction:Jk}=Q(qk,async(e,t)=>{let{cvmId:r}=Kk.parse(t);return await e.get(`/cvms/${r}/attestation`)}),Zk=Qo(Mr.extend({vcpu:Ai.number().optional(),memory:Ai.number().optional(),disk_size:Ai.number().optional(),instance_type:Ai.string().optional(),allow_restart:Ai.boolean().optional()})),{action:Yk,safeAction:Xk}=Q(Ai.void(),async(e,t)=>{let r=Zk.parse(t),{cvmId:o}=ge.parse(r),{...n}=r;await e.patch(`/cvms/${o}/resources`,n)}),Qk=Qo(Mr.extend({public_sysinfo:m1.boolean(),public_logs:m1.boolean()})),{action:eI,safeAction:tI}=Q(v1,async(e,t)=>{let r=Qk.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})}),u1=it.object({name:it.string(),os_image_hash:it.string().nullable(),is_current:it.boolean()}),rI=it.object({version:it.union([it.tuple([it.number(),it.number(),it.number(),it.number()]),it.tuple([it.number(),it.number(),it.number()])]),prod:u1.nullable(),dev:u1.nullable()}),oI=it.array(rI),nI=ge,{action:sI,safeAction:iI}=Q(oI,async(e,t)=>{let{cvmId:r}=nI.parse(t);return await e.get(`/cvms/${r}/available-os-images`)}),aI=Qo(Mr.extend({os_image_name:k1.string().min(1,"OS image name is required")})),{action:cI,safeAction:mI}=Q(k1.void(),async(e,t)=>{let r=aI.parse(t),{cvmId:o}=ge.parse(r),{os_image_name:n}=r;await e.patch(`/cvms/${o}/os-image`,{os_image_name:n})}),uI=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()}),pI=ge,{action:fI,safeAction:lI}=Q(uI,async(e,t)=>{let{cvmId:r}=pI.parse(t);return await e.get(`/cvms/${r}/state`)});function St(e={}){let t=TE(e),r={getCurrentUser:RE,safeGetCurrentUser:$n,getAvailableNodes:LE,safeGetAvailableNodes:Ha,listAllInstanceTypeFamilies:GE,safeListAllInstanceTypeFamilies:VE,listFamilyInstanceTypes:qE,safeListFamilyInstanceTypes:KE,listWorkspaces:ZE,safeListWorkspaces:YE,getWorkspace:XE,safeGetWorkspace:QE,getCvmInfo:sS,safeGetCvmInfo:Ve,getCvmList:cS,safeGetCvmList:ja,provisionCvm:fS,safeProvisionCvm:Cd,commitCvmProvision:dS,safeCommitCvmProvision:_p,getCvmComposeFile:vS,safeGetCvmComposeFile:Ga,provisionCvmComposeFileUpdate:ES,safeProvisionCvmComposeFileUpdate:Ed,commitCvmComposeFileUpdate:IS,safeCommitCvmComposeFileUpdate:Sd,updateCvmEnvs:$S,safeUpdateCvmEnvs:RS,updateDockerCompose:NS,safeUpdateDockerCompose:zS,updatePreLaunchScript:jS,safeUpdatePreLaunchScript:GS,getCvmPreLaunchScript:KS,safeGetCvmPreLaunchScript:WS,startCvm:mk,safeStartCvm:_d,stopCvm:pk,safeStopCvm:Ad,shutdownCvm:lk,safeShutdownCvm:dk,restartCvm:yk,safeRestartCvm:Pd,deleteCvm:vk,safeDeleteCvm:Td,getCvmStats:kk,safeGetCvmStats:Ik,getCvmNetwork:Tk,safeGetCvmNetwork:$k,getCvmDockerCompose:Fk,safeGetCvmDockerCompose:Mk,getCvmContainersStats:Lk,safeGetCvmContainersStats:Uk,getCvmAttestation:Wk,safeGetCvmAttestation:Jk,updateCvmResources:Yk,safeUpdateCvmResources:Xk,updateCvmVisibility:eI,safeUpdateCvmVisibility:tI,getAvailableOsImages:sI,safeGetAvailableOsImages:iI,updateOsImage:cI,safeUpdateOsImage:mI,getKmsInfo:ZS,safeGetKmsInfo:YS,getKmsList:ek,safeGetKmsList:kd,getAppEnvEncryptPubKey:ok,safeGetAppEnvEncryptPubKey:Id,nextAppIds:ik,safeNextAppIds:ak,getCvmState:fI,safeGetCvmState:lI};return t.extend(r)}function Sp(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 I1=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 dI(e,t){try{let r=await e.walletClient.getChainId();return{isCorrectNetwork:r===t,currentChainId:r}}catch(r){throw new I1(`Failed to check network status: ${r instanceof Error?r.message:"Unknown error"}`,"NETWORK_CHECK_FAILED",r)}}async function hI(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 I1(`Failed to check balance: ${o instanceof Error?o.message:"Unknown error"}`,"BALANCE_CHECK_FAILED",o)}}async function gI(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 _1(e,t){let{targetChainId:r,minBalance:o,requiredAddress:n}=t,s=await dI(e,r),i=await hI(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 $d(){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 x=await Promise.race([gI(c.publicClient,y,{timeout:p,confirmations:f}),new Promise((S,I)=>{r?.signal.addEventListener("abort",()=>{I(new $r("Transaction aborted while waiting for receipt",y))})})]);t&&(clearTimeout(t),t=void 0);let w=x.status==="success";if(o({state:w?"success":"error",receipt:x,confirmTime:Date.now(),error:w?void 0:"Transaction failed on-chain"}),w)h?.(x);else{let S=new $r("Transaction failed on-chain",y,x);throw g?.(S,y),S}return{hash:y,receipt:x,success:w}}catch(y){let x=y instanceof $r?y:new $r(`Transaction execution failed: ${y instanceof Error?y.message:"Unknown error"}`,e.hash,y);throw o({state:"error",error:x.message}),g?.(x,e.hash),x}}}}async function A1(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 $d().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 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}],yI=$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(),bI=yI.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"]}),xI=$e.object({appId:$e.string(),appAuthAddress:$e.string(),deployer:$e.string(),transactionHash:$e.string(),blockNumber:$e.bigint().optional(),gasUsed:$e.bigint().optional()}).passthrough();function vI(e,t,r){try{let o=cr({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 wI(e,t){let r=bI.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:x,onTransactionSubmitted:w,onTransactionConfirmed:S}=r,I="0000000000000000000000000000000000000000000000000000000000000000",_=u!==I&&u!=="0x"+I?!1:m,B,R,F,O;if(i){let pe=Ma(i);if(c){if(typeof c!="object"||!c)throw new Error("publicClient is invalid");B=c}else{if(!o)throw new Error("Chain required for publicClient");B=Pn({chain:o,transport:ro(n)})}if(!o)throw new Error("Chain required for walletClient");R=Fa({account:pe,chain:o,transport:ro(n)}),F=pe.address,O=o.id}else if(a){if(typeof a!="object"||!a)throw new Error("walletClient is invalid");if(R=a,c){if(typeof c!="object"||!c)throw new Error("publicClient is invalid");B=c}else{if(!o)throw new Error("Chain required for publicClient");B=Pn({chain:o,transport:ro(n)})}if(!R.account?.address)throw new Error("WalletClient needs an account");F=R.account.address,o?O=o.id:O=await R.getChainId()}else throw new Error("Need privateKey or walletClient");let G={publicClient:B,walletClient:R,address:F,chainId:O},V=$d();if(x&&typeof x=="function"){let pe=()=>{x(V.status),V.isComplete||setTimeout(pe,100)};setTimeout(pe,10)}if(!d){let pe={targetChainId:O,minBalance:h?_n(h):_n("0.001")},yo=await _1(G,pe);if(!yo.networkValid)throw new Error(`Wrong network. Need chain ${pe.targetChainId}, got ${yo.details.currentChainId}`);if(!yo.balanceValid){let Qt=Number(pe.minBalance)/1e18,cf=Number(yo.details.balance)/1e18;throw new Error(`Not enough ETH. Need ${Qt}, have ${cf.toFixed(6)}`)}}let ue=Sp(u),Ae=Sp(p),qe=`0x${ue.slice(2).padEnd(64,"0")}`,Mt=`0x${Ae.slice(2).padEnd(64,"0")}`,z=async pe=>{try{let Qt=await pe.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:[pe.address,f,_,qe,Mt],account:pe.walletClient.account||pe.address,chain:o||null};return await pe.walletClient.writeContract(yo)},ke=b?await A1(z,G,[],{timeout:g,confirmations:1,onSubmitted:w,onConfirmed:S,signal:y},b):await V.execute(z,G,[],{timeout:g,confirmations:1,onSubmitted:w,onConfirmed:S,signal:y}),lr=vI(ke.receipt,F,s);return t?.schema===!1?lr:(t?.schema||xI).parse(lr)}async function T1(e,t){try{return{success:!0,data:await wI(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}],CI=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"]}),EI=Ce.object({composeHash:Ce.string(),appId:Ce.string(),transactionHash:Ce.string(),blockNumber:Ce.bigint().optional(),gasUsed:Ce.bigint().optional()}).passthrough();function SI(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 kI(e,t){let r=CI.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,x,w,S,I,A=s.startsWith("0x")?s:`0x${s}`;if(a){let V=Ma(a);if(m)x=m;else{if(!o)throw new Error("Chain required when creating publicClient");x=Pn({chain:o,transport:ro(n)})}if(!o)throw new Error("Chain required when creating walletClient");w=Fa({account:V,chain:o,transport:ro(n)}),S=V.address,I=o.id}else if(c){if(w=c,m)x=m;else{if(!o)throw new Error("Chain required when creating publicClient");x=Pn({chain:o,transport:ro(n)})}if(!w.account?.address)throw new Error("WalletClient must have an account with address");S=w.account.address,I=o?o.id:await w.getChainId()}else throw new Error("Either privateKey or walletClient must be provided");let _={publicClient:x,walletClient:w,address:S,chainId:I},B=$d();if(d&&typeof d=="function"){let V=()=>{d(B.status),B.isComplete||setTimeout(V,100)};setTimeout(V,10)}if(!b){let V={targetChainId:I,minBalance:y?_n(y):_n("0.001")},ue=await _1(_,V);if(!ue.networkValid)throw new Error(`Network mismatch: Expected chain ${V.targetChainId}, but wallet is on chain ${ue.details.currentChainId}`);if(!ue.balanceValid){let Ae=Number(V.minBalance)/1e18,qe=Number(ue.details.balance)/1e18;throw new Error(`Insufficient balance: Required ${Ae} ETH, but account has ${qe.toFixed(6)} ETH`)}}let R=async V=>await V.walletClient.writeContract({address:A,abi:$1,functionName:"addComposeHash",args:[Sp(i)],account:V.walletClient.account||V.address,chain:o||null}),F=p?await A1(R,_,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:f},p):await B.execute(R,_,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:f}),O=SI(F.receipt,Sp(i),A,s);return t?.schema===!1?O:(t?.schema||EI).parse(O)}async function R1(e,t){try{return{success:!0,data:await kI(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 IQ=_i.object({target:_i.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),interval:_i.number().min(5).max(30).default(5).describe("Polling interval in seconds"),timeout:_i.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),maxRetries:_i.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),retryDelay:_i.number().min(0).default(5e3).describe("Delay between retries in milliseconds")});var II=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function _I(e){let t={},r=e.toString();r=r.replace(/\r\n?/gm,`
70
+ `);let o;for(;(o=II.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 Ap(e){let t=_I(e),r=[];for(let[o,n]of Object.entries(t))r.push({key:o,value:n});return r}import pt from"chalk";import TI from"ora";function $I(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 RI(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 B1(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(...RI(o,t));continue}let n=$I(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
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
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
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
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),S=Math.max(v.length,C.length);for(;v.length<S;)v.push("");for(;C.length<S;)C.push("");for(let I=0;I<S;I++){let A=v[I].padEnd(c),_=C[I].padEnd(m);console.log(r!=="none"?`${a.vertical} ${o(A)} ${a.vertical} ${n(_)} ${a.vertical}`:`${o(A)} : ${n(_)}`)}}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=wI(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}
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??""),x=B1(b,c),w=B1(y,m),S=Math.max(x.length,w.length);for(;x.length<S;)x.push("");for(;w.length<S;)w.push("");for(let I=0;I<S;I++){let A=x[I].padEnd(c),_=w[I].padEnd(m);console.log(r!=="none"?`${a.vertical} ${o(A)} ${a.vertical} ${n(_)} ${a.vertical}`:`${o(A)} : ${n(_)}`)}}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=TI(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 II=Mr.extend({api_version:_p.enum(Ua).optional(),gateway_domain:_p.string().optional(),gateway_port:_p.number().int().positive().optional()}),Pd="phala.toml";function T1(){return SI.join(process.cwd(),Pd)}function _I(){return Ad.existsSync(T1())}function AI(){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=kI.parse(t),o=II.parse(r);if(o.id||o.uuid||o.app_id||o.instance_id||o.name){let{cvmId:n}=ge.parse(o);return{...o,cvm_id:n}}return o}catch(t){if(t instanceof _p.ZodError){let r=t.issues.map(o=>` - ${o.path.join(".")}: ${o.message}`).join(`
83
+ `)}};var MI=Mr.extend({api_version:Pp.enum(Oa).optional(),gateway_domain:Pp.string().optional(),gateway_port:Pp.number().int().positive().optional()}),Bd="phala.toml";function F1(){return BI.join(process.cwd(),Bd)}function DI(){return Rd.existsSync(F1())}function NI(){let e=F1();if(!Rd.existsSync(e))throw new Error(`Project configuration file not found: ${Bd}
84
+ Run 'phala init' to create one.`);try{let t=Rd.readFileSync(e,"utf8"),r=FI.parse(t),o=MI.parse(r);if(o.id||o.uuid||o.app_id||o.instance_id||o.name){let{cvmId:n}=ge.parse(o);return{...o,cvm_id:n}}return o}catch(t){if(t instanceof Pp.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 ${Pd}: ${t instanceof Error?t.message:String(t)}`)}}function Td(){return _I()?AI():{}}function $1(e){if(!e)return;let{cvmId:t}=ge.parse({id:e});return t}import Ap from"crypto";import Dr from"fs";import $i from"os";import Rd from"path";var Ga=Rd.join($i.homedir(),".phala-cloud"),Va=Rd.join(Ga,"api-key"),$d=Rd.join(Ga,"docker-credentials.json");function R1(){if(!Dr.existsSync(Ga))try{Dr.mkdirSync(Ga,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Ga}:`,e),e}}function B1(){let e=[$i.hostname(),$i.platform(),$i.arch(),$i.cpus()[0]?.model||"",$i.userInfo().username],t=Ap.createHash("sha256");return t.update(e.join("|")),t.digest()}function PI(e){try{let t=B1(),r=Ap.randomBytes(16),o=Ap.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 TI(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=Ap.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 Pp(e){R1();try{let t=PI(e);Dr.writeFileSync(Va,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(Dr.existsSync(Va)){let e=Dr.readFileSync(Va,"utf8").trim();return TI(e)}return null}catch(e){return l.error("Failed to read API key:",e),null}}async function Nr(){try{Dr.existsSync(Va)?(Dr.unlinkSync(Va),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 Bd(e){R1();try{Dr.writeFileSync($d,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 no(){try{if(Dr.existsSync($d)){let e=Dr.readFileSync($d,"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 St({apiKey:e})}async function Tp(e){return St({apiKey:e})}import{z as w}from"zod";var $I=w.object({password:w.string(),registry:w.string().nullable(),username:w.string()}),GQ=w.object({docker_compose_file:w.string(),docker_config:$I.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()}),VQ=w.object({key:w.string(),value:w.string()}),RI=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()}),BI=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()}),qQ=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(BI).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 FI from"inquirer";async function N1(e){let t=await Z(),r=await ja(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 Ha(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 FI.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 Fd(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=NI(r);if((u.length>0?t.getNode(u):null)?.group){let b=r.slice(u.length),y=Li(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]]}):DI({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=Li(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,S="cvmId"in v?v.cvmId:void 0,I="interactive"in v&&v.interactive===!0;if(b.flags["--debug"]&&(console.log("[DISPATCHER DEBUG] 'cvmId' in mergedInput:","cvmId"in v),console.log("[DISPATCHER DEBUG] rawCvmId:",S),console.log("[DISPATCHER DEBUG] mergedInput keys:",Object.keys(v))),I){let R=await z1();R&&(C={app_id:R})}if(!C&&S&&typeof S=="string"&&(C={id:S}),!C){let R=Td().cvm_id;R&&(C={id:R})}b.flags["--debug"]&&(console.log("[DISPATCHER DEBUG] final cvmId:",JSON.stringify(C)),console.log("[DISPATCHER DEBUG] cvmId type:",typeof C),console.log("[DISPATCHER DEBUG] cvmId is undefined:",C===void 0));let A={argv:g,rawFlags:b.flags,rawPositionals:b.positionals,cwd:m,env:c,stdout:s,stderr:i,stdin:a,projectConfig:Td(),cvmId:C,success(R){if(lt()){let F=typeof R=="string"?{success:!0,message:R}:{success:!0,...typeof R=="object"&&R!==null?R:{data:R}};s.write(`${JSON.stringify(F,null,2)}
89
- `)}else typeof R=="string"?s.write(`${qa.green("\u2713")} ${qa.green(R)}
90
- `):(s.write(`${qa.green("\u2713")} Success
86
+ ${r}`)}throw new Error(`Failed to parse ${Bd}: ${t instanceof Error?t.message:String(t)}`)}}function Fd(){return DI()?NI():{}}function M1(e){if(!e)return;let{cvmId:t}=ge.parse({id:e});return t}import Tp from"crypto";import Dr from"fs";import $i from"os";import Dd from"path";var Va=Dd.join($i.homedir(),".phala-cloud"),qa=Dd.join(Va,"api-key"),Md=Dd.join(Va,"docker-credentials.json");function D1(){if(!Dr.existsSync(Va))try{Dr.mkdirSync(Va,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Va}:`,e),e}}function N1(){let e=[$i.hostname(),$i.platform(),$i.arch(),$i.cpus()[0]?.model||"",$i.userInfo().username],t=Tp.createHash("sha256");return t.update(e.join("|")),t.digest()}function zI(e){try{let t=N1(),r=Tp.randomBytes(16),o=Tp.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 LI(e){try{let t=N1(),r=e.split(":");if(r.length!==2)throw new Error("Invalid encrypted format");let o=Buffer.from(r[0],"hex"),n=r[1],s=Tp.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 $p(e){D1();try{let t=zI(e);Dr.writeFileSync(qa,t,{mode:384})}catch(t){throw l.error("Failed to save API key:",t),t}}function en(){try{if(process.env.PHALA_CLOUD_API_KEY)return process.env.PHALA_CLOUD_API_KEY;if(Dr.existsSync(qa)){let e=Dr.readFileSync(qa,"utf8").trim();return LI(e)}return null}catch(e){return l.error("Failed to read API key:",e),null}}async function Nr(){try{Dr.existsSync(qa)?(Dr.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 Nd(e){D1();try{Dr.writeFileSync(Md,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 so(){try{if(Dr.existsSync(Md)){let e=Dr.readFileSync(Md,"utf8");return JSON.parse(e)}return null}catch(e){return l.error("Failed to read Docker credentials:",e),null}}async function Z(){let e=en();return St({apiKey:e})}async function Rp(e){return St({apiKey:e})}import{z as C}from"zod";var UI=C.object({password:C.string(),registry:C.string().nullable(),username:C.string()}),iee=C.object({docker_compose_file:C.string(),docker_config:UI.optional().nullable(),features:C.array(C.string()),kms_enabled:C.boolean(),manifest_version:C.number(),name:C.string(),public_logs:C.boolean(),public_sysinfo:C.boolean(),runner:C.string().optional(),salt:C.string().nullable().optional(),tproxy_enabled:C.boolean(),version:C.string().optional()}).passthrough(),z1=C.object({id:C.number(),name:C.string(),status:C.string(),teepod_id:C.number().nullable(),teepod:C.object({id:C.number(),name:C.string()}).nullable(),user_id:C.number().nullable(),app_id:C.string(),vm_uuid:C.string().nullable(),instance_id:C.string().nullable(),app_url:C.string().nullable(),base_image:C.string().nullable(),vcpu:C.number(),memory:C.number(),disk_size:C.number(),manifest_version:C.number().nullable(),version:C.string().nullable(),runner:C.string().nullable(),docker_compose_file:C.string().nullable(),features:C.array(C.string()).nullable(),created_at:C.string(),encrypted_env_pubkey:C.string().nullable()}),aee=C.object({key:C.string(),value:C.string()}),OI=C.object({is_online:C.boolean(),is_public:C.boolean(),error:C.string().nullable(),internal_ip:C.string(),latest_handshake:C.string(),public_urls:C.array(C.object({app:C.string(),instance:C.string()}))}),L1=C.object({id:C.number(),name:C.string(),status:C.string(),teepod_id:C.number(),teepod:C.object({id:C.number(),name:C.string()}),user_id:C.number().nullable(),app_id:C.string(),vm_uuid:C.string().nullable(),instance_id:C.string().nullable(),app_url:C.string().nullable(),base_image:C.string().nullable(),vcpu:C.number(),memory:C.number(),disk_size:C.number(),manifest_version:C.number().nullable(),version:C.string().nullable(),runner:C.string().nullable(),docker_compose_file:C.string().nullable(),features:C.array(C.string()).nullable(),created_at:C.string(),encrypted_env_pubkey:C.string().nullable()}),U1=C.object({is_online:C.boolean(),is_public:C.boolean(),error:C.string().nullable(),app_certificates:C.array(C.object({subject:C.object({common_name:C.string().nullable(),organization:C.string().nullable(),country:C.string().nullable(),state:C.string().nullable().optional(),locality:C.string().nullable().optional()}),issuer:C.object({common_name:C.string().nullable(),organization:C.string().nullable(),country:C.string().nullable()}),serial_number:C.string(),not_before:C.string(),not_after:C.string(),version:C.string(),fingerprint:C.string(),signature_algorithm:C.string(),sans:C.string().nullable(),is_ca:C.boolean(),position_in_chain:C.number(),quote:C.string().nullable()})).nullable(),tcb_info:C.object({mrtd:C.string(),rootfs_hash:C.string(),rtmr0:C.string(),rtmr1:C.string(),rtmr2:C.string(),rtmr3:C.string(),event_log:C.array(C.object({imr:C.number(),event_type:C.number(),digest:C.string(),event:C.string(),event_payload:C.string()}))}).nullable(),compose_file:C.string().nullable()}),HI=C.object({name:C.string(),description:C.string().optional(),version:C.array(C.number()).optional(),is_dev:C.boolean().optional(),os_image_hash:C.string().nullable().optional(),rootfs_hash:C.string().optional(),shared_ro:C.boolean().optional(),cmdline:C.string().optional(),kernel:C.string().optional(),initrd:C.string().optional(),hda:C.string().nullable().optional(),rootfs:C.string().optional(),bios:C.string().optional()}),cee=C.object({teepod_id:C.number().nullable(),id:C.number().optional(),name:C.string(),listed:C.boolean().optional(),resource_score:C.number().optional(),remaining_vcpu:C.number().optional(),remaining_memory:C.number().optional(),remaining_cvm_slots:C.number().optional(),images:C.array(HI).optional(),region_identifier:C.string().optional(),dedicated_for_team_id:C.number().nullable().optional(),support_onchain_kms:C.boolean().optional(),fmspc:C.string().nullable().optional(),device_id:C.string().nullable().optional()});import jI from"inquirer";async function O1(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 H1(){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 jI.prompt([{type:"list",name:"selectedCvm",message:"Select a CVM:",choices:s}]);return i}async function j1(e){let t=await Z(),r=e.replace(/^app_/,""),o=await t.get(`cvms/app_${r}/attestation`);try{return U1.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 G1(e,t){let r=await Z(),o=e.replace(/^app_/,""),n=await r.post(`cvms/app_${o}/replicas`,t);return L1.parse(n)}async function zd(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 V1(e){return await(await Z()).post("cvms/pubkey/from_cvm_configuration",e)}async function q1(e){let r=await(await Z()).post("cvms/from_cvm_configuration",e);return z1.parse(r)}async function K1(e,t){let r=await Z(),o=e.replace(/^app_/,"");return await r.put(`cvms/app_${o}/compose`,t)}async function W1(e=!1){let t=await Z(),r="teepods/available";return e&&(r+="?v03x_only=1"),await t.get(r)}async function Z1(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,stdin:a,env:c,cwd:m}=e,u=qI(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 J1({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?J1({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:[u[0]]}):VI({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(`${I0({executableName:o,definition:d,registry:t})}
88
+ `),0;d.meta.stability==="deprecated"&&i.write(Ri.yellow(`Warning: This command is deprecated and may be removed in a future version.
89
+ `));let y=v0(d.meta,b),x={...y.options,...y.positionals,options:y.options,positionals:y.positionals,raw:y.raw},w,S="cvmId"in x?x.cvmId:void 0,I="interactive"in x&&x.interactive===!0;if(b.flags["--debug"]&&(console.log("[DISPATCHER DEBUG] 'cvmId' in mergedInput:","cvmId"in x),console.log("[DISPATCHER DEBUG] rawCvmId:",S),console.log("[DISPATCHER DEBUG] mergedInput keys:",Object.keys(x))),I){let R=await H1();R&&(w={app_id:R})}if(!w&&S&&typeof S=="string"&&(w={id:S}),!w){let R=Fd().cvm_id;R&&(w={id:R})}b.flags["--debug"]&&(console.log("[DISPATCHER DEBUG] final cvmId:",JSON.stringify(w)),console.log("[DISPATCHER DEBUG] cvmId type:",typeof w),console.log("[DISPATCHER DEBUG] cvmId is undefined:",w===void 0));let A={argv:g,rawFlags:b.flags,rawPositionals:b.positionals,cwd:m,env:c,stdout:s,stderr:i,stdin:a,projectConfig:Fd(),cvmId:w,success(R){if(lt()){let F=typeof R=="string"?{success:!0,message:R}:{success:!0,...typeof R=="object"&&R!==null?R:{data:R}};s.write(`${JSON.stringify(F,null,2)}
90
+ `)}else typeof R=="string"?s.write(`${Ri.green("\u2713")} ${Ri.green(R)}
91
+ `):(s.write(`${Ri.green("\u2713")} Success
91
92
  `),s.write(`${JSON.stringify(R,null,2)}
92
93
  `))},fail(R,F){lt()?s.write(`${JSON.stringify({success:!1,error:R,...F&&{details:F}},null,2)}
93
- `):(i.write(`${qa.red("\u2717")} ${qa.red(R)}
94
+ `):(i.write(`${Ri.red("\u2717")} ${Ri.red(R)}
94
95
  `),F&&i.write(`${JSON.stringify(F,null,2)}
95
- `))}};b.flags["--debug"]&&console.log("[DISPATCHER DEBUG] context.cvmId after creation:",JSON.stringify(A.cvmId));let _=d.schema.parse(v);b.flags["--debug"]&&console.log("[DISPATCHER DEBUG] context.cvmId before handler:",JSON.stringify(A.cvmId));let B=await d.run(_,A);return typeof B=="number"?B:0}catch(b){if(b instanceof MI)return i.write(zI(b)),1;if(Md(b))return i.write(`${b.message}
96
- `),1;throw b}}function DI(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i}=e;try{let a=Li(r,void 0);if(a.flags["--version"])return s.write(`${n}
97
- `),0;if(a.flags["--help"])return s.write(`${ic({registry:t,executableName:o})}
98
- `),0;if(a.positionals.length===0)return s.write(`${ic({registry:t,executableName:o})}
96
+ `))}};b.flags["--debug"]&&console.log("[DISPATCHER DEBUG] context.cvmId after creation:",JSON.stringify(A.cvmId));let _=d.schema.parse(x);b.flags["--debug"]&&console.log("[DISPATCHER DEBUG] context.cvmId before handler:",JSON.stringify(A.cvmId));let B=await d.run(_,A);return typeof B=="number"?B:0}catch(b){if(b instanceof GI)return i.write(KI(b)),1;if(Ld(b))return i.write(`${b.message}
97
+ `),1;throw b}}function VI(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}
98
+ `),0;if(a.flags["--help"])return s.write(`${ac({registry:t,executableName:o})}
99
+ `),0;if(a.positionals.length===0)return s.write(`${ac({registry:t,executableName:o})}
99
100
  `),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(Md(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=Li(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})}
101
+ `),1}catch(a){if(Ld(a))return i.write(`${a.message}
102
+ `),1;throw a}}function J1(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}
103
+ `),0;if(m.flags["--help"]||m.positionals.length===0)return s.write(`${k0({registry:t,executableName:o,groupPath:a})}
103
104
  `),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(Md(c))return i.write(`${c.message}
105
- `),1;throw c}}function NI(e){let t=[];for(let r of e){if(r.startsWith("-"))break;t.push(r)}return t}function zI(e){let t=e.issues[0];return t?`Invalid value for "${t.path.length>0?t.path.join("."):"input"}": ${t.message}
105
+ `),1}catch(c){if(Ld(c))return i.write(`${c.message}
106
+ `),1;throw c}}function qI(e){let t=[];for(let r of e){if(r.startsWith("-"))break;t.push(r)}return t}function KI(e){let t=e.issues[0];return t?`Invalid value for "${t.path.length>0?t.path.join("."):"input"}": ${t.message}
106
107
  `:`${e.message}
107
- `}function Md(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 $p=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 LI from"prompts";function $(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,Dd="dstack-0.3.6",J1=`version: '3.8'
108
+ `}function Ld(e){return e instanceof Error&&Object.prototype.hasOwnProperty.call(e,"code")&&typeof e.code=="string"}function Y1(e){return{name:e,children:new Map,aliasMap:new Map}}var Bp=class{constructor(){this.root=Y1(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=Y1(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 X1={path:["auth"],meta:{name:"auth",description:"Authenticate with Phala Cloud",stability:"deprecated"}};import WI from"prompts";function $(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 Rn=1,Bn=2048,Fn=40,Ud="dstack-0.3.6",Q1=`version: '3.8'
108
109
  services:
109
110
  postgres:
110
111
  image: ankane/pgvector:latest
@@ -149,7 +150,7 @@ networks:
149
150
  driver: bridge
150
151
 
151
152
  volumes:
152
- postgres-data:`,Z1=`version: '3.8'
153
+ postgres-data:`,e6=`version: '3.8'
153
154
  services:
154
155
  app:
155
156
  image: {{imageName}}
@@ -160,33 +161,33 @@ services:
160
161
  {{#each envVars}} - {{{this}}}
161
162
  {{/each}}
162
163
  restart: always
163
- `;import{z as Rp}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=Rp.object({apiKey:Rp.string().min(1,"API key cannot be empty").optional(),manual:Rp.boolean().optional(),noOpen:Rp.boolean().optional()});async function Nd(e){try{await Pp(e);let t=await Tp(e),r=await An(t),o=r.data;if(!r.success||!o?.username)throw await Nr(),new Error("Invalid API key");return o}catch(t){throw await Nr(),t instanceof Error?t:new Error(String(t))}}async function UI(){let e,t=await LI({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 Nd(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 Nd(t.apiKey)),{apiKey:t.apiKey,user:e}}async function OI(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 Nd(r);else{let n=await UI();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=$({path:["auth","login"],meta:Y1,schema:X1,handler:OI});import{z as HI}from"zod";var e6={name:"logout",description:"[DEPRECATED] Remove the stored API key (use 'phala logout' instead)"},t6=HI.object({});async function jI(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 Nr(),l.success("API key removed successfully"),0}catch(r){return l.error("Failed to remove API key"),l.logDetailedError(r),1}}var r6=$({path:["auth","logout"],meta:e6,schema:t6,handler:jI});import{z as Bp}from"zod";var so={name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json",negatedName:"no-json"},zd={name:"debug",shorthand:"d",description:"Enable debug output",type:"boolean",target:"debug"},o6={name:"status",description:"Check Phala Cloud status and authentication",options:[...Ln,so,zd],examples:[{name:"Show login status in human-readable format",value:"phala status"},{name:"Get status as JSON",value:"phala status --json"}]},Fp=Bp.object({json:Bp.boolean().default(!1),debug:Bp.boolean().default(!1),apiToken:Bp.string().optional()});async function Ld(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=St({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
+ `;import{z as Fp}from"zod";var t6={name:"login",description:"Authenticate with Phala Cloud (use 'phala login' instead)",stability:"deprecated",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"}]},r6=Fp.object({apiKey:Fp.string().min(1,"API key cannot be empty").optional(),manual:Fp.boolean().optional(),noOpen:Fp.boolean().optional()});async function Od(e){try{await $p(e);let t=await Rp(e),r=await $n(t),o=r.data;if(!r.success||!o?.username)throw await Nr(),new Error("Invalid API key");return o}catch(t){throw await Nr(),t instanceof Error?t:new Error(String(t))}}async function JI(){let e,t=await WI({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 Od(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 Od(t.apiKey)),{apiKey:t.apiKey,user:e}}async function ZI(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 Od(r);else{let n=await JI();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 o6=$({path:["auth","login"],meta:t6,schema:r6,handler:ZI});import{z as YI}from"zod";var n6={name:"logout",description:"Remove the stored API key (use 'phala logout' instead)",stability:"deprecated"},s6=YI.object({});async function XI(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 Nr(),l.success("API key removed successfully"),0}catch(r){return l.error("Failed to remove API key"),l.logDetailedError(r),1}}var i6=$({path:["auth","logout"],meta:n6,schema:s6,handler:XI});import{z as Mp}from"zod";var io={name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json",negatedName:"no-json"},Hd={name:"debug",shorthand:"d",description:"Enable debug output",type:"boolean",target:"debug"},a6={name:"status",description:"Check Phala Cloud status and authentication",stability:"stable",options:[...Ln,io,Hd],examples:[{name:"Show login status in human-readable format",value:"phala status"},{name:"Get status as JSON",value:"phala status --json"}]},Dp=Mp.object({json:Mp.boolean().default(!1),debug:Mp.boolean().default(!1),apiToken:Mp.string().optional()});async function jd(e,t){Ke(e.json);let r=e.debug||t.env.DEBUG?.toLowerCase()==="true",o=e.apiToken||en();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=St({apiKey:o}),s=await $n(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
165
  `),t.stdout.write(`Logged in as: ${i.username}
165
166
  `),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 n6=$({path:["status"],meta:o6,schema:Fp,handler:Ld});var s6={name:"status",description:"[DEPRECATED] Check authentication status (use 'phala status' instead)",options:[...Ln,so,zd]},i6=Fp;var a6=$({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()),Ld(e,t))});var Ud={group:W1,commands:[Q1,r6,a6]};var c6={path:["config"],meta:{name:"config",description:"Manage your local configuration"}};import GI from"os";import m6 from"path";import Ka from"fs-extra";var Mp=m6.join(GI.homedir(),".phala-cloud"),Hd=m6.join(Mp,"config.json"),Od={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 VI(){if(!Ka.existsSync(Mp))try{Ka.mkdirSync(Mp,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Mp}:`,e),e}}function Dp(){try{if(Ka.existsSync(Hd)){let e=Ka.readFileSync(Hd,"utf8");return{...Od,...JSON.parse(e)}}return Od}catch(e){return l.error("Failed to load configuration:",e),Od}}function qI(e){VI();try{Ka.writeFileSync(Hd,JSON.stringify({...Dp(),...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 Dp()[e]}function p6(e,t){let r=Dp();r[e]=t,qI(r)}function f6(){return Dp()}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 KI(e,t){try{let r=u6(e.key);return r===void 0?(t.stderr.write(`Configuration key '${e.key}' not found
167
+ `),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 c6=$({path:["status"],meta:a6,schema:Dp,handler:jd});var m6={name:"status",description:"Check authentication status (use 'phala status' instead)",stability:"deprecated",options:[...Ln,io,Hd]},u6=Dp;var p6=$({path:["auth","status"],meta:m6,schema:u6,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()),jd(e,t))});var Gd={group:X1,commands:[o6,i6,p6]};var f6={path:["config"],meta:{name:"config",description:"Manage your local configuration",stability:"stable"}};import QI from"os";import l6 from"path";import Ka from"fs-extra";var Np=l6.join(QI.homedir(),".phala-cloud"),qd=l6.join(Np,"config.json"),Vd={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 e_(){if(!Ka.existsSync(Np))try{Ka.mkdirSync(Np,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Np}:`,e),e}}function zp(){try{if(Ka.existsSync(qd)){let e=Ka.readFileSync(qd,"utf8");return{...Vd,...JSON.parse(e)}}return Vd}catch(e){return l.error("Failed to load configuration:",e),Vd}}function t_(e){e_();try{Ka.writeFileSync(qd,JSON.stringify({...zp(),...e},null,2),{mode:384}),l.success("Configuration saved successfully.")}catch(t){throw l.error("Failed to save configuration:",t),t}}function d6(e){return zp()[e]}function h6(e,t){let r=zp();r[e]=t,t_(r)}function g6(){return zp()}import{z as y6}from"zod";var b6={name:"get",description:"Get a configuration value",stability:"stable",arguments:[{name:"key",description:"Configuration key",required:!0}]},x6=y6.object({key:y6.string()});async function r_(e,t){try{let r=d6(e.key);return r===void 0?(t.stderr.write(`Configuration key '${e.key}' not found
167
168
  `),1):(t.stdout.write(`${e.key}: ${JSON.stringify(r)}
168
169
  `),0)}catch(r){return t.stderr.write(`Failed to get configuration value
169
- `),l.logDetailedError(r),1}}var g6=$({path:["config","get"],meta:d6,schema:h6,handler:KI});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 WI(e,t){Ke(e.json);try{let r=f6();if(e.json)return t.success(r),0;t.stdout.write(`Configuration values:
170
+ `),l.logDetailedError(r),1}}var v6=$({path:["config","get"],meta:b6,schema:x6,handler:r_});import{z as w6}from"zod";var C6={name:"list",aliases:["ls"],description:"List all configuration values",stability:"stable",options:[{name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json"}]},E6=w6.object({json:w6.boolean().default(!1)});async function o_(e,t){Ke(e.json);try{let r=g6();if(e.json)return t.success(r),0;t.stdout.write(`Configuration values:
170
171
  `);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 v6=$({path:["config","list"],meta:b6,schema:x6,handler:WI});import{z as jd}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=jd.object({key:jd.string(),value:jd.string()});async function JI(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
+ `);return 0}catch(r){return l.logDetailedError(r),t.fail("Failed to list configuration values"),1}}var S6=$({path:["config","list"],meta:C6,schema:E6,handler:o_});import{z as Kd}from"zod";var k6={name:"set",description:"Set a configuration value",stability:"stable",arguments:[{name:"key",description:"Configuration key",required:!0},{name:"value",description:"Configuration value",required:!0}]},I6=Kd.object({key:Kd.string(),value:Kd.string()});async function n_(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 h6(e.key,r),t.stdout.write(`Configuration value for '${e.key}' set successfully
172
173
  `),0}catch(r){return t.stderr.write(`Failed to set configuration value
173
- `),l.logDetailedError(r),1}}var E6=$({path:["config","set"],meta:w6,schema:C6,handler:JI});var Gd={group:c6,commands:[g6,v6,E6]};var S6={path:["cvms"],meta:{name:"cvms",description:"Manage Phala Confidential Virtual Machines (CVMs)"}};import zp from"chalk";import{z as Np}from"zod";var k6={name:"attestation",description:"Get attestation information for a CVM",arguments:[Xe],options:[so,Ye],examples:[{name:"Show attestation summary",value:"phala cvms attestation"},{name:"Output full attestation JSON",value:"phala cvms attestation --json"}]},I6=Np.object({cvmId:Np.string().optional(),interactive:Np.boolean().default(!1),json:Np.boolean().default(!1)});async function ZI(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?zp.green("Online"):zp.red("Offline"),"Public Access":a.is_public?zp.green("Enabled"):zp.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 _6=$({path:["cvms","attestation"],meta:k6,schema:I6,handler:ZI});import M6 from"fs";import t_ from"path";import Vd from"fs";import qd from"path";import YI from"inquirer";function Ft(e,t=process.cwd()){let r=qd.resolve(t,e);if(!Vd.existsSync(r))throw new Error(`File not found at ${r}`);return!0}async function io(e,t,r="file",o=process.cwd()){return(await YI.prompt([{type:"input",name:r,message:e,default:t,validate:s=>{let i=qd.resolve(o,s);return Vd.existsSync(i)?!0:`File not found at ${i}`}}]))[r]}function Ri(e,t){for(let r of e){let o=qd.join(process.cwd(),r);if(Vd.existsSync(o))return t?l.info(t.replace("{path}",o)):l.info(`File detected: ${o}`),r}}import*as A6 from"fs";var Wa=(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
+ `),l.logDetailedError(r),1}}var _6=$({path:["config","set"],meta:k6,schema:I6,handler:n_});var Wd={group:f6,commands:[v6,S6,_6]};var A6={path:["cvms"],meta:{name:"cvms",description:"Manage Phala Confidential Virtual Machines (CVMs)",stability:"unstable"}};import Up from"chalk";import{z as Lp}from"zod";var P6={name:"attestation",description:"Get attestation information for a CVM",stability:"unstable",arguments:[Xe],options:[io,Ye],examples:[{name:"Show attestation summary",value:"phala cvms attestation"},{name:"Output full attestation JSON",value:"phala cvms attestation --json"}]},T6=Lp.object({cvmId:Lp.string().optional(),interactive:Lp.boolean().default(!1),json:Lp.boolean().default(!1)});async function s_(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 j1(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?Up.green("Online"):Up.red("Offline"),"Public Access":a.is_public?Up.green("Enabled"):Up.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 $6=$({path:["cvms","attestation"],meta:P6,schema:T6,handler:s_});import L6 from"fs";import u_ from"path";import Jd from"fs";import Zd from"path";import i_ from"inquirer";function Ft(e,t=process.cwd()){let r=Zd.resolve(t,e);if(!Jd.existsSync(r))throw new Error(`File not found at ${r}`);return!0}async function ao(e,t,r="file",o=process.cwd()){return(await i_.prompt([{type:"input",name:r,message:e,default:t,validate:s=>{let i=Zd.resolve(o,s);return Jd.existsSync(i)?!0:`File not found at ${i}`}}]))[r]}function Bi(e,t){for(let r of e){let o=Zd.join(process.cwd(),r);if(Jd.existsSync(o))return t?l.info(t.replace("{path}",o)):l.info(`File detected: ${o}`),r}}import*as R6 from"fs";var Wa=(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=R6.readFileSync(t,"utf8");for(let n of o.split(`
174
175
  `)){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 ao,spawn as XI}from"child_process";import*as re from"fs";import*as Kd from"net";import*as zr 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(zr.homedir(),".phala-cloud","simulator"),defaultLogPath:Xt.join(zr.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(zr.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(zr.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=zr.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 Ja(){let e=zr.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=Ja(),o=Ze.platforms[r];if(r==="win32"){try{ao("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}`),ao(`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{ao(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 Wd=()=>Xt.join(zr.tmpdir(),"dstack-simulator.pid");function QI(e){return Buffer.byteLength(e,"utf8")>104}function Lp(){try{let e=Wd();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 e_(e,t){try{let r=Wd();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=Ja(),r=Ze.platforms[t],o=Xt.join(Ze.installDir,r.extractedFolder),n=Lp();if(n)throw new Error(`Simulator is already running with PID: ${n}`);if(t!=="win32"&&QI(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=XI(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
+ `))):m=m.trim(),c&&(r[c]=m)}}return Object.entries(r).map(([o,n])=>({key:o,value:n}))};import{execSync as co,spawn as a_}from"child_process";import*as re from"fs";import*as Yd from"net";import*as zr 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(zr.homedir(),".phala-cloud","simulator"),defaultLogPath:Xt.join(zr.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(zr.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(zr.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 B6(){try{if(!re.existsSync(Ze.installDir))return!1;let e=zr.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 Ja(){let e=zr.platform();if(!Ze.platforms[e])throw new Error(`Unsupported platform: ${e}. Only darwin, linux, and win32 are supported.`);return e}async function F6(e){let t=r=>{l.info(r),e&&e(r)};try{let r=Ja(),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 Xd=()=>Xt.join(zr.tmpdir(),"dstack-simulator.pid");function c_(e){return Buffer.byteLength(e,"utf8")>104}function Op(){try{let e=Xd();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 m_(e,t){try{let r=Xd();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 M6(e={}){try{let t=Ja(),r=Ze.platforms[t],o=Xt.join(Ze.installDir,r.extractedFolder),n=Op();if(n)throw new Error(`Simulator is already running with PID: ${n}`);if(t!=="win32"&&c_(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=a_(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
177
  === Simulator started at ${new Date().toISOString()} ===
177
178
  Command: ${s}
178
179
 
179
- `;re.appendFileSync(i.logFilePath,u)}return c.pid&&e_(c.pid,e.verbose),i.background&&(c.unref(),e.verbose&&l.success("Simulator is running in the background")),await Zd(),c}catch(t){throw l.error("Error running simulator:",t),new Error(`Failed to run simulator: ${t}`)}}async function Za(){try{let e=Ja(),t=Ze.platforms[e];if(e==="darwin"||e==="linux"){let r=t.socketPath;return re.existsSync(r)?new Promise(o=>{let n=Kd.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=Kd.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=Lp();if(!await Za()&&!e)return l.info("Simulator is not running"),!0;let r=Ja(),o=!1;if(r==="win32")try{e?(l.info(`Stopping simulator process (PID: ${e})...`),process.kill(e,"SIGTERM")):ao("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")):ao("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=Wd();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 Jd(){let e=Ja(),t=Ze.platforms[e];return e==="win32"?"http://127.0.0.1:8090":`${t.socketPath||"/tmp/dstack.sock"}`}async function Zd(e){try{let t=Jd(),r=e||t;await ao(`export DSTACK_SIMULATOR_ENDPOINT=${r}`);let o=r.replace(/dstack\.sock$/,"tappd.sock");return await ao(`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 ao("unset DSTACK_SIMULATOR_ENDPOINT"),await ao("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 r_(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 o_(e){if(e)return e;let r=Ri(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return await io("Enter the path to your Docker Compose file:",r,"file")}async function n_(e){if(e.envFile)return Wa([],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 io("Enter the path to your environment file:",".env","file");return Wa([],r)}function Yd(e,t){if(!e)return t;let r=Number(e);return Number.isFinite(r)?r:t}function s_(e,t){return!Number.isFinite(t)||t<=0?`Invalid ${e}: ${t}`:null}async function i_(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 a_(e,t){let r=e.images??[];return t?r.find(o=>o.name===t):r.find(o=>o.name===Dd)}async function c_(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 r_(e.name),o=await o_(e.compose),n=t_.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 n_(e)}catch(I){return l.error(`Failed to read environment file: ${I instanceof Error?I.message:String(I)}`),1}let a=Yd(e.vcpu,Pn),c=Yd(e.memory,Tn),m=Yd(e.diskSize,$n);for(let[I,A]of[["number of vCPUs",a],["memory",c],["disk size",m]]){let _=s_(I,A);if(_)return l.error(_),1}let u=l.startSpinner("Fetching available TEEPods"),p=await G1(!0);u.stop(!0);let f=await i_(e.teepodId,p);if(!f)return l.error("Failed to find suitable TEEPod"),1;let d=a_(f,e.image);if(!d)return l.error(e.image?`Failed to find selected image: ${e.image}`:`Failed to find default image ${Dd}`),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"),S=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),S?(l.success("CVM created successfully"),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||`${ye}/dashboard/cvms/app_${S.app_id}`},{borderStyle:"rounded"}),l.info(""),l.success(`Your CVM is being created. You can check its status with:
180
- phala cvms get app_${S.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=$({path:["cvms","create"],meta:B6,schema:F6,handler:c_});import m_ from"inquirer";import{z as Ya}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=Ya.object({cvmId:Ya.string().optional(),interactive:Ya.boolean().default(!1),force:Ya.boolean().default(!1),yes:Ya.boolean().default(!1)});async function u_(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 m_.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 Id(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=$({path:["cvms","delete"],meta:z6,schema:L6,handler:u_});import Xd from"chalk";import{z as Up}from"zod";var O6={name:"get",description:"Get details of a CVM",arguments:[Xe],options:[so,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=Up.object({cvmId:Up.string().optional(),json:Up.boolean().default(!1),interactive:Up.boolean().default(!1)});async function p_(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"?Xd.green(s.status):s.status==="stopped"?Xd.red(s.status):Xd.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=$({path:["cvms","get"],meta:O6,schema:H6,handler:p_});import Qd from"chalk";import{z as G6}from"zod";var V6={name:"list",aliases:["ls"],description:"List all CVMs",options:[so],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 f_(e,t){Ke(e.json);try{let r=l.startSpinner("Fetching CVMs"),o=await Z(),n=await Ha(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":`${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=$({path:["cvms","list"],meta:V6,schema:q6,handler:f_});import{z as l_}from"zod";var W6={name:"list-nodes",description:"List all available worker nodes."},J6=l_.object({});async function d_(e,t){try{let r=await Z(),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 Z6=$({path:["cvms","list-nodes"],meta:W6,schema:J6,handler:d_});import Q6 from"fs";import h_ from"path";import{z as Op}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=Op.object({cvmId:Op.string().min(1,"CVM ID is required"),teepodId:Op.string().optional(),envFile:Op.string().optional()});function g_(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 y_(e,t){try{let r=e.cvmId.replace(/-/g,""),o;if(e.envFile){let i=h_.resolve(process.cwd(),e.envFile);if(!Q6.existsSync(i))throw new Error(`Environment file not found: ${i}`);let a=g_(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=$({path:["cvms","replicate"],meta:Y6,schema:X6,handler:y_});import Yo from"chalk";import r0 from"inquirer";async function co(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 mo}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=mo.object({cvmId:mo.string().optional(),interactive:mo.boolean().default(!1),vcpu:mo.string().optional(),memory:mo.string().optional(),diskSize:mo.string().optional(),allowRestart:mo.string().optional(),yes:mo.boolean().default(!1),json:mo.boolean().default(!1)});function e0(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 b_(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 t0(e,t){return(await r0.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 x_(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=e0(e.vcpu,"--vcpu"),a=e0(e.memory,"--memory"),c=e0(e.diskSize,"--disk-size"),m=b_(e.allowRestart)}catch(u){return l.error(u instanceof Error?u.message:String(u)),1}if(mf()?(i===void 0&&(i=await t0("Enter number of vCPUs:",n.vcpu)),a===void 0&&(a=await t0("Enter memory in MB:",n.memory)),c===void 0&&(c=await t0("Enter disk size in GB:",n.disk_size)),m===void 0&&(m=(await r0.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 r0.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 co(()=>Fd(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 co(()=>Fd(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=$({path:["cvms","resize"],meta:tv,schema:rv,handler:x_});async function Hp(e,t=3e5){let r=Zo(),o=St({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 o0}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=o0.object({cvmId:o0.string().optional(),interactive:o0.boolean().default(!1)});async function v_(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 Hp(n.vm_uuid,3e5));let s=l.startSpinner("Restarting CVM"),i=t.cvmId,a=await co(()=>kd(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=$({path:["cvms","restart"],meta:nv,schema:sv,handler:v_});import{z as n0}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=n0.object({cvmId:n0.string().optional(),interactive:n0.boolean().default(!1)});async function w_(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 co(()=>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=$({path:["cvms","start"],meta:av,schema:cv,handler:w_});import{z as s0}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=s0.object({cvmId:s0.string().optional(),interactive:s0.boolean().default(!1)});async function C_(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 co(()=>Sd(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=$({path:["cvms","stop"],meta:uv,schema:pv,handler:C_});import E_ from"fs";import{z as Bi}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=Bi.object({cvmId:Bi.string().optional(),interactive:Bi.boolean().default(!1),compose:Bi.string().optional(),envFile:Bi.string().optional(),debug:Bi.boolean().default(!1)});async function S_(e){if(e.compose)return e.compose;let r=Ri(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return io("Enter the path to your Docker Compose file:",r,"file")}async function k_(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 S_(e),c="";if(a)try{c=E_.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=Wa([],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=$({path:["cvms","upgrade"],meta:lv,schema:dv,handler:k_});var i0={group:S6,commands:[_6,N6,U6,j6,K6,Z6,ev,ov,iv,mv,fv,hv]};import{z as le}from"zod";var gv={name:"deploy",description:"Create a new CVM with on-chain KMS in one step.",arguments:[],options:[...Ln,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=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(),cvmId: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 Bn 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 jp from"dedent";import Fn from"fs-extra";import Gp 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=`
180
+ `;re.appendFileSync(i.logFilePath,u)}return c.pid&&m_(c.pid,e.verbose),i.background&&(c.unref(),e.verbose&&l.success("Simulator is running in the background")),await e0(),c}catch(t){throw l.error("Error running simulator:",t),new Error(`Failed to run simulator: ${t}`)}}async function Za(){try{let e=Ja(),t=Ze.platforms[e];if(e==="darwin"||e==="linux"){let r=t.socketPath;return re.existsSync(r)?new Promise(o=>{let n=Yd.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=Yd.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 D6(){try{let e=Op();if(!await Za()&&!e)return l.info("Simulator is not running"),!0;let r=Ja(),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=Xd();if(re.existsSync(n))try{re.unlinkSync(n)}catch(s){l.warn("Failed to remove PID file:",s)}return await Mn(),o&&l.success("Simulator stopped successfully"),o}catch(e){return l.error("Error stopping simulator:",e),!1}}function Qd(){let e=Ja(),t=Ze.platforms[e];return e==="win32"?"http://127.0.0.1:8090":`${t.socketPath||"/tmp/dstack.sock"}`}async function e0(e){try{let t=Qd(),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 Mn(){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 U6 from"inquirer";import{z as fr}from"zod";var N6={name:"create",description:'Create a new CVM (use "phala deploy" instead)',stability:"deprecated",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 ${Rn}`,type:"string",target:"vcpu"},{name:"memory",description:`Memory in MB, default is ${Bn}`,type:"string",target:"memory"},{name:"disk-size",description:`Disk size in GB, default is ${Fn}`,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"}]},z6=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 p_(e){if(e)return e;let{value:t}=await U6.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 f_(e){if(e)return e;let r=Bi(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return await ao("Enter the path to your Docker Compose file:",r,"file")}async function l_(e){if(e.envFile)return Wa([],e.envFile);if(e.skipEnv)return l.info("Skipping environment variable prompt"),[];let{shouldSkip:t}=await U6.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 ao("Enter the path to your environment file:",".env","file");return Wa([],r)}function t0(e,t){if(!e)return t;let r=Number(e);return Number.isFinite(r)?r:t}function d_(e,t){return!Number.isFinite(t)||t<=0?`Invalid ${e}: ${t}`:null}async function h_(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 g_(e,t){let r=e.images??[];return t?r.find(o=>o.name===t):r.find(o=>o.name===Ud)}async function y_(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 p_(e.name),o=await f_(e.compose),n=u_.resolve(o);if(!L6.existsSync(n))return l.error(`Docker Compose file not found: ${n}`),1;let s=L6.readFileSync(n,"utf8");await Mn(),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 l_(e)}catch(I){return l.error(`Failed to read environment file: ${I instanceof Error?I.message:String(I)}`),1}let a=t0(e.vcpu,Rn),c=t0(e.memory,Bn),m=t0(e.diskSize,Fn);for(let[I,A]of[["number of vCPUs",a],["memory",c],["disk size",m]]){let _=d_(I,A);if(_)return l.error(_),1}let u=l.startSpinner("Fetching available TEEPods"),p=await W1(!0);u.stop(!0);let f=await h_(e.teepodId,p);if(!f)return l.error("Failed to find suitable TEEPod"),1;let d=g_(f,e.image);if(!d)return l.error(e.image?`Failed to find selected image: ${e.image}`:`Failed to find default image ${Ud}`),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 V1(h);if(g.stop(!0),!b)return l.error("Failed to get public key from CVM"),1;let y=l.startSpinner("Encrypting environment variables"),x=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:",x),l.debug("Environment variables:",JSON.stringify(i)));let w=l.startSpinner("Creating CVM"),S=await q1({...h,encrypted_env:x,app_env_encrypt_pubkey:b.app_env_encrypt_pubkey,app_id_salt:b.app_id_salt});return w.stop(!0),S?(l.success("CVM created successfully"),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||`${ye}/dashboard/cvms/app_${S.app_id}`},{borderStyle:"rounded"}),l.info(""),l.success(`Your CVM is being created. You can check its status with:
181
+ phala cvms get app_${S.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 O6=$({path:["cvms","create"],meta:N6,schema:z6,handler:y_});import b_ from"inquirer";import{z as Ya}from"zod";var H6={name:"delete",description:"Delete a CVM",stability:"unstable",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"}]},j6=Ya.object({cvmId:Ya.string().optional(),interactive:Ya.boolean().default(!1),force:Ya.boolean().default(!1),yes:Ya.boolean().default(!1)});async function x_(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 b_.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 Td(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 G6=$({path:["cvms","delete"],meta:H6,schema:j6,handler:x_});import r0 from"chalk";import{z as Hp}from"zod";var V6={name:"get",description:"Get details of a CVM",stability:"unstable",arguments:[Xe],options:[io,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"}]},q6=Hp.object({cvmId:Hp.string().optional(),json:Hp.boolean().default(!1),interactive:Hp.boolean().default(!1)});async function v_(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"?r0.green(s.status):s.status==="stopped"?r0.red(s.status):r0.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 K6=$({path:["cvms","get"],meta:V6,schema:q6,handler:v_});import o0 from"chalk";import{z as W6}from"zod";var J6={name:"list",aliases:["ls"],description:"List all CVMs",stability:"unstable",options:[io],examples:[{name:"Display CVMs in table format",value:"phala cvms list"},{name:"Print CVMs as JSON",value:"phala cvms list --json"}]},Z6=W6.object({json:W6.boolean().default(!1)});async function w_(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"?o0.green(a.status):a.status==="stopped"?o0.red(a.status):o0.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 Y6=$({path:["cvms","list"],meta:J6,schema:Z6,handler:w_});import{z as C_}from"zod";var X6={name:"list-nodes",description:"List all available worker nodes.",stability:"unstable"},Q6=C_.object({});async function E_(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(`
182
+ 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 ev=$({path:["cvms","list-nodes"],meta:X6,schema:Q6,handler:E_});import ov from"fs";import S_ from"path";import{z as jp}from"zod";var tv={name:"replicate",description:"Create a replica of an existing CVM",stability:"unstable",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"}]},rv=jp.object({cvmId:jp.string().min(1,"CVM ID is required"),teepodId:jp.string().optional(),envFile:jp.string().optional()});function k_(e){return ov.readFileSync(e,"utf-8").split(`
183
+ `).filter(r=>r.trim()!==""&&!r.trim().startsWith("#")).map(r=>{let[o,...n]=r.split("=");return{key:o.trim(),value:n.join("=").trim()}})}async function I_(e,t){try{let r=e.cvmId.replace(/-/g,""),o;if(e.envFile){let i=S_.resolve(process.cwd(),e.envFile);if(!ov.existsSync(i))throw new Error(`Environment file not found: ${i}`);let a=k_(i),c=await O1(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 G1(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:
184
+ phala cvms get ${s.app_id}`),0}catch(r){return l.error("Failed to create CVM replica"),l.logDetailedError(r),1}}var nv=$({path:["cvms","replicate"],meta:tv,schema:rv,handler:I_});import tn from"chalk";import i0 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 sv={name:"resize",description:"Resize resources for a CVM",stability:"unstable",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"}]},iv=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 n0(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 __(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 s0(e,t){return(await i0.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 A_(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=n0(e.vcpu,"--vcpu"),a=n0(e.memory,"--memory"),c=n0(e.diskSize,"--disk-size"),m=__(e.allowRestart)}catch(u){return l.error(u instanceof Error?u.message:String(u)),1}if(lf()?(i===void 0&&(i=await s0("Enter number of vCPUs:",n.vcpu)),a===void 0&&(a=await s0("Enter memory in MB:",n.memory)),c===void 0&&(c=await s0("Enter disk size in GB:",n.disk_size)),m===void 0&&(m=(await i0.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)),lf()){if(l.keyValueTable({vCPUs:n.vcpu!==i?`${tn.red(n.vcpu)} -> ${tn.green(i)}`:n.vcpu,Memory:n.memory!==a?`${tn.red(n.memory)} MB -> ${tn.green(a)} MB`:n.memory,"Disk Size":n.disk_size!==c?`${tn.red(n.disk_size)} GB -> ${tn.green(c)} GB`:n.disk_size,"Allow Restart":m?tn.green("Yes"):tn.red("No")}),!e.yes){let{confirm:p}=await i0.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(()=>zd(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:
185
+ ${ye}/dashboard/cvms/app_${s}`)}else await mo(()=>zd(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 av=$({path:["cvms","resize"],meta:sv,schema:iv,handler:A_});async function Gp(e,t=3e5){let r=en(),o=St({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 a0}from"zod";var cv={name:"restart",description:"Restart a CVM",stability:"stable",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"}]},mv=a0.object({cvmId:a0.string().optional(),interactive:a0.boolean().default(!1)});async function P_(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 Gp(n.vm_uuid,3e5));let s=l.startSpinner("Restarting CVM"),i=t.cvmId,a=await mo(()=>Pd(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:
186
+ ${ye}/dashboard/cvms/app_${c.app_id}`),0}catch(r){return l.error("Failed to restart CVM"),l.logDetailedError(r),1}}var uv=$({path:["cvms","restart"],meta:cv,schema:mv,handler:P_});import{z as c0}from"zod";var pv={name:"start",description:"Start a stopped CVM",stability:"stable",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"}]},fv=c0.object({cvmId:c0.string().optional(),interactive:c0.boolean().default(!1)});async function T_(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(()=>_d(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:
187
+ ${ye}/dashboard/cvms/app_${i.app_id}`),0}catch(r){return l.error("Failed to start CVM"),l.logDetailedError(r),1}}var lv=$({path:["cvms","start"],meta:pv,schema:fv,handler:T_});import{z as m0}from"zod";var dv={name:"stop",description:"Stop a running CVM",stability:"stable",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"}]},hv=m0.object({cvmId:m0.string().optional(),interactive:m0.boolean().default(!1)});async function $_(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(()=>Ad(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:
188
+ ${ye}/dashboard/cvms/app_${i.app_id}`),0}catch(r){return l.error("Failed to stop CVM"),l.logDetailedError(r),1}}var gv=$({path:["cvms","stop"],meta:dv,schema:hv,handler:$_});import R_ from"fs";import{z as Fi}from"zod";var yv={name:"upgrade",description:'Upgrade a CVM to a new version (use "phala deploy" instead)',stability:"deprecated",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"}]},bv=Fi.object({cvmId:Fi.string().optional(),interactive:Fi.boolean().default(!1),compose:Fi.string().optional(),envFile:Fi.string().optional(),debug:Fi.boolean().default(!1)});async function B_(e){if(e.compose)return e.compose;let r=Bi(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return ao("Enter the path to your Docker Compose file:",r,"file")}async function F_(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.
189
+ `),!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 B_(e),c="";if(a)try{c=R_.readFileSync(a,"utf8")}catch(h){return l.error(`Failed to read Docker Compose file: ${h instanceof Error?h.message:String(h)}`),1}await Mn(),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=Wa([],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 K1(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:
190
+ ${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 xv=$({path:["cvms","upgrade"],meta:yv,schema:bv,handler:F_});var u0={group:A6,commands:[$6,O6,G6,K6,Y6,ev,nv,av,uv,lv,gv,xv]};import{z as me}from"zod";var vv={name:"deploy",description:"Create a new CVM with on-chain KMS in one step.",stability:"stable",arguments:[],options:[...Ln,w0,C0,{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 ${Rn}`,type:"string",target:"vcpu"},{name:"memory",description:`Memory with optional unit (optional, auto-matched if not specified), e.g., 2G, 1024MB, default is ${Bn}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 ${Fn}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",shorthand:"e",description:"Environment variable (KEY=VALUE) or path to env file. Can be specified multiple times.",type:"string[]",target:"env"},{name:"env-file",description:"[DEPRECATED] Use -e instead. Path to environment file.",type:"string",target:"envFile",hidden:!0},{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 environment variables",value:"phala deploy -e NODE_ENV=production -e DEBUG=true"},{name:"Deploy with env file",value:"phala deploy -e .env"},{name:"Deploy with env file and overrides",value:"phala deploy -e .env -e NODE_ENV=production"},{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"}]},wv=me.object({compose:me.string().optional(),json:me.boolean().default(!0),debug:me.boolean().default(!1),apiKey:me.string().optional(),name:me.string().optional(),instanceType:me.string().optional(),vcpu:me.string().optional(),memory:me.string().optional(),diskSize:me.string().optional(),image:me.string().optional(),region:me.string().optional(),nodeId:me.string().optional(),env:me.array(me.string()).optional(),envFile:me.string().optional(),interactive:me.boolean().default(!1),kmsId:me.string().optional(),cvmId:me.string().optional(),customAppId:me.string().optional(),preLaunchScript:me.string().optional(),privateKey:me.string().optional(),rpcUrl:me.string().optional(),wait:me.boolean().default(!1),sshPubkey:me.string().optional(),devOs:me.boolean().default(!1),nonDevOs:me.boolean().default(!1)});import po from"path";import _v from"os";function M_(e){let t=e.indexOf("=");if(t===-1)return!1;let r=e.substring(0,t);return r.includes("/")||r.includes("\\")?!1:/^[A-Za-z_][A-Za-z0-9_]*$/.test(r)}function Cv(e){let t={files:[],keyValues:[]};for(let r of e)if(M_(r)){let o=r.indexOf("="),n=r.substring(0,o),s=r.substring(o+1);t.keyValues.push({key:n,value:s})}else t.files.push(r);return t}function Ev(e){let t=new Map;for(let r of e)t.set(r.key,r.value);return Array.from(t.entries()).map(([r,o])=>({key:r,value:o}))}function Sv(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 kv(e){let t=Sv(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 Iv(e){let t=Sv(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 Vp from"dedent";import Lr from"fs-extra";import qp from"inquirer";function D_(e,t){if(e instanceof vd)return t.json?{success:!1,error_code:e.errorCode,message:e.message,details:e.structuredDetails,suggestions:e.suggestions,links:e.links}:l1(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
191
  Error [${s}]: ${i}
191
192
  `;if(a&&a.length>0){u+=`
192
193
  Details:
@@ -200,7 +201,7 @@ Learn more:
200
201
  `;for(let p of m)u+=` - ${p.label}: ${p.url}
201
202
  `}return u}}let r=e instanceof Error?e.message:String(e||"Unknown error");return t.json?{success:!1,error:r}:`
202
203
  Error: ${r}
203
- `}async function __({apiKey:e,interactive:t}){if(e)return St({apiKey:e});if(process.env.PHALA_CLOUD_API_KEY)return St({apiKey:process.env.PHALA_CLOUD_API_KEY});let r=Zo();if(r)return St({apiKey:r});if(t){let{apiKey:o}=await Gp.prompt([{type:"password",name:"apiKey",message:"Enter your API key:",validate:n=>n.trim()?!0:"API key is required"}]);return St({apiKey:o})}throw new Error("API key is required. Please run 'phala auth login' or set PHALA_CLOUD_API_KEY environment variable")}async function A_({dockerComposePath:e,interactive:t}){if(!e)if(t){let o=Ri(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");e=await io("Enter the path to your Docker Compose file:",o,"file")}else throw new Error(jp(`
204
+ `}async function N_({apiKey:e,interactive:t}){if(e)return St({apiKey:e});if(process.env.PHALA_CLOUD_API_KEY)return St({apiKey:process.env.PHALA_CLOUD_API_KEY});let r=en();if(r)return St({apiKey:r});if(t){let{apiKey:o}=await qp.prompt([{type:"password",name:"apiKey",message:"Enter your API key:",validate:n=>n.trim()?!0:"API key is required"}]);return St({apiKey:o})}throw new Error("API key is required. Please run 'phala auth login' or set PHALA_CLOUD_API_KEY environment variable")}async function z_({dockerComposePath:e,interactive:t}){if(!e)if(t){let o=Bi(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");e=await ao("Enter the path to your Docker Compose file:",o,"file")}else throw new Error(Vp(`
204
205
  Docker Compose file is required.
205
206
 
206
207
  Usage examples:
@@ -215,7 +216,7 @@ Error: ${r}
215
216
  --private-key <key> Private key for deployment
216
217
 
217
218
  Run with --interactive for guided setup
218
- `));if(!Fn.existsSync(e))throw new Error(`Docker compose file not found: ${e}`);return Fn.readFileSync(e,"utf8")}var P_=async(e,t)=>{let r=e.privateKey||process.env.PRIVATE_KEY;if(e.kmsId&&t&&!e.privateKey)if(e.interactive)r=(await Gp.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},T_=async e=>{let t=e.name;if(e.name){if(!Ti(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=Bn.basename(process.cwd()),o=g1(r);return e.interactive?t=(await Gp.prompt([{type:"input",name:"name",message:"Enter a name for the CVM:",default:o,validate:s=>s.trim()?Ti(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},$_=async e=>{let t,r=e.envFile;if(e.interactive&&(!e.envFile||r===!0)){let{envPath:o}=await Gp.prompt([{type:"input",name:"envPath",message:"Enter the path to your environment file (leave empty to skip):",default:"",validate:n=>{if(!n||n.trim()==="")return!0;let s=Bn.resolve(process.cwd(),n);return Fn.existsSync(s)?!0:`File not found at ${s}`}}]);r=o.trim()||void 0}if(r&&r!==!0)try{let o=Fn.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},R_=async e=>{let t=e.sshPubkey;if(!(e.nonDevOs&&!e.sshPubkey)){if(t){if(t.startsWith("~")&&(t=Bn.join(wv.homedir(),t.slice(1))),!Fn.existsSync(t))throw new Error(`SSH public key file not found: ${t}`)}else{let r=wv.homedir(),o=[Bn.join(r,".ssh","id_rsa.pub"),Bn.join(r,".ssh","id_ed25519.pub"),Bn.join(r,".ssh","id_ecdsa.pub"),Bn.join(r,".ssh","id_dsa.pub")];for(let n of o)if(Fn.existsSync(n)){t=n;break}if(!t){if(e.devOs)throw new Error(jp(`
219
+ `));if(!Lr.existsSync(e))throw new Error(`Docker compose file not found: ${e}`);return Lr.readFileSync(e,"utf8")}var L_=async(e,t)=>{let r=e.privateKey||process.env.PRIVATE_KEY;if(e.kmsId&&t&&!e.privateKey)if(e.interactive)r=(await qp.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},U_=async e=>{let t=e.name;if(e.name){if(!Ti(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=po.basename(process.cwd()),o=w1(r);return e.interactive?t=(await qp.prompt([{type:"input",name:"name",message:"Enter a name for the CVM:",default:o,validate:s=>s.trim()?Ti(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},O_=async e=>{let t=[];if(e.envFile&&typeof e.envFile=="string"){l.warn("--env-file is deprecated. Use -e <file> or -e KEY=VALUE instead.");try{let r=Lr.readFileSync(e.envFile,{encoding:"utf8"});t.push(...Ap(r))}catch(r){throw new Error(`Error reading environment file ${e.envFile}: ${r instanceof Error?r.message:String(r)}`)}}if(e.env&&e.env.length>0){let r=Cv(e.env);for(let o of r.files){let n=po.resolve(process.cwd(),o);if(!Lr.existsSync(n))throw new Error(`Environment file not found: ${o}`);try{let s=Lr.readFileSync(n,{encoding:"utf8"});t.push(...Ap(s))}catch(s){throw new Error(`Error reading environment file ${o}: ${s instanceof Error?s.message:String(s)}`)}}t.push(...r.keyValues)}if(e.interactive&&t.length===0&&!e.env&&!e.envFile){let{envPath:r}=await qp.prompt([{type:"input",name:"envPath",message:"Enter the path to your environment file (leave empty to skip):",default:"",validate:o=>{if(!o||o.trim()==="")return!0;let n=po.resolve(process.cwd(),o);return Lr.existsSync(n)?!0:`File not found at ${n}`}}]);if(r.trim()){let o=po.resolve(process.cwd(),r.trim()),n=Lr.readFileSync(o,{encoding:"utf8"});t.push(...Ap(n))}}if(t.length!==0)return Ev(t)},H_=async e=>{let t=e.sshPubkey;if(!(e.nonDevOs&&!e.sshPubkey)){if(t){if(t.startsWith("~")&&(t=po.join(_v.homedir(),t.slice(1))),!Lr.existsSync(t))throw new Error(`SSH public key file not found: ${t}`)}else{let r=_v.homedir(),o=[po.join(r,".ssh","id_rsa.pub"),po.join(r,".ssh","id_ed25519.pub"),po.join(r,".ssh","id_ecdsa.pub"),po.join(r,".ssh","id_dsa.pub")];for(let n of o)if(Lr.existsSync(n)){t=n;break}if(!t){if(e.devOs)throw new Error(Vp(`
219
220
  SSH public key is required for dev images but not found.
220
221
 
221
222
  Searched for:
@@ -227,9 +228,9 @@ Error: ${r}
227
228
  Please either:
228
229
  1. Create an SSH key pair: ssh-keygen -t rsa
229
230
  2. Specify a different key file: --ssh-pubkey <path>
230
- `));return}}try{let r=Fn.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 B_=(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},F_=async(e,t,r,o,n,s)=>{let i=await T_(e),a=await R_(e),c=[...r||[]];a&&c.push({key:"DSTACK_AUTHORIZED_KEYS",value:a});let m=B_(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(B=>B.slug===e.kmsId||B.id===e.kmsId);if(!y||!y.chain_id)throw new Error(`KMS ${e.kmsId} not found or invalid`);let v=await P_(e,y.chain_id),C=await k1({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 B=typeof C=="object"&&C!==null?JSON.stringify(C):String(C);throw new Error(`Deployment contract failed: ${B}`)}let S=C.data,I=await Cd(o,{app_id:S.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 A=I.data,_=await(0,pr.encryptEnvVars)(c,A.public_key);f=await Ip(o,{app_id:S.appId,encrypted_env:_,compose_hash:p.compose_hash,kms_id:y.slug,contract_address:S.appAuthAddress,deployer_address:S.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=jp`
231
+ `));return}}try{let r=Lr.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 j_=(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=kv(e.memory)),e.diskSize&&(n.disk_size=Iv(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},G_=async(e,t,r,o,n,s)=>{let i=await U_(e),a=await H_(e),c=[...r||[]];a&&c.push({key:"DSTACK_AUTHORIZED_KEYS",value:a});let m=j_(e,i,t,c);n.write(`Provisioning CVM ${i}...
232
+ `);let u=await Cd(o,m);if(!u.success){let g=D_(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 kd(o);if(!g.success)throw new Error(`Failed to get KMS list: ${g.error.message}`);let y=g.data.items.find(B=>B.slug===e.kmsId||B.id===e.kmsId);if(!y||!y.chain_id)throw new Error(`KMS ${e.kmsId} not found or invalid`);let x=await L_(e,y.chain_id),w=await T1({chain:y.chain,rpcUrl:e.rpcUrl,kmsContractAddress:y.kms_contract_address,privateKey:x,deviceId:p.device_id,composeHash:p.compose_hash});if(!w.success){l.logDetailedError(w,"Deploy App Auth");let B=typeof w=="object"&&w!==null?JSON.stringify(w):String(w);throw new Error(`Deployment contract failed: ${B}`)}let S=w.data,I=await Id(o,{app_id:S.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 A=I.data,_=await(0,pr.encryptEnvVars)(c,A.public_key);f=await _p(o,{app_id:S.appId,encrypted_env:_,compose_hash:p.compose_hash,kms_id:y.slug,contract_address:S.appAuthAddress,deployer_address:S.deployer})}else{let g=c&&c.length>0?await(0,pr.encryptEnvVars)(c,p.app_env_encrypt_pubkey):void 0;f=await _p(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)}
233
+ `);else{let g=Vp`
233
234
  CVM created successfully!
234
235
 
235
236
  CVM ID: ${h.vm_uuid}
@@ -237,20 +238,20 @@ Error: ${r}
237
238
  App ID: ${h.app_id}
238
239
  Dashboard URL: ${ye}/dashboard/cvms/${h.vm_uuid}
239
240
  `;n.write(`${g}
240
- `)}},M_=async(e,t,r,o,n)=>{let[s,i]=await Promise.all([Ve(o,{id:e.uuid}),ja(o,{id: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,{id: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 _1({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,update_env_vars:r?.length?!0: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 Hp(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
+ `)}},V_=async(e,t,r,o,n)=>{let[s,i]=await Promise.all([Ve(o,{id:e.uuid}),Ga(o,{id: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 Ed(o,{id: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 R1({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,update_env_vars:r?.length?!0:void 0},d=await Sd(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 Gp(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
242
  `):n.write(`CVM compose file updated successfully!
242
- `)};async function Cv(e,t){Ke(e.json||!1);try{let r=e.compose,o=await __({apiKey:e.apiKey,interactive:e.interactive}),n=await A_({dockerComposePath:r,interactive:e.interactive}),s=await $_(e);e.debug&&(console.log("[DEBUG] context.cvmId:",JSON.stringify(t.cvmId)),console.log("[DEBUG] input.cvmId:",e.cvmId));let i=t.cvmId?.id||t.cvmId?.uuid||t.cvmId?.app_id||t.cvmId?.instance_id;e.debug&&(console.log("[DEBUG] resolved uuid:",i),console.log("[DEBUG] isUpdate:",!!i)),!!i?await M_({...e,uuid:i},n,s,o,t.stdout):await F_(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(`${jp`${r instanceof Error?r.message:String(r)}`}
244
- `),r}}async function D_(e,t){try{return await Cv(e,t),0}catch{return 1}}var Ev=$({path:["deploy"],meta:gv,schema:yv,handler:D_});import{z as a3}from"zod";var Sv={path:["docker"],meta:{name:"docker",description:"Login to Docker Hub and manage Docker images"}};import W_ from"fs";import Fv from"path";import Mv from"inquirer";import{exec as H_,spawn as j_}from"child_process";import uo from"fs";import Pv from"os";import Xa from"path";import{promisify as G_}from"util";import{execa as V_}from"execa";import q_ from"handlebars";import{INVALID as N_,ParseStatus as z_,ZodIssueCode as Fi,ZodParsedType as kv,ZodType as L_,addIssueToContext as Mi,z as Iv}from"zod";var U_="ZodDecimal",O_=/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/,_v=class e extends L_{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)!==kv.number){let i=this._getOrReturnCtx(r);return Mi(i,{code:Fi.invalid_type,expected:kv.number,received:i.parsedType}),N_}let n,s=new z_;for(let i of this._def.checks)if(i.kind==="precision"){let a=r.data.toString().match(O_);Math.max((a[1]?a[1].length:0)-(a[2]?Number.parseInt(a[2],10):0),0)>i.value&&(n=this._getOrReturnCtx(r,n),Mi(n,{code:Fi.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),Mi(n,{code:Fi.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),Mi(n,{code:Fi.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),Mi(n,{code:Fi.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),Mi(n,{code:Fi.not_finite,message:i.message}),s.dirty()));return{status:s.value,value:r.data}}static{this.create=r=>new e({checks:[],typeName:U_,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=Iv.object({template:Iv.string().min(1,"Template cannot be empty")});var Qa=G_(H_),Tv=".phala-cloud/logs",K_=".phala-cloud/compose",$v=10,kt=class{constructor(t,r,o){this.image=t,this.username=r||"",this.registry=o||""}ensureLogsDir(){let t=Xa.resolve(Tv);uo.existsSync(t)||uo.mkdirSync(t,{recursive:!0})}getLogFilePath(t,r){let o=new Date().toISOString().replace(/[:.]/g,"-");return Xa.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=j_(t,r);this.ensureLogsDir();let c=this.getLogFilePath(o,n),m=uo.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 no())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 V_("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=Xa.join(t,".docker","config.json");if(!uo.existsSync(r))return!1;let o=JSON.parse(uo.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=Xa.resolve(K_);uo.existsSync(i)||(l.info(`Creating directory: ${i}`),uo.mkdirSync(i,{recursive:!0}));let a=[];r&&(a=uo.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=q_.compile(s.template,{noEscape:!0})({imageName:c,envVars:a.map(f=>f.replace(/=.*/,`=\${${f.split("=")[0]}}`))}),p=Xa.join(i,`${t.replace(/.*\/+([\w-]+):.*$/g,"$1")}-tee-compose.yaml`);return uo.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 Qa(`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 Qa(`docker pull ${t}`),l.info("Starting simulator in background...");let{stdout:o}=await Qa(`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}`),Zd(`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 Qa("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 Qa('docker images --format "{{.Repository}}:{{.Tag}}"'),o=(await no())?.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 J_(e,t){try{let r=await no();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(!W_.existsSync(s)){l.info(`Default Dockerfile not found at ${s}`);let c=await io("Enter the path to your Dockerfile:","Dockerfile","file");s=Fv.resolve(process.cwd(),c)}return await new kt(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=$({path:["docker","build"],meta:Rv,schema:Bv,handler:J_});import tc from"fs";import qp from"path";import rc from"inquirer";import{z as ec}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=ec.object({image:ec.string().optional(),envFile:ec.string().optional(),output:ec.string().optional(),template:ec.string().optional()});async function Z_(e){if(e)return e;let t=await kt.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 rc.prompt([{type:"list",name:"selectedImage",message:"Select an image to use in the compose file:",choices:r}]);return o}async function Y_(e){if(e)return Ft(e),e;let t=qp.join(process.cwd(),".env");if(tc.existsSync(t)){let{useDefault:o}=await rc.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(o)return t}let{envPath:r}=await rc.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 X_(e){let t=e??qp.join(process.cwd(),"docker-compose.yml");if(tc.existsSync(t)){let{confirmOverwrite:o}=await rc.prompt([{type:"confirm",name:"confirmOverwrite",message:`File ${t} already exists. Overwrite?`,default:!1}]);if(!o){let{customPath:n}=await rc.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 tc.existsSync(r)||(l.info(`Creating directory: ${r}`),tc.mkdirSync(r,{recursive:!0})),t}async function Q_(e,t){try{let r=await no();if(!r||!r.username)throw new Error('Docker Hub username not found. Please login first with "phala docker login"');let o=await Z_(e.image),n=await Y_(e.envFile),s=await X_(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 kt("",r.username,r.registry).buildComposeFile(o,n,e.template);return a!==s&&tc.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=$({path:["docker","generate"],meta:Nv,schema:zv,handler:Q_});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 kt("",r,n);if(await s.login(r))return l.success(`${r} is logged in to Docker Hub`),await Bd({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 Bd({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=$({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 kt.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 no();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 kt("",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=$({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 kt("");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=$({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=$({path:["docker"],meta:c3,schema:m3,handler:u3}),a0={group:Sv,commands:[p3,jv,Dv,Kv,Lv,Xv]};import Di 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 Pp(e);let t=await Tp(e),r=await An(t),o=r.data;if(!r.success||!o?.username)throw await Nr(),new Error("Invalid API key");return o}catch(t){throw await Nr(),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=St({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(Di.bold("To authenticate, visit:")),console.log(Di.cyan(s)),console.log(),console.log(Di.bold("And enter code:"),Di.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(Di.green(`Welcome ${o.username}! API key validated and saved successfully`)),0}catch(r){return console.error(Di.red(`Failed to authenticate: ${r instanceof Error?r.message:String(r)}`)),1}}var tw=$({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 Nr(),l.success("API key removed successfully"),0}catch(r){return l.error("Failed to remove API key"),l.logDetailedError(r),1}}var nw=$({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 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 w3={name:"nodes",description:"List and manage TEE nodes"},mw=$({path:["nodes","list"],meta:aw,schema:m0,handler:cw}),uw=$({path:["nodes"],meta:w3,schema:m0,handler:cw});var u0={group:sw,commands:[uw,mw]};import{z as k3}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 Za()?(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=$({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 S3(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=$({path:["simulator","stop"],meta:hw,schema:gw,handler:S3});var I3={name:"simulator",description:"TEE simulator commands"},_3=k3.object({});async function A3(e,t){try{let r=await Za(),o=Lp();if(r&&o){let s=Jd(),i=s.replace(/dstack\.sock$/,"tappd.sock");t.stdout.write(`\u2713 TEE simulator is running (PID: ${o})\\n`),t.stdout.write(`
243
+ `)};async function Av(e,t){Ke(e.json||!1);try{let r=e.compose,o=await N_({apiKey:e.apiKey,interactive:e.interactive}),n=await z_({dockerComposePath:r,interactive:e.interactive}),s=await O_(e);e.debug&&(console.log("[DEBUG] context.cvmId:",JSON.stringify(t.cvmId)),console.log("[DEBUG] input.cvmId:",e.cvmId));let i=t.cvmId?.id||t.cvmId?.uuid||t.cvmId?.app_id||t.cvmId?.instance_id;e.debug&&(console.log("[DEBUG] resolved uuid:",i),console.log("[DEBUG] isUpdate:",!!i)),!!i?await V_({...e,uuid:i},n,s,o,t.stdout):await G_(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)}
244
+ `):t.stderr.write(`${Vp`${r instanceof Error?r.message:String(r)}`}
245
+ `),r}}async function q_(e,t){try{return await Av(e,t),0}catch{return 1}}var Pv=$({path:["deploy"],meta:vv,schema:wv,handler:q_});import{z as y3}from"zod";var Tv={path:["docker"],meta:{name:"docker",description:"Login to Docker Hub and manage Docker images",stability:"unstable"}};import n3 from"fs";import Uv from"path";import Ov from"inquirer";import{exec as X_,spawn as Q_}from"child_process";import fo from"fs";import Mv from"os";import Xa from"path";import{promisify as e3}from"util";import{execa as t3}from"execa";import r3 from"handlebars";import{INVALID as K_,ParseStatus as W_,ZodIssueCode as Mi,ZodParsedType as $v,ZodType as J_,addIssueToContext as Di,z as Rv}from"zod";var Z_="ZodDecimal",Y_=/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/,Bv=class e extends J_{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)!==$v.number){let i=this._getOrReturnCtx(r);return Di(i,{code:Mi.invalid_type,expected:$v.number,received:i.parsedType}),K_}let n,s=new W_;for(let i of this._def.checks)if(i.kind==="precision"){let a=r.data.toString().match(Y_);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:Z_,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)}},Fv=Rv.object({template:Rv.string().min(1,"Template cannot be empty")});var Qa=e3(X_),Dv=".phala-cloud/logs",o3=".phala-cloud/compose",Nv=10,kt=class{constructor(t,r,o){this.image=t,this.username=r||"",this.registry=o||""}ensureLogsDir(){let t=Xa.resolve(Dv);fo.existsSync(t)||fo.mkdirSync(t,{recursive:!0})}getLogFilePath(t,r){let o=new Date().toISOString().replace(/[:.]/g,"-");return Xa.resolve(Dv,`${r||this.image}-${t}-${o}.log`)}getSystemArchitecture(){let t=Mv.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=Q_(t,r);this.ensureLogsDir();let c=this.getLogFilePath(o,n),m=fo.createWriteStream(c,{flags:"a"}),u=[],p=(f,d=!1)=>{let h=f.toString().split(`
246
+ `);m.write(f);for(let g of h)if(g.trim()){u.push(g),u.length>Nv&&u.shift(),console.clear(),console.log(`Latest ${Nv} 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(`
247
+ 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 so())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 t3("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=Mv.homedir(),r=Xa.join(t,".docker","config.json");if(!fo.existsSync(r))return!1;let o=JSON.parse(fo.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"?Q1:e6,s=Fv.parse({template:n}),i=Xa.resolve(o3);fo.existsSync(i)||(l.info(`Creating directory: ${i}`),fo.mkdirSync(i,{recursive:!0}));let a=[];r&&(a=fo.readFileSync(r,"utf-8").split(`
248
+ `).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=r3.compile(s.template,{noEscape:!0})({imageName:c,envVars:a.map(f=>f.replace(/=.*/,`=\${${f.split("=")[0]}}`))}),p=Xa.join(i,`${t.replace(/.*\/+([\w-]+):.*$/g,"$1")}-tee-compose.yaml`);return fo.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 Qa(`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 Qa(`docker pull ${t}`),l.info("Starting simulator in background...");let{stdout:o}=await Qa(`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}`),e0(`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 Qa("docker stop tee-simulator"),await Mn(),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 Qa('docker images --format "{{.Repository}}:{{.Tag}}"'),o=(await so())?.username;return t.split(`
249
+ `).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 Kp}from"zod";var zv={name:"build",description:"Build a Docker image",stability:"unstable",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"}]},Lv=Kp.object({image:Kp.string().optional(),tag:Kp.string().optional(),file:Kp.string().default("Dockerfile")});async function s3(e,t){try{let r=await so();if(!r)return l.error('Docker information not found. Please login first with "phala docker login"'),1;let o=e.image;o||(o=(await Ov.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 Ov.prompt([{type:"input",name:"tag",message:"Enter the Docker image tag:",default:"latest",validate:m=>m.trim()?!0:"Tag is required"}])).tag);let s=Uv.resolve(process.cwd(),e.file);if(!n3.existsSync(s)){l.info(`Default Dockerfile not found at ${s}`);let c=await ao("Enter the path to your Dockerfile:","Dockerfile","file");s=Uv.resolve(process.cwd(),c)}return await new kt(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 Hv=$({path:["docker","build"],meta:zv,schema:Lv,handler:s3});import tc from"fs";import Wp from"path";import rc from"inquirer";import{z as ec}from"zod";var jv={name:"generate",description:"Generate a Docker Compose file",stability:"unstable",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"}]},Gv=ec.object({image:ec.string().optional(),envFile:ec.string().optional(),output:ec.string().optional(),template:ec.string().optional()});async function i3(e){if(e)return e;let t=await kt.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 rc.prompt([{type:"list",name:"selectedImage",message:"Select an image to use in the compose file:",choices:r}]);return o}async function a3(e){if(e)return Ft(e),e;let t=Wp.join(process.cwd(),".env");if(tc.existsSync(t)){let{useDefault:o}=await rc.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(o)return t}let{envPath:r}=await rc.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 c3(e){let t=e??Wp.join(process.cwd(),"docker-compose.yml");if(tc.existsSync(t)){let{confirmOverwrite:o}=await rc.prompt([{type:"confirm",name:"confirmOverwrite",message:`File ${t} already exists. Overwrite?`,default:!1}]);if(!o){let{customPath:n}=await rc.prompt([{type:"input",name:"customPath",message:"Enter alternative output path:",default:Wp.join(process.cwd(),"docker-generated-compose.yml")}]);t=n}}let r=Wp.dirname(t);return tc.existsSync(r)||(l.info(`Creating directory: ${r}`),tc.mkdirSync(r,{recursive:!0})),t}async function m3(e,t){try{let r=await so();if(!r||!r.username)throw new Error('Docker Hub username not found. Please login first with "phala docker login"');let o=await i3(e.image),n=await a3(e.envFile),s=await c3(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 kt("",r.username,r.registry).buildComposeFile(o,n,e.template);return a!==s&&tc.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 Vv=$({path:["docker","generate"],meta:jv,schema:Gv,handler:m3});import Wv from"prompts";import{z as Jp}from"zod";var qv={name:"login",description:"Login to Docker Hub",stability:"unstable",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"}]},Kv=Jp.object({username:Jp.string().optional(),password:Jp.string().optional(),registry:Jp.string().optional()});async function u3(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 Wv({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 kt("",r,n);if(await s.login(r))return l.success(`${r} is logged in to Docker Hub`),await Nd({username:r,registry:n||null}),0;if(!o){let c=await Wv({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 Nd({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=$({path:["docker","login"],meta:qv,schema:Kv,handler:u3});import p3 from"inquirer";import{z as Zv}from"zod";var Yv={name:"push",description:"Push a Docker image to Docker Hub",stability:"unstable",options:[{name:"image",shorthand:"i",description:"Full image name (e.g. username/image:tag)",type:"string",target:"image"}]},Xv=Zv.object({image:Zv.string().optional()});async function f3(e){if(e)return e;let t=await kt.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 p3.prompt([{type:"list",name:"selectedImage",message:"Select an image to push:",choices:r}]);return o}async function l3(e,t){try{let r=await so();if(!r)throw new Error('Docker information not found. Please login first with "phala docker login"');let o=await f3(e.image);return await new kt("",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 Qv=$({path:["docker","push"],meta:Yv,schema:Xv,handler:l3});import rw from"fs";import ow from"path";import Yp from"inquirer";import{z as Zp}from"zod";var ew={name:"run",description:"Run a Docker Compose setup",stability:"unstable",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"}]},tw=Zp.object({compose:Zp.string().optional(),envFile:Zp.string().optional(),skipEnv:Zp.boolean().default(!0)});async function d3(e){if(e)return Ft(e),e;let t=ow.join(process.cwd(),"docker-compose.yml");if(rw.existsSync(t)){let{useDefault:o}=await Yp.prompt([{type:"confirm",name:"useDefault",message:"Use docker-compose.yml in current directory?",default:!0}]);if(o)return t}let{composePath:r}=await Yp.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 h3(e,t){if(t)return e;if(e)return Ft(e),e;let r=ow.join(process.cwd(),".env");if(rw.existsSync(r)){let{useDefault:n}=await Yp.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(n)return r}let{envPath:o}=await Yp.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 g3(e,t){try{let r=await d3(e.compose),o=await h3(e.envFile,e.skipEnv),n=new kt("");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 nw=$({path:["docker","run"],meta:ew,schema:tw,handler:g3});var b3={name:"docker",description:"Login to Docker Hub and manage Docker images",stability:"unstable"},x3=y3.object({});async function v3(e,t){return t.stdout.write(`Available docker subcommands: login, build, push, generate, run. Use 'phala docker <command> --help' for details.
250
+ `),0}var w3=$({path:["docker"],meta:b3,schema:x3,handler:v3}),p0={group:Tv,commands:[w3,Jv,Hv,Qv,Vv,nw]};import Ni from"chalk";import C3 from"open";import E3 from"ora";import S3 from"prompts";import{z as Xp}from"zod";var sw={name:"login",description:"Authenticate with Phala Cloud",stability:"stable",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"}]},iw=Xp.object({apiKey:Xp.string().min(1,"API key cannot be empty").optional(),manual:Xp.boolean().optional(),noOpen:Xp.boolean().optional()});function k3(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 f0(e){try{await $p(e);let t=await Rp(e),r=await $n(t),o=r.data;if(!r.success||!o?.username)throw await Nr(),new Error("Invalid API key");return o}catch(t){throw await Nr(),t instanceof Error?t:new Error(String(t))}}async function I3(){let e,t=await S3({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 f0(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 f0(t.apiKey)),{apiKey:t.apiKey,user:e}}async function _3(e){let t=St({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 C3(s),console.log("Opening browser automatically...")}catch{console.warn("Could not open browser automatically. Please visit the URL above.")}let c=E3("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 kp){let p=k3(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 A3(e,t){try{let r,o;if(e.apiKey)r=e.apiKey;else if(e.manual){let n=await I3();r=n.apiKey,o=n.user}else r=await _3({noOpen:e.noOpen});if(o||(o=await f0(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 aw=$({path:["login"],meta:sw,schema:iw,handler:A3});import{z as P3}from"zod";var cw={name:"logout",description:"Remove the stored API key",stability:"stable"},mw=P3.object({});async function T3(e,t){try{return await Nr(),l.success("API key removed successfully"),0}catch(r){return l.error("Failed to remove API key"),l.logDetailedError(r),1}}var uw=$({path:["logout"],meta:cw,schema:mw,handler:T3});var pw={path:["nodes"],meta:{name:"nodes",description:"List and manage TEE nodes",stability:"unstable"}};import{z as fw}from"zod";var lw={name:"list",aliases:["ls"],description:"List all available worker nodes",stability:"unstable",options:[{name:"json",description:"Output in JSON format",type:"boolean"}]},l0=fw.object({json:fw.boolean().optional().default(!1)});async function dw(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 $3={name:"nodes",description:"List and manage TEE nodes",stability:"unstable"},hw=$({path:["nodes","list"],meta:lw,schema:l0,handler:dw}),gw=$({path:["nodes"],meta:$3,schema:l0,handler:dw});var d0={group:pw,commands:[gw,hw]};import{z as M3}from"zod";var yw={path:["simulator"],meta:{name:"simulator",description:"TEE simulator commands",stability:"unstable"}};import{z as h0}from"zod";var bw={name:"start",description:"Start the TEE simulator",stability:"unstable",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"}]},xw=h0.object({port:h0.string().default("8090"),verbose:h0.boolean().default(!1)});async function R3(e,t){try{return B6()||await F6(),await Za()?(l.success("TEE simulator is already running"),0):(await M6({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 vw=$({path:["simulator","start"],meta:bw,schema:xw,handler:R3});import{z as B3}from"zod";var ww={name:"stop",description:"Stop the TEE simulator",stability:"unstable"},Cw=B3.object({});async function F3(e,t){try{return await D6()?(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 Ew=$({path:["simulator","stop"],meta:ww,schema:Cw,handler:F3});var D3={name:"simulator",description:"TEE simulator commands",stability:"unstable"},N3=M3.object({});async function z3(e,t){try{let r=await Za(),o=Op();if(r&&o){let s=Qd(),i=s.replace(/dstack\.sock$/,"tappd.sock");t.stdout.write(`\u2713 TEE simulator is running (PID: ${o})\\n`),t.stdout.write(`
250
251
  Set these environment variables to use the simulator:
251
252
  `),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
253
  `),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 P3=$({path:["simulator"],meta:I3,schema:_3,handler:A3}),f0={group:pw,commands:[P3,dw,yw]};import{z as Ni}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
+ `),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 L3=$({path:["simulator"],meta:D3,schema:N3,handler:z3}),g0={group:yw,commands:[L3,vw,Ew]};import{z as zi}from"zod";import{readFileSync as j3}from"fs";import{dirname as G3,join as V3}from"path";import{fileURLToPath as q3}from"url";function Sw(e,t,r){switch(t){case"bash":return U3(e,r);case"zsh":return O3(e,r);case"fish":return H3(e,r)}}function U3(e,t){let r=t?`
254
255
  # Version check (once per day)
255
256
  local completion_version="${t}"
256
257
  local check_file=~/."${e}"/completion-check
@@ -287,7 +288,7 @@ ${r}
287
288
  }
288
289
 
289
290
  complete -F _${e}_completions ${e}
290
- `.trim()}function $3(e,t){let r=t?`
291
+ `.trim()}function O3(e,t){let r=t?`
291
292
  # Version check (once per day)
292
293
  local completion_version="${t}"
293
294
  local check_file=~/."${e}"/completion-check
@@ -332,7 +333,7 @@ ${r}
332
333
  }
333
334
 
334
335
  _${e}
335
- `.trim()}function R3(e,t){let r=t?`
336
+ `.trim()}function H3(e,t){let r=t?`
336
337
  # Version check (once per day)
337
338
  set -l completion_version "${t}"
338
339
  set -l check_file ~/."${e}"/completion-check
@@ -365,10 +366,10 @@ ${r}
365
366
  end
366
367
 
367
368
  complete -c ${e} -f -a "(__${e}_complete)"
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=Ni.object({line:Ni.string(),fragment:Ni.string()});async function U3(e,t){return t.stdout.write(`
369
- `),0}var Vae=$({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=Ni.object({shell:Ni.enum(["bash","zsh","fish"]).optional(),fig:Ni.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:
369
+ `.trim()}function K3(){try{let e=q3(import.meta.url),t=G3(e),r=V3(t,"../package.json");return JSON.parse(j3(r,"utf-8")).version}catch{return"unknown"}}var W3={name:"__complete",description:"Internal command for shell completion",stability:"stable",arguments:[{name:"line",description:"Full command line",required:!0},{name:"fragment",description:"Current word being completed",required:!0}]},J3=zi.object({line:zi.string(),fragment:zi.string()});async function Z3(e,t){return t.stdout.write(`
370
+ `),0}var mce=$({path:["__complete"],meta:W3,schema:J3,handler:Z3}),Y3={name:"completion",description:"Generate shell completion scripts",stability:"stable",options:[{name:"shell",type:"string",description:"Shell type (bash, zsh, fish)"},{name:"fig",type:"boolean",description:"Generate Fig/Amazon Q completion spec"}]},X3=zi.object({shell:zi.enum(["bash","zsh","fish"]).optional(),fig:zi.boolean().optional()});async function Q3(e,t){if(e.fig)return t.stdout.write(`Fig spec generation requires registry access. See fig-spec.ts for implementation.
371
+ `),0;let r=e.shell||eA();if(!r)return t.stderr.write(`Could not detect shell. Please specify with --shell (bash, zsh, or fish)
372
+ `),1;let o=K3(),n=Sw("phala",r,o);switch(t.stdout.write(`# Add this to your shell configuration file:
372
373
 
373
374
  `),t.stdout.write(`${n}
374
375
 
@@ -381,9 +382,11 @@ complete -c ${e} -f -a "(__${e}_complete)"
381
382
  `),t.stdout.write(`# source ~/.zshrc
382
383
  `);break;case"fish":t.stdout.write(`# For fish, run:
383
384
  `),t.stdout.write(`# phala completion --shell fish > ~/.config/fish/completions/phala.fish
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=$({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 oc}from"os";import{join as nc}from"path";import V3 from"chalk";var Mn=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"}},Dn=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=[nc(oc(),".ssh","id_rsa"),nc(oc(),".ssh","id_ed25519"),nc(oc(),".ssh","id_ecdsa"),nc(oc(),".ssh","id_dsa")];for(let t of e)if(vw(t))return t}function Xp(e){if(e){let t=e.startsWith("~")?nc(oc(),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 Dn(t);if(r.status!=="running")throw new Mn(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 Nn}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=Nn.object({cvmId:Nn.string().optional(),identity:Nn.string().optional(),port:Nn.string().default("443"),gatewayDomain:Nn.string().optional(),timeout:Nn.string().default("30"),verbose:Nn.boolean().default(!1)});async function J3(e,t){try{let r=t.cvmId?.id||t.cvmId?.uuid||t.cvmId?.app_id||t.cvmId?.instance_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 Dn?l.error(h.message):h instanceof Mn?(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=$({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 Sw={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"}]},kw=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 Iw(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=Iw(e.source),o=Iw(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;if(n.cvmId?s=$1(n.cvmId):s=t.cvmId?.id||t.cvmId?.uuid||t.cvmId?.app_id||t.cvmId?.instance_id,!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 A=await Z(),_=await Qp(A,s);c=_.appId,m=_.gatewayDomain}catch(A){return A instanceof Dn?l.error(A.message):A instanceof Mn?(l.error(A.message),l.info("Please start the CVM first using: phala cvms start")):l.error(A instanceof Error?A.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,S=r.isRemote?r.path:o.path;l.info(`${v==="upload"?"Uploading":"Downloading"} ${l0.cyan(C)} ${v==="upload"?"to":"from"} ${l0.cyan(S)}...`);let I=Z3("scp",g,{stdio:"inherit"});return I.on("error",A=>{l.break(),l.error(`SCP failed: ${A.message}`)}),new Promise(A=>{I.on("close",_=>{l.break(),_===0?(l.success(`${v==="upload"?"Upload":"Download"} completed`),A(0)):(l.error(`Transfer failed with code ${_}`),A(_??1))})})}catch(r){return l.error("Failed to copy file via SCP"),r instanceof Error&&l.error(r.message),1}}var _w=$({path:["cp"],meta:Sw,schema:kw,handler:Y3});var rA=tA(import.meta.url),oA=Q3(rA),nA=eA(oA,"../package.json"),Aw=JSON.parse(X3(nA,"utf-8")),sA="+307a416-dirty",iA=`v${Aw.version}${sA}`,Re=new $p;Re.registerCommand(n6);Re.registerCommand(Ev);Re.registerCommand(tw);Re.registerCommand(nw);Re.registerCommand(xw);Re.registerCommand(Ew);Re.registerCommand(_w);Re.registerGroup(Ud.group);for(let e of Ud.commands)Re.registerCommand(e);Re.registerGroup(Gd.group);for(let e of Gd.commands)Re.registerCommand(e);Re.registerGroup(i0.group);for(let e of i0.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 aA(){let e=await q1({registry:Re,argv:process.argv.slice(2),executableName:Aw.name??"phala",version:iA,cwd:process.cwd(),env:process.env,stdout:process.stdout,stderr:process.stderr,stdin:process.stdin});process.exit(e)}aA().catch(e=>{console.error("An error occurred:",e),process.exit(1)});
385
+ `);break}return 0}function eA(){let e=process.env.SHELL||"";return e.includes("bash")?"bash":e.includes("zsh")?"zsh":e.includes("fish")?"fish":null}var kw=$({path:["completion"],meta:Y3,schema:X3,handler:Q3});import{spawn as aA}from"child_process";import cA from"chalk";import{execSync as tA}from"child_process";import{existsSync as Iw,readFileSync as rA}from"fs";import{homedir as oc,platform as oA}from"os";import{basename as nA,join as nc}from"path";import _w from"chalk";var Dn=class extends Error{constructor(r,o){super(`CVM is not running (current status: ${_w.yellow(r)})`);this.status=r;this.cvmId=o;this.name="CvmNotRunningError"}},Nn=class extends Error{constructor(r){super("CVM is not registered on any gateway.");this.cvmId=r;this.name="NoGatewayError"}};function Qp(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 y0(){let e=[nc(oc(),".ssh","id_rsa"),nc(oc(),".ssh","id_ed25519"),nc(oc(),".ssh","id_ecdsa"),nc(oc(),".ssh","id_dsa")];for(let t of e)if(Iw(t))return t}function Aw(e){if(e){let t=e.startsWith("~")?nc(oc(),e.slice(1)):e;if(!Iw(t))throw new Error(`SSH key file not found: ${t}`);return t}return y0()}function ef(e){return e?e.toLowerCase().includes("dev"):!1}async function tf(e,t){let r=await e.getCvmInfo({id:t});if(!r.gateway_domain)throw new Nn(t);if(r.status!=="running")throw new Dn(r.status,t);return{appId:r.app_id,gatewayDomain:r.gateway_domain,status:r.status,baseImage:r.base_image}}function rf(e,t){return`${e}-22.${t}`}function of(e,t){return e!=="443"?e:t||"443"}function nf(e){return/^[a-zA-Z0-9_./:@=-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}function sA(){try{return tA("openssl version",{encoding:"utf-8"}).toLowerCase().includes("libressl")}catch{return!1}}function iA(e){if(nA(e).toLowerCase().includes("ed25519"))return!0;try{let r=rA(e,"utf-8");return r.includes("ssh-ed25519")||r.includes("ED25519")}catch{return!1}}function sf(e){oA()==="darwin"&&sA()&&iA(e)&&(l.warn("Detected LibreSSL with ed25519 key on macOS. This combination may cause SSH connection issues."),l.info(`If\xB7you\xB7experience\xB7problems,\xB7install\xB7OpenSSL\xB7via\xB7Homebrew:\xB7${_w.cyan("brew\xB7install\xB7openssl")}`),l.info("Then ensure Homebrew's OpenSSL is in your PATH before /usr/bin"))}function af(e,t){return["-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}`]}import{z as lo}from"zod";var Pw={name:"ssh",description:"Connect to a CVM via SSH",stability:"unstable",arguments:[{name:"cvm-name",description:"CVM name. If not provided, reads from phala.toml",required:!1,target:"cvmId"}],options:[{name:"port",shorthand:"p",description:"Gateway port. Priority: CLI option > phala.toml gateway_port > 443",type:"string",target:"port"},{name:"gateway",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 connection details",type:"boolean",target:"verbose"},{name:"dry-run",description:"Print the SSH command without executing it",type:"boolean",target:"dryRun"}],passThrough:{description:"All arguments after -- are passed directly to ssh. Common options: -i (identity file), -L (local forward), -R (remote forward), -D (SOCKS proxy), -N (no command), -v (ssh verbose). Any trailing arguments are executed as remote command. Note: -o ProxyCommand is blocked.",examples:["-- -L 8080:localhost:80","-- -i ~/.ssh/key -D 1080 -N","-- ls -la /app"]},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:"Forward local port 8080 to remote port 80",value:"phala ssh app_123 -- -L 8080:localhost:80"},{name:"SOCKS proxy without remote command",value:"phala ssh app_123 -- -D 1080 -N"},{name:"Execute remote command",value:"phala ssh app_123 -- ls -la /app"},{name:"Connect with verbose output for debugging",value:"phala ssh app_123 -v"},{name:"Print the SSH command without executing",value:"phala ssh app_123 --dry-run -- -L 8080:localhost:80"}]},Tw=lo.object({cvmId:lo.string().optional(),port:lo.string().default("443"),gatewayDomain:lo.string().optional(),timeout:lo.string().default("30"),verbose:lo.boolean().default(!1),dryRun:lo.boolean().default(!1),"--":lo.array(lo.string()).optional()});function mA(e){for(let t=0;t<e.length;t++){let r=e[t];if(r==="-o"&&t+1<e.length&&e[t+1].toLowerCase().startsWith("proxycommand")||r.toLowerCase().startsWith("-oproxycommand"))return"-o ProxyCommand"}return null}async function uA(e,t){try{let r=t.cvmId?.id||t.cvmId?.uuid||t.cvmId?.app_id||t.cvmId?.instance_id;if(!r)return l.error(`No CVM ID provided. Either pass a CVM ID as argument or configure it in phala.toml.
386
+ Supported fields: id, uuid, app_id, or instance_id`),1;let o=e["--"]??[],n=mA(o);if(n)return l.error(`${n} is not allowed as it would break the TLS gateway connection.`),1;let s=e.gatewayDomain??t.projectConfig.gateway_domain,i=e.port!=="443"?e.port:t.projectConfig.gateway_port?.toString()??"443",a,c;if(s)c=s,a=r.startsWith("app_")?r.substring(4):r;else try{let x=await Z(),w=await tf(x,r);a=w.appId,c=w.gatewayDomain,ef(w.baseImage)||l.warn("This CVM is not using a dev image. SSH access may not be available.")}catch(x){return x instanceof Nn?l.error(x.message):x instanceof Dn?(l.error(x.message),l.info("Please start the CVM first using: phala cvms start")):l.error(x instanceof Error?x.message:"Failed to fetch CVM info"),1}let m=Qp(c),u=of(i,m.port),p=rf(a,m.host),f=y0();f&&sf(f),e.verbose&&l.info(`Connecting to ${cA.cyan(p)}:${u}...`);let d=af(e.verbose,e.timeout),{options:h,command:g}=pA(o),b=[];if(e.verbose&&b.push("-v"),b.push(...d,"-p",u,...h,`root@${p}`,...g),e.dryRun){let x=b.map(w=>nf(w));return t.stdout.write(`ssh ${x.join(" ")}
387
+ `),0}let y=aA("ssh",b,{stdio:"inherit"});return y.on("error",x=>{l.break(),l.error(`SSH connection failed: ${x.message}`)}),new Promise(x=>{y.on("close",w=>{l.break(),w===0?(l.success("Connection closed"),x(0)):(l.error(`Connection failed with code ${w}`),x(w??1))})})}catch(r){return l.error("Failed to connect via SSH"),r instanceof Error?l.error(r.message):l.error(String(r)),1}}function pA(e){let t=[],r=[],o=new Set(["-b","-c","-D","-E","-e","-F","-I","-i","-J","-L","-l","-m","-O","-o","-P","-p","-R","-S","-W","-w"]),n=0,s=!1;for(;n<e.length;){let i=e[n];if(s){r.push(i),n++;continue}if(i.startsWith("-")){t.push(i);let a=i.length===2?i:i.slice(0,2);o.has(a)&&i.length===2&&n+1<e.length&&(n++,t.push(e[n])),n++}else s=!0,r.push(i),n++}return{options:t,command:r}}var $w=$({path:["ssh"],meta:Pw,schema:Tw,handler:uA});import{spawn as fA}from"child_process";import b0 from"chalk";import{z as ho}from"zod";var Rw={name:"cp",description:"Copy files to/from a CVM via SCP",stability:"unstable",arguments:[{name:"source",description:"Source path. Local file or remote in format 'cvm-name: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-name: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",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"},{name:"dry-run",description:"Print the SCP command without executing it",type:"boolean",target:"dryRun"}],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"},{name:"Print the SCP command without executing",value:"phala cp ./local.txt app_123:/root/remote.txt --dry-run"}]},Bw=ho.object({source:ho.string(),destination:ho.string(),identity:ho.string().optional(),port:ho.string().default("443"),gatewayDomain:ho.string().optional(),recursive:ho.boolean().default(!1),verbose:ho.boolean().default(!1),dryRun:ho.boolean().default(!1)});function Fw(e){let t=e.match(/^([^:]+):(.+)$/);return t?{isRemote:!0,cvmId:t[1],path:t[2]}:{isRemote:!1,path:e}}async function lA(e,t){try{let r=Fw(e.source),o=Fw(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;if(n.cvmId?s=M1(n.cvmId):s=t.cvmId?.id||t.cvmId?.uuid||t.cvmId?.app_id||t.cvmId?.instance_id,!s)return l.error(`No CVM ID provided. Either use format cvm-id:path or configure it in phala.toml.
388
+ 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 A=await Z(),_=await tf(A,s);c=_.appId,m=_.gatewayDomain,ef(_.baseImage)||l.warn("This CVM is not using a dev image. SCP access may not be available.")}catch(A){return A instanceof Nn?l.error(A.message):A instanceof Dn?(l.error(A.message),l.info("Please start the CVM first using: phala cvms start")):l.error(A instanceof Error?A.message:"Failed to fetch CVM info"),1}let u=Qp(m),p=of(a,u.port),f=rf(c,u.host),d=Aw(e.identity);d?sf(d):l.warn("No default SSH key found. SCP will use ssh-agent or prompt for password."),e.verbose&&l.info(`Connecting to ${b0.cyan(f)}:${p}...`);let g=[...af(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;if(g.push(b,y),e.dryRun){let A=g.map(_=>nf(_));return t.stdout.write(`scp ${A.join(" ")}
389
+ `),0}let x=r.isRemote?"download":"upload",w=r.isRemote?o.path:r.path,S=r.isRemote?r.path:o.path;l.info(`${x==="upload"?"Uploading":"Downloading"} ${b0.cyan(w)} ${x==="upload"?"to":"from"} ${b0.cyan(S)}...`);let I=fA("scp",g,{stdio:"inherit"});return I.on("error",A=>{l.break(),l.error(`SCP failed: ${A.message}`)}),new Promise(A=>{I.on("close",_=>{l.break(),_===0?(l.success(`${x==="upload"?"Upload":"Download"} completed`),A(0)):(l.error(`Transfer failed with code ${_}`),A(_??1))})})}catch(r){return l.error("Failed to copy file via SCP"),r instanceof Error&&l.error(r.message),1}}var Mw=$({path:["cp"],meta:Rw,schema:Bw,handler:lA});var bA=yA(import.meta.url),xA=hA(bA),vA=gA(xA,"../package.json"),Dw=JSON.parse(dA(vA,"utf-8")),wA="+cc285e9-dirty",CA=`v${Dw.version}${wA}`,Re=new Bp;Re.registerCommand(c6);Re.registerCommand(Pv);Re.registerCommand(aw);Re.registerCommand(uw);Re.registerCommand(kw);Re.registerCommand($w);Re.registerCommand(Mw);Re.registerGroup(Gd.group);for(let e of Gd.commands)Re.registerCommand(e);Re.registerGroup(Wd.group);for(let e of Wd.commands)Re.registerCommand(e);Re.registerGroup(u0.group);for(let e of u0.commands)Re.registerCommand(e);Re.registerGroup(p0.group);for(let e of p0.commands)Re.registerCommand(e);Re.registerGroup(d0.group);for(let e of d0.commands)Re.registerCommand(e);Re.registerGroup(g0.group);for(let e of g0.commands)Re.registerCommand(e);process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function EA(){let e=await Z1({registry:Re,argv:process.argv.slice(2),executableName:Dw.name??"phala",version:CA,cwd:process.cwd(),env:process.env,stdout:process.stdout,stderr:process.stderr,stdin:process.stdin});process.exit(e)}EA().catch(e=>{console.error("An error occurred:",e),process.exit(1)});
387
390
  /*! Bundled license information:
388
391
 
389
392
  @noble/hashes/esm/utils.js: