phala 1.1.0-beta.4 → 1.1.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,92 +1,110 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module';const require = createRequire(import.meta.url);
3
- var W5=Object.create;var Dp=Object.defineProperty;var J5=Object.getOwnPropertyDescriptor;var Z5=Object.getOwnPropertyNames;var Y5=Object.getPrototypeOf,X5=Object.prototype.hasOwnProperty;var Dr=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var S=(e,t)=>()=>(e&&(t=e(e=0)),t);var ct=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Np=(e,t)=>{for(var r in t)Dp(e,r,{get:t[r],enumerable:!0})},Q5=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Z5(t))!X5.call(e,n)&&n!==r&&Dp(e,n,{get:()=>t[n],enumerable:!(o=J5(t,n))||o.enumerable});return e};var Ai=(e,t,r)=>(r=e!=null?W5(Y5(e)):{},Q5(t||!e||!e.__esModule?Dp(r,"default",{value:e,enumerable:!0}):r,e));var Gd=ct((gI,jd)=>{var Wn=1e3,Jn=Wn*60,Zn=Jn*60,un=Zn*24,mw=un*7,uw=un*365.25;jd.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return pw(e);if(r==="number"&&isFinite(e))return t.long?lw(e):fw(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function pw(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*uw;case"weeks":case"week":case"w":return r*mw;case"days":case"day":case"d":return r*un;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Zn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Jn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Wn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function fw(e){var t=Math.abs(e);return t>=un?Math.round(e/un)+"d":t>=Zn?Math.round(e/Zn)+"h":t>=Jn?Math.round(e/Jn)+"m":t>=Wn?Math.round(e/Wn)+"s":e+"ms"}function lw(e){var t=Math.abs(e);return t>=un?Wa(e,t,un,"day"):t>=Zn?Wa(e,t,Zn,"hour"):t>=Jn?Wa(e,t,Jn,"minute"):t>=Wn?Wa(e,t,Wn,"second"):e+" ms"}function Wa(e,t,r,o){var n=t>=r*1.5;return Math.round(e/r)+" "+o+(n?"s":"")}});var Lp=ct((yI,Vd)=>{function dw(e){r.debug=r,r.default=r,r.coerce=c,r.disable=i,r.enable=n,r.enabled=a,r.humanize=Gd(),r.destroy=m,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let f=0;for(let p=0;p<u.length;p++)f=(f<<5)-f+u.charCodeAt(p),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=t;function r(u){let f,p=null,d,h;function g(...b){if(!g.enabled)return;let y=g,v=Number(new Date),C=v-(f||v);y.diff=C,y.prev=f,y.curr=v,f=v,b[0]=r.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let k=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(P,T)=>{if(P==="%%")return"%";k++;let B=r.formatters[T];if(typeof B=="function"){let z=b[k];P=B.call(y,z),b.splice(k,1),k--}return P}),r.formatArgs.call(y,b),(y.log||r.log).apply(y,b)}return g.namespace=u,g.useColors=r.useColors(),g.color=r.selectColor(u),g.extend=o,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(d!==r.namespaces&&(d=r.namespaces,h=r.enabled(u)),h),set:b=>{p=b}}),typeof r.init=="function"&&r.init(g),g}function o(u,f){let p=r(this.namespace+(typeof f>"u"?":":f)+u);return p.log=this.log,p}function n(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let f=(typeof u=="string"?u:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let p of f)p[0]==="-"?r.skips.push(p.slice(1)):r.names.push(p)}function s(u,f){let p=0,d=0,h=-1,g=0;for(;p<u.length;)if(d<f.length&&(f[d]===u[p]||f[d]==="*"))f[d]==="*"?(h=d,g=p,d++):(p++,d++);else if(h!==-1)d=h+1,g++,p=g;else return!1;for(;d<f.length&&f[d]==="*";)d++;return d===f.length}function i(){let u=[...r.names,...r.skips.map(f=>"-"+f)].join(",");return r.enable(""),u}function a(u){for(let f of r.skips)if(s(u,f))return!1;for(let f of r.names)if(s(u,f))return!0;return!1}function c(u){return u instanceof Error?u.stack||u.message:u}function m(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}Vd.exports=dw});var qd=ct((mt,Ja)=>{mt.formatArgs=gw;mt.save=yw;mt.load=bw;mt.useColors=hw;mt.storage=xw();mt.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`."))}})();mt.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 hw(){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 gw(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+Ja.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)}mt.log=console.debug||console.log||(()=>{});function yw(e){try{e?mt.storage.setItem("debug",e):mt.storage.removeItem("debug")}catch{}}function bw(){let e;try{e=mt.storage.getItem("debug")||mt.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function xw(){try{return localStorage}catch{}}Ja.exports=Lp()(mt);var{formatters:ww}=Ja.exports;ww.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Wd=ct((bI,Kd)=>{"use strict";Kd.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 Yd=ct((xI,Zd)=>{"use strict";var vw=Dr("os"),Jd=Dr("tty"),Pt=Wd(),{env:Ne}=process,co;Pt("no-color")||Pt("no-colors")||Pt("color=false")||Pt("color=never")?co=0:(Pt("color")||Pt("colors")||Pt("color=true")||Pt("color=always"))&&(co=1);"FORCE_COLOR"in Ne&&(Ne.FORCE_COLOR==="true"?co=1:Ne.FORCE_COLOR==="false"?co=0:co=Ne.FORCE_COLOR.length===0?1:Math.min(parseInt(Ne.FORCE_COLOR,10),3));function Op(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Up(e,t){if(co===0)return 0;if(Pt("color=16m")||Pt("color=full")||Pt("color=truecolor"))return 3;if(Pt("color=256"))return 2;if(e&&!t&&co===void 0)return 0;let r=co||0;if(Ne.TERM==="dumb")return r;if(process.platform==="win32"){let o=vw.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 Cw(e){let t=Up(e,e&&e.isTTY);return Op(t)}Zd.exports={supportsColor:Cw,stdout:Op(Up(!0,Jd.isatty(1))),stderr:Op(Up(!0,Jd.isatty(2)))}});var Qd=ct((ze,Ya)=>{var Ew=Dr("tty"),Za=Dr("util");ze.init=Pw;ze.log=Iw;ze.formatArgs=Sw;ze.save=_w;ze.load=Tw;ze.useColors=kw;ze.destroy=Za.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=Yd();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 kw(){return"colors"in ze.inspectOpts?!!ze.inspectOpts.colors:Ew.isatty(process.stderr.fd)}function Sw(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 rw=Object.create;var zp=Object.defineProperty;var ow=Object.getOwnPropertyDescriptor;var nw=Object.getOwnPropertyNames;var sw=Object.getPrototypeOf,iw=Object.prototype.hasOwnProperty;var zr=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var S=(e,t)=>()=>(e&&(t=e(e=0)),t);var ct=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Lp=(e,t)=>{for(var r in t)zp(e,r,{get:t[r],enumerable:!0})},aw=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of nw(t))!iw.call(e,n)&&n!==r&&zp(e,n,{get:()=>t[n],enumerable:!(o=ow(t,n))||o.enumerable});return e};var Ii=(e,t,r)=>(r=e!=null?rw(sw(e)):{},aw(t||!e||!e.__esModule?zp(r,"default",{value:e,enumerable:!0}):r,e));var Jd=ct((vI,Wd)=>{var Jn=1e3,Zn=Jn*60,Yn=Zn*60,pn=Yn*24,gw=pn*7,yw=pn*365.25;Wd.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return bw(e);if(r==="number"&&isFinite(e))return t.long?ww(e):xw(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function bw(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*yw;case"weeks":case"week":case"w":return r*gw;case"days":case"day":case"d":return r*pn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Yn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Zn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Jn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function xw(e){var t=Math.abs(e);return t>=pn?Math.round(e/pn)+"d":t>=Yn?Math.round(e/Yn)+"h":t>=Zn?Math.round(e/Zn)+"m":t>=Jn?Math.round(e/Jn)+"s":e+"ms"}function ww(e){var t=Math.abs(e);return t>=pn?Za(e,t,pn,"day"):t>=Yn?Za(e,t,Yn,"hour"):t>=Zn?Za(e,t,Zn,"minute"):t>=Jn?Za(e,t,Jn,"second"):e+" ms"}function Za(e,t,r,o){var n=t>=r*1.5;return Math.round(e/r)+" "+o+(n?"s":"")}});var jp=ct((CI,Zd)=>{function vw(e){r.debug=r,r.default=r,r.coerce=c,r.disable=i,r.enable=n,r.enabled=a,r.humanize=Jd(),r.destroy=m,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let f=0;for(let p=0;p<u.length;p++)f=(f<<5)-f+u.charCodeAt(p),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=t;function r(u){let f,p=null,d,h;function g(...b){if(!g.enabled)return;let y=g,v=Number(new Date),C=v-(f||v);y.diff=C,y.prev=f,y.curr=v,f=v,b[0]=r.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let k=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(T,I)=>{if(T==="%%")return"%";k++;let B=r.formatters[I];if(typeof B=="function"){let N=b[k];T=B.call(y,N),b.splice(k,1),k--}return T}),r.formatArgs.call(y,b),(y.log||r.log).apply(y,b)}return g.namespace=u,g.useColors=r.useColors(),g.color=r.selectColor(u),g.extend=o,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(d!==r.namespaces&&(d=r.namespaces,h=r.enabled(u)),h),set:b=>{p=b}}),typeof r.init=="function"&&r.init(g),g}function o(u,f){let p=r(this.namespace+(typeof f>"u"?":":f)+u);return p.log=this.log,p}function n(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let f=(typeof u=="string"?u:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let p of f)p[0]==="-"?r.skips.push(p.slice(1)):r.names.push(p)}function s(u,f){let p=0,d=0,h=-1,g=0;for(;p<u.length;)if(d<f.length&&(f[d]===u[p]||f[d]==="*"))f[d]==="*"?(h=d,g=p,d++):(p++,d++);else if(h!==-1)d=h+1,g++,p=g;else return!1;for(;d<f.length&&f[d]==="*";)d++;return d===f.length}function i(){let u=[...r.names,...r.skips.map(f=>"-"+f)].join(",");return r.enable(""),u}function a(u){for(let f of r.skips)if(s(u,f))return!1;for(let f of r.names)if(s(u,f))return!0;return!1}function c(u){return u instanceof Error?u.stack||u.message:u}function m(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}Zd.exports=vw});var Yd=ct((ut,Ya)=>{ut.formatArgs=Ew;ut.save=kw;ut.load=Sw;ut.useColors=Cw;ut.storage=Aw();ut.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`."))}})();ut.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 Cw(){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 Ew(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+Ya.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)}ut.log=console.debug||console.log||(()=>{});function kw(e){try{e?ut.storage.setItem("debug",e):ut.storage.removeItem("debug")}catch{}}function Sw(){let e;try{e=ut.storage.getItem("debug")||ut.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function Aw(){try{return localStorage}catch{}}Ya.exports=jp()(ut);var{formatters:Iw}=Ya.exports;Iw.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Qd=ct((EI,Xd)=>{"use strict";Xd.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 r0=ct((kI,t0)=>{"use strict";var _w=zr("os"),e0=zr("tty"),$t=Qd(),{env:Ne}=process,uo;$t("no-color")||$t("no-colors")||$t("color=false")||$t("color=never")?uo=0:($t("color")||$t("colors")||$t("color=true")||$t("color=always"))&&(uo=1);"FORCE_COLOR"in Ne&&(Ne.FORCE_COLOR==="true"?uo=1:Ne.FORCE_COLOR==="false"?uo=0:uo=Ne.FORCE_COLOR.length===0?1:Math.min(parseInt(Ne.FORCE_COLOR,10),3));function Gp(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Vp(e,t){if(uo===0)return 0;if($t("color=16m")||$t("color=full")||$t("color=truecolor"))return 3;if($t("color=256"))return 2;if(e&&!t&&uo===void 0)return 0;let r=uo||0;if(Ne.TERM==="dumb")return r;if(process.platform==="win32"){let o=_w.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 Pw(e){let t=Vp(e,e&&e.isTTY);return Gp(t)}t0.exports={supportsColor:Pw,stdout:Gp(Vp(!0,e0.isatty(1))),stderr:Gp(Vp(!0,e0.isatty(2)))}});var n0=ct((ze,Qa)=>{var Tw=zr("tty"),Xa=zr("util");ze.init=Nw;ze.log=Fw;ze.formatArgs=Rw;ze.save=Mw;ze.load=Dw;ze.useColors=$w;ze.destroy=Xa.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=r0();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 $w(){return"colors"in ze.inspectOpts?!!ze.inspectOpts.colors:Tw.isatty(process.stderr.fd)}function Rw(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+"+Ya.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=Aw()+t+" "+e[0]}function Aw(){return ze.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Iw(...e){return process.stderr.write(Za.formatWithOptions(ze.inspectOpts,...e)+`
6
- `)}function _w(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function Tw(){return process.env.DEBUG}function Pw(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]]}Ya.exports=Lp()(ze);var{formatters:Xd}=Ya.exports;Xd.o=function(e){return this.inspectOpts.colors=this.useColors,Za.inspect(e,this.inspectOpts).split(`
7
- `).map(t=>t.trim()).join(" ")};Xd.O=function(e){return this.inspectOpts.colors=this.useColors,Za.inspect(e,this.inspectOpts)}});var e0=ct((wI,Hp)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Hp.exports=qd():Hp.exports=Qd()});var jp,r0=S(()=>{jp="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 Gp,x,j=S(()=>{r0();Gp={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${jp}`},x=class extends Error{constructor(t,r={}){let o=(()=>r.cause instanceof x?r.cause.details:r.cause?.message?r.cause.message:r.details)(),n=(()=>r.cause instanceof x&&r.cause.docsPath||r.docsPath)(),s=Gp.getDocsUrl?.({...r,docsPath:n}),i=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...o?[`Details: ${o}`]:[],...Gp.version?[`Version: ${Gp.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=jp}walk(t){return o0(this,t)}}});var Yn,Xa,Qa,ec,_i=S(()=>{j();Yn=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"})}},Xa=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"})}},Qa=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"})}},ec=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 wt=S(()=>{});function Y(e){return ce(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var $t=S(()=>{wt()});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 fn=S(()=>{});var Ti,Pi,$i,tc=S(()=>{j();Ti=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"})}},Pi=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"})}},$i=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 mo(e,{dir:t,size:r=32}={}){return typeof e=="string"?Nr(e,{dir:t,size:r}):$w(e,{dir:t,size:r})}function Nr(e,{dir:t,size:r=32}={}){if(r===null)return e;let o=e.replace("0x","");if(o.length>r*2)throw new Pi({size:Math.ceil(o.length/2),targetSize:r,type:"hex"});return`0x${o[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function $w(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new Pi({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 rc=S(()=>{tc()});function ie(e,t={}){return typeof e=="number"||typeof e=="bigint"?E(e,t):typeof e=="string"?Zt(e,t):typeof e=="boolean"?oc(e,t):X(e,t)}function oc(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(ut(r,{size:t.size}),mo(r,{size:t.size})):r}function X(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=Rw[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(ut(o,{size:t.size}),mo(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 Yn({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?mo(a,{size:o}):a}function Zt(e,t={}){let r=Bw.encode(e);return X(r,t)}var Rw,Bw,M=S(()=>{_i();rc();Be();Rw=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));Bw=new TextEncoder});function Rt(e,t={}){return typeof e=="number"||typeof e=="bigint"?Dw(e,t):typeof e=="boolean"?Mw(e,t):ce(e)?Fe(e,t):Yt(e,t)}function Mw(e,t={}){let r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(ut(r,{size:t.size}),mo(r,{size:t.size})):r}function n0(e){if(e>=zr.zero&&e<=zr.nine)return e-zr.zero;if(e>=zr.A&&e<=zr.F)return e-(zr.A-10);if(e>=zr.a&&e<=zr.f)return e-(zr.a-10)}function Fe(e,t={}){let r=e;t.size&&(ut(r,{size:t.size}),r=mo(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 Dw(e,t){let r=E(e,t);return Fe(r)}function Yt(e,t={}){let r=Fw.encode(e);return typeof t.size=="number"?(ut(r,{size:t.size}),mo(r,{dir:"right",size:t.size})):r}var Fw,zr,Oe=S(()=>{j();wt();rc();Be();M();Fw=new TextEncoder;zr={zero:48,nine:57,A:65,F:70,a:97,f:102}});function ut(e,{size:t}){if(Y(e)>t)throw new ec({givenSize:Y(e),maxSize:t})}function ae(e,t={}){let{signed:r}=t;t.size&&ut(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 Vp(e,t={}){let r=e;if(t.size&&(ut(r,{size:t.size}),r=Le(r)),Le(r)==="0x00")return!1;if(Le(r)==="0x01")return!0;throw new Qa(r)}function be(e,t={}){return Number(ae(e,t))}var Be=S(()=>{_i();$t();fn()});function Xn(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 nc=S(()=>{});function pt(e,t){let r={};return typeof e.authorizationList<"u"&&(r.authorizationList=Lw(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=zw[e.type]),typeof e.value<"u"&&(r.value=E(e.value)),r}function Lw(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 zw,uo=S(()=>{M();zw={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"}});var p_,f_,l_,d_,h_,g_,y_,b_,x_,w_,v_,C_,E_,k_,S_,A_,I_,__,T_,P_,$_,R_,B_,F_,M_,D_,N_,z_,L_,O_,U_,H_,j_,G_,V_,q_,K_,W_,J_,Z_,Y_,X_,Q_,eT,tT,rT,oT,nT,sT,iT,aT,cT,mT,uT,pT,fT,lT,dT,hT,gT,yT,bT,xT,wT,vT,CT,ET,kT,ST,AT,IT,_T,TT,PT,$T,RT,BT,FT,MT,DT,NT,zT,LT,OT,UT,HT,jT,GT,VT,qT,KT,WT,JT,ZT,YT,Qn,Wp=S(()=>{p_=2n**(8n-1n)-1n,f_=2n**(16n-1n)-1n,l_=2n**(24n-1n)-1n,d_=2n**(32n-1n)-1n,h_=2n**(40n-1n)-1n,g_=2n**(48n-1n)-1n,y_=2n**(56n-1n)-1n,b_=2n**(64n-1n)-1n,x_=2n**(72n-1n)-1n,w_=2n**(80n-1n)-1n,v_=2n**(88n-1n)-1n,C_=2n**(96n-1n)-1n,E_=2n**(104n-1n)-1n,k_=2n**(112n-1n)-1n,S_=2n**(120n-1n)-1n,A_=2n**(128n-1n)-1n,I_=2n**(136n-1n)-1n,__=2n**(144n-1n)-1n,T_=2n**(152n-1n)-1n,P_=2n**(160n-1n)-1n,$_=2n**(168n-1n)-1n,R_=2n**(176n-1n)-1n,B_=2n**(184n-1n)-1n,F_=2n**(192n-1n)-1n,M_=2n**(200n-1n)-1n,D_=2n**(208n-1n)-1n,N_=2n**(216n-1n)-1n,z_=2n**(224n-1n)-1n,L_=2n**(232n-1n)-1n,O_=2n**(240n-1n)-1n,U_=2n**(248n-1n)-1n,H_=2n**(256n-1n)-1n,j_=-(2n**(8n-1n)),G_=-(2n**(16n-1n)),V_=-(2n**(24n-1n)),q_=-(2n**(32n-1n)),K_=-(2n**(40n-1n)),W_=-(2n**(48n-1n)),J_=-(2n**(56n-1n)),Z_=-(2n**(64n-1n)),Y_=-(2n**(72n-1n)),X_=-(2n**(80n-1n)),Q_=-(2n**(88n-1n)),eT=-(2n**(96n-1n)),tT=-(2n**(104n-1n)),rT=-(2n**(112n-1n)),oT=-(2n**(120n-1n)),nT=-(2n**(128n-1n)),sT=-(2n**(136n-1n)),iT=-(2n**(144n-1n)),aT=-(2n**(152n-1n)),cT=-(2n**(160n-1n)),mT=-(2n**(168n-1n)),uT=-(2n**(176n-1n)),pT=-(2n**(184n-1n)),fT=-(2n**(192n-1n)),lT=-(2n**(200n-1n)),dT=-(2n**(208n-1n)),hT=-(2n**(216n-1n)),gT=-(2n**(224n-1n)),yT=-(2n**(232n-1n)),bT=-(2n**(240n-1n)),xT=-(2n**(248n-1n)),wT=-(2n**(256n-1n)),vT=2n**8n-1n,CT=2n**16n-1n,ET=2n**24n-1n,kT=2n**32n-1n,ST=2n**40n-1n,AT=2n**48n-1n,IT=2n**56n-1n,_T=2n**64n-1n,TT=2n**72n-1n,PT=2n**80n-1n,$T=2n**88n-1n,RT=2n**96n-1n,BT=2n**104n-1n,FT=2n**112n-1n,MT=2n**120n-1n,DT=2n**128n-1n,NT=2n**136n-1n,zT=2n**144n-1n,LT=2n**152n-1n,OT=2n**160n-1n,UT=2n**168n-1n,HT=2n**176n-1n,jT=2n**184n-1n,GT=2n**192n-1n,VT=2n**200n-1n,qT=2n**208n-1n,KT=2n**216n-1n,WT=2n**224n-1n,JT=2n**232n-1n,ZT=2n**240n-1n,YT=2n**248n-1n,Qn=2n**256n-1n});function Te(e){return typeof e[0]=="string"?Ue(e):Ow(e)}function Ow(e){let t=0;for(let n of e)t+=n.length;let r=new Uint8Array(t),o=0;for(let n of e)r.set(n,o),o+=n.length;return r}function Ue(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}var ot=S(()=>{});var Fi,es,sc,Jp=S(()=>{j();Fi=class extends x{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}},es=class extends x{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}},sc=class extends x{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function ts(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(Uw);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var Uw,ic=S(()=>{Jp();Uw={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 sc({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new es({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Fi({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 Fi({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 ac,u0,cc=S(()=>{ac={gwei:9,wei:18},u0={ether:-9,wei:9}});function mc(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 Zp=S(()=>{});function rs(e,t="wei"){return mc(e,ac[t])}var uc=S(()=>{cc();Zp()});function Me(e,t="wei"){return mc(e,u0[t])}var os=S(()=>{cc();Zp()});function dn(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 pc,fc,lc,dc,hc,ns,ss,is,gc,vt=S(()=>{uc();os();j();pc=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"})}},fc=class extends x{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}},lc=class extends x{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",dn(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"})}},dc=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"})}},hc=class extends x{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:f,value:p}){let d=dn({chain:n&&`${n?.name} (id: ${n?.id})`,from:r?.address,to:f,value:typeof p<"u"&&`${rs(p)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Me(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Me(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Me(m)} gwei`,nonce:u});super(t.shortMessage,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Request Arguments:",d].filter(Boolean),name:"TransactionExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}},ns=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"})}},ss=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"})}},is=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}},gc=class extends x{constructor({hash:t}){super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}});function Gw(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Yp(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function hn(e,...t){if(!Gw(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 ps(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 yc(e,t){hn(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function f0(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function po(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function bc(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Qt(e,t){return e<<32-t|e>>>t}function qw(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Kw(e){for(let t=0;t<e.length;t++)e[t]=qw(e[t]);return e}function Ww(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Mi(e){return typeof e=="string"&&(e=Ww(e)),hn(e),e}function xc(e){let t=o=>e().update(Mi(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}var Vw,Xp,us,wc=S(()=>{Vw=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();Xp=Vw?e=>e:Kw;us=class{}});function Zw(e,t=!1){return t?{h:Number(e&Cc),l:Number(e>>h0&Cc)}:{h:Number(e>>h0&Cc)|0,l:Number(e&Cc)|0}}function g0(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}=Zw(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var Cc,h0,y0,b0,x0,w0,v0=S(()=>{Cc=BigInt(4294967295),h0=BigInt(32);y0=(e,t,r)=>e<<r|t>>>32-r,b0=(e,t,r)=>t<<r|e>>>32-r,x0=(e,t,r)=>t<<r-32|e>>>64-r,w0=(e,t,r)=>e<<r-32|t>>>64-r});var ne,er=S(()=>{j();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 gn,Tc,Pc,Di,yn,Ni=S(()=>{j();gn=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"})}},Tc=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"})}},Pc=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"})}},Di=class extends x{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}},yn=class extends x{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}});var Or,Bt,ls,ds,hs,gs,ys,bs,xs,ws,pr,Ft,lo=S(()=>{os();j();Or=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(Or,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(Or,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});Bt=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(Bt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});ls=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(ls,"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/});ds=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(ds,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});hs=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(hs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});gs=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(gs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});ys=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(ys,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});bs=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(bs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});xs=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(xs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});ws=class extends x{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}};Object.defineProperty(ws,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});pr=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(pr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});Ft=class extends x{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}});var Mt,vs=S(()=>{Mt=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 av(e,t=24){let r=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let i=0;i<10;i++)r[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){let a=(i+8)%10,c=(i+2)%10,m=r[c],u=r[c+1],f=I0(m,u,1)^r[a],p=_0(m,u,1)^r[a+1];for(let d=0;d<50;d+=10)e[i+d]^=f,e[i+d+1]^=p}let n=e[2],s=e[3];for(let i=0;i<24;i++){let a=P0[i],c=I0(n,s,a),m=_0(n,s,a),u=T0[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]^=sv[o],e[1]^=iv[o]}po(r)}var ev,zi,tv,rv,ov,nv,T0,P0,$0,R0,sv,iv,I0,_0,Li,cv,$c,Qp=S(()=>{v0();wc();ev=BigInt(0),zi=BigInt(1),tv=BigInt(2),rv=BigInt(7),ov=BigInt(256),nv=BigInt(113),T0=[],P0=[],$0=[];for(let e=0,t=zi,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],T0.push(2*(5*o+r)),P0.push((e+1)*(e+2)/2%64);let n=ev;for(let s=0;s<7;s++)t=(t<<zi^(t>>rv)*nv)%ov,t&tv&&(n^=zi<<(zi<<BigInt(s))-zi);$0.push(n)}R0=g0($0,!0),sv=R0[0],iv=R0[1],I0=(e,t,r)=>r>32?x0(e,t,r):y0(e,t,r),_0=(e,t,r)=>r>32?w0(e,t,r):b0(e,t,r);Li=class extends us{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,Yp(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=f0(this.state)}clone(){return this._cloneInto()}keccak(){Xp(this.state32),av(this.state32,this.rounds),Xp(this.state32),this.posOut=0,this.pos=0}update(t){ps(this),t=Mi(t),hn(t);let{blockLen:r,state:o}=this,n=t.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);for(let a=0;a<i;a++)o[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:o,blockLen:n}=this;t[o]^=r,r&128&&o===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){ps(this,!1),hn(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 Yp(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(yc(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,po(this.state)}_cloneInto(t){let{blockLen:r,suffix:o,outputLen:n,rounds:s,enableXOF:i}=this;return t||(t=new Li(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}},cv=(e,t,r)=>xc(()=>new Li(t,e,r)),$c=(()=>cv(1,136,256/8))()});function se(e,t){let r=t||"hex",o=$c(ce(e,{strict:!1})?Rt(e):e);return r==="bytes"?o:ie(o)}var Dt=S(()=>{Qp();wt();Oe();M()});function Ur(e,t){if(ef.has(`${e}.${t}`))return ef.get(`${e}.${t}`);let r=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),o=se(Yt(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 ef.set(`${e}.${t}`,s),s}function Cs(e,t){if(!Q(e,{strict:!1}))throw new ne({address:e});return Ur(e,t)}var ef,ho=S(()=>{er();Oe();Dt();vs();Ct();ef=new Mt(8192)});function Q(e,t){let{strict:r=!0}=t??{},o=`${e}.${r}`;if(tf.has(o))return tf.get(o);let n=(()=>mv.test(e)?e.toLowerCase()===e?!0:r?Ur(e)===e:!0:!1)();return tf.set(o,n),n}var mv,tf,Ct=S(()=>{vs();ho();mv=/^0x[a-fA-F0-9]{40}$/,tf=new Mt(8192)});function Nt(e,t,r,{strict:o}={}){return ce(e,{strict:!1})?Rc(e,t,r,{strict:o}):rf(e,t,r,{strict:o})}function B0(e,t){if(typeof t=="number"&&t>0&&t>Y(e)-1)throw new Ti({offset:t,position:"start",size:Y(e)})}function F0(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Y(e)!==r-t)throw new Ti({offset:r,position:"end",size:Y(e)})}function rf(e,t,r,{strict:o}={}){B0(e,t);let n=e.slice(t,r);return o&&F0(n,t,r),n}function Rc(e,t,r,{strict:o}={}){B0(e,t);let n=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return o&&F0(n,t,r),n}var go=S(()=>{tc();wt();$t()});function zt({blockNumber:e,chain:t,contract:r}){let o=t?.contracts?.[r];if(!o)throw new gn({chain:t,contract:{name:r}});if(e&&o.blockCreated&&o.blockCreated>e)throw new gn({blockNumber:e,chain:t,contract:{name:r,blockCreated:o.blockCreated}});return o.address}var bn=S(()=>{Ni()});function G(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}var we=S(()=>{});var H0,Nc,j0,zc=S(()=>{H0={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."},Nc={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},j0={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 Lc(e.type);return`${e.name}(${ji(e.inputs,{includeName:t})})`}function ji(e,{includeName:t=!1}={}){return e?e.map(r=>wv(r,{includeName:t})).join(t?", ":","):""}function wv(e,{includeName:t}){return e.type.startsWith("tuple")?`(${ji(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}var Hr=S(()=>{ve()});var Oc,Gi,ks,Ot,Uc,Hc,jc,Gc,Vi,Ss,Vc,As,qi,tr,Is,qc,Kc,Wc,rr,fr,Jc,Zc,_s,Lc,ve=S(()=>{Hr();$t();j();Oc=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"})}},Gi=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"})}},ks=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: (${ji(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}},Ot=class extends x{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}},Uc=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"})}},Hc=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"})}},jc=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"})}},Gc=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"})}},Vi=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"})}},Ss=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}},Vc=class extends x{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}},As=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"})}},qi=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"})}},tr=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"})}},Is=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"})}},qc=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"})}},Kc=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"})}},Wc=class extends x{constructor({expectedSize:t,givenSize:r}){super(`Expected bytes${t}, got bytes${r}.`,{name:"BytesSizeMismatchError"})}},rr=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: (${ji(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}},fr=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}},Jc=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"})}},Zc=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"})}},_s=class extends x{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
32
- `),{name:"InvalidArrayError"})}},Lc=class extends x{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
33
- `),{name:"InvalidDefinitionTypeError"})}}});function G0(e){return vv(e)}var vv,V0=S(()=>{Oe();Dt();vv=e=>se(Rt(e))});var q0,K0=S(()=>{q0="1.1.0"});var de,Ts=S(()=>{K0();de=class extends Error{constructor(t,r={}){let o=r.cause instanceof de?r.cause.details:r.cause?.message?r.cause.message:r.details,n=r.cause instanceof de&&r.cause.docsPath||r.docsPath,s=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...n?[`Docs: https://abitype.dev${n}`]:[],...o?[`Details: ${o}`]:[],`Version: abitype@${q0}`].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 Et(e,t){return e.exec(t)?.groups}var nf,sf,Yc,Ki=S(()=>{nf=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,sf=/^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)?$/,Yc=/^\(.+?\).*?$/});function Xc(e){let t=e.type;if(W0.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+=Xc(s),n<r-1&&(t+=", ")}let o=Et(W0,e.type);return t+=`)${o?.array??""}`,Xc({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var W0,J0=S(()=>{Ki();W0=/^tuple(?<array>(\[(\d*)\])*)$/});function jr(e){let t="",r=e.length;for(let o=0;o<r;o++){let n=e[o];t+=Xc(n),o!==r-1&&(t+=", ")}return t}var af=S(()=>{J0()});function xn(e){return e.type==="function"?`function ${e.name}(${jr(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${jr(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${jr(e.inputs)})`:e.type==="error"?`error ${e.name}(${jr(e.inputs)})`:e.type==="constructor"?`constructor(${jr(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}var Z0=S(()=>{af()});function X0(e){return Y0.test(e)}function Q0(e){return Et(Y0,e)}function th(e){return eh.test(e)}function rh(e){return Et(eh,e)}function nh(e){return oh.test(e)}function sh(e){return Et(oh,e)}function yo(e){return ih.test(e)}function ah(e){return Et(ih,e)}function mh(e){return ch.test(e)}function uh(e){return Et(ch,e)}function fh(e){return ph.test(e)}function lh(e){return Et(ph,e)}function dh(e){return Cv.test(e)}var Y0,eh,oh,ih,ch,ph,Cv,cf,hh,Qc,Ps=S(()=>{Ki();Y0=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;eh=/^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>.*?)\))?$/;ih=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;ch=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;ph=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;Cv=/^receive\(\) external payable$/;cf=new Set(["memory","indexed","storage","calldata"]),hh=new Set(["indexed"]),Qc=new Set(["calldata","memory","storage"])});var em,tm,rm,om=S(()=>{Ts();em=class extends de{constructor({signature:t}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}},tm=class extends de{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}},rm=class extends de{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}});var nm,sm,im,am,cm,mm,um=S(()=>{Ts();nm=class extends de{constructor({params:t}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}},sm=class extends de{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},im=class extends de{constructor({param:t,name:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`"${r}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}},am=class extends de{constructor({param:t,type:r,modifier:o}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${o}" not allowed${r?` in "${r}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}},cm=class extends de{constructor({param:t,type:r,modifier:o}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${o}" not allowed${r?` in "${r}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${o}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}},mm=class extends de{constructor({abiParameter:t}){super("Invalid ABI parameter.",{details:JSON.stringify(t,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}});var lr,pm,fm,mf=S(()=>{Ts();lr=class extends de{constructor({signature:t,type:r}){super(`Invalid ${r} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}},pm=class extends de{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},fm=class extends de{constructor({signature:t}){super("Invalid struct signature.",{details:t,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}});var lm,gh=S(()=>{Ts();lm=class extends de{constructor({type:t}){super("Circular reference detected.",{metaMessages:[`Struct "${t}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}});var dm,yh=S(()=>{Ts();dm=class extends de{constructor({current:t,depth:r}){super("Unbalanced parentheses.",{metaMessages:[`"${t.trim()}" has too many ${r>0?"opening":"closing"} parentheses.`],details:`Depth "${r}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}});function bh(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 hm,xh=S(()=>{hm=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 Wi(e,t={}){if(nh(e))return Ev(e,t);if(th(e))return kv(e,t);if(X0(e))return Sv(e,t);if(mh(e))return Av(e,t);if(fh(e))return Iv(e);if(dh(e))return{type:"receive",stateMutability:"payable"};throw new pm({signature:e})}function Ev(e,t={}){let r=sh(e);if(!r)throw new lr({signature:e,type:"function"});let o=ft(r.parameters),n=[],s=o.length;for(let a=0;a<s;a++)n.push(or(o[a],{modifiers:Qc,structs:t,type:"function"}));let i=[];if(r.returns){let a=ft(r.returns),c=a.length;for(let m=0;m<c;m++)i.push(or(a[m],{modifiers:Qc,structs:t,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:n,outputs:i}}function kv(e,t={}){let r=rh(e);if(!r)throw new lr({signature:e,type:"event"});let o=ft(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(or(o[i],{modifiers:hh,structs:t,type:"event"}));return{name:r.name,type:"event",inputs:n}}function Sv(e,t={}){let r=Q0(e);if(!r)throw new lr({signature:e,type:"error"});let o=ft(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(or(o[i],{structs:t,type:"error"}));return{name:r.name,type:"error",inputs:n}}function Av(e,t={}){let r=uh(e);if(!r)throw new lr({signature:e,type:"constructor"});let o=ft(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(or(o[i],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:n}}function Iv(e){let t=lh(e);if(!t)throw new lr({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}function or(e,t){let r=bh(e,t?.type,t?.structs);if(hm.has(r))return hm.get(r);let o=Yc.test(e),n=Et(o?Tv:_v,e);if(!n)throw new sm({param:e});if(n.name&&Rv(n.name))throw new im({param:e,name:n.name});let s=n.name?{name:n.name}:{},i=n.modifier==="indexed"?{indexed:!0}:{},a=t?.structs??{},c,m={};if(o){c="tuple";let f=ft(n.type),p=[],d=f.length;for(let h=0;h<d;h++)p.push(or(f[h],{structs:a}));m={components:p}}else if(n.type in a)c="tuple",m={components:a[n.type]};else if(Pv.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,t?.type!=="struct"&&!uf(c))throw new rm({type:c});if(n.modifier){if(!t?.modifiers?.has?.(n.modifier))throw new am({param:e,type:t?.type,modifier:n.modifier});if(Qc.has(n.modifier)&&!Bv(c,!!n.array))throw new cm({param:e,type:t?.type,modifier:n.modifier})}let u={type:`${c}${n.array??""}`,...s,...i,...m};return hm.set(r,u),u}function ft(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?ft(a,[...t,r.trim()]):ft(a,t,`${r}${i}`,o);case"(":return ft(a,t,`${r}${i}`,o+1);case")":return ft(a,t,`${r}${i}`,o-1);default:return ft(a,t,`${r}${i}`,o)}}if(r==="")return t;if(o!==0)throw new dm({current:r,depth:o});return t.push(r.trim()),t}function uf(e){return e==="address"||e==="bool"||e==="function"||e==="string"||nf.test(e)||sf.test(e)}function Rv(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||nf.test(e)||sf.test(e)||$v.test(e)}function Bv(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}var _v,Tv,Pv,$v,$s=S(()=>{Ki();om();um();mf();yh();xh();Ps();_v=/^(?<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$_]*))?$/,Tv=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Pv=/^u?int$/;$v=/^(?: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 Rs(e){let t={},r=e.length;for(let i=0;i<r;i++){let a=e[i];if(!yo(a))continue;let c=ah(a);if(!c)throw new lr({signature:a,type:"struct"});let m=c.properties.split(";"),u=[],f=m.length;for(let p=0;p<f;p++){let h=m[p].trim();if(!h)continue;let g=or(h,{type:"struct"});u.push(g)}if(!u.length)throw new fm({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]=wh(c,t)}return o}function wh(e,t,r=new Set){let o=[],n=e.length;for(let s=0;s<n;s++){let i=e[s];if(Yc.test(i.type))o.push(i);else{let c=Et(Fv,i.type);if(!c?.type)throw new mm({abiParameter:i});let{array:m,type:u}=c;if(u in t){if(r.has(u))throw new lm({type:u});o.push({...i,type:`tuple${m??""}`,components:wh(t[u]??[],t,new Set([...r,u]))})}else if(uf(u))o.push(i);else throw new tm({type:u})}}return o}var Fv,gm=S(()=>{Ki();om();um();mf();gh();Ps();$s();Fv=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/});function ym(e){let t=Rs(e),r=[],o=e.length;for(let n=0;n<o;n++){let s=e[n];yo(s)||r.push(Wi(s,t))}return r}var vh=S(()=>{Ps();gm();$s()});function bm(e){let t;if(typeof e=="string")t=Wi(e);else{let r=Rs(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(!yo(s)){t=Wi(s,r);break}}}if(!t)throw new em({signature:e});return t}var Ch=S(()=>{om();Ps();gm();$s()});function xm(e){let t=[];if(typeof e=="string"){let r=ft(e),o=r.length;for(let n=0;n<o;n++)t.push(or(r[n],{modifiers:cf}))}else{let r=Rs(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(yo(s))continue;let i=ft(s),a=i.length;for(let c=0;c<a;c++)t.push(or(i[c],{modifiers:cf,structs:r}))}}if(t.length===0)throw new nm({params:e});return t}var Eh=S(()=>{um();Ps();gm();$s();$s()});var Ji=S(()=>{Z0();af();vh();Ch();Eh()});function Sh(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 Ah=S(()=>{j()});var Ih,_h=S(()=>{Ji();Ah();Ih=e=>{let t=(()=>typeof e=="string"?e:xn(e))();return Sh(t)}});function wm(e){return G0(Ih(e))}var pf=S(()=>{V0();_h()});var dr,Bs=S(()=>{go();pf();dr=e=>Nt(wm(e),0,4)});function Th(e,t={}){typeof t.size<"u"&&ut(e,{size:t.size});let r=X(e,t);return ae(r,t)}function Ph(e,t={}){let r=e;if(typeof t.size<"u"&&(ut(r,{size:t.size}),r=Le(r)),r.length>1||r[0]>1)throw new Xa(r);return!!r[0]}function hr(e,t={}){typeof t.size<"u"&&ut(e,{size:t.size});let r=X(e,t);return be(r,t)}function $h(e,t={}){let r=e;return typeof t.size<"u"&&(ut(r,{size:t.size}),r=Le(r,{dir:"right"})),new TextDecoder().decode(r)}var Rh=S(()=>{_i();fn();Be();M()});var Bh,vm,ff=S(()=>{Bh=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,vm=/^(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 nt(e,t){if(e.length!==t.length)throw new jc({expectedLength:e.length,givenLength:t.length});let r=Mv({params:e,values:t}),o=df(r);return o.length===0?"0x":o}function Mv({params:e,values:t}){let r=[];for(let o=0;o<e.length;o++)r.push(lf({param:e[o],value:t[o]}));return r}function lf({param:e,value:t}){let r=Cm(e.type);if(r){let[o,n]=r;return Nv(t,{length:o,param:{...e,type:n}})}if(e.type==="tuple")return Hv(t,{param:e});if(e.type==="address")return Dv(t);if(e.type==="bool")return Lv(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){let o=e.type.startsWith("int"),[,,n="256"]=vm.exec(e.type)??[];return Ov(t,{signed:o,size:Number(n)})}if(e.type.startsWith("bytes"))return zv(t,{param:e});if(e.type==="string")return Uv(t);throw new Jc(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function df(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 Te([...r,...o])}function Dv(e){if(!Q(e))throw new ne({address:e});return{dynamic:!1,encoded:Nr(e.toLowerCase())}}function Nv(e,{length:t,param:r}){let o=t===null;if(!Array.isArray(e))throw new _s(e);if(!o&&e.length!==t)throw new Uc({expectedLength:t,givenLength:e.length,type:`${r.type}[${t}]`});let n=!1,s=[];for(let i=0;i<e.length;i++){let a=lf({param:r,value:e[i]});a.dynamic&&(n=!0),s.push(a)}if(o||n){let i=df(s);if(o){let a=E(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?Te([a,i]):a}}if(n)return{dynamic:!0,encoded:i}}return{dynamic:!1,encoded:Te(s.map(({encoded:i})=>i))}}function zv(e,{param:t}){let[,r]=t.type.split("bytes"),o=Y(e);if(!r){let n=e;return o%32!==0&&(n=Nr(n,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Te([Nr(E(o,{size:32})),n])}}if(o!==Number.parseInt(r,10))throw new Hc({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:Nr(e,{dir:"right"})}}function Lv(e){if(typeof e!="boolean")throw new x(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Nr(oc(e))}}function Ov(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 Yn({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 Uv(e){let t=Zt(e),r=Math.ceil(Y(t)/32),o=[];for(let n=0;n<r;n++)o.push(Nr(Nt(t,n*32,(n+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Te([Nr(E(Y(t),{size:32})),...o])}}function Hv(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=lf({param:s,value:e[i]});o.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?df(o):Te(o.map(({encoded:n})=>n))}}function Cm(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var Gr=S(()=>{ve();er();j();_i();Ct();ot();rc();$t();go();M();ff()});function Vr(e,t){let r=typeof t=="string"?Fe(t):t,o=ts(r);if(Y(r)===0&&e.length>0)throw new Ot;if(Y(t)&&Y(t)<32)throw new ks({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]=Fs(o,a,{staticPosition:0});n+=m,s.push(c)}return s}function Fs(e,t,{staticPosition:r}){let o=Cm(t.type);if(o){let[n,s]=o;return Gv(e,{...t,type:s},{length:n,staticPosition:r})}if(t.type==="tuple")return Wv(e,t,{staticPosition:r});if(t.type==="address")return jv(e);if(t.type==="bool")return Vv(e);if(t.type.startsWith("bytes"))return qv(e,t,{staticPosition:r});if(t.type.startsWith("uint")||t.type.startsWith("int"))return Kv(e,t);if(t.type==="string")return Jv(e,{staticPosition:r});throw new Zc(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function jv(e){let t=e.readBytes(32);return[Ur(X(rf(t,-20))),32]}function Gv(e,t,{length:r,staticPosition:o}){if(!r){let i=hr(e.readBytes(hf)),a=o+i,c=a+Fh;e.setPosition(a);let m=hr(e.readBytes(Fh)),u=Zi(t),f=0,p=[];for(let d=0;d<m;++d){e.setPosition(c+(u?d*32:f));let[h,g]=Fs(e,t,{staticPosition:c});f+=g,p.push(h)}return e.setPosition(o+32),[p,32]}if(Zi(t)){let i=hr(e.readBytes(hf)),a=o+i,c=[];for(let m=0;m<r;++m){e.setPosition(a+m*32);let[u]=Fs(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]=Fs(e,t,{staticPosition:o+n});n+=c,s.push(a)}return[s,n]}function Vv(e){return[Ph(e.readBytes(32),{size:32}),32]}function qv(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=hr(e.readBytes(32));e.setPosition(r+i);let a=hr(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 Kv(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?Th(n,{signed:r}):hr(n,{signed:r}),32]}function Wv(e,t,{staticPosition:r}){let o=t.components.length===0||t.components.some(({name:i})=>!i),n=o?[]:{},s=0;if(Zi(t)){let i=hr(e.readBytes(hf)),a=r+i;for(let c=0;c<t.components.length;++c){let m=t.components[c];e.setPosition(a+s);let[u,f]=Fs(e,m,{staticPosition:a});s+=f,n[o?c:m?.name]=u}return e.setPosition(r+32),[n,32]}for(let i=0;i<t.components.length;++i){let a=t.components[i],[c,m]=Fs(e,a,{staticPosition:r});n[o?i:a?.name]=c,s+=m}return[n,s]}function Jv(e,{staticPosition:t}){let r=hr(e.readBytes(32)),o=t+r;e.setPosition(o);let n=hr(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=$h(Le(s));return e.setPosition(t+32),[i,32]}function Zi(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(Zi);let r=Cm(e.type);return!!(r&&Zi({...e,type:r[1]}))}var Fh,hf,Yi=S(()=>{ve();ho();ic();$t();go();fn();Rh();Oe();M();Gr();Fh=32,hf=32});function Em(e){let{abi:t,data:r}=e,o=Nt(r,0,4);if(o==="0x")throw new Ot;let s=[...t||[],Nc,j0].find(i=>i.type==="error"&&o===dr(De(i)));if(!s)throw new Ss(o,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:s,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Vr(s.inputs,Nt(r,4)):void 0,errorName:s.name}}var gf=S(()=>{zc();ve();go();Bs();Yi();Hr()});var J,Ze=S(()=>{J=(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 yf({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"?J(t[s]):t[s]}`).join(", ")})`}var Mh=S(()=>{Ze()});var bo,Xi=S(()=>{pf();bo=wm});function lt(e){let{abi:t,args:r=[],name:o}=e,n=ce(o,{strict:!1}),s=t.filter(a=>n?a.type==="function"?dr(a)===o:a.type==="event"?bo(a)===o:!1:"name"in a&&a.name===o);if(s.length===0)return;if(s.length===1)return s[0];let i;for(let a of s){if(!("inputs"in a))continue;if(!r||r.length===0){if(!a.inputs||a.inputs.length===0)return a;continue}if(!a.inputs||a.inputs.length===0||a.inputs.length!==r.length)continue;if(r.every((m,u)=>{let f="inputs"in a&&a.inputs[u];return f?bf(m,f):!1})){if(i&&"inputs"in i&&i.inputs){let m=Dh(a.inputs,i.inputs,r);if(m)throw new Kc({abiItem:a,type:m[0]},{abiItem:i,type:m[1]})}i=a}}return i||s[0]}function bf(e,t){let r=typeof e,o=t.type;switch(o){case"address":return Q(e,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return o==="tuple"&&"components"in t?Object.values(t.components).every((n,s)=>bf(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=>bf(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function Dh(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 Dh(n.components,s.components,r[o]);let i=[n.type,s.type];if((()=>i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?Q(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?Q(r[o],{strict:!1}):!1)())return i}}var xo=S(()=>{ve();wt();Ct();Xi();Bs()});function Nh(e){return e.reduce((t,{slot:r,value:o})=>`${t} ${r}: ${o}
35
- `,"")}function zh(e){return e.reduce((t,{address:r,...o})=>{let n=`${t} ${r}:
5
+ `+s),e.push(n+"m+"+Qa.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=Bw()+t+" "+e[0]}function Bw(){return ze.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Fw(...e){return process.stderr.write(Xa.formatWithOptions(ze.inspectOpts,...e)+`
6
+ `)}function Mw(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function Dw(){return process.env.DEBUG}function Nw(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]]}Qa.exports=jp()(ze);var{formatters:o0}=Qa.exports;o0.o=function(e){return this.inspectOpts.colors=this.useColors,Xa.inspect(e,this.inspectOpts).split(`
7
+ `).map(t=>t.trim()).join(" ")};o0.O=function(e){return this.inspectOpts.colors=this.useColors,Xa.inspect(e,this.inspectOpts)}});var s0=ct((SI,qp)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?qp.exports=Yd():qp.exports=n0()});var Kp,a0=S(()=>{Kp="2.38.6"});function c0(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?c0(e.cause,t):t?null:e}var Wp,x,H=S(()=>{a0();Wp={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${Kp}`},x=class extends Error{constructor(t,r={}){let o=(()=>r.cause instanceof x?r.cause.details:r.cause?.message?r.cause.message:r.details)(),n=(()=>r.cause instanceof x&&r.cause.docsPath||r.docsPath)(),s=Wp.getDocsUrl?.({...r,docsPath:n}),i=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...o?[`Details: ${o}`]:[],...Wp.version?[`Version: ${Wp.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=Kp}walk(t){return c0(this,t)}}});var Xn,ec,tc,rc,Pi=S(()=>{H();Xn=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"})}},ec=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"})}},tc=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"})}},rc=class extends x{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}});function ae(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}var vt=S(()=>{});function Z(e){return ae(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Rt=S(()=>{vt()});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 ln=S(()=>{});var Ti,$i,Ri,oc=S(()=>{H();Ti=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"})}},$i=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"})}},Ri=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 po(e,{dir:t,size:r=32}={}){return typeof e=="string"?Lr(e,{dir:t,size:r}):zw(e,{dir:t,size:r})}function Lr(e,{dir:t,size:r=32}={}){if(r===null)return e;let o=e.replace("0x","");if(o.length>r*2)throw new $i({size:Math.ceil(o.length/2),targetSize:r,type:"hex"});return`0x${o[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function zw(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new $i({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 nc=S(()=>{oc()});function se(e,t={}){return typeof e=="number"||typeof e=="bigint"?E(e,t):typeof e=="string"?Yt(e,t):typeof e=="boolean"?sc(e,t):Y(e,t)}function sc(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(pt(r,{size:t.size}),po(r,{size:t.size})):r}function Y(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=Lw[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(pt(o,{size:t.size}),po(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 Xn({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?po(a,{size:o}):a}function Yt(e,t={}){let r=Ow.encode(e);return Y(r,t)}var Lw,Ow,F=S(()=>{Pi();nc();Re();Lw=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));Ow=new TextEncoder});function Bt(e,t={}){return typeof e=="number"||typeof e=="bigint"?jw(e,t):typeof e=="boolean"?Hw(e,t):ae(e)?Be(e,t):Xt(e,t)}function Hw(e,t={}){let r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(pt(r,{size:t.size}),po(r,{size:t.size})):r}function m0(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 Be(e,t={}){let r=e;t.size&&(pt(r,{size:t.size}),r=po(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=m0(o.charCodeAt(a++)),m=m0(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 jw(e,t){let r=E(e,t);return Be(r)}function Xt(e,t={}){let r=Uw.encode(e);return typeof t.size=="number"?(pt(r,{size:t.size}),po(r,{dir:"right",size:t.size})):r}var Uw,Or,Oe=S(()=>{H();vt();nc();Re();F();Uw=new TextEncoder;Or={zero:48,nine:57,A:65,F:70,a:97,f:102}});function pt(e,{size:t}){if(Z(e)>t)throw new rc({givenSize:Z(e),maxSize:t})}function ie(e,t={}){let{signed:r}=t;t.size&&pt(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 Jp(e,t={}){let r=e;if(t.size&&(pt(r,{size:t.size}),r=Le(r)),Le(r)==="0x00")return!1;if(Le(r)==="0x01")return!0;throw new tc(r)}function ye(e,t={}){return Number(ie(e,t))}var Re=S(()=>{Pi();Rt();ln()});function Qn(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 ic=S(()=>{});function ft(e,t){let r={};return typeof e.authorizationList<"u"&&(r.authorizationList=qw(e.authorizationList)),typeof e.accessList<"u"&&(r.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(r.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?r.blobs=e.blobs.map(o=>Y(o)):r.blobs=e.blobs),typeof e.data<"u"&&(r.data=e.data),e.account&&(r.from=e.account.address),typeof e.from<"u"&&(r.from=e.from),typeof e.gas<"u"&&(r.gas=E(e.gas)),typeof e.gasPrice<"u"&&(r.gasPrice=E(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(r.maxFeePerBlobGas=E(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(r.maxFeePerGas=E(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(r.maxPriorityFeePerGas=E(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(r.nonce=E(e.nonce)),typeof e.to<"u"&&(r.to=e.to),typeof e.type<"u"&&(r.type=Vw[e.type]),typeof e.value<"u"&&(r.value=E(e.value)),r}function qw(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 Vw,fo=S(()=>{F();Vw={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"}});var g_,y_,b_,x_,w_,v_,C_,E_,k_,S_,A_,I_,__,P_,T_,$_,R_,B_,F_,M_,D_,N_,z_,L_,O_,U_,H_,j_,G_,V_,q_,K_,W_,J_,Z_,Y_,X_,Q_,eP,tP,rP,oP,nP,sP,iP,aP,cP,mP,uP,pP,fP,lP,dP,hP,gP,yP,bP,xP,wP,vP,CP,EP,kP,SP,AP,IP,_P,PP,TP,$P,RP,BP,FP,MP,DP,NP,zP,LP,OP,UP,HP,jP,GP,VP,qP,KP,WP,JP,ZP,YP,XP,QP,eT,tT,rT,es,Xp=S(()=>{g_=2n**(8n-1n)-1n,y_=2n**(16n-1n)-1n,b_=2n**(24n-1n)-1n,x_=2n**(32n-1n)-1n,w_=2n**(40n-1n)-1n,v_=2n**(48n-1n)-1n,C_=2n**(56n-1n)-1n,E_=2n**(64n-1n)-1n,k_=2n**(72n-1n)-1n,S_=2n**(80n-1n)-1n,A_=2n**(88n-1n)-1n,I_=2n**(96n-1n)-1n,__=2n**(104n-1n)-1n,P_=2n**(112n-1n)-1n,T_=2n**(120n-1n)-1n,$_=2n**(128n-1n)-1n,R_=2n**(136n-1n)-1n,B_=2n**(144n-1n)-1n,F_=2n**(152n-1n)-1n,M_=2n**(160n-1n)-1n,D_=2n**(168n-1n)-1n,N_=2n**(176n-1n)-1n,z_=2n**(184n-1n)-1n,L_=2n**(192n-1n)-1n,O_=2n**(200n-1n)-1n,U_=2n**(208n-1n)-1n,H_=2n**(216n-1n)-1n,j_=2n**(224n-1n)-1n,G_=2n**(232n-1n)-1n,V_=2n**(240n-1n)-1n,q_=2n**(248n-1n)-1n,K_=2n**(256n-1n)-1n,W_=-(2n**(8n-1n)),J_=-(2n**(16n-1n)),Z_=-(2n**(24n-1n)),Y_=-(2n**(32n-1n)),X_=-(2n**(40n-1n)),Q_=-(2n**(48n-1n)),eP=-(2n**(56n-1n)),tP=-(2n**(64n-1n)),rP=-(2n**(72n-1n)),oP=-(2n**(80n-1n)),nP=-(2n**(88n-1n)),sP=-(2n**(96n-1n)),iP=-(2n**(104n-1n)),aP=-(2n**(112n-1n)),cP=-(2n**(120n-1n)),mP=-(2n**(128n-1n)),uP=-(2n**(136n-1n)),pP=-(2n**(144n-1n)),fP=-(2n**(152n-1n)),lP=-(2n**(160n-1n)),dP=-(2n**(168n-1n)),hP=-(2n**(176n-1n)),gP=-(2n**(184n-1n)),yP=-(2n**(192n-1n)),bP=-(2n**(200n-1n)),xP=-(2n**(208n-1n)),wP=-(2n**(216n-1n)),vP=-(2n**(224n-1n)),CP=-(2n**(232n-1n)),EP=-(2n**(240n-1n)),kP=-(2n**(248n-1n)),SP=-(2n**(256n-1n)),AP=2n**8n-1n,IP=2n**16n-1n,_P=2n**24n-1n,PP=2n**32n-1n,TP=2n**40n-1n,$P=2n**48n-1n,RP=2n**56n-1n,BP=2n**64n-1n,FP=2n**72n-1n,MP=2n**80n-1n,DP=2n**88n-1n,NP=2n**96n-1n,zP=2n**104n-1n,LP=2n**112n-1n,OP=2n**120n-1n,UP=2n**128n-1n,HP=2n**136n-1n,jP=2n**144n-1n,GP=2n**152n-1n,VP=2n**160n-1n,qP=2n**168n-1n,KP=2n**176n-1n,WP=2n**184n-1n,JP=2n**192n-1n,ZP=2n**200n-1n,YP=2n**208n-1n,XP=2n**216n-1n,QP=2n**224n-1n,eT=2n**232n-1n,tT=2n**240n-1n,rT=2n**248n-1n,es=2n**256n-1n});function _e(e){return typeof e[0]=="string"?Ue(e):Kw(e)}function Kw(e){let t=0;for(let n of e)t+=n.length;let r=new Uint8Array(t),o=0;for(let n of e)r.set(n,o),o+=n.length;return r}function Ue(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}var ot=S(()=>{});var Mi,ts,ac,Qp=S(()=>{H();Mi=class extends x{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}},ts=class extends x{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}},ac=class extends x{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function rs(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(Ww);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var Ww,cc=S(()=>{Qp();Ww={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 ac({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new ts({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Mi({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 Mi({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 mc,h0,uc=S(()=>{mc={gwei:9,wei:18},h0={ether:-9,wei:9}});function pc(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 ef=S(()=>{});function os(e,t="wei"){return pc(e,mc[t])}var fc=S(()=>{uc();ef()});function Fe(e,t="wei"){return pc(e,h0[t])}var ns=S(()=>{uc();ef()});function hn(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 lc,dc,hc,gc,yc,ss,is,as,bc,Ct=S(()=>{fc();ns();H();lc=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"})}},dc=class extends x{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}},hc=class extends x{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",hn(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"})}},gc=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"})}},yc=class extends x{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:f,value:p}){let d=hn({chain:n&&`${n?.name} (id: ${n?.id})`,from:r?.address,to:f,value:typeof p<"u"&&`${os(p)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Fe(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Fe(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Fe(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}},ss=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"})}},is=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"})}},as=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}},bc=class extends x{constructor({hash:t}){super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}});function Yw(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function tf(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function gn(e,...t){if(!Yw(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 fs(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 xc(e,t){gn(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function y0(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function lo(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function wc(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function er(e,t){return e<<32-t|e>>>t}function Qw(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function ev(e){for(let t=0;t<e.length;t++)e[t]=Qw(e[t]);return e}function tv(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Di(e){return typeof e=="string"&&(e=tv(e)),gn(e),e}function vc(e){let t=o=>e().update(Di(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}var Xw,rf,ps,Cc=S(()=>{Xw=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();rf=Xw?e=>e:ev;ps=class{}});function ov(e,t=!1){return t?{h:Number(e&kc),l:Number(e>>w0&kc)}:{h:Number(e>>w0&kc)|0,l:Number(e&kc)|0}}function v0(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}=ov(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var kc,w0,C0,E0,k0,S0,A0=S(()=>{kc=BigInt(4294967295),w0=BigInt(32);C0=(e,t,r)=>e<<r|t>>>32-r,E0=(e,t,r)=>t<<r|e>>>32-r,k0=(e,t,r)=>t<<r-32|e>>>64-r,S0=(e,t,r)=>e<<r-32|t>>>64-r});var oe,tr=S(()=>{H();oe=class extends x{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}});var yn,$c,Rc,Ni,bn,zi=S(()=>{H();yn=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"})}},$c=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"})}},Rc=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"})}},Ni=class extends x{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}},bn=class extends x{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}});var Hr,Ft,ds,hs,gs,ys,bs,xs,ws,vs,fr,Mt,go=S(()=>{ns();H();Hr=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(Hr,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(Hr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});Ft=class extends x{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Fe(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}};Object.defineProperty(Ft,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});ds=class extends x{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Fe(r)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}};Object.defineProperty(ds,"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/});hs=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(hs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});gs=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(gs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});ys=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(ys,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});bs=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(bs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});xs=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(xs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});ws=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(ws,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});vs=class extends x{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}};Object.defineProperty(vs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});fr=class extends x{constructor({cause:t,maxPriorityFeePerGas:r,maxFeePerGas:o}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${Fe(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${o?` = ${Fe(o)} gwei`:""}).`].join(`
14
+ `),{cause:t,name:"TipAboveFeeCapError"})}};Object.defineProperty(fr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});Mt=class extends x{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}});var Dt,Cs=S(()=>{Dt=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 dv(e,t=24){let r=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let i=0;i<10;i++)r[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){let a=(i+8)%10,c=(i+2)%10,m=r[c],u=r[c+1],f=R0(m,u,1)^r[a],p=B0(m,u,1)^r[a+1];for(let d=0;d<50;d+=10)e[i+d]^=f,e[i+d+1]^=p}let n=e[2],s=e[3];for(let i=0;i<24;i++){let a=M0[i],c=R0(n,s,a),m=B0(n,s,a),u=F0[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]^=fv[o],e[1]^=lv[o]}lo(r)}var av,Li,cv,mv,uv,pv,F0,M0,D0,N0,fv,lv,R0,B0,Oi,hv,Bc,of=S(()=>{A0();Cc();av=BigInt(0),Li=BigInt(1),cv=BigInt(2),mv=BigInt(7),uv=BigInt(256),pv=BigInt(113),F0=[],M0=[],D0=[];for(let e=0,t=Li,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],F0.push(2*(5*o+r)),M0.push((e+1)*(e+2)/2%64);let n=av;for(let s=0;s<7;s++)t=(t<<Li^(t>>mv)*pv)%uv,t&cv&&(n^=Li<<(Li<<BigInt(s))-Li);D0.push(n)}N0=v0(D0,!0),fv=N0[0],lv=N0[1],R0=(e,t,r)=>r>32?k0(e,t,r):C0(e,t,r),B0=(e,t,r)=>r>32?S0(e,t,r):E0(e,t,r);Oi=class extends ps{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,tf(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=y0(this.state)}clone(){return this._cloneInto()}keccak(){rf(this.state32),dv(this.state32,this.rounds),rf(this.state32),this.posOut=0,this.pos=0}update(t){fs(this),t=Di(t),gn(t);let{blockLen:r,state:o}=this,n=t.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);for(let a=0;a<i;a++)o[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:o,blockLen:n}=this;t[o]^=r,r&128&&o===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){fs(this,!1),gn(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 tf(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(xc(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,lo(this.state)}_cloneInto(t){let{blockLen:r,suffix:o,outputLen:n,rounds:s,enableXOF:i}=this;return t||(t=new Oi(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}},hv=(e,t,r)=>vc(()=>new Oi(t,e,r)),Bc=(()=>hv(1,136,256/8))()});function ne(e,t){let r=t||"hex",o=Bc(ae(e,{strict:!1})?Bt(e):e);return r==="bytes"?o:se(o)}var Nt=S(()=>{of();vt();Oe();F()});function jr(e,t){if(nf.has(`${e}.${t}`))return nf.get(`${e}.${t}`);let r=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),o=ne(Xt(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 nf.set(`${e}.${t}`,s),s}function Es(e,t){if(!X(e,{strict:!1}))throw new oe({address:e});return jr(e,t)}var nf,yo=S(()=>{tr();Oe();Nt();Cs();Et();nf=new Dt(8192)});function X(e,t){let{strict:r=!0}=t??{},o=`${e}.${r}`;if(sf.has(o))return sf.get(o);let n=(()=>gv.test(e)?e.toLowerCase()===e?!0:r?jr(e)===e:!0:!1)();return sf.set(o,n),n}var gv,sf,Et=S(()=>{Cs();yo();gv=/^0x[a-fA-F0-9]{40}$/,sf=new Dt(8192)});function zt(e,t,r,{strict:o}={}){return ae(e,{strict:!1})?Fc(e,t,r,{strict:o}):af(e,t,r,{strict:o})}function z0(e,t){if(typeof t=="number"&&t>0&&t>Z(e)-1)throw new Ti({offset:t,position:"start",size:Z(e)})}function L0(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Z(e)!==r-t)throw new Ti({offset:r,position:"end",size:Z(e)})}function af(e,t,r,{strict:o}={}){z0(e,t);let n=e.slice(t,r);return o&&L0(n,t,r),n}function Fc(e,t,r,{strict:o}={}){z0(e,t);let n=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return o&&L0(n,t,r),n}var bo=S(()=>{oc();vt();Rt()});function Lt({blockNumber:e,chain:t,contract:r}){let o=t?.contracts?.[r];if(!o)throw new yn({chain:t,contract:{name:r}});if(e&&o.blockCreated&&o.blockCreated>e)throw new yn({blockNumber:e,chain:t,contract:{name:r,blockCreated:o.blockCreated}});return o.address}var xn=S(()=>{zi()});function j(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}var xe=S(()=>{});var K0,Lc,W0,Oc=S(()=>{K0={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."},Lc={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},W0={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"}});function Me(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new Uc(e.type);return`${e.name}(${Gi(e.inputs,{includeName:t})})`}function Gi(e,{includeName:t=!1}={}){return e?e.map(r=>Iv(r,{includeName:t})).join(t?", ":","):""}function Iv(e,{includeName:t}){return e.type.startsWith("tuple")?`(${Gi(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}var Gr=S(()=>{we()});var Hc,Vi,Ss,Ut,jc,Gc,Vc,qc,qi,As,Kc,Is,Ki,rr,_s,Wc,Jc,Zc,or,lr,Yc,Xc,Ps,Uc,we=S(()=>{Gr();Rt();H();Hc=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"})}},Vi=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"})}},Ss=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: (${Gi(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}},Ut=class extends x{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}},jc=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"})}},Gc=class extends x{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${Z(r)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}},Vc=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"})}},qc=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"})}},qi=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"})}},As=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}},Kc=class extends x{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}},Is=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"})}},Ki=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"})}},rr=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"})}},_s=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"})}},Wc=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"})}},Jc=class extends x{constructor(t,r){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${Me(t.abiItem)}\`, and`,`\`${r.type}\` in \`${Me(r.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}},Zc=class extends x{constructor({expectedSize:t,givenSize:r}){super(`Expected bytes${t}, got bytes${r}.`,{name:"BytesSizeMismatchError"})}},or=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: (${Gi(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}},lr=class extends x{constructor({abiItem:t,param:r}){super([`Expected a topic for indexed event parameter${r.name?` "${r.name}"`:""} on event "${Me(t,{includeName:!0})}".`].join(`
29
+ `),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t}},Yc=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"})}},Xc=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"})}},Ps=class extends x{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
32
+ `),{name:"InvalidArrayError"})}},Uc=class extends x{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
33
+ `),{name:"InvalidDefinitionTypeError"})}}});function J0(e){return _v(e)}var _v,Z0=S(()=>{Oe();Nt();_v=e=>ne(Bt(e))});var Y0,X0=S(()=>{Y0="1.1.0"});var le,Ts=S(()=>{X0();le=class extends Error{constructor(t,r={}){let o=r.cause instanceof le?r.cause.details:r.cause?.message?r.cause.message:r.details,n=r.cause instanceof le&&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@${Y0}`].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 kt(e,t){return e.exec(t)?.groups}var mf,uf,Qc,Wi=S(()=>{mf=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,uf=/^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)?$/,Qc=/^\(.+?\).*?$/});function em(e){let t=e.type;if(Q0.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+=em(s),n<r-1&&(t+=", ")}let o=kt(Q0,e.type);return t+=`)${o?.array??""}`,em({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var Q0,eh=S(()=>{Wi();Q0=/^tuple(?<array>(\[(\d*)\])*)$/});function Vr(e){let t="",r=e.length;for(let o=0;o<r;o++){let n=e[o];t+=em(n),o!==r-1&&(t+=", ")}return t}var pf=S(()=>{eh()});function wn(e){return e.type==="function"?`function ${e.name}(${Vr(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${Vr(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${Vr(e.inputs)})`:e.type==="error"?`error ${e.name}(${Vr(e.inputs)})`:e.type==="constructor"?`constructor(${Vr(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}var th=S(()=>{pf()});function oh(e){return rh.test(e)}function nh(e){return kt(rh,e)}function ih(e){return sh.test(e)}function ah(e){return kt(sh,e)}function mh(e){return ch.test(e)}function uh(e){return kt(ch,e)}function xo(e){return ph.test(e)}function fh(e){return kt(ph,e)}function dh(e){return lh.test(e)}function hh(e){return kt(lh,e)}function yh(e){return gh.test(e)}function bh(e){return kt(gh,e)}function xh(e){return Pv.test(e)}var rh,sh,ch,ph,lh,gh,Pv,ff,wh,tm,$s=S(()=>{Wi();rh=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;sh=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;ch=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;ph=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;lh=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;gh=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;Pv=/^receive\(\) external payable$/;ff=new Set(["memory","indexed","storage","calldata"]),wh=new Set(["indexed"]),tm=new Set(["calldata","memory","storage"])});var rm,om,nm,sm=S(()=>{Ts();rm=class extends le{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"})}},om=class extends le{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"})}},nm=class extends le{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 im,am,cm,mm,um,pm,fm=S(()=>{Ts();im=class extends le{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"})}},am=class extends le{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},cm=class extends le{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"})}},mm=class extends le{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"})}},um=class extends le{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"})}},pm=class extends le{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 dr,lm,dm,lf=S(()=>{Ts();dr=class extends le{constructor({signature:t,type:r}){super(`Invalid ${r} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}},lm=class extends le{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},dm=class extends le{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 hm,vh=S(()=>{Ts();hm=class extends le{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 gm,Ch=S(()=>{Ts();gm=class extends le{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 Eh(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 ym,kh=S(()=>{ym=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 Ji(e,t={}){if(mh(e))return Tv(e,t);if(ih(e))return $v(e,t);if(oh(e))return Rv(e,t);if(dh(e))return Bv(e,t);if(yh(e))return Fv(e);if(xh(e))return{type:"receive",stateMutability:"payable"};throw new lm({signature:e})}function Tv(e,t={}){let r=uh(e);if(!r)throw new dr({signature:e,type:"function"});let o=lt(r.parameters),n=[],s=o.length;for(let a=0;a<s;a++)n.push(nr(o[a],{modifiers:tm,structs:t,type:"function"}));let i=[];if(r.returns){let a=lt(r.returns),c=a.length;for(let m=0;m<c;m++)i.push(nr(a[m],{modifiers:tm,structs:t,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:n,outputs:i}}function $v(e,t={}){let r=ah(e);if(!r)throw new dr({signature:e,type:"event"});let o=lt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(nr(o[i],{modifiers:wh,structs:t,type:"event"}));return{name:r.name,type:"event",inputs:n}}function Rv(e,t={}){let r=nh(e);if(!r)throw new dr({signature:e,type:"error"});let o=lt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(nr(o[i],{structs:t,type:"error"}));return{name:r.name,type:"error",inputs:n}}function Bv(e,t={}){let r=hh(e);if(!r)throw new dr({signature:e,type:"constructor"});let o=lt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(nr(o[i],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:n}}function Fv(e){let t=bh(e);if(!t)throw new dr({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}function nr(e,t){let r=Eh(e,t?.type,t?.structs);if(ym.has(r))return ym.get(r);let o=Qc.test(e),n=kt(o?Dv:Mv,e);if(!n)throw new am({param:e});if(n.name&&Lv(n.name))throw new cm({param:e,name:n.name});let s=n.name?{name:n.name}:{},i=n.modifier==="indexed"?{indexed:!0}:{},a=t?.structs??{},c,m={};if(o){c="tuple";let f=lt(n.type),p=[],d=f.length;for(let h=0;h<d;h++)p.push(nr(f[h],{structs:a}));m={components:p}}else if(n.type in a)c="tuple",m={components:a[n.type]};else if(Nv.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,t?.type!=="struct"&&!df(c))throw new nm({type:c});if(n.modifier){if(!t?.modifiers?.has?.(n.modifier))throw new mm({param:e,type:t?.type,modifier:n.modifier});if(tm.has(n.modifier)&&!Ov(c,!!n.array))throw new um({param:e,type:t?.type,modifier:n.modifier})}let u={type:`${c}${n.array??""}`,...s,...i,...m};return ym.set(r,u),u}function lt(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?lt(a,[...t,r.trim()]):lt(a,t,`${r}${i}`,o);case"(":return lt(a,t,`${r}${i}`,o+1);case")":return lt(a,t,`${r}${i}`,o-1);default:return lt(a,t,`${r}${i}`,o)}}if(r==="")return t;if(o!==0)throw new gm({current:r,depth:o});return t.push(r.trim()),t}function df(e){return e==="address"||e==="bool"||e==="function"||e==="string"||mf.test(e)||uf.test(e)}function Lv(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||mf.test(e)||uf.test(e)||zv.test(e)}function Ov(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}var Mv,Dv,Nv,zv,Rs=S(()=>{Wi();sm();fm();lf();Ch();kh();$s();Mv=/^(?<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$_]*))?$/,Dv=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Nv=/^u?int$/;zv=/^(?: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 Bs(e){let t={},r=e.length;for(let i=0;i<r;i++){let a=e[i];if(!xo(a))continue;let c=fh(a);if(!c)throw new dr({signature:a,type:"struct"});let m=c.properties.split(";"),u=[],f=m.length;for(let p=0;p<f;p++){let h=m[p].trim();if(!h)continue;let g=nr(h,{type:"struct"});u.push(g)}if(!u.length)throw new dm({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]=Sh(c,t)}return o}function Sh(e,t,r=new Set){let o=[],n=e.length;for(let s=0;s<n;s++){let i=e[s];if(Qc.test(i.type))o.push(i);else{let c=kt(Uv,i.type);if(!c?.type)throw new pm({abiParameter:i});let{array:m,type:u}=c;if(u in t){if(r.has(u))throw new hm({type:u});o.push({...i,type:`tuple${m??""}`,components:Sh(t[u]??[],t,new Set([...r,u]))})}else if(df(u))o.push(i);else throw new om({type:u})}}return o}var Uv,bm=S(()=>{Wi();sm();fm();lf();vh();$s();Rs();Uv=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/});function xm(e){let t=Bs(e),r=[],o=e.length;for(let n=0;n<o;n++){let s=e[n];xo(s)||r.push(Ji(s,t))}return r}var Ah=S(()=>{$s();bm();Rs()});function wm(e){let t;if(typeof e=="string")t=Ji(e);else{let r=Bs(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(!xo(s)){t=Ji(s,r);break}}}if(!t)throw new rm({signature:e});return t}var Ih=S(()=>{sm();$s();bm();Rs()});function vm(e){let t=[];if(typeof e=="string"){let r=lt(e),o=r.length;for(let n=0;n<o;n++)t.push(nr(r[n],{modifiers:ff}))}else{let r=Bs(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(xo(s))continue;let i=lt(s),a=i.length;for(let c=0;c<a;c++)t.push(nr(i[c],{modifiers:ff,structs:r}))}}if(t.length===0)throw new im({params:e});return t}var _h=S(()=>{fm();$s();bm();Rs();Rs()});var Zi=S(()=>{th();pf();Ah();Ih();_h()});function Th(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 $h=S(()=>{H()});var Rh,Bh=S(()=>{Zi();$h();Rh=e=>{let t=(()=>typeof e=="string"?e:wn(e))();return Th(t)}});function Cm(e){return J0(Rh(e))}var hf=S(()=>{Z0();Bh()});var hr,Fs=S(()=>{bo();hf();hr=e=>zt(Cm(e),0,4)});function Fh(e,t={}){typeof t.size<"u"&&pt(e,{size:t.size});let r=Y(e,t);return ie(r,t)}function Mh(e,t={}){let r=e;if(typeof t.size<"u"&&(pt(r,{size:t.size}),r=Le(r)),r.length>1||r[0]>1)throw new ec(r);return!!r[0]}function gr(e,t={}){typeof t.size<"u"&&pt(e,{size:t.size});let r=Y(e,t);return ye(r,t)}function Dh(e,t={}){let r=e;return typeof t.size<"u"&&(pt(r,{size:t.size}),r=Le(r,{dir:"right"})),new TextDecoder().decode(r)}var Nh=S(()=>{Pi();ln();Re();F()});var zh,Em,gf=S(()=>{zh=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Em=/^(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 nt(e,t){if(e.length!==t.length)throw new Vc({expectedLength:e.length,givenLength:t.length});let r=Hv({params:e,values:t}),o=bf(r);return o.length===0?"0x":o}function Hv({params:e,values:t}){let r=[];for(let o=0;o<e.length;o++)r.push(yf({param:e[o],value:t[o]}));return r}function yf({param:e,value:t}){let r=km(e.type);if(r){let[o,n]=r;return Gv(t,{length:o,param:{...e,type:n}})}if(e.type==="tuple")return Jv(t,{param:e});if(e.type==="address")return jv(t);if(e.type==="bool")return qv(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){let o=e.type.startsWith("int"),[,,n="256"]=Em.exec(e.type)??[];return Kv(t,{signed:o,size:Number(n)})}if(e.type.startsWith("bytes"))return Vv(t,{param:e});if(e.type==="string")return Wv(t);throw new Yc(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function bf(e){let t=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?t+=32:t+=Z(a)}let r=[],o=[],n=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?(r.push(E(t+n,{size:32})),o.push(a),n+=Z(a)):r.push(a)}return _e([...r,...o])}function jv(e){if(!X(e))throw new oe({address:e});return{dynamic:!1,encoded:Lr(e.toLowerCase())}}function Gv(e,{length:t,param:r}){let o=t===null;if(!Array.isArray(e))throw new Ps(e);if(!o&&e.length!==t)throw new jc({expectedLength:t,givenLength:e.length,type:`${r.type}[${t}]`});let n=!1,s=[];for(let i=0;i<e.length;i++){let a=yf({param:r,value:e[i]});a.dynamic&&(n=!0),s.push(a)}if(o||n){let i=bf(s);if(o){let a=E(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?_e([a,i]):a}}if(n)return{dynamic:!0,encoded:i}}return{dynamic:!1,encoded:_e(s.map(({encoded:i})=>i))}}function Vv(e,{param:t}){let[,r]=t.type.split("bytes"),o=Z(e);if(!r){let n=e;return o%32!==0&&(n=Lr(n,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:_e([Lr(E(o,{size:32})),n])}}if(o!==Number.parseInt(r,10))throw new Gc({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:Lr(e,{dir:"right"})}}function qv(e){if(typeof e!="boolean")throw new x(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Lr(sc(e))}}function Kv(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 Xn({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 Wv(e){let t=Yt(e),r=Math.ceil(Z(t)/32),o=[];for(let n=0;n<r;n++)o.push(Lr(zt(t,n*32,(n+1)*32),{dir:"right"}));return{dynamic:!0,encoded:_e([Lr(E(Z(t),{size:32})),...o])}}function Jv(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=yf({param:s,value:e[i]});o.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?bf(o):_e(o.map(({encoded:n})=>n))}}function km(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var qr=S(()=>{we();tr();H();Pi();Et();ot();nc();Rt();bo();F();gf()});function Kr(e,t){let r=typeof t=="string"?Be(t):t,o=rs(r);if(Z(r)===0&&e.length>0)throw new Ut;if(Z(t)&&Z(t)<32)throw new Ss({data:typeof t=="string"?t:Y(t),params:e,size:Z(t)});let n=0,s=[];for(let i=0;i<e.length;++i){let a=e[i];o.setPosition(n);let[c,m]=Ms(o,a,{staticPosition:0});n+=m,s.push(c)}return s}function Ms(e,t,{staticPosition:r}){let o=km(t.type);if(o){let[n,s]=o;return Yv(e,{...t,type:s},{length:n,staticPosition:r})}if(t.type==="tuple")return t2(e,t,{staticPosition:r});if(t.type==="address")return Zv(e);if(t.type==="bool")return Xv(e);if(t.type.startsWith("bytes"))return Qv(e,t,{staticPosition:r});if(t.type.startsWith("uint")||t.type.startsWith("int"))return e2(e,t);if(t.type==="string")return r2(e,{staticPosition:r});throw new Xc(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function Zv(e){let t=e.readBytes(32);return[jr(Y(af(t,-20))),32]}function Yv(e,t,{length:r,staticPosition:o}){if(!r){let i=gr(e.readBytes(xf)),a=o+i,c=a+Lh;e.setPosition(a);let m=gr(e.readBytes(Lh)),u=Yi(t),f=0,p=[];for(let d=0;d<m;++d){e.setPosition(c+(u?d*32:f));let[h,g]=Ms(e,t,{staticPosition:c});f+=g,p.push(h)}return e.setPosition(o+32),[p,32]}if(Yi(t)){let i=gr(e.readBytes(xf)),a=o+i,c=[];for(let m=0;m<r;++m){e.setPosition(a+m*32);let[u]=Ms(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]=Ms(e,t,{staticPosition:o+n});n+=c,s.push(a)}return[s,n]}function Xv(e){return[Mh(e.readBytes(32),{size:32}),32]}function Qv(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=gr(e.readBytes(32));e.setPosition(r+i);let a=gr(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[Y(c),32]}return[Y(e.readBytes(Number.parseInt(n,10),32)),32]}function e2(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?Fh(n,{signed:r}):gr(n,{signed:r}),32]}function t2(e,t,{staticPosition:r}){let o=t.components.length===0||t.components.some(({name:i})=>!i),n=o?[]:{},s=0;if(Yi(t)){let i=gr(e.readBytes(xf)),a=r+i;for(let c=0;c<t.components.length;++c){let m=t.components[c];e.setPosition(a+s);let[u,f]=Ms(e,m,{staticPosition:a});s+=f,n[o?c:m?.name]=u}return e.setPosition(r+32),[n,32]}for(let i=0;i<t.components.length;++i){let a=t.components[i],[c,m]=Ms(e,a,{staticPosition:r});n[o?i:a?.name]=c,s+=m}return[n,s]}function r2(e,{staticPosition:t}){let r=gr(e.readBytes(32)),o=t+r;e.setPosition(o);let n=gr(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=Dh(Le(s));return e.setPosition(t+32),[i,32]}function Yi(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(Yi);let r=km(e.type);return!!(r&&Yi({...e,type:r[1]}))}var Lh,xf,Xi=S(()=>{we();yo();cc();Rt();bo();ln();Nh();Oe();F();qr();Lh=32,xf=32});function Sm(e){let{abi:t,data:r}=e,o=zt(r,0,4);if(o==="0x")throw new Ut;let s=[...t||[],Lc,W0].find(i=>i.type==="error"&&o===hr(Me(i)));if(!s)throw new As(o,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:s,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Kr(s.inputs,zt(r,4)):void 0,errorName:s.name}}var wf=S(()=>{Oc();we();bo();Fs();Xi();Gr()});var W,Ze=S(()=>{W=(e,t,r)=>JSON.stringify(e,(o,n)=>{let s=typeof n=="bigint"?n.toString():n;return typeof t=="function"?t(o,s):s},r)});function vf({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 Oh=S(()=>{Ze()});var wo,Qi=S(()=>{hf();wo=Cm});function dt(e){let{abi:t,args:r=[],name:o}=e,n=ae(o,{strict:!1}),s=t.filter(a=>n?a.type==="function"?hr(a)===o:a.type==="event"?wo(a)===o:!1:"name"in a&&a.name===o);if(s.length===0)return;if(s.length===1)return s[0];let i;for(let a of s){if(!("inputs"in a))continue;if(!r||r.length===0){if(!a.inputs||a.inputs.length===0)return a;continue}if(!a.inputs||a.inputs.length===0||a.inputs.length!==r.length)continue;if(r.every((m,u)=>{let f="inputs"in a&&a.inputs[u];return f?Cf(m,f):!1})){if(i&&"inputs"in i&&i.inputs){let m=Uh(a.inputs,i.inputs,r);if(m)throw new Jc({abiItem:a,type:m[0]},{abiItem:i,type:m[1]})}i=a}}return i||s[0]}function Cf(e,t){let r=typeof e,o=t.type;switch(o){case"address":return X(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)=>Cf(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=>Cf(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function Uh(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 Uh(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")?X(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?X(r[o],{strict:!1}):!1)())return i}}var vo=S(()=>{we();vt();Et();Qi();Fs()});function Hh(e){return e.reduce((t,{slot:r,value:o})=>`${t} ${r}: ${o}
35
+ `,"")}function jh(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+=Nh(o.state)),o.stateDiff&&(n+=` stateDiff:
41
- `,n+=Nh(o.stateDiff)),n},` State Override:
42
- `).slice(0,-1)}var km,Sm,xf=S(()=>{j();km=class extends x{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}},Sm=class extends x{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}});var Lh,wn,Am=S(()=>{Lh=e=>e,wn=e=>e});var Ms,Ds,vn,Im,_m,gr,wo=S(()=>{we();zc();gf();Hr();Mh();xo();uc();os();ve();j();xf();vt();Am();Ms=class extends x{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:f,value:p,stateOverride:d}){let h=r?G(r):void 0,g=dn({from:h?.address,to:f,value:typeof p<"u"&&`${rs(p)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Me(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Me(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Me(m)} gwei`,nonce:u});d&&(g+=`
43
- ${zh(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}},Ds=class extends x{constructor(t,{abi:r,args:o,contractAddress:n,docsPath:s,functionName:i,sender:a}){let c=lt({abi:r,args:o,name:i}),m=c?yf({abiItem:c,args:o,includeFunctionName:!1,includeName:!1}):void 0,u=c?De(c,{includeName:!0}):void 0,f=dn({address:n&&Lh(n),function:u,args:m&&m!=="()"&&`${[...Array(i?.length??0).keys()].map(()=>" ").join("")}${m}`,sender:a});super(t.shortMessage||`An unknown error occurred while executing the contract function "${i}".`,{cause:t,docsPath:s,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],f&&"Contract Call:",f].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=r,this.args=o,this.cause=t,this.contractAddress=n,this.functionName=i,this.sender=a}},vn=class extends x{constructor({abi:t,data:r,functionName:o,message:n}){let s,i,a,c;if(r&&r!=="0x")try{i=Em({abi:t,data:r});let{abiItem:u,errorName:f,args:p}=i;if(f==="Error")c=p[0];else if(f==="Panic"){let[d]=p;c=H0[d]}else{let d=u?De(u,{includeName:!0}):void 0,h=u&&p?yf({abiItem:u,args:p,includeFunctionName:!1,includeName:!1}):void 0;a=[d?`Error: ${d}`:"",h&&h!=="()"?` ${[...Array(f?.length??0).keys()].map(()=>" ").join("")}${h}`:""]}}catch(u){s=u}else n&&(c=n);let m;s instanceof Ss&&(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}},Im=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"})}},_m=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"})}},gr=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 Ut,vo,Qi,Cn=S(()=>{Ze();j();Am();Ut=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: ${wn(i)}`,t&&`Request body: ${J(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}},vo=class extends x{constructor({body:t,error:r,url:o}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${wn(o)}`,`Request body: ${J(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}},Qi=class extends x{constructor({body:t,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${wn(r)}`,`Request body: ${J(t)}`],name:"TimeoutError"})}}});var Zv,Ye,st,Co,Eo,ko,So,nr,Ht,Ao,Io,_o,yr,qr,To,Kr,Po,$o,Ro,Bo,Fo,br,Mo,Do,No,zo,Lo,xr,Tm,Ns=S(()=>{j();Cn();Zv=-1,Ye=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 vo?t.code:r??Zv}},st=class extends Ye{constructor(t,r){super(t,r),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r.data}},Co=class extends Ye{constructor(t){super(t,{code:Co.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}};Object.defineProperty(Co,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});Eo=class extends Ye{constructor(t){super(t,{code:Eo.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}};Object.defineProperty(Eo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});ko=class extends Ye{constructor(t,{method:r}={}){super(t,{code:ko.code,name:"MethodNotFoundRpcError",shortMessage:`The method${r?` "${r}"`:""} does not exist / is not available.`})}};Object.defineProperty(ko,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});So=class extends Ye{constructor(t){super(t,{code:So.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
45
- `)})}};Object.defineProperty(So,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});nr=class extends Ye{constructor(t){super(t,{code:nr.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}};Object.defineProperty(nr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});Ht=class extends Ye{constructor(t){super(t,{code:Ht.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
46
- `)})}};Object.defineProperty(Ht,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});Ao=class extends Ye{constructor(t){super(t,{code:Ao.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}};Object.defineProperty(Ao,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});Io=class extends Ye{constructor(t){super(t,{code:Io.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}};Object.defineProperty(Io,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});_o=class extends Ye{constructor(t){super(t,{code:_o.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}};Object.defineProperty(_o,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});yr=class extends Ye{constructor(t,{method:r}={}){super(t,{code:yr.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}};Object.defineProperty(yr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});qr=class extends Ye{constructor(t){super(t,{code:qr.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}};Object.defineProperty(qr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});To=class extends Ye{constructor(t){super(t,{code:To.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}};Object.defineProperty(To,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});Kr=class extends st{constructor(t){super(t,{code:Kr.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}};Object.defineProperty(Kr,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});Po=class extends st{constructor(t){super(t,{code:Po.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}};Object.defineProperty(Po,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});$o=class extends st{constructor(t,{method:r}={}){super(t,{code:$o.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}};Object.defineProperty($o,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});Ro=class extends st{constructor(t){super(t,{code:Ro.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}};Object.defineProperty(Ro,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});Bo=class extends st{constructor(t){super(t,{code:Bo.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}};Object.defineProperty(Bo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});Fo=class extends st{constructor(t){super(t,{code:Fo.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}};Object.defineProperty(Fo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});br=class extends st{constructor(t){super(t,{code:br.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}};Object.defineProperty(br,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});Mo=class extends st{constructor(t){super(t,{code:Mo.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}};Object.defineProperty(Mo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});Do=class extends st{constructor(t){super(t,{code:Do.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}};Object.defineProperty(Do,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});No=class extends st{constructor(t){super(t,{code:No.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}};Object.defineProperty(No,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});zo=class extends st{constructor(t){super(t,{code:zo.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}};Object.defineProperty(zo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});Lo=class extends st{constructor(t){super(t,{code:Lo.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}};Object.defineProperty(Lo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});xr=class extends st{constructor(t){super(t,{code:xr.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}};Object.defineProperty(xr,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});Tm=class extends Ye{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}});function Oo(e,t){let r=(e.details||"").toLowerCase(),o=e instanceof x?e.walk(n=>n?.code===Or.code):e;return o instanceof x?new Or({cause:e,message:o.details}):Or.nodeMessage.test(r)?new Or({cause:e,message:e.details}):Bt.nodeMessage.test(r)?new Bt({cause:e,maxFeePerGas:t?.maxFeePerGas}):ls.nodeMessage.test(r)?new ls({cause:e,maxFeePerGas:t?.maxFeePerGas}):ds.nodeMessage.test(r)?new ds({cause:e,nonce:t?.nonce}):hs.nodeMessage.test(r)?new hs({cause:e,nonce:t?.nonce}):gs.nodeMessage.test(r)?new gs({cause:e,nonce:t?.nonce}):ys.nodeMessage.test(r)?new ys({cause:e}):bs.nodeMessage.test(r)?new bs({cause:e,gas:t?.gas}):xs.nodeMessage.test(r)?new xs({cause:e,gas:t?.gas}):ws.nodeMessage.test(r)?new ws({cause:e}):pr.nodeMessage.test(r)?new pr({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Ft({cause:e})}var ea=S(()=>{j();lo()});function Pm(e,{docsPath:t,...r}){let o=(()=>{let n=Oo(e,r);return n instanceof Ft?e:n})();return new Ms(o,{docsPath:t,...r})}var wf=S(()=>{wo();lo();ea()});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 zs=S(()=>{});function Xe(e){let{account:t,gasPrice:r,maxFeePerGas:o,maxPriorityFeePerGas:n,to:s}=e,i=t?G(t):void 0;if(i&&!Q(i.address))throw new ne({address:i.address});if(s&&!Q(s))throw new ne({address:s});if(typeof r<"u"&&(typeof o<"u"||typeof n<"u"))throw new pc;if(o&&o>Qn)throw new Bt({maxFeePerGas:o});if(n&&o&&n>o)throw new pr({maxFeePerGas:o,maxPriorityFeePerGas:n})}var Wr=S(()=>{we();Wp();er();lo();vt();Ct()});function jh(e){let{abi:t,args:r,functionName:o}=e,n=t[0];if(o){let s=lt({abi:t,args:r,name:o});if(!s)throw new tr(o,{docsPath:Hh});n=s}if(n.type!=="function")throw new tr(void 0,{docsPath:Hh});return{abi:[n],functionName:dr(De(n))}}var Hh,Gh=S(()=>{ve();Bs();Hr();xo();Hh="/docs/contract/encodeFunctionData"});function fe(e){let{args:t}=e,{abi:r,functionName:o}=(()=>e.abi.length===1&&e.functionName?.startsWith("0x")?e:jh(e))(),n=r[0],s=o,i="inputs"in n&&n.inputs?nt(n.inputs,t??[]):void 0;return Ue([s,i??"0x"])}var kt=S(()=>{ot();Gr();Gh()});function Wh(e){if(!(!e||e.length===0))return e.reduce((t,{slot:r,value:o})=>{if(r.length!==66)throw new $i({size:r.length,targetSize:66,type:"hex"});if(o.length!==66)throw new $i({size:o.length,targetSize:66,type:"hex"});return t[r]=o,t},{})}function Xv(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=Wh(o)),n!==void 0){if(i.state)throw new Sm;i.stateDiff=Wh(n)}return i}function Ls(e){if(!e)return;let t={};for(let{address:r,...o}of e){if(!Q(r,{strict:!1}))throw new ne({address:r});if(t[r])throw new km({address:r});t[r]=Xv(o)}return t}var zm=S(()=>{er();tc();xf();Ct();M()});function jt(e,t){if(!Q(e,{strict:!1}))throw new ne({address:e});if(!Q(t,{strict:!1}))throw new ne({address:t});return e.toLowerCase()===t.toLowerCase()}var En=S(()=>{er();Ct()});function ht(e){let{abi:t,args:r,functionName:o,data:n}=e,s=t[0];if(o){let a=lt({abi:t,args:r,name:o});if(!a)throw new tr(o,{docsPath:Cf});s=a}if(s.type!=="function")throw new tr(void 0,{docsPath:Cf});if(!s.outputs)throw new Is(s.name,{docsPath:Cf});let i=Vr(s.outputs,n);if(i&&i.length>1)return i;if(i&&i.length===1)return i[0]}var Cf,Go=S(()=>{ve();Yi();xo();Cf="/docs/contract/decodeFunctionResult"});var eg,tg=S(()=>{eg="0.1.1"});function rg(){return eg}var og=S(()=>{tg()});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 R,gt=S(()=>{og();R=class extends Error{constructor(t,r={}){let o=(()=>{if(r.cause instanceof R){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 R&&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@${rg()}`}),this.cause=r.cause,this.details=o,this.docs=i,this.docsPath=n,this.shortMessage=t}walk(t){return ng(this,t)}}});function qs(e,t){if(Gt(e)>t)throw new jm({givenSize:Gt(e),maxSize:t})}function sg(e,t){if(typeof t=="number"&&t>0&&t>Gt(e)-1)throw new ra({offset:t,position:"start",size:Gt(e)})}function ig(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Gt(e)!==r-t)throw new ra({offset:r,position:"end",size:Gt(e)})}function Ef(e){if(e>=Jr.zero&&e<=Jr.nine)return e-Jr.zero;if(e>=Jr.A&&e<=Jr.F)return e-(Jr.A-10);if(e>=Jr.a&&e<=Jr.f)return e-(Jr.a-10)}function ag(e,t={}){let{dir:r,size:o=32}=t;if(o===0)return e;if(e.length>o)throw new Gm({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 kf(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 Jr,cg=S(()=>{Vo();Jr={zero:48,nine:57,A:65,F:70,a:97,f:102}});function Ks(e,t){if(he(e)>t)throw new Vm({givenSize:he(e),maxSize:t})}function mg(e,t){if(typeof t=="number"&&t>0&&t>he(e)-1)throw new oa({offset:t,position:"start",size:he(e)})}function ug(e,t,r){if(typeof t=="number"&&typeof r=="number"&&he(e)!==r-t)throw new oa({offset:r,position:"end",size:he(e)})}function Sf(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 qm({size:Math.ceil(n.length/2),targetSize:o,type:"Hex"});return`0x${n[r==="right"?"padEnd":"padStart"](o*2,"0")}`}function pg(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 Af=S(()=>{je()});function qo(e,t,r){return JSON.stringify(e,(o,n)=>typeof t=="function"?t(o,n):typeof n=="bigint"?n.toString()+r2:n,r)}var r2,na=S(()=>{r2="#__bigint"});import{equalBytes as i7}from"@noble/curves/abstract/utils";function s2(e){if(!(e instanceof Uint8Array)){if(!e)throw new Ws(e);if(typeof e!="object")throw new Ws(e);if(!("BYTES_PER_ELEMENT"in e))throw new Ws(e);if(e.BYTES_PER_ELEMENT!==1||e.constructor.name!=="Uint8Array")throw new Ws(e)}}function lg(e){return e instanceof Uint8Array?e:typeof e=="string"?Js(e):i2(e)}function i2(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Js(e,t={}){let{size:r}=t,o=e;r&&(Ks(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=Ef(n.charCodeAt(c++)),u=Ef(n.charCodeAt(c++));if(m===void 0||u===void 0)throw new R(`Invalid byte sequence ("${n[c-2]}${n[c-1]}" in "${n}").`);i[a]=m*16+u}return i}function dg(e,t={}){let{size:r}=t,o=n2.encode(e);return typeof r=="number"?(qs(o,r),a2(o,r)):o}function a2(e,t){return ag(e,{dir:"right",size:t})}function Gt(e){return e.length}function hg(e,t,r,o={}){let{strict:n}=o;sg(e,t);let s=e.slice(t,r);return n&&ig(s,t,r),s}function gg(e,t={}){let{size:r}=t;typeof r<"u"&&qs(e,r);let o=Ie(e,t);return Tf(o,t)}function yg(e,t={}){let{size:r}=t,o=e;if(typeof r<"u"&&(qs(o,r),o=_f(o)),o.length>1||o[0]>1)throw new If(o);return!!o[0]}function Er(e,t={}){let{size:r}=t;typeof r<"u"&&qs(e,r);let o=Ie(e,t);return Wm(o,t)}function bg(e,t={}){let{size:r}=t,o=e;return typeof r<"u"&&(qs(o,r),o=c2(o)),o2.decode(o)}function _f(e){return kf(e,{dir:"left"})}function c2(e){return kf(e,{dir:"right"})}function xg(e){try{return s2(e),!0}catch{return!1}}var o2,n2,If,Ws,jm,ra,Gm,Vo=S(()=>{gt();je();cg();Af();na();o2=new TextDecoder,n2=new TextEncoder;If=class extends R{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"})}},Ws=class extends R{constructor(t){super(`Value \`${typeof t=="object"?qo(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"})}},jm=class extends R{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"})}},ra=class extends R{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"})}},Gm=class extends R{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 c7}from"@noble/curves/abstract/utils";function p2(e,t={}){let{strict:r=!1}=t;if(!e)throw new Jm(e);if(typeof e!="string")throw new Jm(e);if(r&&!/^0x[0-9a-fA-F]*$/.test(e))throw new Zm(e);if(!e.startsWith("0x"))throw new Zm(e)}function xe(...e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}function Zs(e){return e instanceof Uint8Array?Ie(e):Array.isArray(e)?Ie(new Uint8Array(e)):e}function Ym(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(Ks(r,t.size),Zr(r,t.size)):r}function Ie(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=u2[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(Ks(o,t.size),kr(o,t.size)):o}function ee(e,t={}){let{signed:r,size:o}=t,n=BigInt(e),s;o?r?s=(1n<<BigInt(o)*8n-1n)-1n:s=2n**(BigInt(o)*8n)-1n:typeof e=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));let i=typeof s=="bigint"&&r?-s-1n:0;if(s&&n>s||n<i){let m=typeof e=="bigint"?"n":"";throw new sa({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?Zr(c,o):c}function Ys(e,t={}){return Ie(m2.encode(e),t)}function Zr(e,t){return Sf(e,{dir:"left",size:t})}function kr(e,t){return Sf(e,{dir:"right",size:t})}function ge(e,t,r,o={}){let{strict:n}=o;mg(e,t);let s=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return n&&ug(s,t,r),s}function he(e){return Math.ceil((e.length-2)/2)}function Pf(e){return pg(e,{dir:"left"})}function Tf(e,t={}){let{signed:r}=t;t.size&&Ks(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 Wm(e,t={}){let{signed:r,size:o}=t;return Number(!r&&!o?e:Tf(e,t))}function ia(e,t={}){let{strict:r=!1}=t;try{return p2(e,{strict:r}),!0}catch{return!1}}var m2,u2,sa,Jm,Zm,Vm,oa,qm,je=S(()=>{gt();Af();na();m2=new TextEncoder,u2=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));sa=class extends R{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"})}},Jm=class extends R{constructor(t){super(`Value \`${typeof t=="object"?qo(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"})}},Zm=class extends R{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"})}},Vm=class extends R{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"})}},oa=class extends R{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"})}},qm=class extends R{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 wg(e){return{address:e.address,amount:ee(e.amount),index:ee(e.index),validatorIndex:ee(e.validatorIndex)}}var vg=S(()=>{je()});function Xm(e){return{...typeof e.baseFeePerGas=="bigint"&&{baseFeePerGas:ee(e.baseFeePerGas)},...typeof e.blobBaseFee=="bigint"&&{blobBaseFee:ee(e.blobBaseFee)},...typeof e.feeRecipient=="string"&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit=="bigint"&&{gasLimit:ee(e.gasLimit)},...typeof e.number=="bigint"&&{number:ee(e.number)},...typeof e.prevRandao=="bigint"&&{prevRandao:ee(e.prevRandao)},...typeof e.time=="bigint"&&{time:ee(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(wg)}}}var $f=S(()=>{je();vg()});var Sn,Qm,Eg,eu,kg,Rf,Bf,Ff,Mf,Ko=S(()=>{Sn=[{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"}],Qm=[{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"}]}],Eg=[{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"}],eu=[...Eg,{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"}]}],kg=[...Eg,{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"}]}],Rf=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],Bf=[{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"}]}],Ff=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],Mf=[{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 Sg,Ag=S(()=>{Sg="0x82ad56cb"});var tu,Ig,_g,Xs,aa=S(()=>{tu="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",Ig="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",_g="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",Xs="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033"});function An(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 Oc({docsPath:Df});if(!("inputs"in n))throw new Gi({docsPath:Df});if(!n.inputs||n.inputs.length===0)throw new Gi({docsPath:Df});let s=nt(n.inputs,r);return Ue([o,s])}var Df,ru=S(()=>{ve();ot();Gr();Df="/docs/contract/encodeDeployData"});function Qs(){let e=()=>{},t=()=>{};return{promise:new Promise((o,n)=>{e=o,t=n}),resolve:e,reject:t}}var ou=S(()=>{});function nu({fn:e,id:t,shouldSplitBatch:r,wait:o=0,sort:n}){let s=async()=>{let u=c();i();let f=u.map(({args:p})=>p);f.length!==0&&e(f).then(p=>{n&&Array.isArray(p)&&p.sort(n);for(let d=0;d<u.length;d++){let{resolve:h}=u[d];h?.([p[d],p])}}).catch(p=>{for(let d=0;d<u.length;d++){let{reject:h}=u[d];h?.(p)}})},i=()=>Nf.delete(t),a=()=>c().map(({args:u})=>u),c=()=>Nf.get(t)||[],m=u=>Nf.set(t,[...c(),u]);return{flush:i,async schedule(u){let{promise:f,resolve:p,reject:d}=Qs();return r?.([...a(),u])&&s(),c().length>0?(m({args:u,resolve:p,reject:d}),f):(m({args:u,resolve:p,reject:d}),setTimeout(s,o),f)}}}var Nf,zf=S(()=>{ou();Nf=new Map});var su,iu,au,Tg=S(()=>{Ze();j();Am();su=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=>` ${wn(a)}`)],` Sender: ${s}`,` Data: ${o}`,` Callback selector: ${t}`,` Extra data: ${n}`].flat(),name:"OffchainLookupError"})}},iu=class extends x{constructor({result:t,url:r}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${wn(r)}`,`Response: ${J(t)}`],name:"OffchainLookupResponseMalformedError"})}},au=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 Pg(e){let{abi:t,data:r}=e,o=Nt(r,0,4),n=t.find(s=>s.type==="function"&&o===dr(De(s)));if(!n)throw new qc(o,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:n.name,args:"inputs"in n&&n.inputs&&n.inputs.length>0?Vr(n.inputs,Nt(r,4)):void 0}}var $g=S(()=>{ve();go();Bs();Yi();Hr()});function Of(e){let{abi:t,errorName:r,args:o}=e,n=t[0];if(r){let c=lt({abi:t,args:o,name:r});if(!c)throw new Vi(r,{docsPath:Lf});n=c}if(n.type!=="error")throw new Vi(void 0,{docsPath:Lf});let s=De(n),i=dr(s),a="0x";if(o&&o.length>0){if(!n.inputs)throw new Gc(n.name,{docsPath:Lf});a=nt(n.inputs,o)}return Ue([i,a])}var Lf,Rg=S(()=>{ve();ot();Bs();Gr();Hr();xo();Lf="/docs/contract/encodeErrorResult"});function Bg(e){let{abi:t,functionName:r,result:o}=e,n=t[0];if(r){let i=lt({abi:t,name:r});if(!i)throw new tr(r,{docsPath:Uf});n=i}if(n.type!=="function")throw new tr(void 0,{docsPath:Uf});if(!n.outputs)throw new Is(n.name,{docsPath:Uf});let s=(()=>{if(n.outputs.length===0)return[];if(n.outputs.length===1)return[o];if(Array.isArray(o))return o;throw new _s(o)})();return nt(n.outputs,s)}var Uf,Fg=S(()=>{ve();Gr();xo();Uf="/docs/contract/encodeFunctionResult"});async function Hf(e){let{data:t,ccipRequest:r}=e,{args:[o]}=Pg({abi:Qm,data:t}),n=[],s=[];return await Promise.all(o.map(async(i,a)=>{try{s[a]=i.urls.includes(Yr)?await Hf({data:i.data,ccipRequest:r}):await r(i),n[a]=!1}catch(c){n[a]=!0,s[a]=l2(c)}})),Bg({abi:Qm,functionName:"query",result:[n,s]})}function l2(e){return e.name==="HttpRequestError"&&e.status?Of({abi:Qm,errorName:"HttpError",args:[e.status,e.shortMessage]}):Of({abi:[Nc],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}var Yr,ca=S(()=>{Ko();zc();$g();Rg();Fg();Yr="x-batch-gateway:true"});var Ng={};Np(Ng,{ccipRequest:()=>Dg,offchainLookup:()=>h2,offchainLookupAbiItem:()=>Mg,offchainLookupSignature:()=>d2});async function h2(e,{blockNumber:t,blockTag:r,data:o,to:n}){let{args:s}=Em({data:o,abi:[Mg]}),[i,a,c,m,u]=s,{ccipRead:f}=e,p=f&&typeof f?.request=="function"?f.request:Dg;try{if(!jt(n,i))throw new au({sender:i,to:n});let d=a.includes(Yr)?await Hf({data:c,ccipRequest:p}):await p({data:c,sender:i,urls:a}),{data:h}=await Sr(e,{blockNumber:t,blockTag:r,data:Te([m,nt([{type:"bytes"},{type:"bytes"}],[d,u])]),to:n});return h}catch(d){throw new su({callbackSelector:m,cause:d,data:o,extraData:u,sender:i,urls:a})}}async function Dg({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 Ut({body:a,details:u?.error?J(u.error):m.statusText,headers:m.headers,status:m.status,url:s});continue}if(!ce(u)){o=new iu({result:u,url:s});continue}return u}catch(m){o=new Ut({body:a,details:m.message,url:s})}}throw o}var d2,Mg,zg=S(()=>{ei();Tg();Cn();gf();Gr();En();ot();wt();ca();Ze();d2="0x556f1830",Mg={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 Sr(e,t){let{account:r=e.account,authorizationList:o,batch:n=!!e.batch?.multicall,blockNumber:s,blockTag:i=e.experimental_blockTag??"latest",accessList:a,blobs:c,blockOverrides:m,code:u,data:f,factory:p,factoryData:d,gas:h,gasPrice:g,maxFeePerBlobGas:b,maxFeePerGas:y,maxPriorityFeePerGas:v,nonce:C,to:k,value:A,stateOverride:P,...T}=t,B=r?G(r):void 0;if(u&&(p||d))throw new x("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(u&&k)throw new x("Cannot provide both `code` & `to` as parameters.");let z=u&&f,D=p&&d&&k&&f,H=z||D,V=(()=>z?Lg({code:u,data:f}):D?b2({data:f,factory:p,factoryData:d,to:k}):f)();try{Xe(t);let me=(typeof s=="bigint"?E(s):void 0)||i,_e=m?Xm(m):void 0,qe=Ls(P),Tt=e.chain?.formatters?.transactionRequest?.format,Ae=(Tt||pt)({...wr(T,{format:Tt}),accessList:a,account:B,authorizationList:o,blobs:c,data:V,gas:h,gasPrice:g,maxFeePerBlobGas:b,maxFeePerGas:y,maxPriorityFeePerGas:v,nonce:C,to:H?void 0:k,value:A},"call");if(n&&g2({request:Ae})&&!qe&&!_e)try{return await y2(e,{...Ae,blockNumber:s,blockTag:i})}catch(ue){if(!(ue instanceof Di)&&!(ue instanceof gn))throw ue}let ur=(()=>{let ue=[Ae,me];return qe&&_e?[...ue,qe,_e]:qe?[...ue,qe]:_e?[...ue,{},_e]:ue})(),io=await e.request({method:"eth_call",params:ur});return io==="0x"?{data:void 0}:{data:io}}catch(q){let me=x2(q),{offchainLookup:_e,offchainLookupSignature:qe}=await Promise.resolve().then(()=>(zg(),Ng));if(e.ccipRead!==!1&&me?.slice(0,10)===qe&&k)return{data:await _e(e,{data:me,to:k})};throw H&&me?.slice(0,10)==="0x101bb98d"?new _m({factory:p}):Pm(q,{...t,account:B,chain:e.chain})}}function g2({request:e}){let{data:t,to:r,...o}=e;return!(!t||t.startsWith(Sg)||!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 zt({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Di})(),f=(typeof s=="bigint"?E(s):void 0)||i,{schedule:p}=nu({id:`${e.uid}.${f}`,wait:n,shouldSplitBatch(g){return g.reduce((y,{data:v})=>y+(v.length-2),0)>r*2},fn:async g=>{let b=g.map(C=>({allowFailure:!0,callData:C.data,target:C.to})),y=fe({abi:Sn,args:[b],functionName:"aggregate3"}),v=await e.request({method:"eth_call",params:[{...m===null?{data:Lg({code:Xs,data:y})}:{to:m,data:y}},f]});return ht({abi:Sn,args:[b],functionName:"aggregate3",data:v||"0x"})}}),[{returnData:d,success:h}]=await p({data:a,to:c});if(!h)throw new gr({data:d});return d==="0x"?{data:void 0}:{data:d}}function Lg(e){let{code:t,data:r}=e;return An({abi:ym(["constructor(bytes, bytes)"]),bytecode:tu,args:[t,r]})}function b2(e){let{data:t,factory:r,factoryData:o,to:n}=e;return An({abi:ym(["constructor(address, bytes, address, bytes)"]),bytecode:Ig,args:[n,t,r,o]})}function x2(e){if(!(e instanceof x))return;let t=e.walk();return typeof t?.data=="object"?t.data?.data:t.data}var ei=S(()=>{Ji();$f();we();Ko();Ag();aa();j();Ni();wo();Go();ru();kt();bn();M();wf();zs();uo();zf();zm();Wr()});var Bl=ct(ka=>{"use strict";var HC=ka&&ka.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ka,"__esModule",{value:!0});ka.encryptEnvVars=VC;var $l=Dr("@noble/curves/ed25519"),Rl=HC(Dr("crypto"));function jC(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 GC(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}async function VC(e,t){let r=JSON.stringify({env:e}),o=$l.x25519.utils.randomPrivateKey(),n=$l.x25519.getPublicKey(o),s=jC(t),i=$l.x25519.getSharedSecret(o,s),a=await Rl.default.subtle.importKey("raw",i,{name:"AES-GCM",length:256},!0,["encrypt"]),c=Rl.default.getRandomValues(new Uint8Array(12)),m=await Rl.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),GC(u)}});var Mb=ct(Sa=>{"use strict";var qC=Sa&&Sa.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Sa,"__esModule",{value:!0});Sa.getComposeHash=ZC;var KC=qC(Dr("crypto"));function Fl(e){return e==null?e:Array.isArray(e)?e.map(Fl):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=Fl(o),t},{}):e}function WC(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 JC(e){let t=Fl(e);return JSON.stringify(t,(r,o)=>typeof o=="number"&&(isNaN(o)||!isFinite(o))?null:o)}function ZC(e,t=!1){t&&(e=WC(e));let r=JC(e);return KC.default.createHash("sha256").update(r,"utf8").digest("hex")}});var ox=ct(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=Zb;U.fromBig=Dl;U.split=Db;var sp=BigInt(2**32-1),Ml=BigInt(32);function Dl(e,t=!1){return t?{h:Number(e&sp),l:Number(e>>Ml&sp)}:{h:Number(e>>Ml&sp)|0,l:Number(e&sp)|0}}function Db(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}=Dl(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var Nb=(e,t)=>BigInt(e>>>0)<<Ml|BigInt(t>>>0);U.toBig=Nb;var zb=(e,t,r)=>e>>>r;U.shrSH=zb;var Lb=(e,t,r)=>e<<32-r|t>>>r;U.shrSL=Lb;var Ob=(e,t,r)=>e>>>r|t<<32-r;U.rotrSH=Ob;var Ub=(e,t,r)=>e<<32-r|t>>>r;U.rotrSL=Ub;var Hb=(e,t,r)=>e<<64-r|t>>>r-32;U.rotrBH=Hb;var jb=(e,t,r)=>e>>>r-32|t<<64-r;U.rotrBL=jb;var Gb=(e,t)=>t;U.rotr32H=Gb;var Vb=(e,t)=>e;U.rotr32L=Vb;var qb=(e,t,r)=>e<<r|t>>>32-r;U.rotlSH=qb;var Kb=(e,t,r)=>t<<r|e>>>32-r;U.rotlSL=Kb;var Wb=(e,t,r)=>t<<r-32|e>>>64-r;U.rotlBH=Wb;var Jb=(e,t,r)=>e<<r-32|t>>>64-r;U.rotlBL=Jb;function Zb(e,t,r,o){let n=(t>>>0)+(o>>>0);return{h:e+r+(n/2**32|0)|0,l:n|0}}var Yb=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);U.add3L=Yb;var Xb=(e,t,r,o)=>t+r+o+(e/2**32|0)|0;U.add3H=Xb;var Qb=(e,t,r,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0);U.add4L=Qb;var ex=(e,t,r,o,n)=>t+r+o+n+(e/2**32|0)|0;U.add4H=ex;var tx=(e,t,r,o,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0)+(n>>>0);U.add5L=tx;var rx=(e,t,r,o,n,s)=>t+r+o+n+s+(e/2**32|0)|0;U.add5H=rx;var YC={fromBig:Dl,split:Db,toBig:Nb,shrSH:zb,shrSL:Lb,rotrSH:Ob,rotrSL:Ub,rotrBH:Hb,rotrBL:jb,rotr32H:Gb,rotr32L:Vb,rotlSH:qb,rotlSL:Kb,rotlBH:Wb,rotlBL:Jb,add:Zb,add3L:Yb,add3H:Xb,add4L:Qb,add4H:ex,add5H:rx,add5L:tx};U.default=YC});var nx=ct(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});ip.crypto=void 0;var tn=Dr("node:crypto");ip.crypto=tn&&typeof tn=="object"&&"webcrypto"in tn?tn.webcrypto:tn&&typeof tn=="object"&&"randomBytes"in tn?tn:void 0});var fx=ct(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=ix;N.anumber=Nl;N.abytes=di;N.ahash=XC;N.aexists=QC;N.aoutput=e8;N.u8=t8;N.u32=r8;N.clean=o8;N.createView=n8;N.rotr=s8;N.rotl=i8;N.byteSwap=Ll;N.byteSwap32=ax;N.bytesToHex=c8;N.hexToBytes=m8;N.asyncLoop=p8;N.utf8ToBytes=Ol;N.bytesToUtf8=f8;N.toBytes=ap;N.kdfInputToBytes=l8;N.concatBytes=d8;N.checkOpts=h8;N.createHasher=mx;N.createOptHasher=ux;N.createXOFer=px;N.randomBytes=g8;var li=nx();function ix(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Nl(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function di(e,...t){if(!ix(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function XC(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Nl(e.outputLen),Nl(e.blockLen)}function QC(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 e8(e,t){di(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function t8(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function r8(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function o8(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function n8(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function s8(e,t){return e<<32-t|e>>>t}function i8(e,t){return e<<t|e>>>32-t>>>0}N.isLE=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function Ll(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}N.swap8IfBE=N.isLE?e=>e:e=>Ll(e);N.byteSwapIfBE=N.swap8IfBE;function ax(e){for(let t=0;t<e.length;t++)e[t]=Ll(e[t]);return e}N.swap32IfBE=N.isLE?e=>e:ax;var cx=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),a8=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function c8(e){if(di(e),cx)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=a8[e[r]];return t}var eo={_0:48,_9:57,A:65,F:70,a:97,f:102};function sx(e){if(e>=eo._0&&e<=eo._9)return e-eo._0;if(e>=eo.A&&e<=eo.F)return e-(eo.A-10);if(e>=eo.a&&e<=eo.f)return e-(eo.a-10)}function m8(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(cx)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=sx(e.charCodeAt(s)),a=sx(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 u8=async()=>{};N.nextTick=u8;async function p8(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 Ol(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function f8(e){return new TextDecoder().decode(e)}function ap(e){return typeof e=="string"&&(e=Ol(e)),di(e),e}function l8(e){return typeof e=="string"&&(e=Ol(e)),di(e),e}function d8(...e){let t=0;for(let o=0;o<e.length;o++){let n=e[o];di(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 h8(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 zl=class{};N.Hash=zl;function mx(e){let t=o=>e().update(ap(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function ux(e){let t=(o,n)=>e(n).update(ap(o)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=o=>e(o),t}function px(e){let t=(o,n)=>e(n).update(ap(o)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=o=>e(o),t}N.wrapConstructor=mx;N.wrapConstructorWithOpts=ux;N.wrapXOFConstructorWithOpts=px;function g8(e=32){if(li.crypto&&typeof li.crypto.getRandomValues=="function")return li.crypto.getRandomValues(new Uint8Array(e));if(li.crypto&&typeof li.crypto.randomBytes=="function")return Uint8Array.from(li.crypto.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}});var vx=ct(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.shake256=le.shake128=le.keccak_512=le.keccak_384=le.keccak_256=le.keccak_224=le.sha3_512=le.sha3_384=le.sha3_256=le.sha3_224=le.Keccak=void 0;le.keccakP=xx;var Ia=ox(),tt=fx(),y8=BigInt(0),Aa=BigInt(1),b8=BigInt(2),x8=BigInt(7),w8=BigInt(256),v8=BigInt(113),hx=[],gx=[],yx=[];for(let e=0,t=Aa,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],hx.push(2*(5*o+r)),gx.push((e+1)*(e+2)/2%64);let n=y8;for(let s=0;s<7;s++)t=(t<<Aa^(t>>x8)*v8)%w8,t&b8&&(n^=Aa<<(Aa<<BigInt(s))-Aa);yx.push(n)}var bx=(0,Ia.split)(yx,!0),C8=bx[0],E8=bx[1],lx=(e,t,r)=>r>32?(0,Ia.rotlBH)(e,t,r):(0,Ia.rotlSH)(e,t,r),dx=(e,t,r)=>r>32?(0,Ia.rotlBL)(e,t,r):(0,Ia.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],f=lx(m,u,1)^r[a],p=dx(m,u,1)^r[a+1];for(let d=0;d<50;d+=10)e[i+d]^=f,e[i+d+1]^=p}let n=e[2],s=e[3];for(let i=0;i<24;i++){let a=gx[i],c=lx(n,s,a),m=dx(n,s,a),u=hx[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]^=C8[o],e[1]^=E8[o]}(0,tt.clean)(r)}var Mn=class extends tt.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,tt.anumber)(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=(0,tt.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,tt.swap32IfBE)(this.state32),xx(this.state32,this.rounds),(0,tt.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(t){(0,tt.aexists)(this),t=(0,tt.toBytes)(t),(0,tt.abytes)(t);let{blockLen:r,state:o}=this,n=t.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);for(let a=0;a<i;a++)o[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:o,blockLen:n}=this;t[o]^=r,r&128&&o===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){(0,tt.aexists)(this,!1),(0,tt.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,tt.anumber)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,tt.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,tt.clean)(this.state)}_cloneInto(t){let{blockLen:r,suffix:o,outputLen:n,rounds:s,enableXOF:i}=this;return t||(t=new Mn(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=Mn;var rn=(e,t,r)=>(0,tt.createHasher)(()=>new Mn(t,e,r));le.sha3_224=(()=>rn(6,144,224/8))();le.sha3_256=(()=>rn(6,136,256/8))();le.sha3_384=(()=>rn(6,104,384/8))();le.sha3_512=(()=>rn(6,72,512/8))();le.keccak_224=(()=>rn(1,144,224/8))();le.keccak_256=(()=>rn(1,136,256/8))();le.keccak_384=(()=>rn(1,104,384/8))();le.keccak_512=(()=>rn(1,72,512/8))();var wx=(e,t,r)=>(0,tt.createXOFer)((o={})=>new Mn(t,e,o.dkLen===void 0?r:o.dkLen,!0));le.shake128=(()=>wx(31,168,128/8))();le.shake256=(()=>wx(31,136,256/8))()});var Cx=ct(Ul=>{"use strict";Object.defineProperty(Ul,"__esModule",{value:!0});Ul.verifyEnvEncryptPublicKey=A8;var k8=vx(),S8=Dr("@noble/curves/secp256k1");function A8(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,k8.keccak_256)(a);try{let m=t.slice(0,32),u=t.slice(32,64),f=t[64],p=new Uint8Array(64);p.set(m,0),p.set(u,32);let d=S8.secp256k1.Signature.fromCompact(p).addRecoveryBit(f).recoverPublicKey(c);return"0x"+Buffer.from(d.toRawBytes(!0)).toString("hex")}catch(m){return console.error("signature verification failed:",m),null}}});import{readFileSync as KA}from"node:fs";import{dirname as WA,join as JA}from"node:path";import{fileURLToPath as ZA}from"node:url";import{ZodError as $S}from"zod";function qa(e){return e.split(/[\s-]+/).filter(Boolean).map((t,r)=>r===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function zd(e){return e===void 0?[]:Array.isArray(e)?[...e]:[e]}function Ld(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??qa(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 sw from"arg";var ew={name:"help",shorthand:"h",description:"Show help information for the current command",type:"boolean",target:"help"},tw={name:"version",shorthand:"v",description:"Show CLI version",type:"boolean",target:"version"};var rw={name:"api-token",description:"API token used for authentication",type:"string",target:"apiToken",aliases:["api-key"],argumentName:"token"},qn=[ew,tw],Kn=[rw];import ow from"arg";function Od(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??qa(n.name),a=nw(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 zd(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]=()=>!0,o.set(c,{option:n,canonicalKey:s,target:i,negatedKey:c})}}return{spec:t,descriptors:r,negatedLookup:o}}function nw(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 ow.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 Ii(e,t,r={}){let o=[...qn,...t?[...t]:[]],n=Od(o),{permissive:s=!1,stopAtPositional:i=!1}=r,a=sw(n.spec,{argv:e,permissive:s,stopAtPositional:i}),{_:c,...m}=a;return{positionals:c??[],flags:m,flagConfig:n}}function Ka(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 qn)o.push(` ${zp(n).padEnd(24)}${n.description??""}`.trimEnd());return o.join(`
48
- `)}function Ud(e){let{registry:t,executableName:r,groupPath:o}=e,n=t.getNode(o);if(!n?.group)return Ka({registry:t,executableName:r});let s=[],i=o.join(" "),a=`${r} ${i}`;s.push(`Usage: ${a} <command> [options]`),s.push(""),n.group.meta.description&&(s.push(n.group.meta.description),s.push(""));let c=t.getChildren(o);if(c.length>0){s.push("Available commands:");for(let m of c){let u=m.command?.meta.description??m.group?.meta.description??"",f=m.name??"";s.push(` ${f.padEnd(18)}${u}`.trimEnd())}s.push("")}s.push("Global options:");for(let m of qn)s.push(` ${zp(m).padEnd(24)}${m.description??""}`.trimEnd());return s.join(`
49
- `)}function Hd(e){let{executableName:t,definition:r,registry:o}=e,s=[iw({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=cw(m);s.push(` ${u.padEnd(18)}${m.description??""}`.trimEnd())}}let a=[...qn,...r.meta.options??[]];if(a.length>0){s.push(""),s.push("Options:");for(let m of a)m.hidden||s.push(` ${zp(m).padEnd(24)}${m.description??""}`.trimEnd())}if(r.meta.examples&&r.meta.examples.length>0){s.push(""),s.push("Examples:");for(let m of r.meta.examples)s.push(` # ${m.name}`),s.push(` ${m.value}`)}let c=o.getChildren(r.path);if(c.length>0){s.push(""),s.push("Subcommands:");for(let m of c){let u=m.command?.meta.description??m.group?.meta.description??"",f=m.name??"";s.push(` ${f.padEnd(18)}${u}`.trimEnd())}}return s.join(`
50
- `)}function iw({executableName:e,definition:t}){let r=[e,...t.path],n=(t.meta.arguments??[]).map(c=>aw(c)).join(" "),i=(t.meta.options?.length??0)>0?" [options]":"",a=n?` ${n}`:"";return`Usage: ${r.join(" ")}${i}${a}`}function aw(e){let t=`<${e.name}>`;return e.variadic?`${t}...`:e.required===!1?`[${t}]`:t}function cw(e){return e.variadic?`<${e.name}...>`:e.required===!1?`<${e.name}>?`:`<${e.name}>`}function zp(e){let t=[];e.shorthand&&t.push(`-${e.shorthand}`);let r=`--${e.name}`;return e.argumentName?r+=` ${e.argumentName.toUpperCase()}`:e.type!=="boolean"&&(r+=" <value>"),t.push(r),t.join(", ")}import AS from"node:path";import Xl from"fs-extra";import IS from"@iarna/toml";import{z as Yx}from"zod";var Ix=Ai(e0(),1);import{ofetch as I8}from"ofetch";function t0(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 on}from"zod";import{z as K}from"zod";import{z as nn}from"zod";function pn(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}nc();Be();nc();var qp={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function ln(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?qp[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=Nw(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 s0=Xn("transaction",ln);function Nw(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 Ri(e,t){let r=(e.transactions??[]).map(o=>typeof o=="string"?o:ln(o));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:r,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}var i0=Xn("block",Ri);function Je(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();nc();var Kp={"0x0":"reverted","0x1":"success"};function Bi(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=>Je(o)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?be(e.transactionIndex):null,status:e.status?Kp[e.status]:null,type:e.type?qp[e.type]||e.type:null};return e.blobGasPrice&&(r.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(r.blobGasUsed=BigInt(e.blobGasUsed)),r}var a0=Xn("transactionReceipt",Bi);j();ic();Oe();M();function Xt(e,t="hex"){let r=c0(e),o=ts(new Uint8Array(r.length));return r.encode(o),t==="hex"?X(o.bytes):o.bytes}function c0(e){return Array.isArray(e)?Hw(e.map(t=>c0(t))):jw(e)}function Hw(e){let t=e.reduce((n,s)=>n+s.length,0),r=m0(t);return{length:(()=>t<=55?1+t:1+r+t)(),encode(n){t<=55?n.pushByte(192+t):(n.pushByte(192+55+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:s}of e)s(n)}}}function jw(e){let t=typeof e=="string"?Fe(e):e,r=m0(t.length);return{length:(()=>t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length)(),encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(128+55+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function m0(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.")}vt();M();function p0(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",...as({},s)])}return t}Oe();M();function cs(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))}Oe();M();function ms(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))}M();wc();function Jw(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 l0(e,t,r){return e&t^~e&r}function d0(e,t,r){return e&t^e&r^t&r}var vc=class extends us{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=bc(this.buffer)}update(t){ps(this),t=Mi(t),hn(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=bc(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){ps(this),yc(t,this),this.finished=!0;let{buffer:r,view:o,blockLen:n,isLE:s}=this,{pos:i}=this;r[i++]=128,po(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(o,0),i=0);for(let f=i;f<n;f++)r[f]=0;Jw(o,n-8,BigInt(this.length*8),s),this.process(o,0);let a=bc(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let m=c/4,u=this.get();if(m>u.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<m;f++)a.setUint32(4*f,u[f],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let o=t.slice(0,r);return this.destroy(),o}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:o,length:n,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=n,t.pos=a,n%r&&t.buffer.set(o),t}clone(){return this._cloneInto()}},Lr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);wc();var Yw=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]),fo=new Uint32Array(64),Ec=class extends vc{constructor(t=32){super(64,t,8,!1),this.A=Lr[0]|0,this.B=Lr[1]|0,this.C=Lr[2]|0,this.D=Lr[3]|0,this.E=Lr[4]|0,this.F=Lr[5]|0,this.G=Lr[6]|0,this.H=Lr[7]|0}get(){let{A:t,B:r,C:o,D:n,E:s,F:i,G:a,H:c}=this;return[t,r,o,n,s,i,a,c]}set(t,r,o,n,s,i,a,c){this.A=t|0,this.B=r|0,this.C=o|0,this.D=n|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let f=0;f<16;f++,r+=4)fo[f]=t.getUint32(r,!1);for(let f=16;f<64;f++){let p=fo[f-15],d=fo[f-2],h=Qt(p,7)^Qt(p,18)^p>>>3,g=Qt(d,17)^Qt(d,19)^d>>>10;fo[f]=g+fo[f-7]+h+fo[f-16]|0}let{A:o,B:n,C:s,D:i,E:a,F:c,G:m,H:u}=this;for(let f=0;f<64;f++){let p=Qt(a,6)^Qt(a,11)^Qt(a,25),d=u+p+l0(a,c,m)+Yw[f]+fo[f]|0,g=(Qt(o,2)^Qt(o,13)^Qt(o,22))+d0(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(){po(fo)}destroy(){this.set(0,0,0,0,0,0,0,0),po(this.buffer)}};var C0=xc(()=>new Ec);var E0=C0;wt();Oe();M();function k0(e,t){let r=t||"hex",o=E0(ce(e,{strict:!1})?Rt(e):e);return r==="bytes"?o:ie(o)}function S0(e){let{commitment:t,version:r=1}=e,o=e.to??(typeof t=="string"?"hex":"bytes"),n=k0(t,"bytes");return n.set([r],0),o==="bytes"?n:X(n)}function kc(e){let{commitments:t,version:r}=e,o=e.to??(typeof t[0]=="string"?"hex":"bytes"),n=[];for(let s of t)n.push(S0({commitment:s,to:o,version:r}));return n}j();var Sc=class extends x{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}},fs=class extends x{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}},Ac=class extends x{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}},Ic=class extends x{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${1}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}};ic();$t();Oe();M();function A0(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 fs;if(o>761855)throw new Sc({maxSize:761855,size:o});let n=[],s=!0,i=0;for(;s;){let a=ts(new Uint8Array(131072)),c=0;for(;c<4096;){let m=r.slice(i,i+(32-1));if(a.pushByte(0),a.pushBytes(m),m.length<31){a.pushByte(128),s=!1;break}c++,i+=31}n.push(a)}return t==="bytes"?n.map(a=>a.bytes):n.map(a=>X(a.bytes))}function _c(e){let{data:t,kzg:r,to:o}=e,n=e.blobs??A0({data:t,to:o}),s=e.commitments??cs({blobs:n,kzg:r,to:o}),i=e.proofs??ms({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}ot();fn();M();Wp();er();j();Ni();lo();Ct();$t();go();Be();function M0(e){let{authorizationList:t}=e;if(t)for(let r of t){let{chainId:o}=r,n=r.address;if(!Q(n))throw new ne({address:n});if(o<0)throw new yn({chainId:o})}Bc(e)}function D0(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new fs;for(let r of t){let o=Y(r),n=be(Nt(r,0,1));if(o!==32)throw new Ac({hash:r,size:o});if(n!==1)throw new Ic({hash:r,version:n})}}Bc(e)}function Bc(e){let{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:o,to:n}=e;if(t<=0)throw new yn({chainId:t});if(n&&!Q(n))throw new ne({address:n});if(o&&o>Qn)throw new Bt({maxFeePerGas:o});if(r&&o&&r>o)throw new pr({maxFeePerGas:o,maxPriorityFeePerGas:r})}function N0(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(t<=0)throw new yn({chainId:t});if(s&&!Q(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>Qn)throw new Bt({maxFeePerGas:o})}function z0(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(s&&!Q(s))throw new ne({address:s});if(typeof t<"u"&&t<=0)throw new yn({chainId:t});if(r||n)throw new x("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(o&&o>Qn)throw new Bt({maxFeePerGas:o})}vt();function Fc(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 lc({transaction:e})}er();vt();Ct();function Oi(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 dc({storageKey:n[s]});if(!Q(o,{strict:!1}))throw new ne({address:o});t.push([o,n])}return t}function Mc(e,t){let r=Fc(e);return r==="eip1559"?fv(e,t):r==="eip2930"?lv(e,t):r==="eip4844"?pv(e,t):r==="eip7702"?uv(e,t):dv(e,t)}function uv(e,t){let{authorizationList:r,chainId:o,gas:n,nonce:s,to:i,value:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:f}=e;M0(e);let p=Oi(u),d=p0(r);return Ue(["0x04",Xt([E(o),s?E(s):"0x",m?E(m):"0x",c?E(c):"0x",n?E(n):"0x",i??"0x",a?E(a):"0x",f??"0x",p,d,...as(e,t)])])}function pv(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:f}=e;D0(e);let p=e.blobVersionedHashes,d=e.sidecars;if(e.blobs&&(typeof p>"u"||typeof d>"u")){let C=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(P=>X(P)),k=e.kzg,A=cs({blobs:C,kzg:k});if(typeof p>"u"&&(p=kc({commitments:A})),typeof d>"u"){let P=ms({blobs:C,commitments:A,kzg:k});d=_c({blobs:C,commitments:A,proofs:P})}}let h=Oi(u),g=[E(r),n?E(n):"0x",m?E(m):"0x",c?E(c):"0x",o?E(o):"0x",s??"0x",i?E(i):"0x",f??"0x",h,a?E(a):"0x",p??[],...as(e,t)],b=[],y=[],v=[];if(d)for(let C=0;C<d.length;C++){let{blob:k,commitment:A,proof:P}=d[C];b.push(k),y.push(A),v.push(P)}return Ue(["0x03",d?Xt([g,b,y,v]):Xt(g)])}function fv(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:m,data:u}=e;Bc(e);let f=Oi(m),p=[E(r),n?E(n):"0x",c?E(c):"0x",a?E(a):"0x",o?E(o):"0x",s??"0x",i?E(i):"0x",u??"0x",f,...as(e,t)];return Ue(["0x02",Xt(p)])}function lv(e,t){let{chainId:r,gas:o,data:n,nonce:s,to:i,value:a,accessList:c,gasPrice:m}=e;N0(e);let u=Oi(c),f=[E(r),s?E(s):"0x",m?E(m):"0x",o?E(o):"0x",i??"0x",a?E(a):"0x",n??"0x",u,...as(e,t)];return Ue(["0x01",Xt(f)])}function dv(e,t){let{chainId:r=0,gas:o,data:n,nonce:s,to:i,value:a,gasPrice:c}=e;z0(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 fc({v:t.v});return d})(),f=Le(t.r),p=Le(t.s);m=[...m,E(u),f==="0x00"?"0x":f,p==="0x00"?"0x":p]}else r>0&&(m=[...m,E(r),"0x","0x"]);return Xt(m)}function as(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 L0={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}};Be();var O0={block:i0({format(e){return{transactions:e.transactions?.map(r=>{if(typeof r=="string")return r;let o=ln(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:s0({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:a0({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}}})};er();Ct();ot();M();function hv(e,t){return yv(e)?gv(e):Mc(e,t)}var U0={transaction:hv};function gv(e){bv(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 Ue(["0x7e",Xt(m)])}function yv(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function bv(e){let{from:t,to:r}=e;if(t&&!Q(t))throw new ne({address:t});if(r&&!Q(r))throw new ne({address:r})}var of={blockTime:2e3,contracts:L0,formatters:O0,serializers:U0};var Dc=pn({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 Ui=1,Hi=pn({...of,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:{...of.contracts,disputeGameFactory:{[Ui]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Ui]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Ui]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Ui]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:Ui}),xv=pn({...Hi,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://mainnet-preconf.base.org"]}}});Ni();function Es({chain:e,currentChainId:t}){if(!e)throw new Pc;if(t!==e.id)throw new Tc({chain:e,currentChainId:t})}j();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"})}},Lt=class extends x{constructor({docsPath:t,metaMessages:r,type:o}){super(`Account type "${o}" is not supported.`,{docsPath:t,metaMessages:r,name:"AccountTypeNotSupportedError"})}};var $m=pn({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}});import{z as ke}from"zod";import{z as It}from"zod";import{z as _}from"zod";import{z as _a}from"zod";import{z as qt}from"zod";import{z as W}from"zod";import{z as Z}from"zod";import{z as it}from"zod";import AE from"crypto";import{z as $r}from"zod";import{z as ar}from"zod";import{z as kx}from"zod";import{z as Rr}from"zod";import{z as bi}from"zod";import{z as Dn}from"zod";import{z as ik}from"zod";import{z as uk}from"zod";import{z as re}from"zod";import{z as Tr}from"zod";import{z as Sk}from"zod";import{z as Ee}from"zod";import{z as O}from"zod";import{z as yi}from"zod";import{z as Sx}from"zod";import{z as rt}from"zod";import{z as Ux}from"zod";import{z as _r}from"zod";import{z as $e}from"zod";function I(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)}ve();j();var Rm=class extends x{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}};Oe();Dt();Xi();Gr();Hr();xo();var Oh="/docs/contract/encodeEventTopics";function vr(e){let{abi:t,eventName:r,args:o}=e,n=t[0];if(r){let c=lt({abi:t,name:r});if(!c)throw new qi(r,{docsPath:Oh});n=c}if(n.type!=="event")throw new qi(void 0,{docsPath:Oh});let s=De(n),i=bo(s),a=[];if(o&&"inputs"in n){let c=n.inputs?.filter(u=>"indexed"in u&&u.indexed),m=Array.isArray(o)?o:Object.values(o).length>0?c?.map(u=>o[u.name])??[]:[];m.length>0&&(a=c?.map((u,f)=>Array.isArray(m[f])?m[f].map((p,d)=>Uh({param:u,value:m[f][d]})):typeof m[f]<"u"&&m[f]!==null?Uh({param:u,value:m[f]}):null)??[])}return[i,...a]}function Uh({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return se(Rt(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new Rm(e.type);return nt([e],[t])}M();function Uo(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 Bm(e,t){let{address:r,abi:o,args:n,eventName:s,fromBlock:i,strict:a,toBlock:c}=t,m=Uo(e,{method:"eth_newFilter"}),u=s?vr({abi:o,args:n,eventName:s}):void 0,f=await e.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof i=="bigint"?E(i):i,toBlock:typeof c=="bigint"?E(c):c,topics:u}]});return{abi:o,args:n,eventName:s,id:f,request:m(f),strict:!!a,type:"event"}}we();kt();ve();j();wo();Cn();Ns();var Yv=3;function St(e,{abi:t,address:r,args:o,docsPath:n,functionName:s,sender:i}){let a=e instanceof gr?e:e instanceof x?e.walk(h=>"data"in h)||e.walk():{},{code:c,data:m,details:u,message:f,shortMessage:p}=a,d=(()=>e instanceof Ot?new Im({functionName:s}):[Yv,nr.code].includes(c)&&(m||u||f||p)?new vn({abi:t,data:typeof m=="object"?m.data:m,functionName:s,message:a instanceof vo?u:p??f}):e)();return new Ds(d,{abi:t,args:o,contractAddress:r,docsPath:n,functionName:s,sender:i})}we();j();ho();Dt();function Fm(e){let t=se(`0x${e.substring(4)}`).substring(26);return Ur(`0x${t}`)}wt();$t();Be();M();async function qh({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:f,yParity:p}=t,d=Number(p??f),h=Vh(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=Vh(a);return o.Signature.fromCompact(i.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function Vh(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 Mm({hash:e,signature:t}){return Fm(await qh({hash:e,signature:t}))}ot();Oe();M();Dt();function Dm(e){let{chainId:t,nonce:r,to:o}=e,n=e.contractAddress??e.address,s=se(Ue(["0x05",Xt([t?E(t):"0x",n,r?E(r):"0x"])]));return o==="bytes"?Fe(s):s}async function Ho(e){let{authorization:t,signature:r}=e;return Mm({hash:Dm(t),signature:r??t})}M();uc();os();j();vt();var Nm=class extends x{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:f,value:p}){let d=dn({from:r?.address,to:f,value:typeof p<"u"&&`${rs(p)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Me(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Me(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Me(m)} gwei`,nonce:u});super(t.shortMessage,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Estimate Gas Arguments:",d].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}};lo();ea();function Kh(e,{docsPath:t,...r}){let o=(()=>{let n=Oo(e,r);return n instanceof Ft?e:n})();return new Nm(o,{docsPath:t,...r})}zs();uo();zm();Wr();we();os();j();var Lm=class extends x{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}},jo=class extends x{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}},Om=class extends x{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Me(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};Be();j();var Os=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"})}};M();async function Qe(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 Os({blockHash:t,blockNumber:r});return(e.chain?.formatters?.block?.format||Ri)(a,"getBlock")}async function Us(e){let t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function Jh(e,t){return vf(e,t)}async function vf(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 I(e,Qe,"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):I(e,Qe,"getBlock")({}),I(e,Us,"getGasPrice")({})]);if(typeof s.baseFeePerGas!="bigint")throw new jo;let a=i-s.baseFeePerGas;return a<0n?0n:a}}async function Zh(e,t){return Um(e,t)}async function Um(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 Lm;let c=10**(i.toString().split(".")[1]?.length??0),m=p=>p*BigInt(Math.ceil(i*c))/BigInt(c),u=r||await I(e,Qe,"getBlock")({});if(typeof o?.fees?.estimateFeesPerGas=="function"){let p=await o.fees.estimateFeesPerGas({block:r,client:e,multiply:m,request:n,type:s});if(p!==null)return p}if(s==="eip1559"){if(typeof u.baseFeePerGas!="bigint")throw new jo;let p=typeof n?.maxPriorityFeePerGas=="bigint"?n.maxPriorityFeePerGas:await vf(e,{block:u,chain:o,request:n}),d=m(u.baseFeePerGas);return{maxFeePerGas:n?.maxFeePerGas??d+p,maxPriorityFeePerGas:p}}return{gasPrice:n?.gasPrice??m(await I(e,Us,"getGasPrice")({}))}}Be();M();async function Hs(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)}Wr();Be();async function dt(e){let t=await e.request({method:"eth_chainId"},{dedupe:!0});return be(t)}var ta=["blobVersionedHashes","chainId","fees","gas","nonce","type"],Yh=new Map;async function Cr(e,t){let{account:r=e.account,blobs:o,chain:n,gas:s,kzg:i,nonce:a,nonceManager:c,parameters:m=ta,type:u}=t,f=r&&G(r),p={...t,...f?{from:f?.address}:{}},d;async function h(){return d||(d=await I(e,Qe,"getBlock")({blockTag:"latest"}),d)}let g;async function b(){return g||(n?n.id:typeof t.chainId<"u"?t.chainId:(g=await I(e,dt,"getChainId")({}),g))}if(m.includes("nonce")&&typeof a>"u"&&f)if(c){let y=await b();p.nonce=await c.consume({address:f.address,chainId:y,client:e})}else p.nonce=await I(e,Hs,"getTransactionCount")({address:f.address,blockTag:"pending"});if((m.includes("blobVersionedHashes")||m.includes("sidecars"))&&o&&i){let y=cs({blobs:o,kzg:i});if(m.includes("blobVersionedHashes")){let v=kc({commitments:y,to:"hex"});p.blobVersionedHashes=v}if(m.includes("sidecars")){let v=ms({blobs:o,commitments:y,kzg:i}),C=_c({blobs:o,commitments:y,proofs:v,to:"hex"});p.sidecars=C}}if(m.includes("chainId")&&(p.chainId=await b()),(m.includes("fees")||m.includes("type"))&&typeof u>"u")try{p.type=Fc(p)}catch{let y=Yh.get(e.uid);typeof y>"u"&&(y=typeof(await h())?.baseFeePerGas=="bigint",Yh.set(e.uid,y)),p.type=y?"eip1559":"legacy"}if(m.includes("fees"))if(p.type!=="legacy"&&p.type!=="eip2930"){if(typeof p.maxFeePerGas>"u"||typeof p.maxPriorityFeePerGas>"u"){let y=await h(),{maxFeePerGas:v,maxPriorityFeePerGas:C}=await Um(e,{block:y,chain:n,request:p});if(typeof t.maxPriorityFeePerGas>"u"&&t.maxFeePerGas&&t.maxFeePerGas<C)throw new Om({maxPriorityFeePerGas:C});p.maxPriorityFeePerGas=C,p.maxFeePerGas=v}}else{if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")throw new jo;if(typeof t.gasPrice>"u"){let y=await h(),{gasPrice:v}=await Um(e,{block:y,chain:n,request:p,type:"legacy"});p.gasPrice=v}}return m.includes("gas")&&typeof s>"u"&&(p.gas=await I(e,js,"estimateGas")({...p,account:f,prepare:f?.type==="local"?[]:["blobVersionedHashes"]})),Xe(p),delete p.parameters,p}async function js(e,t){let{account:r=e.account,prepare:o=!0}=t,n=r?G(r):void 0,s=(()=>{if(Array.isArray(o))return o;if(n?.type!=="local")return["blobVersionedHashes"]})();try{let{accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,blockNumber:u,blockTag:f,data:p,gas:d,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:v,value:C,stateOverride:k,...A}=o?await Cr(e,{...t,parameters:s}):t,T=(typeof u=="bigint"?E(u):void 0)||f,B=Ls(k),z=await(async()=>{if(A.to)return A.to;if(a&&a.length>0)return await Ho({authorization:a[0]}).catch(()=>{throw new x("`to` is required. Could not infer from `authorizationList`")})})();Xe(t);let D=e.chain?.formatters?.transactionRequest?.format,V=(D||pt)({...wr(A,{format:D}),account:n,accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,data:p,gas:d,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:v,to:z,value:C},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:B?[V,T??e.experimental_blockTag??"latest",B]:T?[V,T]:[V]}))}catch(i){throw Kh(i,{...t,account:n,chain:e.chain})}}async function Xh(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 I(e,js,"estimateGas")({data:`${c}${i?i.replace("0x",""):""}`,to:o,...a})}catch(m){let u=a.account?G(a.account):void 0;throw St(m,{abi:r,address:o,args:n,docsPath:"/docs/contract/estimateContractGas",functionName:s,sender:u?.address})}}xo();ve();En();Oe();Dt();Xi();ve();Jp();$t();Xi();Yi();Hr();var Qh="/docs/contract/decodeEventLog";function Gs(e){let{abi:t,data:r,strict:o,topics:n}=e,s=o??!0,[i,...a]=n;if(!i)throw new Vc({docsPath:Qh});let c=t.find(g=>g.type==="event"&&i===bo(De(g)));if(!(c&&"name"in c)||c.type!=="event")throw new As(i,{docsPath:Qh});let{name:m,inputs:u}=c,f=u?.some(g=>!("name"in g&&g.name)),p=f?[]:{},d=u.map((g,b)=>[g,b]).filter(([g])=>"indexed"in g&&g.indexed);for(let g=0;g<d.length;g++){let[b,y]=d[g],v=a[g];if(!v)throw new fr({abiItem:c,param:b});p[f?y:b.name||y]=Qv({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=Vr(h,r);if(g)if(f)for(let b=0;b<u.length;b++)p[b]=p[b]??g.shift();else for(let b=0;b<h.length;b++)p[h[b].name]=g[b]}catch(g){if(s)throw g instanceof ks||g instanceof es?new rr({abiItem:c,data:r,params:h,size:Y(r)}):g}else if(s)throw new rr({abiItem:c,data:"0x",params:h,size:0})}return{eventName:m,args:Object.values(p).length>0?p:void 0}}function Qv({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Vr([e],t)||[])[0]}function sr(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]===bo(m));if(!a)return null;let c=Gs({...i,abi:[a],strict:n});return s&&!s.includes(c.eventName)||!e2({args:c.args,inputs:a.inputs,matchArgs:r})?null:{...c,...i}}catch(a){let c,m;if(a instanceof As)return null;if(a instanceof rr||a instanceof fr){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 e2(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"?jt(i,a):s.type==="string"||s.type==="bytes"?se(Rt(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}M();async function Vs(e,{address:t,blockHash:r,fromBlock:o,toBlock:n,event:s,events:i,args:a,strict:c}={}){let m=c??!1,u=i??(s?[s]:void 0),f=[];u&&(f=[u.flatMap(g=>vr({abi:[g],eventName:g.name,args:i?void 0:a}))],s&&(f=f[0]));let p;r?p=await e.request({method:"eth_getLogs",params:[{address:t,topics:f,blockHash:r}]}):p=await e.request({method:"eth_getLogs",params:[{address:t,topics:f,fromBlock:typeof o=="bigint"?E(o):o,toBlock:typeof n=="bigint"?E(n):n}]});let d=p.map(h=>Je(h));return u?sr({abi:u,args:a,logs:d,strict:m}):d}async function Hm(e,t){let{abi:r,address:o,args:n,blockHash:s,eventName:i,fromBlock:a,toBlock:c,strict:m}=t,u=i?lt({abi:r,name:i}):void 0,f=u?void 0:r.filter(p=>p.type==="event");return I(e,Vs,"getLogs")({address:o,args:n,blockHash:s,event:u,events:f,fromBlock:a,toBlock:c,strict:m})}Go();kt();ei();async function Pe(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 I(e,Sr,"call")({...i,data:a,to:o});return ht({abi:r,args:n,functionName:s,data:c||"0x"})}catch(c){throw St(c,{abi:r,address:o,args:n,docsPath:"/docs/contract/readContract",functionName:s})}}we();Go();kt();ei();async function Og(e,t){let{abi:r,address:o,args:n,dataSuffix:s,functionName:i,...a}=t,c=a.account?G(a.account):e.account,m=fe({abi:r,args:n,functionName:i});try{let{data:u}=await I(e,Sr,"call")({batch:!1,data:`${m}${s?s.replace("0x",""):""}`,to:o,...a,account:c}),f=ht({abi:r,args:n,functionName:i,data:u||"0x"}),p=r.filter(d=>"name"in d&&d.name===t.functionName);return{result:f,request:{abi:p,address:o,args:n,dataSuffix:s,functionName:i,...a,account:c}}}catch(u){throw St(u,{abi:r,address:o,args:n,docsPath:"/docs/contract/simulateContract",functionName:i,sender:c?.address})}}ve();Ns();var jf=new Map,Ug=new Map,w2=0;function et(e,t,r){let o=++w2,n=()=>jf.get(e)||[],s=()=>{let u=n();jf.set(e,u.filter(f=>f.id!==o))},i=()=>{let u=n();if(!u.some(p=>p.id===o))return;let f=Ug.get(e);if(u.length===1&&f){let p=f();p instanceof Promise&&p.catch(()=>{})}s()},a=n();if(jf.set(e,[...a,{id:o,fns:t}]),a&&a.length>0)return i;let c={};for(let u in t)c[u]=(...f)=>{let p=n();if(p.length!==0)for(let d of p)d.fns[u]?.(...f)};let m=r(c);return typeof m=="function"&&Ug.set(e,m),i}async function ma(e){return new Promise(t=>setTimeout(t,e))}function Vt(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 ma(c);let m=async()=>{n&&(await e({unpoll:s}),await ma(o),m())};m()})(),s}Ze();var v2=new Map,C2=new Map;function Hg(e){let t=(n,s)=>({clear:()=>s.delete(n),get:()=>s.get(n),set:i=>s.set(n,i)}),r=t(e,v2),o=t(e,C2);return{clear:()=>{r.clear(),o.clear()},promise:r,response:o}}async function jg(e,{cacheKey:t,cacheTime:r=Number.POSITIVE_INFINITY}){let o=Hg(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 E2=e=>`blockNumber.${e}`;async function Ar(e,{cacheTime:t=e.cacheTime}={}){let r=await jg(()=>e.request({method:"eth_blockNumber"}),{cacheKey:E2(e.uid),cacheTime:t});return BigInt(r)}async function Wo(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=>Je(s));return!("abi"in t)||!t.abi?n:sr({abi:t.abi,logs:n,strict:r})}async function Jo(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function Gg(e,t){let{abi:r,address:o,args:n,batch:s=!0,eventName:i,fromBlock:a,onError:c,onLogs:m,poll:u,pollingInterval:f=e.pollingInterval,strict:p}=t;return(()=>typeof u<"u"?u:typeof a=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))()?(()=>{let b=p??!1,y=J(["watchContractEvent",o,n,s,e.uid,i,f,b,a]);return et(y,{onLogs:m,onError:c},v=>{let C;a!==void 0&&(C=a-1n);let k,A=!1,P=Vt(async()=>{if(!A){try{k=await I(e,Bm,"createContractEventFilter")({abi:r,address:o,args:n,eventName:i,strict:b,fromBlock:a})}catch{}A=!0;return}try{let T;if(k)T=await I(e,Wo,"getFilterChanges")({filter:k});else{let B=await I(e,Ar,"getBlockNumber")({});C&&C<B?T=await I(e,Hm,"getContractEvents")({abi:r,address:o,args:n,eventName:i,fromBlock:C+1n,toBlock:B,strict:b}):T=[],C=B}if(T.length===0)return;if(s)v.onLogs(T);else for(let B of T)v.onLogs([B])}catch(T){k&&T instanceof Ht&&(A=!1),v.onError?.(T)}},{emitOnBegin:!0,interval:f});return async()=>{k&&await I(e,Jo,"uninstallFilter")({filter:k}),P()}})})():(()=>{let b=p??!1,y=J(["watchContractEvent",o,n,s,e.uid,i,f,b]),v=!0,C=()=>v=!1;return et(y,{onLogs:m,onError:c},k=>((async()=>{try{let A=(()=>{if(e.transport.type==="fallback"){let B=e.transport.transports.find(z=>z.config.type==="webSocket"||z.config.type==="ipc");return B?B.value:e.transport}return e.transport})(),P=i?vr({abi:r,eventName:i,args:n}):[],{unsubscribe:T}=await A.subscribe({params:["logs",{address:o,topics:P}],onData(B){if(!v)return;let z=B.result;try{let{eventName:D,args:H}=Gs({abi:r,data:z.data,topics:z.topics,strict:p}),V=Je(z,{args:H,eventName:D});k.onLogs([V])}catch(D){let H,V;if(D instanceof rr||D instanceof fr){if(p)return;H=D.abiItem.name,V=D.abiItem.inputs?.some(me=>!("name"in me&&me.name))}let q=Je(z,{args:V?[]:{},eventName:H});k.onLogs([q])}},onError(B){k.onError?.(B)}});C=T,v||C()}catch(A){c?.(A)}})(),()=>C()))})()}we();kt();we();j();lo();vt();ea();function ti(e,{docsPath:t,...r}){let o=(()=>{let n=Oo(e,r);return n instanceof Ft?e:n})();return new hc(o,{docsPath:t,...r})}zs();uo();vs();Wr();async function ri(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}var Gf=new Mt(128);async function Zo(e,t){let{account:r=e.account,chain:o=e.chain,accessList:n,authorizationList:s,blobs:i,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,type:h,value:g,...b}=t;if(typeof r>"u")throw new He({docsPath:"/docs/actions/wallet/sendTransaction"});let y=r?G(r):null;try{Xe(t);let v=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await Ho({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 I(e,dt,"getChainId")({}),Es({currentChainId:C,chain:o}));let k=e.chain?.formatters?.transactionRequest?.format,P=(k||pt)({...wr(b,{format:k}),accessList:n,account:y,authorizationList:s,blobs:i,chainId:C,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,to:v,type:h,value:g},"sendTransaction"),T=Gf.get(e.uid),B=T?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:B,params:[P]},{retryCount:0})}catch(z){if(T===!1)throw z;let D=z;if(D.name==="InvalidInputRpcError"||D.name==="InvalidParamsRpcError"||D.name==="MethodNotFoundRpcError"||D.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[P]},{retryCount:0}).then(H=>(Gf.set(e.uid,!0),H)).catch(H=>{let V=H;throw V.name==="MethodNotFoundRpcError"||V.name==="MethodNotSupportedRpcError"?(Gf.set(e.uid,!1),D):V});throw D}}if(y?.type==="local"){let C=await I(e,Cr,"prepareTransactionRequest")({account:y,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,nonceManager:y.nonceManager,parameters:[...ta,"sidecars"],type:h,value:g,...b,to:v}),k=o?.serializers?.transaction,A=await y.signTransaction(C,{serializer:k});return await I(e,ri,"sendRawTransaction")({serializedTransaction:A})}throw y?.type==="smart"?new Lt({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Lt({docsPath:"/docs/actions/wallet/sendTransaction",type:y?.type})}catch(v){throw v instanceof Lt?v:ti(v,{...t,account:y,chain:t.chain||void 0})}}async function In(e,t){return In.internal(e,Zo,"sendTransaction",t)}(function(e){async function t(r,o,n,s){let{abi:i,account:a=r.account,address:c,args:m,dataSuffix:u,functionName:f,...p}=s;if(typeof a>"u")throw new He({docsPath:"/docs/contract/writeContract"});let d=a?G(a):null,h=fe({abi:i,args:m,functionName:f});try{return await I(r,o,n)({data:`${h}${u?u.replace("0x",""):""}`,to:c,account:d,...p})}catch(g){throw St(g,{abi:i,address:c,args:m,docsPath:"/docs/contract/writeContract",functionName:f,sender:d?.address})}}e.internal=t})(In||(In={}));j();j();var cu=class extends x{constructor(t){super(`Call bundle failed with status: ${t.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=t}};ou();function _n(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 ma(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()})}Ze();go();fn();Be();we();j();Ns();kt();ot();Be();M();var Vf="0x5792579257925792579257925792579257925792579257925792579257925792",qf=E(0,{size:32});async function mu(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?G(r):null,f=t.calls.map(p=>{let d=p,h=d.abi?fe({abi:d.abi,functionName:d.functionName,args:d.args}):d.data;return{data:d.dataSuffix&&h?Te([h,d.dataSuffix]):h,to:d.to,value:d.value?E(d.value):void 0}});try{let p=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:a,calls:f,capabilities:o,chainId:E(n.id),from:u?.address,id:c,version:m}]},{retryCount:0});return typeof p=="string"?{id:p}:p}catch(p){let d=p;if(s&&(d.name==="MethodNotFoundRpcError"||d.name==="MethodNotSupportedRpcError"||d.name==="UnknownRpcError"||d.details.toLowerCase().includes("does not exist / is not available")||d.details.toLowerCase().includes("missing or invalid. request()")||d.details.toLowerCase().includes("did not match any variant of untagged enum")||d.details.toLowerCase().includes("account upgraded to unsupported contract")||d.details.toLowerCase().includes("eip-7702 not supported")||d.details.toLowerCase().includes("unsupported wc_ method")||d.details.toLowerCase().includes("feature toggled misconfigured")||d.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(o&&Object.values(o).some(v=>!v.optional)){let v="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new br(new x(v,{details:v}))}if(a&&f.length>1){let y="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new xr(new x(y,{details:y}))}let h=[];for(let y of f){let v=Zo(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:qf);return{id:Te([...b,E(n.id,{size:32}),Vf])}}throw ti(p,{...t,account:u,chain:t.chain})}}async function uu(e,t){async function r(u){if(u.endsWith(Vf.slice(2))){let p=Le(Rc(u,-64,-32)),d=Rc(u,0,-64).slice(2).match(/.{1,64}/g),h=await Promise.all(d.map(b=>qf.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(p),receipts:h.filter(Boolean),status:g,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[u]})}let{atomic:o=!1,chainId:n,receipts:s,version:i="2.0.0",...a}=await r(t.id),[c,m]=(()=>{let u=a.status;return u>=100&&u<200?["pending",u]:u>=200&&u<300?["success",u]:u>=300&&u<700?["failure",u]:u==="CONFIRMED"?["success",200]:u==="PENDING"?["pending",100]:[void 0,u]})();return{...a,atomic:o,chainId:n?be(n):void 0,receipts:s?.map(u=>({...u,blockNumber:ae(u.blockNumber),gasUsed:ae(u.gasUsed),status:Kp[u.status]}))??[],statusCode:m,status:c,version:i}}async function pu(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=J(["waitForCallsStatus",e.uid,r]),{promise:u,resolve:f,reject:p}=Qs(),d,h=et(m,{resolve:f,reject:p},g=>{let b=Vt(async()=>{let y=v=>{clearTimeout(d),b(),v(),h()};try{let v=await _n(async()=>{let C=await I(e,uu,"getCallsStatus")({id:r});if(c&&C.status==="failure")throw new cu(C);return C},{retryCount:s,delay:i});if(!n(v))return;y(()=>g.resolve(v))}catch(v){y(()=>g.reject(v))}},{interval:o,emitOnBegin:!0});return b});return d=a?setTimeout(()=>{h(),clearTimeout(d),p(new Kf({id:r}))},a):void 0,await u}var Kf=class extends x{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}};we();var fu=256,lu;function du(e=11){if(!lu||fu+e>256*2){lu="",fu=0;for(let t=0;t<256;t++)lu+=(256+Math.random()*256|0).toString(16).substring(1)}return lu.substring(fu,fu+++e)}function hu(e){let{batch:t,chain:r,ccipRead:o,key:n="base",name:s="Base Client",type:i="base"}=e,a=e.experimental_blockTag??(typeof r?.experimental_preconfirmationTime=="number"?"pending":void 0),c=r?.blockTime??12e3,m=Math.min(Math.max(Math.floor(c/2),500),4e3),u=e.pollingInterval??m,f=e.cacheTime??u,p=e.account?G(e.account):void 0,{config:d,request:h,value:g}=e.transport({chain:r,pollingInterval:u}),b={...d,...g},y={account:p,batch:t,cacheTime:f,ccipRead:o,chain:r,key:n,name:s,pollingInterval:u,request:h,transport:b,type:i,uid:du(),...a?{experimental_blockTag:a}:{}};function v(C){return k=>{let A=k(C);for(let T in y)delete A[T];let P={...C,...A};return Object.assign(P,{extend:v(P)})}}return Object.assign(y,{extend:v(y)})}Ko();Go();kt();bn();fn();M();j();wo();function oi(e){if(!(e instanceof x))return!1;let t=e.walk(r=>r instanceof vn);return t instanceof vn?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}ca();ot();Oe();M();Dt();wt();function gu(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 ua(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=gu(r[o]),s=n?Rt(n):se(Yt(r[o]),"bytes");t=se(Te([t,s]),"bytes")}return X(t)}Oe();function Vg(e){return`[${e.slice(2)}]`}Oe();M();Dt();function qg(e){let t=new Uint8Array(32).fill(0);return e?gu(e)||se(Yt(e)):X(t)}function ni(e){let t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);let r=new Uint8Array(Yt(t).byteLength+2),o=0,n=t.split(".");for(let s=0;s<n.length;s++){let i=Yt(n[s]);i.byteLength>255&&(i=Yt(Vg(qg(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 Kg(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 zt({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c?.ensTlds;if(u&&!u.some(p=>s.endsWith(p)))return null;let f=(()=>n!=null?[ua(s),BigInt(n)]:[ua(s)])();try{let p=fe({abi:Bf,functionName:"addr",args:f}),d={address:m,abi:eu,functionName:"resolveWithGateways",args:[ie(ni(s)),p,i??[Yr]],blockNumber:r,blockTag:o},g=await I(e,Pe,"readContract")(d);if(g[0]==="0x")return null;let b=ht({abi:Bf,args:f,functionName:"addr",data:g[0]});return b==="0x"||Le(b)==="0x00"?null:b}catch(p){if(a)throw p;if(oi(p))return null;throw p}}j();var yu=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"})}},Yo=class extends x{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}},si=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"})}},bu=class extends x{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}};var k2=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,S2=/^(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>\/.*)?$/,A2=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,I2=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function _2(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 Wg(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Wf({uri:e,gatewayUrls:t}){let r=A2.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};let o=Wg(t?.ipfs,"https://ipfs.io"),n=Wg(t?.arweave,"https://arweave.net"),s=e.match(k2),{protocol:i,subpath:a,target:c,subtarget:m=""}=s?.groups||{},u=i==="ipns:/"||a==="ipns/",f=i==="ipfs:/"||a==="ipfs/"||S2.test(e);if(e.startsWith("http")&&!u&&!f){let d=e;return t?.arweave&&(d=e.replace(/https:\/\/arweave.net/g,t?.arweave)),{uri:d,isOnChain:!1,isEncoded:!1}}if((u||f)&&c)return{uri:`${o}/${u?"ipns":"ipfs"}/${c}${m}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&c)return{uri:`${n}/${c}${m||""}`,isOnChain:!1,isEncoded:!1};let p=e.replace(I2,"");if(p.startsWith("<svg")&&(p=`data:image/svg+xml;base64,${btoa(p)}`),p.startsWith("data:")||p.startsWith("{"))return{uri:p,isOnChain:!0,isEncoded:!1};throw new si({uri:e})}function Jf(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new yu({data:e});return e.image||e.image_url||e.image_data}async function Jg({gatewayUrls:e,uri:t}){try{let r=await fetch(t).then(n=>n.json());return await xu({gatewayUrls:e,uri:Jf(r)})}catch{throw new si({uri:t})}}async function xu({gatewayUrls:e,uri:t}){let{uri:r,isOnChain:o}=Wf({uri:t,gatewayUrls:e});if(o||await _2(r))return r;throw new si({uri:t})}function Zg(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 Yo({reason:"Only EIP-155 supported"});if(!i)throw new Yo({reason:"Chain ID not found"});if(!c)throw new Yo({reason:"Contract address not found"});if(!n)throw new Yo({reason:"Token ID not found"});if(!a)throw new Yo({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i,10),namespace:a.toLowerCase(),contractAddress:c,tokenID:n}}async function Yg(e,{nft:t}){if(t.namespace==="erc721")return Pe(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 Pe(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 bu({namespace:t.namespace})}async function Xg(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?T2(e,{gatewayUrls:t,record:r}):xu({uri:r,gatewayUrls:t})}async function T2(e,{gatewayUrls:t,record:r}){let o=Zg(r),n=await Yg(e,{nft:o}),{uri:s,isOnChain:i,isEncoded:a}=Wf({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 xu({uri:Jf(u),gatewayUrls:t})}let c=o.tokenID;return o.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),Jg({gatewayUrls:t,uri:s.replace(/(?:0x)?{id}/,c)})}Ko();Go();kt();bn();M();ca();async function wu(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 zt({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c?.ensTlds;if(u&&!u.some(f=>s.endsWith(f)))return null;try{let f={address:m,abi:eu,args:[ie(ni(s)),fe({abi:Rf,functionName:"text",args:[ua(s),n]}),i??[Yr]],functionName:"resolveWithGateways",blockNumber:r,blockTag:o},d=await I(e,Pe,"readContract")(f);if(d[0]==="0x")return null;let h=ht({abi:Rf,functionName:"text",data:d[0]});return h===""?null:h}catch(f){if(a)throw f;if(oi(f))return null;throw f}}async function Qg(e,{blockNumber:t,blockTag:r,assetGatewayUrls:o,name:n,gatewayUrls:s,strict:i,universalResolverAddress:a}){let c=await I(e,wu,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:n,universalResolverAddress:a,gatewayUrls:s,strict:i});if(!c)return null;try{return await Xg(e,{record:c,gatewayUrls:o})}catch{return null}}Ko();bn();ca();async function ey(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 zt({blockNumber:o,chain:c,contract:"ensUniversalResolver"})})();try{let u={address:m,abi:kg,args:[r,s,i??[Yr]],functionName:"reverseWithGateways",blockNumber:o,blockTag:n},f=I(e,Pe,"readContract"),[p]=await f(u);return p||null}catch(u){if(a)throw u;if(oi(u))return null;throw u}}bn();M();async function ty(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 zt({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 I(e,Pe,"readContract")({address:i,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[ie(ni(n))],blockNumber:r,blockTag:o});return c}ei();we();M();wf();zs();uo();Wr();async function vu(e,t){let{account:r=e.account,blockNumber:o,blockTag:n="latest",blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:m,maxFeePerGas:u,maxPriorityFeePerGas:f,to:p,value:d,...h}=t,g=r?G(r):void 0;try{Xe(t);let y=(typeof o=="bigint"?E(o):void 0)||n,v=e.chain?.formatters?.transactionRequest?.format,k=(v||pt)({...wr(h,{format:v}),account:g,blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:m,maxFeePerGas:u,maxPriorityFeePerGas:f,to:p,value:d},"createAccessList"),A=await e.request({method:"eth_createAccessList",params:[k,y]});return{accessList:A.accessList,gasUsed:BigInt(A.gasUsed)}}catch(b){throw Pm(b,{...t,account:g,chain:e.chain})}}async function ry(e){let t=Uo(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}M();async function Cu(e,{address:t,args:r,event:o,events:n,fromBlock:s,strict:i,toBlock:a}={}){let c=n??(o?[o]:void 0),m=Uo(e,{method:"eth_newFilter"}),u=[];c&&(u=[c.flatMap(d=>vr({abi:[d],eventName:d.name,args:r}))],o&&(u=u[0]));let f=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof s=="bigint"?E(s):s,toBlock:typeof a=="bigint"?E(a):a,...u.length?{topics:u}:{}}]});return{abi:c,args:r,eventName:o?o.name:void 0,fromBlock:s,id:f,request:m(f),strict:!!i,toBlock:a,type:"event"}}async function Eu(e){let t=Uo(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}M();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 ny(e){let t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}Be();M();async function sy(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)}M();async function pa(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}j();var ku=class extends x{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}};async function iy(e,t){let{address:r,factory:o,factoryData:n}=t;try{let[s,i,a,c,m,u,f]=await I(e,Pe,"readContract")({abi:P2,address:r,functionName:"eip712Domain",factory:o,factoryData:n});return{domain:{name:i,version:a,chainId:Number(c),verifyingContract:m,salt:u},extensions:f,fields:s}}catch(s){let i=s;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new ku({address:r}):i}}var P2=[{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"}];M();function ay(e){return{baseFeePerGas:e.baseFeePerGas.map(t=>BigInt(t)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:e.reward?.map(t=>t.map(r=>BigInt(r)))}}async function cy(e,{blockCount:t,blockNumber:r,blockTag:o="latest",rewardPercentiles:n}){let s=typeof r=="bigint"?E(r):void 0,i=await e.request({method:"eth_feeHistory",params:[E(t),s||o,n]},{dedupe:!!s});return ay(i)}async function my(e,{filter:t}){let r=t.strict??!1,n=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(s=>Je(s));return t.abi?sr({abi:t.abi,logs:n,strict:r}):n}M();ho();En();async function uy({address:e,authorization:t,signature:r}){return jt(Cs(e),await Ho({authorization:t,signature:r}))}j();Cn();Ns();M();vs();var Su=new Mt(8192);function py(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(Su.get(r))return Su.get(r);let o=e().finally(()=>Su.delete(r));return Su.set(r,o),o}Ze();function fy(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 yr(new Error("method not supported"),{method:m});if(s?.include&&!s.include.includes(m))throw new yr(new Error("method not supported"),{method:m});let u=n?Zt(`${c}.${J(r)}`):void 0;return py(()=>_n(async()=>{try{return await e(r)}catch(f){let p=f;switch(p.code){case Co.code:throw new Co(p);case Eo.code:throw new Eo(p);case ko.code:throw new ko(p,{method:r.method});case So.code:throw new So(p);case nr.code:throw new nr(p);case Ht.code:throw new Ht(p);case Ao.code:throw new Ao(p);case Io.code:throw new Io(p);case _o.code:throw new _o(p);case yr.code:throw new yr(p,{method:r.method});case qr.code:throw new qr(p);case To.code:throw new To(p);case Kr.code:throw new Kr(p);case Po.code:throw new Po(p);case $o.code:throw new $o(p);case Ro.code:throw new Ro(p);case Bo.code:throw new Bo(p);case Fo.code:throw new Fo(p);case br.code:throw new br(p);case Mo.code:throw new Mo(p);case Do.code:throw new Do(p);case No.code:throw new No(p);case zo.code:throw new zo(p);case Lo.code:throw new Lo(p);case xr.code:throw new xr(p);case 5e3:throw new Kr(p);default:throw f instanceof x?f:new Tm(p)}}},{delay:({count:f,error:p})=>{if(p&&p instanceof Ut){let d=p?.headers?.get("Retry-After");if(d?.match(/\d/))return Number.parseInt(d,10)*1e3}return~~(1<<f)*i},retryCount:a,shouldRetry:({error:f})=>$2(f)}),{enabled:n,id:u})}}function $2(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===qr.code||e.code===nr.code:e instanceof Ut&&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();M();Cn();function ly(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)}})()})}Ze();function R2(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var Zf=R2();function dy(e,t={}){return{async request(r){let{body:o,fetchFn:n=t.fetchFn??fetch,onRequest:s=t.onRequest,onResponse:i=t.onResponse,timeout:a=t.timeout??1e4}=r,c={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:m,method:u,signal:f}=c;try{let p=await ly(async({signal:h})=>{let g={...c,body:Array.isArray(o)?J(o.map(C=>({jsonrpc:"2.0",id:C.id??Zf.take(),...C}))):J({jsonrpc:"2.0",id:o.id??Zf.take(),...o}),headers:{"Content-Type":"application/json",...m},method:u||"POST",signal:f||(a>0?h:null)},b=new Request(e,g),y=await s?.(b,g)??{...g,url:e};return await n(y.url??e,y)},{errorInstance:new Qi({body:o,url:e}),timeout:a,signal:!0});i&&await i(p);let d;if(p.headers.get("Content-Type")?.startsWith("application/json"))d=await p.json();else{d=await p.text();try{d=JSON.parse(d||"{}")}catch(h){if(p.ok)throw h;d={error:d}}}if(!p.ok)throw new Ut({body:o,details:J(d.error)||p.statusText,headers:p.headers,status:p.status,url:e});return d}catch(p){throw p instanceof Ut||p instanceof Qi?p:new Ut({body:o,cause:p,url:e})}}}}Dt();var hy=`Ethereum Signed Message:
52
- `;ot();$t();M();function gy(e){let t=(()=>typeof e=="string"?Zt(e):typeof e.raw=="string"?e.raw:X(e.raw))(),r=Zt(`${hy}${Y(t)}`);return Te([r,t])}function ii(e,t){return se(gy(e),t)}Gr();ot();M();Dt();ve();er();Ze();j();var Au=class extends x{constructor({domain:t}){super(`Invalid domain "${J(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}},Iu=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`."]})}},_u=class extends x{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}};Ct();$t();M();ff();Ze();function yy(e){let{domain:t,message:r,primaryType:o,types:n}=e,s=(c,m)=>{let u={...m};for(let f of c){let{name:p,type:d}=f;d==="address"&&(u[p]=u[p].toLowerCase())}return u},i=(()=>n.EIP712Domain?t?s(n.EIP712Domain,t):{}:{})(),a=(()=>{if(o!=="EIP712Domain")return s(n[o],r)})();return J({domain:i,message:a,primaryType:o,types:n})}function Tu(e){let{domain:t,message:r,primaryType:o,types:n}=e,s=(i,a)=>{for(let c of i){let{name:m,type:u}=c,f=a[m],p=u.match(vm);if(p&&(typeof f=="number"||typeof f=="bigint")){let[g,b,y]=p;E(f,{signed:b==="int",size:Number.parseInt(y,10)/8})}if(u==="address"&&typeof f=="string"&&!Q(f))throw new ne({address:f});let d=u.match(Bh);if(d){let[g,b]=d;if(b&&Y(f)!==Number.parseInt(b,10))throw new Wc({expectedSize:Number.parseInt(b,10),givenSize:Y(f)})}let h=n[u];h&&(B2(u),s(h,f))}};if(n.EIP712Domain&&t){if(typeof t!="object")throw new Au({domain:t});s(n.EIP712Domain,t)}if(o!=="EIP712Domain")if(n[o])s(n[o],r);else throw new Iu({primaryType:o,types:n})}function Pu({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 B2(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new _u({type:e})}function $u(e){let{domain:t={},message:r,primaryType:o}=e,n={EIP712Domain:Pu({domain:t}),...e.types};Tu({domain:t,message:r,primaryType:o,types:n});let s=["0x1901"];return t&&s.push(F2({domain:t,types:n})),o!=="EIP712Domain"&&s.push(by({data:r,primaryType:o,types:n})),se(Te(s))}function F2({domain:e,types:t}){return by({data:e,primaryType:"EIP712Domain",types:t})}function by({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=[M2({primaryType:t,types:r})];for(let s of r[t]){let[i,a]=vy({types:r,name:s.name,type:s.type,value:e[s.name]});o.push(i),n.push(a)}return nt(o,n)}function M2({primaryType:e,types:t}){let r=ie(D2({primaryType:e,types:t}));return se(r)}function D2({primaryType:e,types:t}){let r="",o=wy({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 wy({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])wy({primaryType:s.type,types:t},r);return r}function vy({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=>vy({name:t,type:n,types:e,value:i}));return[{type:"bytes32"},se(nt(s.map(([i])=>i),s.map(([,i])=>i)))]}return[{type:r},o]}var ba={};Np(ba,{InvalidWrappedSignatureError:()=>qu,assert:()=>Ku,from:()=>bC,magicBytes:()=>Cl,suffixParameters:()=>El,unwrap:()=>Hy,validate:()=>wC,wrap:()=>xC});Ji();Vo();var Ru=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 N2={checksum:new Ru(8192)},Bu=N2.checksum;gt();Qp();Vo();je();function Tn(e,t={}){let{as:r=typeof e=="string"?"Hex":"Bytes"}=t,o=$c(lg(e));return r==="Bytes"?o:Ie(o)}Vo();gt();je();na();function Cy(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 Fu({prefix:o,cause:new el});return}if(r===!0||typeof n=="bigint"&&typeof s>"u"){if(o!==3&&o!==2)throw new Fu({prefix:o,cause:new Qf});return}throw new Xf({publicKey:e})}function Ey(e){let t=(()=>{if(ia(e))return ky(e);if(xg(e))return L2(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 Cy(t),t}function L2(e){return ky(Ie(e))}function ky(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new tl({publicKey:e});if(e.length===130){let o=BigInt(ge(e,0,32)),n=BigInt(ge(e,32,64));return{prefix:4,x:o,y:n}}if(e.length===132){let o=Number(ge(e,0,1)),n=BigInt(ge(e,1,33)),s=BigInt(ge(e,33,65));return{prefix:o,x:n,y:s}}let t=Number(ge(e,0,1)),r=BigInt(ge(e,1,33));return{prefix:t,x:r}}function rl(e,t={}){Cy(e);let{prefix:r,x:o,y:n}=e,{includePrefix:s=!0}=t;return xe(s?ee(r,{size:1}):"0x",ee(o,{size:32}),typeof n=="bigint"?ee(n,{size:32}):"0x")}var Xf=class extends R{constructor({publicKey:t}){super(`Value \`${qo(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"})}},Fu=class extends R{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"})}},Qf=class extends R{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"})}},el=class extends R{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 R{constructor({publicKey:t}){super(`Value \`${t}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${he(Zs(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};var O2=/^0x[a-fA-F0-9]{40}$/;function Pn(e,t={}){let{strict:r=!0}=t;if(!O2.test(e))throw new Mu({address:e,cause:new ol});if(r){if(e.toLowerCase()===e)return;if(Du(e)!==e)throw new Mu({address:e,cause:new nl})}}function Du(e){if(Bu.has(e))return Bu.get(e);Pn(e,{strict:!1});let t=e.substring(2).toLowerCase(),r=Tn(dg(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 Bu.set(e,n),n}function U2(e,t={}){let{checksum:r=!1}=t;return Pn(e),r?Du(e):e}function Ay(e,t={}){let r=Tn(`0x${rl(e).slice(4)}`).substring(26);return U2(`0x${r}`,t)}function Nu(e,t={}){let{strict:r=!0}=t??{};try{return Pn(e,{strict:r}),!0}catch{return!1}}var Mu=class extends R{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"})}},ol=class extends R{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"})}},nl=class extends R{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}};Vo();gt();je();Vo();gt();je();var Iy=/^(.*)\[([0-9]*)\]$/,_y=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Lu=/^(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)?$/,uH=2n**(8n-1n)-1n,pH=2n**(16n-1n)-1n,fH=2n**(24n-1n)-1n,lH=2n**(32n-1n)-1n,dH=2n**(40n-1n)-1n,hH=2n**(48n-1n)-1n,gH=2n**(56n-1n)-1n,yH=2n**(64n-1n)-1n,bH=2n**(72n-1n)-1n,xH=2n**(80n-1n)-1n,wH=2n**(88n-1n)-1n,vH=2n**(96n-1n)-1n,CH=2n**(104n-1n)-1n,EH=2n**(112n-1n)-1n,kH=2n**(120n-1n)-1n,SH=2n**(128n-1n)-1n,AH=2n**(136n-1n)-1n,IH=2n**(144n-1n)-1n,_H=2n**(152n-1n)-1n,TH=2n**(160n-1n)-1n,PH=2n**(168n-1n)-1n,$H=2n**(176n-1n)-1n,RH=2n**(184n-1n)-1n,BH=2n**(192n-1n)-1n,FH=2n**(200n-1n)-1n,MH=2n**(208n-1n)-1n,DH=2n**(216n-1n)-1n,NH=2n**(224n-1n)-1n,zH=2n**(232n-1n)-1n,LH=2n**(240n-1n)-1n,OH=2n**(248n-1n)-1n,UH=2n**(256n-1n)-1n,HH=-(2n**(8n-1n)),jH=-(2n**(16n-1n)),GH=-(2n**(24n-1n)),VH=-(2n**(32n-1n)),qH=-(2n**(40n-1n)),KH=-(2n**(48n-1n)),WH=-(2n**(56n-1n)),JH=-(2n**(64n-1n)),ZH=-(2n**(72n-1n)),YH=-(2n**(80n-1n)),XH=-(2n**(88n-1n)),QH=-(2n**(96n-1n)),ej=-(2n**(104n-1n)),tj=-(2n**(112n-1n)),rj=-(2n**(120n-1n)),oj=-(2n**(128n-1n)),nj=-(2n**(136n-1n)),sj=-(2n**(144n-1n)),ij=-(2n**(152n-1n)),aj=-(2n**(160n-1n)),cj=-(2n**(168n-1n)),mj=-(2n**(176n-1n)),uj=-(2n**(184n-1n)),pj=-(2n**(192n-1n)),fj=-(2n**(200n-1n)),lj=-(2n**(208n-1n)),dj=-(2n**(216n-1n)),hj=-(2n**(224n-1n)),gj=-(2n**(232n-1n)),yj=-(2n**(240n-1n)),bj=-(2n**(248n-1n)),xj=-(2n**(256n-1n)),wj=2n**8n-1n,vj=2n**16n-1n,Cj=2n**24n-1n,Ej=2n**32n-1n,kj=2n**40n-1n,Sj=2n**48n-1n,Aj=2n**56n-1n,Ij=2n**64n-1n,_j=2n**72n-1n,Tj=2n**80n-1n,Pj=2n**88n-1n,$j=2n**96n-1n,Rj=2n**104n-1n,Bj=2n**112n-1n,Fj=2n**120n-1n,Mj=2n**128n-1n,Dj=2n**136n-1n,Nj=2n**144n-1n,zj=2n**152n-1n,Lj=2n**160n-1n,Oj=2n**168n-1n,Uj=2n**176n-1n,Hj=2n**184n-1n,jj=2n**192n-1n,Gj=2n**200n-1n,Vj=2n**208n-1n,qj=2n**216n-1n,Kj=2n**224n-1n,Wj=2n**232n-1n,Jj=2n**240n-1n,Zj=2n**248n-1n,sl=2n**256n-1n;function $n(e,t,r){let{checksumAddress:o,staticPosition:n}=r,s=cl(t.type);if(s){let[i,a]=s;return j2(e,{...t,type:a},{checksumAddress:o,length:i,staticPosition:n})}if(t.type==="tuple")return K2(e,t,{checksumAddress:o,staticPosition:n});if(t.type==="address")return H2(e,{checksum:o});if(t.type==="bool")return G2(e);if(t.type.startsWith("bytes"))return V2(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return q2(e,t);if(t.type==="string")return W2(e,{staticPosition:n});throw new ai(t.type)}var Py=32,il=32;function H2(e,t={}){let{checksum:r=!1}=t,o=e.readBytes(32);return[(s=>r?Du(s):s)(Ie(hg(o,-20))),32]}function j2(e,t,r){let{checksumAddress:o,length:n,staticPosition:s}=r;if(!n){let c=Er(e.readBytes(il)),m=s+c,u=m+Py;e.setPosition(m);let f=Er(e.readBytes(Py)),p=fa(t),d=0,h=[];for(let g=0;g<f;++g){e.setPosition(u+(p?g*32:d));let[b,y]=$n(e,t,{checksumAddress:o,staticPosition:u});d+=y,h.push(b)}return e.setPosition(s+32),[h,32]}if(fa(t)){let c=Er(e.readBytes(il)),m=s+c,u=[];for(let f=0;f<n;++f){e.setPosition(m+f*32);let[p]=$n(e,t,{checksumAddress:o,staticPosition:m});u.push(p)}return e.setPosition(s+32),[u,32]}let i=0,a=[];for(let c=0;c<n;++c){let[m,u]=$n(e,t,{checksumAddress:o,staticPosition:s+i});i+=u,a.push(m)}return[a,i]}function G2(e){return[yg(e.readBytes(32),{size:32}),32]}function V2(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=Er(e.readBytes(32));e.setPosition(r+i);let a=Er(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[Ie(c),32]}return[Ie(e.readBytes(Number.parseInt(n,10),32)),32]}function q2(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?gg(n,{signed:r}):Er(n,{signed:r}),32]}function K2(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(fa(t)){let c=Er(e.readBytes(il)),m=n+c;for(let u=0;u<t.components.length;++u){let f=t.components[u];e.setPosition(m+a);let[p,d]=$n(e,f,{checksumAddress:o,staticPosition:m});a+=d,i[s?u:f?.name]=p}return e.setPosition(n+32),[i,32]}for(let c=0;c<t.components.length;++c){let m=t.components[c],[u,f]=$n(e,m,{checksumAddress:o,staticPosition:n});i[s?c:m?.name]=u,a+=f}return[i,a]}function W2(e,{staticPosition:t}){let r=Er(e.readBytes(32)),o=t+r;e.setPosition(o);let n=Er(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=bg(_f(s));return e.setPosition(t+32),[i,32]}function $y({checksumAddress:e,parameters:t,values:r}){let o=[];for(let n=0;n<t.length;n++)o.push(al({checksumAddress:e,parameter:t[n],value:r[n]}));return o}function al({checksumAddress:e=!1,parameter:t,value:r}){let o=t,n=cl(o.type);if(n){let[s,i]=n;return Z2(r,{checksumAddress:e,length:s,parameter:{...o,type:i}})}if(o.type==="tuple")return tC(r,{checksumAddress:e,parameter:o});if(o.type==="address")return J2(r,{checksum:e});if(o.type==="bool")return X2(r);if(o.type.startsWith("uint")||o.type.startsWith("int")){let s=o.type.startsWith("int"),[,,i="256"]=Lu.exec(o.type)??[];return Q2(r,{signed:s,size:Number(i)})}if(o.type.startsWith("bytes"))return Y2(r,{type:o.type});if(o.type==="string")return eC(r);throw new ai(o.type)}function Ou(e){let t=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?t+=32:t+=he(a)}let r=[],o=[],n=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?(r.push(ee(t+n,{size:32})),o.push(a),n+=he(a)):r.push(a)}return xe(...r,...o)}function J2(e,t){let{checksum:r=!1}=t;return Pn(e,{strict:r}),{dynamic:!1,encoded:Zr(e.toLowerCase())}}function Z2(e,t){let{checksumAddress:r,length:o,parameter:n}=t,s=o===null;if(!Array.isArray(e))throw new Hu(e);if(!s&&e.length!==o)throw new Uu({expectedLength:o,givenLength:e.length,type:`${n.type}[${o}]`});let i=!1,a=[];for(let c=0;c<e.length;c++){let m=al({checksumAddress:r,parameter:n,value:e[c]});m.dynamic&&(i=!0),a.push(m)}if(s||i){let c=Ou(a);if(s){let m=ee(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 Y2(e,{type:t}){let[,r]=t.split("bytes"),o=he(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(Zr(ee(o,{size:32})),n)}}if(o!==Number.parseInt(r,10))throw new la({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:kr(e)}}function X2(e){if(typeof e!="boolean")throw new R(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Zr(Ym(e))}}function Q2(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 sa({max:o.toString(),min:n.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:ee(e,{size:32,signed:t})}}function eC(e){let t=Ys(e),r=Math.ceil(he(t)/32),o=[];for(let n=0;n<r;n++)o.push(kr(ge(t,n*32,(n+1)*32)));return{dynamic:!0,encoded:xe(kr(ee(he(t),{size:32})),...o)}}function tC(e,t){let{checksumAddress:r,parameter:o}=t,n=!1,s=[];for(let i=0;i<o.components.length;i++){let a=o.components[i],c=Array.isArray(e)?i:a.name,m=al({checksumAddress:r,parameter:a,value:e[c]});s.push(m),m.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Ou(s):xe(...s.map(({encoded:i})=>i))}}function cl(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function fa(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(fa);let r=cl(e.type);return!!(r&&fa({...e,type:r[1]}))}gt();var oC={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 ul({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new ml({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new ju({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 ju({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 Gu(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(oC);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var ju=class extends R{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}},ml=class extends R{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"})}},ul=class extends R{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 ci(e,t,r={}){let{as:o="Array",checksumAddress:n=!1}=r,s=typeof t=="string"?Js(t):t,i=Gu(s);if(Gt(s)===0&&e.length>0)throw new ll;if(Gt(s)&&Gt(s)<32)throw new fl({data:typeof t=="string"?t:Ie(t),parameters:e,size:Gt(s)});let a=0,c=o==="Array"?[]:{};for(let m=0;m<e.length;++m){let u=e[m];i.setPosition(a);let[f,p]=$n(i,u,{checksumAddress:n,staticPosition:0});a+=p,o==="Array"?c.push(f):c[u.name??m]=f}return c}function Xo(e,t,r){let{checksumAddress:o=!1}=r??{};if(e.length!==t.length)throw new Vu({expectedLength:e.length,givenLength:t.length});let n=$y({checksumAddress:o,parameters:e,values:t}),s=Ou(n);return s.length===0?"0x":s}function pl(e,t){if(e.length!==t.length)throw new Vu({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(pl.encode(n,s))}return xe(...r)}(function(e){function t(r,o,n=!1){if(r==="address"){let c=o;return Pn(c),Zr(c.toLowerCase(),n?32:0)}if(r==="string")return Ys(o);if(r==="bytes")return o;if(r==="bool")return Zr(Ym(o),n?32:1);let s=r.match(Lu);if(s){let[c,m,u="256"]=s,f=Number.parseInt(u,10)/8;return ee(o,{size:n?32:f,signed:m==="int"})}let i=r.match(_y);if(i){let[c,m]=i;if(Number.parseInt(m,10)!==(o.length-2)/2)throw new la({expectedSize:Number.parseInt(m,10),value:o});return kr(o,n?32:0)}let a=r.match(Iy);if(a&&Array.isArray(o)){let[c,m]=a,u=[];for(let f=0;f<o.length;f++)u.push(t(m,o[f],!0));return u.length===0?"0x":xe(...u)}throw new ai(r)}e.encode=t})(pl||(pl={}));function ha(e){return Array.isArray(e)&&typeof e[0]=="string"?xm(e):typeof e=="string"?xm(e):e}var fl=class extends R{constructor({data:t,parameters:r,size:o}){super(`Data size of ${o} bytes is too small for given parameters.`,{metaMessages:[`Params: (${jr(r)})`,`Data: ${t} (${o} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}},ll=class extends R{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}},Uu=class extends R{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"})}},la=class extends R{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${he(r)}) does not match expected size (bytes${t}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}},Vu=class extends R{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"})}},Hu=class extends R{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}},ai=class extends R{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();Vo();gt();je();function nC(e,t){let{as:r}=t,o=Fy(e),n=Gu(new Uint8Array(o.length));return o.encode(n),r==="Hex"?Ie(n.bytes):n.bytes}function By(e,t={}){let{as:r="Hex"}=t;return nC(e,{as:r})}function Fy(e){return Array.isArray(e)?sC(e.map(t=>Fy(t))):iC(e)}function sC(e){let t=e.reduce((n,s)=>n+s.length,0),r=My(t);return{length:(()=>t<=55?1+t:1+r+t)(),encode(n){t<=55?n.pushByte(192+t):(n.pushByte(192+55+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:s}of e)s(n)}}}function iC(e){let t=typeof e=="string"?Js(e):e,r=My(t.length);return{length:(()=>t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length)(),encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(128+55+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function My(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 R("Length is too large.")}import{secp256k1 as eG}from"@noble/curves/secp256k1";gt();je();na();function bl(e,t={}){let{recovered:r}=t;if(typeof e.r>"u")throw new ga({signature:e});if(typeof e.s>"u")throw new ga({signature:e});if(r&&typeof e.yParity>"u")throw new ga({signature:e});if(e.r<0n||e.r>sl)throw new hl({value:e.r});if(e.s<0n||e.s>sl)throw new gl({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new ya({value:e.yParity})}function cC(e){return Dy(Ie(e))}function Dy(e){if(e.length!==130&&e.length!==132)throw new dl({signature:e});let t=BigInt(ge(e,0,32)),r=BigInt(ge(e,32,64)),o=(()=>{let n=+`0x${e.slice(130)}`;if(!Number.isNaN(n))try{return vl(n)}catch{throw new ya({value:n})}})();return typeof o>"u"?{r:t,s:r}:{r:t,s:r,yParity:o}}function xl(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return wl(e)}function wl(e){let t=(()=>typeof e=="string"?Dy(e):e instanceof Uint8Array?cC(e):typeof e.r=="string"?uC(e):e.v?mC(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}})();return bl(t),t}function mC(e){return{r:e.r,s:e.s,yParity:vl(e.v)}}function uC(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=vl(r)),typeof o!="number")throw new ya({value:e.yParity});return o})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Ny(e){let{r:t,s:r,yParity:o}=e;return[o?"0x01":"0x",t===0n?"0x":Pf(ee(t)),r===0n?"0x":Pf(ee(r))]}function vl(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 yl({value:e})}var dl=class extends R{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${he(Zs(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}},ga=class extends R{constructor({signature:t}){super(`Signature \`${qo(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}},hl=class extends R{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"})}},gl=class extends R{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"})}},ya=class extends R{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"})}},yl=class extends R{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 Ly(e,t={}){return typeof e.chainId=="string"?pC(e):{...e,...t.signature}}function pC(e){let{address:t,chainId:r,nonce:o}=e,n=xl(e);return{address:t,chainId:Number(r),nonce:BigInt(o),...n}}function Oy(e){return fC(e,{presign:!0})}function fC(e,t={}){let{presign:r}=t;return Tn(xe("0x05",By(lC(r?{address:e.address,chainId:e.chainId,nonce:e.nonce}:e))))}function lC(e){let{address:t,chainId:r,nonce:o}=e,n=xl(e);return[r?ee(r):"0x",t,o?ee(o):"0x",...n?Ny(n):[]]}gt();je();import{secp256k1 as hC}from"@noble/curves/secp256k1";je();function Uy(e){return Ay(gC(e))}function gC(e){let{payload:t,signature:r}=e,{r:o,s:n,yParity:s}=r,a=new hC.Signature(BigInt(o),BigInt(n)).addRecoveryBit(s).recoverPublicKey(Zs(t).substring(2));return Ey(a)}var Cl="0x8010801080108010801080108010801080108010801080108010801080108010",El=ha("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function Ku(e){if(typeof e=="string"){if(ge(e,-32)!==Cl)throw new qu(e)}else bl(e.authorization)}function bC(e){return typeof e=="string"?Hy(e):e}function Hy(e){Ku(e);let t=Wm(ge(e,-64,-32)),r=ge(e,-t-64,-64),o=ge(e,0,-t-64),[n,s,i]=ci(El,r);return{authorization:Ly({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 xC(e){let{data:t,signature:r}=e;Ku(e);let o=Uy({payload:Oy(e.authorization),signature:wl(e.authorization)}),n=Xo(El,[{...e.authorization,delegation:e.authorization.address,chainId:BigInt(e.authorization.chainId)},e.to??o,t??"0x"]),s=ee(he(n),{size:32});return xe(r,n,s,Cl)}function wC(e){try{return Ku(e),!0}catch{return!1}}var qu=class extends R{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();j();var Wu=class extends x{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}};function jy(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new Wu({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 Rn(e,t="wei"){return jy(e,ac[t])}function vC(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function Gy(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?be(e.nonce):void 0,storageProof:e.storageProof?vC(e.storageProof):void 0}}async function Vy(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 Gy(a)}M();async function qy(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]})}vt();M();async function mi(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 ns({blockHash:t,blockNumber:r,blockTag:i,hash:n,index:s});return(e.chain?.formatters?.transaction?.format||ln)(c,"getTransaction")}async function Ky(e,{hash:t,transactionReceipt:r}){let[o,n]=await Promise.all([I(e,Ar,"getBlockNumber")({}),t?I(e,mi,"getTransaction")({hash:t}):void 0]),s=r?.blockNumber||n?.blockNumber;return s?o-s+1n:0n}vt();async function ui(e,{hash:t}){let r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new ss({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||Bi)(r,"getTransactionReceipt")}Ko();aa();ve();j();wo();Go();kt();bn();async function Wy(e,t){let{account:r,authorizationList:o,allowFailure:n=!0,blockNumber:s,blockOverrides:i,blockTag:a,stateOverride:c}=t,m=t.contracts,{batchSize:u=t.batchSize??1024,deployless:f=t.deployless??!1}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},p=(()=>{if(t.multicallAddress)return t.multicallAddress;if(f)return null;if(e.chain)return zt({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),d=[[]],h=0,g=0;for(let v=0;v<m.length;v++){let{abi:C,address:k,args:A,functionName:P}=m[v];try{let T=fe({abi:C,args:A,functionName:P});g+=(T.length-2)/2,u>0&&g>u&&d[h].length>0&&(h++,g=(T.length-2)/2,d[h]=[]),d[h]=[...d[h],{allowFailure:!0,callData:T,target:k}]}catch(T){let B=St(T,{abi:C,address:k,args:A,docsPath:"/docs/contract/multicall",functionName:P,sender:r});if(!n)throw B;d[h]=[...d[h],{allowFailure:!0,callData:"0x",target:k}]}}let b=await Promise.allSettled(d.map(v=>I(e,Pe,"readContract")({...p===null?{code:Xs}:{address:p},abi:Sn,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 A=0;A<d[v].length;A++)y.push({status:"failure",error:C.reason,result:void 0});continue}let k=C.value;for(let A=0;A<k.length;A++){let{returnData:P,success:T}=k[A],{callData:B}=d[v][A],{abi:z,address:D,functionName:H,args:V}=m[y.length];try{if(B==="0x")throw new Ot;if(!T)throw new gr({data:P});let q=ht({abi:z,args:V,data:P,functionName:H});y.push(n?{result:q,status:"success"}:q)}catch(q){let me=St(q,{abi:z,address:D,args:V,docsPath:"/docs/contract/multicall",functionName:H});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}$f();we();ve();wo();lo();Go();kt();ot();M();ea();uo();zm();Wr();async function xa(e,t){let{blockNumber:r,blockTag:o=e.experimental_blockTag??"latest",blocks:n,returnFullTransactions:s,traceTransfers:i,validation:a}=t;try{let c=[];for(let p of n){let d=p.blockOverrides?Xm(p.blockOverrides):void 0,h=p.calls.map(b=>{let y=b,v=y.account?G(y.account):void 0,C=y.abi?fe(y):y.data,k={...y,account:v,data:y.dataSuffix?Te([C||"0x",y.dataSuffix]):C,from:y.from??v?.address};return Xe(k),pt(k)}),g=p.stateOverrides?Ls(p.stateOverrides):void 0;c.push({blockOverrides:d,calls:h,stateOverrides:g})}let u=(typeof r=="bigint"?E(r):void 0)||o;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:s,traceTransfers:i,validation:a},u]})).map((p,d)=>({...Ri(p),calls:p.calls.map((h,g)=>{let{abi:b,args:y,functionName:v,to:C}=n[d].calls[g],k=h.error?.data??h.returnData,A=BigInt(h.gasUsed),P=h.logs?.map(D=>Je(D)),T=h.status==="0x1"?"success":"failure",B=b&&T==="success"&&k!=="0x"?ht({abi:b,data:k,functionName:v}):null,z=(()=>{if(T==="success")return;let D;if(h.error?.data==="0x"?D=new Ot:h.error&&(D=new gr(h.error)),!!D)return St(D,{abi:b??[],address:C??"0x",args:y,functionName:v??"<unknown>"})})();return{data:k,gasUsed:A,logs:P,status:T,...T==="success"?{result:B}:{error:z}}})}))}catch(c){let m=c,u=Oo(m,{});throw u instanceof Ft?m:u}}Ji();gt();je();gt();function Zu(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 R("Unable to normalize signature.");return n}function Ju(e,t){let r=typeof e,o=t.type;switch(o){case"address":return Nu(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)=>Ju(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=>Ju(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function kl(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 kl(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")?Nu(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?Nu(r[o],{strict:!1}):!1)())return i}}function Yu(e,t={}){let{prepare:r=!0}=t,o=(()=>Array.isArray(e)?bm(e):typeof e=="string"?bm(e):e)();return{...o,...r?{hash:pi(o)}:{}}}function wa(e,t,r){let{args:o=[],prepare:n=!0}=r??{},s=ia(t,{strict:!1}),i=e.filter(m=>s?m.type==="function"||m.type==="error"?Al(m)===ge(t,0,4):m.type==="event"?pi(m)===t:!1:"name"in m&&m.name===t);if(i.length===0)throw new Qo({name:t});if(i.length===1)return{...i[0],...n?{hash:pi(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:pi(m)}:{}};continue}if(!m.inputs||m.inputs.length===0||m.inputs.length!==o.length)continue;if(o.every((f,p)=>{let d="inputs"in m&&m.inputs[p];return d?Ju(f,d):!1})){if(a&&"inputs"in a&&a.inputs){let f=kl(m.inputs,a.inputs,o);if(f)throw new Sl({abiItem:m,type:f[0]},{abiItem:a,type:f[1]})}a=m}}let c=(()=>{if(a)return a;let[m,...u]=i;return{...m,overloads:u}})();if(!c)throw new Qo({name:t});return{...c,...n?{hash:pi(c)}:{}}}function Al(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return wa(r,o)}return e[0]})();return ge(pi(t),0,4)}function EC(...e){let t=(()=>{if(Array.isArray(e[0])){let[o,n]=e;return wa(o,n)}return e[0]})(),r=(()=>typeof t=="string"?t:xn(t))();return Zu(r)}function pi(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return wa(r,o)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:Tn(Ys(EC(t)))}var Sl=class extends R{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${Zu(xn(t.abiItem))}\`, and`,`\`${r.type}\` in \`${Zu(xn(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"})}},Qo=class extends R{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 Zy(...e){let[t,r]=(()=>{if(Array.isArray(e[0])){let[s,i]=e;return[kC(s),i]}return e})(),{bytecode:o,args:n}=r;return xe(o,t.inputs?.length&&n?.length?Xo(t.inputs,n):"0x")}function Yy(e){return Yu(e)}function kC(e){let t=e.find(r=>r.type==="constructor");if(!t)throw new Qo({name:"constructor"});return t}je();function Qy(...e){let[t,r=[]]=(()=>{if(Array.isArray(e[0])){let[m,u,f]=e;return[Xy(m,u,{args:f}),f]}let[a,c]=e;return[a,c]})(),{overloads:o}=t,n=o?Xy([t,...o],t.name,{args:r}):t,s=AC(n),i=r.length>0?Xo(n.inputs,r):void 0;return i?xe(s,i):s}function Bn(e,t={}){return Yu(e,t)}function Xy(e,t,r){let o=wa(e,t,r);if(o.type!=="function")throw new Qo({name:t,type:"function"});return o}function AC(e){return Al(e)}we();var eb="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",ir="0x0000000000000000000000000000000000000000";aa();j();kt();var _C="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function tb(e,t){let{blockNumber:r,blockTag:o,calls:n,stateOverrides:s,traceAssetChanges:i,traceTransfers:a,validation:c}=t,m=t.account?G(t.account):void 0;if(i&&!m)throw new x("`account` is required when `traceAssetChanges` is true");let u=m?Zy(Yy("constructor(bytes, bytes)"),{bytecode:tu,args:[_C,Qy(Bn("function getBalance(address)"),[m.address])]}):void 0,f=i?await Promise.all(t.calls.map(async L=>{if(!L.data&&!L.abi)return;let{accessList:Ae}=await vu(e,{account:m.address,...L,data:L.abi?fe(L):L.data});return Ae.map(({address:ur,storageKeys:io})=>io.length>0?ur:null)})).then(L=>L.flat().filter(Boolean)):[],p=await xa(e,{blockNumber:r,blockTag:o,blocks:[...i?[{calls:[{data:u}],stateOverrides:s},{calls:f.map((L,Ae)=>({abi:[Bn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:L,from:ir,nonce:Ae})),stateOverrides:[{address:ir,nonce:0}]}]:[],{calls:[...n,{}].map(L=>({...L,from:m?.address})),stateOverrides:s},...i?[{calls:[{data:u}]},{calls:f.map((L,Ae)=>({abi:[Bn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:L,from:ir,nonce:Ae})),stateOverrides:[{address:ir,nonce:0}]},{calls:f.map((L,Ae)=>({to:L,abi:[Bn("function decimals() returns (uint256)")],functionName:"decimals",from:ir,nonce:Ae})),stateOverrides:[{address:ir,nonce:0}]},{calls:f.map((L,Ae)=>({to:L,abi:[Bn("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:ir,nonce:Ae})),stateOverrides:[{address:ir,nonce:0}]},{calls:f.map((L,Ae)=>({to:L,abi:[Bn("function symbol() returns (string)")],functionName:"symbol",from:ir,nonce:Ae})),stateOverrides:[{address:ir,nonce:0}]}]:[]],traceTransfers:a,validation:c}),d=i?p[2]:p[0],[h,g,,b,y,v,C,k]=i?p:[],{calls:A,...P}=d,T=A.slice(0,-1)??[],B=h?.calls??[],z=g?.calls??[],D=[...B,...z].map(L=>L.status==="success"?ae(L.data):null),H=b?.calls??[],V=y?.calls??[],q=[...H,...V].map(L=>L.status==="success"?ae(L.data):null),me=(v?.calls??[]).map(L=>L.status==="success"?L.result:null),_e=(k?.calls??[]).map(L=>L.status==="success"?L.result:null),qe=(C?.calls??[]).map(L=>L.status==="success"?L.result:null),Tt=[];for(let[L,Ae]of q.entries()){let ur=D[L];if(typeof Ae!="bigint"||typeof ur!="bigint")continue;let io=me[L-1],ue=_e[L-1],ao=qe[L-1],Jt=(()=>L===0?{address:eb,decimals:18,symbol:"ETH"}:{address:f[L-1],decimals:ao||io?Number(io??1):void 0,symbol:ue??void 0})();Tt.some(Mp=>Mp.token.address===Jt.address)||Tt.push({token:Jt,value:{pre:ur,post:Ae,diff:Ae-ur}})}return{assetChanges:Tt,block:P,results:T}}var va={};Np(va,{InvalidWrappedSignatureError:()=>Xu,assert:()=>_l,from:()=>$C,magicBytes:()=>Il,universalSignatureValidatorAbi:()=>PC,universalSignatureValidatorBytecode:()=>TC,unwrap:()=>rb,validate:()=>BC,wrap:()=>RC});gt();je();var Il="0x6492649264926492649264926492649264926492649264926492649264926492",TC="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",PC=[{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 _l(e){if(ge(e,-32)!==Il)throw new Xu(e)}function $C(e){return typeof e=="string"?rb(e):e}function rb(e){_l(e);let[t,r,o]=ci(ha("address, bytes, bytes"),e);return{data:r,signature:o,to:t}}function RC(e){let{data:t,signature:r,to:o}=e;return xe(Xo(ha("address, bytes, bytes"),[o,t,r]),Il)}function BC(e){try{return _l(e),!0}catch{return!1}}var Xu=class extends R{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"})}};Ko();aa();wo();ru();kt();ho();En();ot();wt();Be();M();Be();Oe();import{secp256k1 as FC}from"@noble/curves/secp256k1";function Qu({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 FC.Signature(ae(e),ae(t)).toCompactHex()}${s===0?"1b":"1c"}`;return r==="hex"?i:Fe(i)}ei();async function en(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?Qu(a):X(a)})();try{return ba.validate(i)?await MC(e,{...t,multicallAddress:s,signature:i}):await DC(e,{...t,verifierAddress:n,signature:i})}catch(a){try{if(jt(Cs(r),await Mm({hash:o,signature:i})))return!0}catch{}if(a instanceof Xr)return!1;throw a}}async function MC(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,multicallAddress:i}=t,{authorization:a,data:c,signature:m,to:u}=ba.unwrap(t.signature);if(await pa(e,{address:r,blockNumber:o,blockTag:n})===Ue(["0xef0100",a.address]))return await NC(e,{address:r,blockNumber:o,blockTag:n,hash:s,signature:m});let p={address:a.address,chainId:Number(a.chainId),nonce:Number(a.nonce),r:E(a.r,{size:32}),s:E(a.s,{size:32}),yParity:a.yParity};if(!await uy({address:r,authorization:p}))throw new Xr;let h=await I(e,Pe,"readContract")({...i?{address:i}:{code:Xs},authorizationList:[p],abi:Sn,blockNumber:o,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:u??r,callData:c}]:[],{allowFailure:!0,target:r,callData:fe({abi:Ff,functionName:"isValidSignature",args:[s,m]})}]]});if(h[h.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new Xr}async function DC(e,t){let{address:r,factory:o,factoryData:n,hash:s,signature:i,verifierAddress:a,...c}=t,m=await(async()=>!o&&!n||va.validate(i)?i:va.wrap({data:n,signature:i,to:o}))(),u=a?{to:a,data:fe({abi:Mf,functionName:"isValidSig",args:[r,s,m]}),...c}:{data:An({abi:Mf,args:[r,s,m],bytecode:_g}),...c},{data:f}=await I(e,Sr,"call")(u).catch(p=>{throw p instanceof Ms?new Xr:p});if(Vp(f??"0x0"))return!0;throw new Xr}async function NC(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,signature:i}=t;if((await I(e,Pe,"readContract")({address:r,abi:Ff,args:[s,i],blockNumber:o,blockTag:n,functionName:"isValidSignature"}).catch(c=>{throw c instanceof Ds?new Xr:c})).startsWith("0x1626ba7e"))return!0;throw new Xr}var Xr=class extends Error{};async function ob(e,{address:t,message:r,factory:o,factoryData:n,signature:s,...i}){let a=ii(r);return en(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,f=$u({message:i,primaryType:a,types:c,domain:m});return en(e,{address:r,factory:o,factoryData:n,hash:f,signature:s,...u})}vt();ou();Ze();Be();Ze();function ep(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:o,onError:n,poll:s,pollingInterval:i=e.pollingInterval}){let a=(()=>typeof s<"u"?s:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))(),c;return a?(()=>{let f=J(["watchBlockNumber",e.uid,t,r,i]);return et(f,{onBlockNumber:o,onError:n},p=>Vt(async()=>{try{let d=await I(e,Ar,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(d===c)return;if(d-c>1&&r)for(let h=c+1n;h<d;h++)p.onBlockNumber(h,c),c=h}(c===void 0||d>c)&&(p.onBlockNumber(d,c),c=d)}catch(d){p.onError?.(d)}},{emitOnBegin:t,interval:i}))})():(()=>{let f=J(["watchBlockNumber",e.uid,t,r]);return et(f,{onBlockNumber:o,onError:n},p=>{let d=!0,h=()=>d=!1;return(async()=>{try{let g=(()=>{if(e.transport.type==="fallback"){let y=e.transport.transports.find(v=>v.config.type==="webSocket"||v.config.type==="ipc");return y?y.value:e.transport}return e.transport})(),{unsubscribe:b}=await g.subscribe({params:["newHeads"],onData(y){if(!d)return;let v=ae(y.result?.number);p.onBlockNumber(v,c),c=v},onError(y){p.onError?.(y)}});h=b,d||h()}catch(g){n?.(g)}})(),()=>h()})})()}async function tp(e,t){let{checkReplacement:r=!0,confirmations:o=1,hash:n,onReplaced:s,retryCount:i=6,retryDelay:a=({count:A})=>~~(1<<A)*200,timeout:c=18e4}=t,m=J(["waitForTransactionReceipt",e.uid,n]),u=(()=>t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval)(),f,p,d,h=!1,g,b,{promise:y,resolve:v,reject:C}=Qs(),k=c?setTimeout(()=>{b?.(),g?.(),C(new gc({hash:n}))},c):void 0;return g=et(m,{onReplaced:s,resolve:v,reject:C},async A=>{if(d=await I(e,ui,"getTransactionReceipt")({hash:n}).catch(()=>{}),d&&o<=1){clearTimeout(k),A.resolve(d),g?.();return}b=I(e,ep,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(P){let T=z=>{clearTimeout(k),b?.(),z(),g?.()},B=P;if(!h)try{if(d){if(o>1&&(!d.blockNumber||B-d.blockNumber+1n<o))return;T(()=>A.resolve(d));return}if(r&&!f&&(h=!0,await _n(async()=>{f=await I(e,mi,"getTransaction")({hash:n}),f.blockNumber&&(B=f.blockNumber)},{delay:a,retryCount:i}),h=!1),d=await I(e,ui,"getTransactionReceipt")({hash:n}),o>1&&(!d.blockNumber||B-d.blockNumber+1n<o))return;T(()=>A.resolve(d))}catch(z){if(z instanceof ns||z instanceof ss){if(!f){h=!1;return}try{p=f,h=!0;let D=await _n(()=>I(e,Qe,"getBlock")({blockNumber:B,includeTransactions:!0}),{delay:a,retryCount:i,shouldRetry:({error:q})=>q instanceof Os});h=!1;let H=D.transactions.find(({from:q,nonce:me})=>q===p.from&&me===p.nonce);if(!H||(d=await I(e,ui,"getTransactionReceipt")({hash:H.hash}),o>1&&(!d.blockNumber||B-d.blockNumber+1n<o)))return;let V="replaced";H.to===p.to&&H.value===p.value&&H.input===p.input?V="repriced":H.from===H.to&&H.value===0n&&(V="cancelled"),T(()=>{A.onReplaced?.({reason:V,replacedTransaction:p,transaction:H,transactionReceipt:d}),A.resolve(d)})}catch(D){T(()=>A.reject(D))}}else T(()=>A.reject(z))}}})}),y}Ze();function sb(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:o=!1,onBlock:n,onError:s,includeTransactions:i,poll:a,pollingInterval:c=e.pollingInterval}){let m=(()=>typeof a<"u"?a:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))(),u=i??!1,f;return m?(()=>{let h=J(["watchBlocks",e.uid,t,r,o,u,c]);return et(h,{onBlock:n,onError:s},g=>Vt(async()=>{try{let b=await I(e,Qe,"getBlock")({blockTag:t,includeTransactions:u});if(b.number!==null&&f?.number!=null){if(b.number===f.number)return;if(b.number-f.number>1&&r)for(let y=f?.number+1n;y<b.number;y++){let v=await I(e,Qe,"getBlock")({blockNumber:y,includeTransactions:u});g.onBlock(v,f),f=v}}(f?.number==null||t==="pending"&&b?.number==null||b.number!==null&&b.number>f.number)&&(g.onBlock(b,f),f=b)}catch(b){g.onError?.(b)}},{emitOnBegin:o,interval:c}))})():(()=>{let h=!0,g=!0,b=()=>h=!1;return(async()=>{try{o&&I(e,Qe,"getBlock")({blockTag:t,includeTransactions:u}).then(C=>{h&&g&&(n(C,void 0),g=!1)}).catch(s);let y=(()=>{if(e.transport.type==="fallback"){let C=e.transport.transports.find(k=>k.config.type==="webSocket"||k.config.type==="ipc");return C?C.value:e.transport}return e.transport})(),{unsubscribe:v}=await y.subscribe({params:["newHeads"],async onData(C){if(!h)return;let k=await I(e,Qe,"getBlock")({blockNumber:C.result?.number,includeTransactions:u}).catch(()=>{});h&&(n(k,f),g=!1,f=k)},onError(C){s?.(C)}});b=v,h||b()}catch(y){s?.(y)}})(),()=>b()})()}ve();Ns();Ze();function ib(e,{address:t,args:r,batch:o=!0,event:n,events:s,fromBlock:i,onError:a,onLogs:c,poll:m,pollingInterval:u=e.pollingInterval,strict:f}){let p=(()=>typeof m<"u"?m:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))(),d=f??!1;return p?(()=>{let b=J(["watchEvent",t,r,o,e.uid,n,u,i]);return et(b,{onLogs:c,onError:a},y=>{let v;i!==void 0&&(v=i-1n);let C,k=!1,A=Vt(async()=>{if(!k){try{C=await I(e,Cu,"createEventFilter")({address:t,args:r,event:n,events:s,strict:d,fromBlock:i})}catch{}k=!0;return}try{let P;if(C)P=await I(e,Wo,"getFilterChanges")({filter:C});else{let T=await I(e,Ar,"getBlockNumber")({});v&&v!==T?P=await I(e,Vs,"getLogs")({address:t,args:r,event:n,events:s,fromBlock:v+1n,toBlock:T}):P=[],v=T}if(P.length===0)return;if(o)y.onLogs(P);else for(let T of P)y.onLogs([T])}catch(P){C&&P instanceof Ht&&(k=!1),y.onError?.(P)}},{emitOnBegin:!0,interval:u});return async()=>{C&&await I(e,Jo,"uninstallFilter")({filter:C}),A()}})})():(()=>{let b=!0,y=()=>b=!1;return(async()=>{try{let v=(()=>{if(e.transport.type==="fallback"){let P=e.transport.transports.find(T=>T.config.type==="webSocket"||T.config.type==="ipc");return P?P.value:e.transport}return e.transport})(),C=s??(n?[n]:void 0),k=[];C&&(k=[C.flatMap(T=>vr({abi:[T],eventName:T.name,args:r}))],n&&(k=k[0]));let{unsubscribe:A}=await v.subscribe({params:["logs",{address:t,topics:k}],onData(P){if(!b)return;let T=P.result;try{let{eventName:B,args:z}=Gs({abi:C??[],data:T.data,topics:T.topics,strict:d}),D=Je(T,{args:z,eventName:B});c([D])}catch(B){let z,D;if(B instanceof rr||B instanceof fr){if(f)return;z=B.abiItem.name,D=B.abiItem.inputs?.some(V=>!("name"in V&&V.name))}let H=Je(T,{args:D?[]:{},eventName:z});c([H])}},onError(P){a?.(P)}});y=A,b||y()}catch(v){a?.(v)}})(),()=>y()})()}Ze();function ab(e,{batch:t=!0,onError:r,onTransactions:o,poll:n,pollingInterval:s=e.pollingInterval}){return(typeof n<"u"?n:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{let m=J(["watchPendingTransactions",e.uid,t,s]);return et(m,{onTransactions:o,onError:r},u=>{let f,p=Vt(async()=>{try{if(!f)try{f=await I(e,Eu,"createPendingTransactionFilter")({});return}catch(h){throw p(),h}let d=await I(e,Wo,"getFilterChanges")({filter:f});if(d.length===0)return;if(t)u.onTransactions(d);else for(let h of d)u.onTransactions([h])}catch(d){u.onError?.(d)}},{emitOnBegin:!0,interval:s});return async()=>{f&&await I(e,Jo,"uninstallFilter")({filter:f}),p()}})})():(()=>{let m=!0,u=()=>m=!1;return(async()=>{try{let{unsubscribe:f}=await e.transport.subscribe({params:["newPendingTransactions"],onData(p){if(!m)return;let d=p.result;o([d])},onError(p){r?.(p)}});u=f,m||u()}catch(f){r?.(f)}})(),()=>u()})()}function cb(e){let{scheme:t,statement:r,...o}=e.match(zC)?.groups??{},{chainId:n,expirationTime:s,issuedAt:i,notBefore:a,requestId:c,...m}=e.match(LC)?.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 zC=/^(?:(?<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)?/,LC=/(?: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>.+))?/;Ct();En();function mb(e){let{address:t,domain:r,message:o,nonce:n,scheme:s,time:i=new Date}=e;if(r&&o.domain!==r||n&&o.nonce!==n||s&&o.scheme!==s||o.expirationTime&&i>=o.expirationTime||o.notBefore&&i<o.notBefore)return!1;try{if(!o.address||!Q(o.address,{strict:!1})||t&&!jt(o.address,t))return!1}catch{return!1}return!0}async function ub(e,t){let{address:r,domain:o,message:n,nonce:s,scheme:i,signature:a,time:c=new Date,...m}=t,u=cb(n);if(!u.address||!mb({address:r,domain:o,message:u,nonce:s,scheme:i,time:c}))return!1;let p=ii(n);return en(e,{address:u.address,hash:p,signature:a,...m})}vt();async function fi(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||Bi)(n);if(i.status==="reverted"&&r)throw new is({receipt:i});return i}function pb(e){return{call:t=>Sr(e,t),createAccessList:t=>vu(e,t),createBlockFilter:()=>ry(e),createContractEventFilter:t=>Bm(e,t),createEventFilter:t=>Cu(e,t),createPendingTransactionFilter:()=>Eu(e),estimateContractGas:t=>Xh(e,t),estimateGas:t=>js(e,t),getBalance:t=>oy(e,t),getBlobBaseFee:()=>ny(e),getBlock:t=>Qe(e,t),getBlockNumber:t=>Ar(e,t),getBlockTransactionCount:t=>sy(e,t),getBytecode:t=>pa(e,t),getChainId:()=>dt(e),getCode:t=>pa(e,t),getContractEvents:t=>Hm(e,t),getEip712Domain:t=>iy(e,t),getEnsAddress:t=>Kg(e,t),getEnsAvatar:t=>Qg(e,t),getEnsName:t=>ey(e,t),getEnsResolver:t=>ty(e,t),getEnsText:t=>wu(e,t),getFeeHistory:t=>cy(e,t),estimateFeesPerGas:t=>Zh(e,t),getFilterChanges:t=>Wo(e,t),getFilterLogs:t=>my(e,t),getGasPrice:()=>Us(e),getLogs:t=>Vs(e,t),getProof:t=>Vy(e,t),estimateMaxPriorityFeePerGas:t=>Jh(e,t),getStorageAt:t=>qy(e,t),getTransaction:t=>mi(e,t),getTransactionConfirmations:t=>Ky(e,t),getTransactionCount:t=>Hs(e,t),getTransactionReceipt:t=>ui(e,t),multicall:t=>Wy(e,t),prepareTransactionRequest:t=>Cr(e,t),readContract:t=>Pe(e,t),sendRawTransaction:t=>ri(e,t),sendRawTransactionSync:t=>fi(e,t),simulate:t=>xa(e,t),simulateBlocks:t=>xa(e,t),simulateCalls:t=>tb(e,t),simulateContract:t=>Og(e,t),verifyHash:t=>en(e,t),verifyMessage:t=>ob(e,t),verifySiweMessage:t=>ub(e,t),verifyTypedData:t=>nb(e,t),uninstallFilter:t=>Jo(e,t),waitForTransactionReceipt:t=>tp(e,t),watchBlocks:t=>sb(e,t),watchBlockNumber:t=>ep(e,t),watchContractEvent:t=>Gg(e,t),watchEvent:t=>ib(e,t),watchPendingTransactions:t=>ab(e,t)}}function Fn(e){let{key:t="public",name:r="Public Client"}=e;return hu({...e,key:t,name:r,type:"publicClient"}).extend(pb)}M();async function fb(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})}ru();function lb(e,t){let{abi:r,args:o,bytecode:n,...s}=t,i=An({abi:r,args:o,bytecode:n});return Zo(e,{...s,...s.authorizationList?{to:null}:{},data:i})}ho();async function db(e){return e.account?.type==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>Ur(r))}we();M();async function hb(e,t={}){let{account:r=e.account,chainId:o}=t,n=r?G(r):void 0,s=o?[n?.address,[E(o)]]:[n?.address],i=await e.request({method:"wallet_getCapabilities",params:s}),a={};for(let[c,m]of Object.entries(i)){a[Number(c)]={};for(let[u,f]of Object.entries(m))u==="addSubAccount"&&(u="unstable_addSubAccount"),a[Number(c)][u]=f}return typeof o=="number"?a[o]:a}async function gb(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}we();En();async function rp(e,t){let{account:r=e.account,chainId:o,nonce:n}=t;if(!r)throw new He({docsPath:"/docs/eip7702/prepareAuthorization"});let s=G(r),i=(()=>{if(t.executor)return t.executor==="self"?t.executor:G(t.executor)})(),a={address:t.contractAddress??t.address,chainId:o,nonce:n};return typeof a.chainId>"u"&&(a.chainId=e.chain?.id??await I(e,dt,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await I(e,Hs,"getTransactionCount")({address:s.address,blockTag:"pending"}),(i==="self"||i?.address&&jt(i.address,s.address))&&(a.nonce+=1)),a}ho();async function yb(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>Cs(r))}async function bb(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 mu(e,t);return await pu(e,{...t,id:n.id,timeout:o})}we();j();vt();zs();uo();vs();Wr();var Tl=new Mt(128);async function op(e,t){let{account:r=e.account,chain:o=e.chain,accessList:n,authorizationList:s,blobs:i,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,pollingInterval:h,throwOnReceiptRevert:g,type:b,value:y,...v}=t,C=t.timeout??Math.max((o?.blockTime??0)*3,5e3);if(typeof r>"u")throw new He({docsPath:"/docs/actions/wallet/sendTransactionSync"});let k=r?G(r):null;try{Xe(t);let A=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await Ho({authorization:s[0]}).catch(()=>{throw new x("`to` is required. Could not infer from `authorizationList`.")})})();if(k?.type==="json-rpc"||k===null){let P;o!==null&&(P=await I(e,dt,"getChainId")({}),Es({currentChainId:P,chain:o}));let T=e.chain?.formatters?.transactionRequest?.format,z=(T||pt)({...wr(v,{format:T}),accessList:n,account:k,authorizationList:s,blobs:i,chainId:P,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,to:A,type:b,value:y},"sendTransaction"),D=Tl.get(e.uid),H=D?"wallet_sendTransaction":"eth_sendTransaction",V=await(async()=>{try{return await e.request({method:H,params:[z]},{retryCount:0})}catch(me){if(D===!1)throw me;let _e=me;if(_e.name==="InvalidInputRpcError"||_e.name==="InvalidParamsRpcError"||_e.name==="MethodNotFoundRpcError"||_e.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[z]},{retryCount:0}).then(qe=>(Tl.set(e.uid,!0),qe)).catch(qe=>{let Tt=qe;throw Tt.name==="MethodNotFoundRpcError"||Tt.name==="MethodNotSupportedRpcError"?(Tl.set(e.uid,!1),_e):Tt});throw _e}})(),q=await I(e,tp,"waitForTransactionReceipt")({checkReplacement:!1,hash:V,pollingInterval:h,timeout:C});if(g&&q.status==="reverted")throw new is({receipt:q});return q}if(k?.type==="local"){let P=await I(e,Cr,"prepareTransactionRequest")({account:k,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,nonceManager:k.nonceManager,parameters:[...ta,"sidecars"],type:b,value:y,...v,to:A}),T=o?.serializers?.transaction,B=await k.signTransaction(P,{serializer:T});return await I(e,fi,"sendRawTransactionSync")({serializedTransaction:B,throwOnReceiptRevert:g})}throw k?.type==="smart"?new Lt({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Lt({docsPath:"/docs/actions/wallet/sendTransactionSync",type:k?.type})}catch(A){throw A instanceof Lt?A:ti(A,{...t,account:k,chain:t.chain||void 0})}}async function wb(e,t){let{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}we();async function vb(e,t){let{account:r=e.account}=t;if(!r)throw new He({docsPath:"/docs/eip7702/signAuthorization"});let o=G(r);if(!o.signAuthorization)throw new Lt({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:o.type});let n=await rp(e,t);return o.signAuthorization(n)}we();M();async function Cb(e,{account:t=e.account,message:r}){if(!t)throw new He({docsPath:"/docs/actions/wallet/signMessage"});let o=G(t);if(o.signMessage)return o.signMessage({message:r});let n=(()=>typeof r=="string"?Zt(r):r.raw instanceof Uint8Array?ie(r.raw):r.raw)();return e.request({method:"personal_sign",params:[n,o.address]},{retryCount:0})}we();M();uo();Wr();async function Eb(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=G(r);Xe({account:s,...t});let i=await I(e,dt,"getChainId")({});o!==null&&Es({currentChainId:i,chain:o});let c=(o?.formatters||e.chain?.formatters)?.transactionRequest?.format||pt;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})}we();async function kb(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=G(r),a={EIP712Domain:Pu({domain:o}),...t.types};if(Tu({domain:o,message:n,primaryType:s,types:a}),i.signTypedData)return i.signTypedData({domain:o,message:n,primaryType:s,types:a});let c=yy({domain:o,message:n,primaryType:s,types:a});return e.request({method:"eth_signTypedData_v4",params:[i.address,c]},{retryCount:0})}M();async function Sb(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:E(t)}]},{retryCount:0})}async function Ab(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}async function Ib(e,t){return In.internal(e,op,"sendTransactionSync",t)}function _b(e){return{addChain:t=>fb(e,t),deployContract:t=>lb(e,t),getAddresses:()=>db(e),getCallsStatus:t=>uu(e,t),getCapabilities:t=>hb(e,t),getChainId:()=>dt(e),getPermissions:()=>gb(e),prepareAuthorization:t=>rp(e,t),prepareTransactionRequest:t=>Cr(e,t),requestAddresses:()=>yb(e),requestPermissions:t=>bb(e,t),sendCalls:t=>mu(e,t),sendCallsSync:t=>xb(e,t),sendRawTransaction:t=>ri(e,t),sendRawTransactionSync:t=>fi(e,t),sendTransaction:t=>Zo(e,t),sendTransactionSync:t=>op(e,t),showCallsStatus:t=>wb(e,t),signAuthorization:t=>vb(e,t),signMessage:t=>Cb(e,t),signTransaction:t=>Eb(e,t),signTypedData:t=>kb(e,t),switchChain:t=>Sb(e,t),waitForCallsStatus:t=>pu(e,t),watchAsset:t=>Ab(e,t),writeContract:t=>In(e,t),writeContractSync:t=>Ib(e,t)}}function Ca(e){let{key:t="wallet",name:r="Wallet Client",transport:o}=e;return hu({...e,key:t,name:r,transport:o,type:"walletClient"}).extend(_b)}function Tb({key:e,methods:t,name:r,request:o,retryCount:n=3,retryDelay:s=150,timeout:i,type:a},c){let m=du();return{config:{key:e,methods:t,name:r,request:o,retryCount:n,retryDelay:s,timeout:i,type:a},request:fy(o,{methods:t,retryCount:n,retryDelay:s,uid:m}),value:c}}Cn();j();var np=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"})}};zf();function Qr(e,t={}){let{batch:r,fetchFn:o,fetchOptions:n,key:s="http",methods:i,name:a="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:m,retryDelay:u,raw:f}=t;return({chain:p,retryCount:d,timeout:h})=>{let{batchSize:g=1e3,wait:b=0}=typeof r=="object"?r:{},y=t.retryCount??d,v=h??t.timeout??1e4,C=e||p?.rpcUrls.default.http[0];if(!C)throw new np;let k=dy(C,{fetchFn:o,fetchOptions:n,onRequest:c,onResponse:m,timeout:v});return Tb({key:s,methods:i,name:a,async request({method:A,params:P}){let T={method:A,params:P},{schedule:B}=nu({id:C,wait:b,shouldSplitBatch(V){return V.length>g},fn:V=>k.request({body:V}),sort:(V,q)=>V.id-q.id}),z=async V=>r?B(V):[await k.request({body:V})],[{error:D,result:H}]=await z(T);if(f)return{error:D,result:H};if(D)throw new vo({body:T,error:D,url:C});return H},retryCount:y,retryDelay:u,timeout:v,type:"http"},{fetchOptions:n,url:C})}}wt();M();import{secp256k1 as UC}from"@noble/curves/secp256k1";er();Ct();function Pb(e){if(typeof e=="string"){if(!Q(e,{strict:!1}))throw new ne({address:e});return{address:e,type:"json-rpc"}}if(!Q(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"}}wt();Oe();M();import{secp256k1 as OC}from"@noble/curves/secp256k1";var Pl=!1;async function Ir({hash:e,privateKey:t,to:r="object"}){let{r:o,s:n,recovery:s}=OC.sign(e.slice(2),t.slice(2),{lowS:!0,extraEntropy:ce(Pl,{strict:!1})?Fe(Pl):Pl}),i={r:E(o,{size:32}),s:E(n,{size:32}),v:s?28n:27n,yParity:s};return(()=>r==="bytes"||r==="hex"?Qu({...i,to:r}):i)()}async function $b(e){let{chainId:t,nonce:r,privateKey:o,to:n="object"}=e,s=e.contractAddress??e.address,i=await Ir({hash:Dm({address:s,chainId:t,nonce:r}),privateKey:o,to:n});return n==="object"?{address:s,chainId:t,nonce:r,...i}:i}async function Rb({message:e,privateKey:t}){return await Ir({hash:ii(e),privateKey:t,to:"hex"})}Dt();async function Bb(e){let{privateKey:t,transaction:r,serializer:o=Mc}=e,n=(()=>r.type==="eip4844"?{...r,sidecars:!1}:r)(),s=await Ir({hash:se(await o(n)),privateKey:t});return await o(r,s)}async function Fb(e){let{privateKey:t,...r}=e;return await Ir({hash:$u(r),privateKey:t,to:"hex"})}function Ea(e,t={}){let{nonceManager:r}=t,o=ie(UC.getPublicKey(e.slice(2),!1)),n=Fm(o);return{...Pb({address:n,nonceManager:r,async sign({hash:i}){return Ir({hash:i,privateKey:e,to:"hex"})},async signAuthorization(i){return $b({...i,privateKey:e})},async signMessage({message:i}){return Rb({message:i,privateKey:e})},async signTransaction(i,{serializer:a}={}){return Bb({privateKey:e,transaction:i,serializer:a})},async signTypedData(i){return Fb({...i,privateKey:e})}}),publicKey:o,source:"privateKey"}}var qY=Ai(Bl(),1);import{z as Ce}from"zod";var cr=Ai(Bl(),1),vS=Ai(Mb(),1),CS=Ai(Cx(),1);import{z as gi}from"zod";var _8=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()}),Nn=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)}},Hl=class cp extends Nn{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=_8.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})}},T8=class extends Nn{constructor(e,t){super(e,t),this.isValidationError=!0,this.validationErrors=t.validationErrors}},P8=class extends Nn{constructor(){super(...arguments),this.isAuthError=!0}},_x=class extends Nn{constructor(){super(...arguments),this.isBusinessError=!0}},$8=class extends Nn{constructor(){super(...arguments),this.isServerError=!0}},R8=class extends Nn{constructor(){super(...arguments),this.isUnknownError=!0}};function B8(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 Tx(e){if(!Array.isArray(e))return{errors:[],message:typeof e=="string"?e:"Validation error"};let t=e.map((n,s)=>{let i=B8(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 F8(e){return e===422?"validation":e===401||e===403?"auth":e>=400&&e<500?"business":e>=500?"server":"unknown"}function M8(e,t,r){if(e===422&&Array.isArray(t)){let{message:o}=Tx(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 D8(e){let t=e.status??0,r=e.statusText??"Unknown Error",o=e.detail,n=N8(o);if(n)return new Gl(n.message,{status:t,statusText:r,detail:o,errorCode:n.error_code,structuredDetails:n.details,suggestions:n.suggestions,links:n.links});let s=F8(t),i=M8(t,o,e.message),a={status:t,statusText:r,detail:o};if(s==="validation"&&Array.isArray(o)){let{errors:c}=Tx(o);return new T8(i,{...a,validationErrors:c})}return s==="auth"?new P8(i,a):s==="business"?new _x(i,a):s==="server"?new $8(i,a):new R8(i,a)}var Gl=class extends _x{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 N8(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 Px(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 Ta=["2025-05-31","2025-10-28"],hi=(0,Ix.default)("phala::api-client");function z8(e){return Object.entries(e).map(([t,r])=>` -H "${t}: ${r}"`).join(`
56
- `)}function L8(e){return e?` -d '${(typeof e=="string"?e:JSON.stringify(e,null,2)).replace(/'/g,"\\'")}'`:""}function Ex(e,t,r,o){let n=[];r.forEach((a,c)=>{n.push(`${c}: ${a}`)});let s=n.join(`
40
+ `,n+=Hh(o.state)),o.stateDiff&&(n+=` stateDiff:
41
+ `,n+=Hh(o.stateDiff)),n},` State Override:
42
+ `).slice(0,-1)}var Am,Im,Ef=S(()=>{H();Am=class extends x{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}},Im=class extends x{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}});var Gh,vn,_m=S(()=>{Gh=e=>e,vn=e=>e});var Ds,Ns,Cn,Pm,Tm,yr,Co=S(()=>{xe();Oc();wf();Gr();Oh();vo();fc();ns();we();H();Ef();Ct();_m();Ds=class extends x{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:f,value:p,stateOverride:d}){let h=r?j(r):void 0,g=hn({from:h?.address,to:f,value:typeof p<"u"&&`${os(p)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Fe(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Fe(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Fe(m)} gwei`,nonce:u});d&&(g+=`
43
+ ${jh(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}},Ns=class extends x{constructor(t,{abi:r,args:o,contractAddress:n,docsPath:s,functionName:i,sender:a}){let c=dt({abi:r,args:o,name:i}),m=c?vf({abiItem:c,args:o,includeFunctionName:!1,includeName:!1}):void 0,u=c?Me(c,{includeName:!0}):void 0,f=hn({address:n&&Gh(n),function:u,args:m&&m!=="()"&&`${[...Array(i?.length??0).keys()].map(()=>" ").join("")}${m}`,sender:a});super(t.shortMessage||`An unknown error occurred while executing the contract function "${i}".`,{cause:t,docsPath:s,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],f&&"Contract Call:",f].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=r,this.args=o,this.cause=t,this.contractAddress=n,this.functionName=i,this.sender=a}},Cn=class extends x{constructor({abi:t,data:r,functionName:o,message:n}){let s,i,a,c;if(r&&r!=="0x")try{i=Sm({abi:t,data:r});let{abiItem:u,errorName:f,args:p}=i;if(f==="Error")c=p[0];else if(f==="Panic"){let[d]=p;c=K0[d]}else{let d=u?Me(u,{includeName:!0}):void 0,h=u&&p?vf({abiItem:u,args:p,includeFunctionName:!1,includeName:!1}):void 0;a=[d?`Error: ${d}`:"",h&&h!=="()"?` ${[...Array(f?.length??0).keys()].map(()=>" ").join("")}${h}`:""]}}catch(u){s=u}else n&&(c=n);let m;s instanceof As&&(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}},Pm=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"})}},Tm=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"})}},yr=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 Ht,Eo,ea,En=S(()=>{Ze();H();_m();Ht=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: ${vn(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}},Eo=class extends x{constructor({body:t,error:r,url:o}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${vn(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}},ea=class extends x{constructor({body:t,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${vn(r)}`,`Request body: ${W(t)}`],name:"TimeoutError"})}}});var o2,Ye,st,ko,So,Ao,Io,sr,jt,_o,Po,To,br,Wr,$o,Jr,Ro,Bo,Fo,Mo,Do,xr,No,zo,Lo,Oo,Uo,wr,$m,zs=S(()=>{H();En();o2=-1,Ye=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 Eo?t.code:r??o2}},st=class extends Ye{constructor(t,r){super(t,r),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r.data}},ko=class extends Ye{constructor(t){super(t,{code:ko.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}};Object.defineProperty(ko,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});So=class extends Ye{constructor(t){super(t,{code:So.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}};Object.defineProperty(So,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});Ao=class extends Ye{constructor(t,{method:r}={}){super(t,{code:Ao.code,name:"MethodNotFoundRpcError",shortMessage:`The method${r?` "${r}"`:""} does not exist / is not available.`})}};Object.defineProperty(Ao,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});Io=class extends Ye{constructor(t){super(t,{code:Io.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
45
+ `)})}};Object.defineProperty(Io,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});sr=class extends Ye{constructor(t){super(t,{code:sr.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}};Object.defineProperty(sr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});jt=class extends Ye{constructor(t){super(t,{code:jt.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
46
+ `)})}};Object.defineProperty(jt,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});_o=class extends Ye{constructor(t){super(t,{code:_o.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}};Object.defineProperty(_o,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});Po=class extends Ye{constructor(t){super(t,{code:Po.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}};Object.defineProperty(Po,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});To=class extends Ye{constructor(t){super(t,{code:To.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}};Object.defineProperty(To,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});br=class extends Ye{constructor(t,{method:r}={}){super(t,{code:br.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}};Object.defineProperty(br,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});Wr=class extends Ye{constructor(t){super(t,{code:Wr.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}};Object.defineProperty(Wr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});$o=class extends Ye{constructor(t){super(t,{code:$o.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}};Object.defineProperty($o,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});Jr=class extends st{constructor(t){super(t,{code:Jr.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}};Object.defineProperty(Jr,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});Ro=class extends st{constructor(t){super(t,{code:Ro.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}};Object.defineProperty(Ro,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});Bo=class extends st{constructor(t,{method:r}={}){super(t,{code:Bo.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}};Object.defineProperty(Bo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});Fo=class extends st{constructor(t){super(t,{code:Fo.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}};Object.defineProperty(Fo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});Mo=class extends st{constructor(t){super(t,{code:Mo.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}};Object.defineProperty(Mo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});Do=class extends st{constructor(t){super(t,{code:Do.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}};Object.defineProperty(Do,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});xr=class extends st{constructor(t){super(t,{code:xr.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}};Object.defineProperty(xr,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});No=class extends st{constructor(t){super(t,{code:No.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}};Object.defineProperty(No,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});zo=class extends st{constructor(t){super(t,{code:zo.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}};Object.defineProperty(zo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});Lo=class extends st{constructor(t){super(t,{code:Lo.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}};Object.defineProperty(Lo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});Oo=class extends st{constructor(t){super(t,{code:Oo.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}};Object.defineProperty(Oo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});Uo=class extends st{constructor(t){super(t,{code:Uo.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}};Object.defineProperty(Uo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});wr=class extends st{constructor(t){super(t,{code:wr.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}};Object.defineProperty(wr,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});$m=class extends Ye{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}});function Ho(e,t){let r=(e.details||"").toLowerCase(),o=e instanceof x?e.walk(n=>n?.code===Hr.code):e;return o instanceof x?new Hr({cause:e,message:o.details}):Hr.nodeMessage.test(r)?new Hr({cause:e,message:e.details}):Ft.nodeMessage.test(r)?new Ft({cause:e,maxFeePerGas:t?.maxFeePerGas}):ds.nodeMessage.test(r)?new ds({cause:e,maxFeePerGas:t?.maxFeePerGas}):hs.nodeMessage.test(r)?new hs({cause:e,nonce:t?.nonce}):gs.nodeMessage.test(r)?new gs({cause:e,nonce:t?.nonce}):ys.nodeMessage.test(r)?new ys({cause:e,nonce:t?.nonce}):bs.nodeMessage.test(r)?new bs({cause:e}):xs.nodeMessage.test(r)?new xs({cause:e,gas:t?.gas}):ws.nodeMessage.test(r)?new ws({cause:e,gas:t?.gas}):vs.nodeMessage.test(r)?new vs({cause:e}):fr.nodeMessage.test(r)?new fr({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Mt({cause:e})}var ta=S(()=>{H();go()});function Rm(e,{docsPath:t,...r}){let o=(()=>{let n=Ho(e,r);return n instanceof Mt?e:n})();return new Ds(o,{docsPath:t,...r})}var kf=S(()=>{Co();go();ta()});function vr(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 Ls=S(()=>{});function Xe(e){let{account:t,gasPrice:r,maxFeePerGas:o,maxPriorityFeePerGas:n,to:s}=e,i=t?j(t):void 0;if(i&&!X(i.address))throw new oe({address:i.address});if(s&&!X(s))throw new oe({address:s});if(typeof r<"u"&&(typeof o<"u"||typeof n<"u"))throw new lc;if(o&&o>es)throw new Ft({maxFeePerGas:o});if(n&&o&&n>o)throw new fr({maxFeePerGas:o,maxPriorityFeePerGas:n})}var Zr=S(()=>{xe();Xp();tr();go();Ct();Et()});function Wh(e){let{abi:t,args:r,functionName:o}=e,n=t[0];if(o){let s=dt({abi:t,args:r,name:o});if(!s)throw new rr(o,{docsPath:Kh});n=s}if(n.type!=="function")throw new rr(void 0,{docsPath:Kh});return{abi:[n],functionName:hr(Me(n))}}var Kh,Jh=S(()=>{we();Fs();Gr();vo();Kh="/docs/contract/encodeFunctionData"});function pe(e){let{args:t}=e,{abi:r,functionName:o}=(()=>e.abi.length===1&&e.functionName?.startsWith("0x")?e:Wh(e))(),n=r[0],s=o,i="inputs"in n&&n.inputs?nt(n.inputs,t??[]):void 0;return Ue([s,i??"0x"])}var St=S(()=>{ot();qr();Jh()});function Qh(e){if(!(!e||e.length===0))return e.reduce((t,{slot:r,value:o})=>{if(r.length!==66)throw new Ri({size:r.length,targetSize:66,type:"hex"});if(o.length!==66)throw new Ri({size:o.length,targetSize:66,type:"hex"});return t[r]=o,t},{})}function s2(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=Qh(o)),n!==void 0){if(i.state)throw new Im;i.stateDiff=Qh(n)}return i}function Os(e){if(!e)return;let t={};for(let{address:r,...o}of e){if(!X(r,{strict:!1}))throw new oe({address:r});if(t[r])throw new Am({address:r});t[r]=s2(o)}return t}var Om=S(()=>{tr();oc();Ef();Et();F()});function Gt(e,t){if(!X(e,{strict:!1}))throw new oe({address:e});if(!X(t,{strict:!1}))throw new oe({address:t});return e.toLowerCase()===t.toLowerCase()}var kn=S(()=>{tr();Et()});function gt(e){let{abi:t,args:r,functionName:o,data:n}=e,s=t[0];if(o){let a=dt({abi:t,args:r,name:o});if(!a)throw new rr(o,{docsPath:Af});s=a}if(s.type!=="function")throw new rr(void 0,{docsPath:Af});if(!s.outputs)throw new _s(s.name,{docsPath:Af});let i=Kr(s.outputs,n);if(i&&i.length>1)return i;if(i&&i.length===1)return i[0]}var Af,qo=S(()=>{we();Xi();vo();Af="/docs/contract/decodeFunctionResult"});var sg,ig=S(()=>{sg="0.1.1"});function ag(){return sg}var cg=S(()=>{ig()});function mg(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?mg(e.cause,t):t?null:e}var R,yt=S(()=>{cg();R=class extends Error{constructor(t,r={}){let o=(()=>{if(r.cause instanceof R){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 R&&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@${ag()}`}),this.cause=r.cause,this.details=o,this.docs=i,this.docsPath=n,this.shortMessage=t}walk(t){return mg(this,t)}}});function Ks(e,t){if(Vt(e)>t)throw new Vm({givenSize:Vt(e),maxSize:t})}function ug(e,t){if(typeof t=="number"&&t>0&&t>Vt(e)-1)throw new oa({offset:t,position:"start",size:Vt(e)})}function pg(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Vt(e)!==r-t)throw new oa({offset:r,position:"end",size:Vt(e)})}function If(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 fg(e,t={}){let{dir:r,size:o=32}=t;if(o===0)return e;if(e.length>o)throw new qm({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 _f(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,lg=S(()=>{Ko();Yr={zero:48,nine:57,A:65,F:70,a:97,f:102}});function Ws(e,t){if(de(e)>t)throw new Km({givenSize:de(e),maxSize:t})}function dg(e,t){if(typeof t=="number"&&t>0&&t>de(e)-1)throw new na({offset:t,position:"start",size:de(e)})}function hg(e,t,r){if(typeof t=="number"&&typeof r=="number"&&de(e)!==r-t)throw new na({offset:r,position:"end",size:de(e)})}function Pf(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 Wm({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 Tf=S(()=>{je()});function Wo(e,t,r){return JSON.stringify(e,(o,n)=>typeof t=="function"?t(o,n):typeof n=="bigint"?n.toString()+m2:n,r)}var m2,sa=S(()=>{m2="#__bigint"});import{equalBytes as p7}from"@noble/curves/abstract/utils";function f2(e){if(!(e instanceof Uint8Array)){if(!e)throw new Js(e);if(typeof e!="object")throw new Js(e);if(!("BYTES_PER_ELEMENT"in e))throw new Js(e);if(e.BYTES_PER_ELEMENT!==1||e.constructor.name!=="Uint8Array")throw new Js(e)}}function bg(e){return e instanceof Uint8Array?e:typeof e=="string"?Zs(e):l2(e)}function l2(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Zs(e,t={}){let{size:r}=t,o=e;r&&(Ws(e,r),o=Sr(e,r));let n=o.slice(2);n.length%2&&(n=`0${n}`);let s=n.length/2,i=new Uint8Array(s);for(let a=0,c=0;a<s;a++){let m=If(n.charCodeAt(c++)),u=If(n.charCodeAt(c++));if(m===void 0||u===void 0)throw new R(`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=p2.encode(e);return typeof r=="number"?(Ks(o,r),d2(o,r)):o}function d2(e,t){return fg(e,{dir:"right",size:t})}function Vt(e){return e.length}function wg(e,t,r,o={}){let{strict:n}=o;ug(e,t);let s=e.slice(t,r);return n&&pg(s,t,r),s}function vg(e,t={}){let{size:r}=t;typeof r<"u"&&Ks(e,r);let o=Ae(e,t);return Bf(o,t)}function Cg(e,t={}){let{size:r}=t,o=e;if(typeof r<"u"&&(Ks(o,r),o=Rf(o)),o.length>1||o[0]>1)throw new $f(o);return!!o[0]}function kr(e,t={}){let{size:r}=t;typeof r<"u"&&Ks(e,r);let o=Ae(e,t);return Zm(o,t)}function Eg(e,t={}){let{size:r}=t,o=e;return typeof r<"u"&&(Ks(o,r),o=h2(o)),u2.decode(o)}function Rf(e){return _f(e,{dir:"left"})}function h2(e){return _f(e,{dir:"right"})}function kg(e){try{return f2(e),!0}catch{return!1}}var u2,p2,$f,Js,Vm,oa,qm,Ko=S(()=>{yt();je();lg();Tf();sa();u2=new TextDecoder,p2=new TextEncoder;$f=class extends R{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"})}},Js=class extends R{constructor(t){super(`Value \`${typeof t=="object"?Wo(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"})}},Vm=class extends R{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"})}},oa=class extends R{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"})}},qm=class extends R{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 l7}from"@noble/curves/abstract/utils";function b2(e,t={}){let{strict:r=!1}=t;if(!e)throw new Ym(e);if(typeof e!="string")throw new Ym(e);if(r&&!/^0x[0-9a-fA-F]*$/.test(e))throw new Xm(e);if(!e.startsWith("0x"))throw new Xm(e)}function be(...e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}function Ys(e){return e instanceof Uint8Array?Ae(e):Array.isArray(e)?Ae(new Uint8Array(e)):e}function Qm(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(Ws(r,t.size),Xr(r,t.size)):r}function Ae(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=y2[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(Ws(o,t.size),Sr(o,t.size)):o}function Q(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 ia({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 Xs(e,t={}){return Ae(g2.encode(e),t)}function Xr(e,t){return Pf(e,{dir:"left",size:t})}function Sr(e,t){return Pf(e,{dir:"right",size:t})}function he(e,t,r,o={}){let{strict:n}=o;dg(e,t);let s=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return n&&hg(s,t,r),s}function de(e){return Math.ceil((e.length-2)/2)}function Ff(e){return gg(e,{dir:"left"})}function Bf(e,t={}){let{signed:r}=t;t.size&&Ws(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 Zm(e,t={}){let{signed:r,size:o}=t;return Number(!r&&!o?e:Bf(e,t))}function aa(e,t={}){let{strict:r=!1}=t;try{return b2(e,{strict:r}),!0}catch{return!1}}var g2,y2,ia,Ym,Xm,Km,na,Wm,je=S(()=>{yt();Tf();sa();g2=new TextEncoder,y2=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));ia=class extends R{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"})}},Ym=class extends R{constructor(t){super(`Value \`${typeof t=="object"?Wo(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"})}},Xm=class extends R{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"})}},Km=class extends R{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"})}},na=class extends R{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"})}},Wm=class extends R{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 Sg(e){return{address:e.address,amount:Q(e.amount),index:Q(e.index),validatorIndex:Q(e.validatorIndex)}}var Ag=S(()=>{je()});function eu(e){return{...typeof e.baseFeePerGas=="bigint"&&{baseFeePerGas:Q(e.baseFeePerGas)},...typeof e.blobBaseFee=="bigint"&&{blobBaseFee:Q(e.blobBaseFee)},...typeof e.feeRecipient=="string"&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit=="bigint"&&{gasLimit:Q(e.gasLimit)},...typeof e.number=="bigint"&&{number:Q(e.number)},...typeof e.prevRandao=="bigint"&&{prevRandao:Q(e.prevRandao)},...typeof e.time=="bigint"&&{time:Q(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Sg)}}}var Mf=S(()=>{je();Ag()});var An,tu,_g,ru,Pg,Df,Nf,zf,Lf,Jo=S(()=>{An=[{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"}],tu=[{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"}]}],_g=[{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"}],ru=[..._g,{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"}]}],Pg=[..._g,{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"}]}],Df=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],Nf=[{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"}]}],zf=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],Lf=[{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 Tg,$g=S(()=>{Tg="0x82ad56cb"});var ou,Rg,Bg,Qs,ca=S(()=>{ou="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",Rg="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",Bg="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",Qs="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033"});function In(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 Hc({docsPath:Of});if(!("inputs"in n))throw new Vi({docsPath:Of});if(!n.inputs||n.inputs.length===0)throw new Vi({docsPath:Of});let s=nt(n.inputs,r);return Ue([o,s])}var Of,nu=S(()=>{we();ot();qr();Of="/docs/contract/encodeDeployData"});function ei(){let e=()=>{},t=()=>{};return{promise:new Promise((o,n)=>{e=o,t=n}),resolve:e,reject:t}}var su=S(()=>{});function iu({fn:e,id:t,shouldSplitBatch:r,wait:o=0,sort:n}){let s=async()=>{let u=c();i();let f=u.map(({args:p})=>p);f.length!==0&&e(f).then(p=>{n&&Array.isArray(p)&&p.sort(n);for(let d=0;d<u.length;d++){let{resolve:h}=u[d];h?.([p[d],p])}}).catch(p=>{for(let d=0;d<u.length;d++){let{reject:h}=u[d];h?.(p)}})},i=()=>Uf.delete(t),a=()=>c().map(({args:u})=>u),c=()=>Uf.get(t)||[],m=u=>Uf.set(t,[...c(),u]);return{flush:i,async schedule(u){let{promise:f,resolve:p,reject:d}=ei();return r?.([...a(),u])&&s(),c().length>0?(m({args:u,resolve:p,reject:d}),f):(m({args:u,resolve:p,reject:d}),setTimeout(s,o),f)}}}var Uf,Hf=S(()=>{su();Uf=new Map});var au,cu,mu,Fg=S(()=>{Ze();H();_m();au=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=>` ${vn(a)}`)],` Sender: ${s}`,` Data: ${o}`,` Callback selector: ${t}`,` Extra data: ${n}`].flat(),name:"OffchainLookupError"})}},cu=class extends x{constructor({result:t,url:r}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${vn(r)}`,`Response: ${W(t)}`],name:"OffchainLookupResponseMalformedError"})}},mu=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 Mg(e){let{abi:t,data:r}=e,o=zt(r,0,4),n=t.find(s=>s.type==="function"&&o===hr(Me(s)));if(!n)throw new Wc(o,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:n.name,args:"inputs"in n&&n.inputs&&n.inputs.length>0?Kr(n.inputs,zt(r,4)):void 0}}var Dg=S(()=>{we();bo();Fs();Xi();Gr()});function Gf(e){let{abi:t,errorName:r,args:o}=e,n=t[0];if(r){let c=dt({abi:t,args:o,name:r});if(!c)throw new qi(r,{docsPath:jf});n=c}if(n.type!=="error")throw new qi(void 0,{docsPath:jf});let s=Me(n),i=hr(s),a="0x";if(o&&o.length>0){if(!n.inputs)throw new qc(n.name,{docsPath:jf});a=nt(n.inputs,o)}return Ue([i,a])}var jf,Ng=S(()=>{we();ot();Fs();qr();Gr();vo();jf="/docs/contract/encodeErrorResult"});function zg(e){let{abi:t,functionName:r,result:o}=e,n=t[0];if(r){let i=dt({abi:t,name:r});if(!i)throw new rr(r,{docsPath:Vf});n=i}if(n.type!=="function")throw new rr(void 0,{docsPath:Vf});if(!n.outputs)throw new _s(n.name,{docsPath:Vf});let s=(()=>{if(n.outputs.length===0)return[];if(n.outputs.length===1)return[o];if(Array.isArray(o))return o;throw new Ps(o)})();return nt(n.outputs,s)}var Vf,Lg=S(()=>{we();qr();vo();Vf="/docs/contract/encodeFunctionResult"});async function qf(e){let{data:t,ccipRequest:r}=e,{args:[o]}=Mg({abi:tu,data:t}),n=[],s=[];return await Promise.all(o.map(async(i,a)=>{try{s[a]=i.urls.includes(Qr)?await qf({data:i.data,ccipRequest:r}):await r(i),n[a]=!1}catch(c){n[a]=!0,s[a]=w2(c)}})),zg({abi:tu,functionName:"query",result:[n,s]})}function w2(e){return e.name==="HttpRequestError"&&e.status?Gf({abi:tu,errorName:"HttpError",args:[e.status,e.shortMessage]}):Gf({abi:[Lc],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}var Qr,ma=S(()=>{Jo();Oc();Dg();Ng();Lg();Qr="x-batch-gateway:true"});var Hg={};Lp(Hg,{ccipRequest:()=>Ug,offchainLookup:()=>C2,offchainLookupAbiItem:()=>Og,offchainLookupSignature:()=>v2});async function C2(e,{blockNumber:t,blockTag:r,data:o,to:n}){let{args:s}=Sm({data:o,abi:[Og]}),[i,a,c,m,u]=s,{ccipRead:f}=e,p=f&&typeof f?.request=="function"?f.request:Ug;try{if(!Gt(n,i))throw new mu({sender:i,to:n});let d=a.includes(Qr)?await qf({data:c,ccipRequest:p}):await p({data:c,sender:i,urls:a}),{data:h}=await Ar(e,{blockNumber:t,blockTag:r,data:_e([m,nt([{type:"bytes"},{type:"bytes"}],[d,u])]),to:n});return h}catch(d){throw new au({callbackSelector:m,cause:d,data:o,extraData:u,sender:i,urls:a})}}async function Ug({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 Ht({body:a,details:u?.error?W(u.error):m.statusText,headers:m.headers,status:m.status,url:s});continue}if(!ae(u)){o=new cu({result:u,url:s});continue}return u}catch(m){o=new Ht({body:a,details:m.message,url:s})}}throw o}var v2,Og,jg=S(()=>{ti();Fg();En();wf();qr();kn();ot();vt();ma();Ze();v2="0x556f1830",Og={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 Ar(e,t){let{account:r=e.account,authorizationList:o,batch:n=!!e.batch?.multicall,blockNumber:s,blockTag:i=e.experimental_blockTag??"latest",accessList:a,blobs:c,blockOverrides:m,code:u,data:f,factory:p,factoryData:d,gas:h,gasPrice:g,maxFeePerBlobGas:b,maxFeePerGas:y,maxPriorityFeePerGas:v,nonce:C,to:k,value:A,stateOverride:T,...I}=t,B=r?j(r):void 0;if(u&&(p||d))throw new x("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(u&&k)throw new x("Cannot provide both `code` & `to` as parameters.");let N=u&&f,M=p&&d&&k&&f,U=N||M,G=(()=>N?Gg({code:u,data:f}):M?S2({data:f,factory:p,factoryData:d,to:k}):f)();try{Xe(t);let ce=(typeof s=="bigint"?E(s):void 0)||i,Ie=m?eu(m):void 0,Ve=Os(T),Tt=e.chain?.formatters?.transactionRequest?.format,Se=(Tt||ft)({...vr(I,{format:Tt}),accessList:a,account:B,authorizationList:o,blobs:c,data:G,gas:h,gasPrice:g,maxFeePerBlobGas:b,maxFeePerGas:y,maxPriorityFeePerGas:v,nonce:C,to:U?void 0:k,value:A},"call");if(n&&E2({request:Se})&&!Ve&&!Ie)try{return await k2(e,{...Se,blockNumber:s,blockTag:i})}catch(me){if(!(me instanceof Ni)&&!(me instanceof yn))throw me}let pr=(()=>{let me=[Se,ce];return Ve&&Ie?[...me,Ve,Ie]:Ve?[...me,Ve]:Ie?[...me,{},Ie]:me})(),co=await e.request({method:"eth_call",params:pr});return co==="0x"?{data:void 0}:{data:co}}catch(V){let ce=A2(V),{offchainLookup:Ie,offchainLookupSignature:Ve}=await Promise.resolve().then(()=>(jg(),Hg));if(e.ccipRead!==!1&&ce?.slice(0,10)===Ve&&k)return{data:await Ie(e,{data:ce,to:k})};throw U&&ce?.slice(0,10)==="0x101bb98d"?new Tm({factory:p}):Rm(V,{...t,account:B,chain:e.chain})}}function E2({request:e}){let{data:t,to:r,...o}=e;return!(!t||t.startsWith(Tg)||!r||Object.values(o).filter(n=>typeof n<"u").length>0)}async function k2(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 Lt({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Ni})(),f=(typeof s=="bigint"?E(s):void 0)||i,{schedule:p}=iu({id:`${e.uid}.${f}`,wait:n,shouldSplitBatch(g){return g.reduce((y,{data:v})=>y+(v.length-2),0)>r*2},fn:async g=>{let b=g.map(C=>({allowFailure:!0,callData:C.data,target:C.to})),y=pe({abi:An,args:[b],functionName:"aggregate3"}),v=await e.request({method:"eth_call",params:[{...m===null?{data:Gg({code:Qs,data:y})}:{to:m,data:y}},f]});return gt({abi:An,args:[b],functionName:"aggregate3",data:v||"0x"})}}),[{returnData:d,success:h}]=await p({data:a,to:c});if(!h)throw new yr({data:d});return d==="0x"?{data:void 0}:{data:d}}function Gg(e){let{code:t,data:r}=e;return In({abi:xm(["constructor(bytes, bytes)"]),bytecode:ou,args:[t,r]})}function S2(e){let{data:t,factory:r,factoryData:o,to:n}=e;return In({abi:xm(["constructor(address, bytes, address, bytes)"]),bytecode:Rg,args:[n,t,r,o]})}function A2(e){if(!(e instanceof x))return;let t=e.walk();return typeof t?.data=="object"?t.data?.data:t.data}var ti=S(()=>{Zi();Mf();xe();Jo();$g();ca();H();zi();Co();qo();nu();St();xn();F();kf();Ls();fo();Hf();Om();Zr()});var Nl=ct(Sa=>{"use strict";var JC=Sa&&Sa.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Sa,"__esModule",{value:!0});Sa.encryptEnvVars=XC;var Ml=zr("@noble/curves/ed25519"),Dl=JC(zr("crypto"));function ZC(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 YC(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}async function XC(e,t){let r=JSON.stringify({env:e}),o=Ml.x25519.utils.randomPrivateKey(),n=Ml.x25519.getPublicKey(o),s=ZC(t),i=Ml.x25519.getSharedSecret(o,s),a=await Dl.default.subtle.importKey("raw",i,{name:"AES-GCM",length:256},!0,["encrypt"]),c=Dl.default.getRandomValues(new Uint8Array(12)),m=await Dl.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),YC(u)}});var Ob=ct(Aa=>{"use strict";var QC=Aa&&Aa.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Aa,"__esModule",{value:!0});Aa.getComposeHash=o8;var e8=QC(zr("crypto"));function zl(e){return e==null?e:Array.isArray(e)?e.map(zl):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=zl(o),t},{}):e}function t8(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 r8(e){let t=zl(e);return JSON.stringify(t,(r,o)=>typeof o=="number"&&(isNaN(o)||!isFinite(o))?null:o)}function o8(e,t=!1){t&&(e=t8(e));let r=r8(e);return e8.default.createHash("sha256").update(r,"utf8").digest("hex")}});var cx=ct(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.toBig=O.shrSL=O.shrSH=O.rotrSL=O.rotrSH=O.rotrBL=O.rotrBH=O.rotr32L=O.rotr32H=O.rotlSL=O.rotlSH=O.rotlBL=O.rotlBH=O.add5L=O.add5H=O.add4L=O.add4H=O.add3L=O.add3H=void 0;O.add=tx;O.fromBig=Ol;O.split=Ub;var ap=BigInt(2**32-1),Ll=BigInt(32);function Ol(e,t=!1){return t?{h:Number(e&ap),l:Number(e>>Ll&ap)}:{h:Number(e>>Ll&ap)|0,l:Number(e&ap)|0}}function Ub(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}=Ol(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var Hb=(e,t)=>BigInt(e>>>0)<<Ll|BigInt(t>>>0);O.toBig=Hb;var jb=(e,t,r)=>e>>>r;O.shrSH=jb;var Gb=(e,t,r)=>e<<32-r|t>>>r;O.shrSL=Gb;var Vb=(e,t,r)=>e>>>r|t<<32-r;O.rotrSH=Vb;var qb=(e,t,r)=>e<<32-r|t>>>r;O.rotrSL=qb;var Kb=(e,t,r)=>e<<64-r|t>>>r-32;O.rotrBH=Kb;var Wb=(e,t,r)=>e>>>r-32|t<<64-r;O.rotrBL=Wb;var Jb=(e,t)=>t;O.rotr32H=Jb;var Zb=(e,t)=>e;O.rotr32L=Zb;var Yb=(e,t,r)=>e<<r|t>>>32-r;O.rotlSH=Yb;var Xb=(e,t,r)=>t<<r|e>>>32-r;O.rotlSL=Xb;var Qb=(e,t,r)=>t<<r-32|e>>>64-r;O.rotlBH=Qb;var ex=(e,t,r)=>e<<r-32|t>>>64-r;O.rotlBL=ex;function tx(e,t,r,o){let n=(t>>>0)+(o>>>0);return{h:e+r+(n/2**32|0)|0,l:n|0}}var rx=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);O.add3L=rx;var ox=(e,t,r,o)=>t+r+o+(e/2**32|0)|0;O.add3H=ox;var nx=(e,t,r,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0);O.add4L=nx;var sx=(e,t,r,o,n)=>t+r+o+n+(e/2**32|0)|0;O.add4H=sx;var ix=(e,t,r,o,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0)+(n>>>0);O.add5L=ix;var ax=(e,t,r,o,n,s)=>t+r+o+n+s+(e/2**32|0)|0;O.add5H=ax;var n8={fromBig:Ol,split:Ub,toBig:Hb,shrSH:jb,shrSL:Gb,rotrSH:Vb,rotrSL:qb,rotrBH:Kb,rotrBL:Wb,rotr32H:Jb,rotr32L:Zb,rotlSH:Yb,rotlSL:Xb,rotlBH:Qb,rotlBL:ex,add:tx,add3L:rx,add3H:ox,add4L:nx,add4H:sx,add5H:ax,add5L:ix};O.default=n8});var mx=ct(cp=>{"use strict";Object.defineProperty(cp,"__esModule",{value:!0});cp.crypto=void 0;var on=zr("node:crypto");cp.crypto=on&&typeof on=="object"&&"webcrypto"in on?on.webcrypto:on&&typeof on=="object"&&"randomBytes"in on?on:void 0});var yx=ct(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.wrapXOFConstructorWithOpts=D.wrapConstructorWithOpts=D.wrapConstructor=D.Hash=D.nextTick=D.swap32IfBE=D.byteSwapIfBE=D.swap8IfBE=D.isLE=void 0;D.isBytes=px;D.anumber=Ul;D.abytes=hi;D.ahash=s8;D.aexists=i8;D.aoutput=a8;D.u8=c8;D.u32=m8;D.clean=u8;D.createView=p8;D.rotr=f8;D.rotl=l8;D.byteSwap=jl;D.byteSwap32=fx;D.bytesToHex=h8;D.hexToBytes=g8;D.asyncLoop=b8;D.utf8ToBytes=Gl;D.bytesToUtf8=x8;D.toBytes=mp;D.kdfInputToBytes=w8;D.concatBytes=v8;D.checkOpts=C8;D.createHasher=dx;D.createOptHasher=hx;D.createXOFer=gx;D.randomBytes=E8;var di=mx();function px(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ul(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function hi(e,...t){if(!px(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 s8(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Ul(e.outputLen),Ul(e.blockLen)}function i8(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 a8(e,t){hi(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function c8(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function m8(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function u8(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function p8(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function f8(e,t){return e<<32-t|e>>>t}function l8(e,t){return e<<t|e>>>32-t>>>0}D.isLE=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function jl(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}D.swap8IfBE=D.isLE?e=>e:e=>jl(e);D.byteSwapIfBE=D.swap8IfBE;function fx(e){for(let t=0;t<e.length;t++)e[t]=jl(e[t]);return e}D.swap32IfBE=D.isLE?e=>e:fx;var lx=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),d8=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function h8(e){if(hi(e),lx)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=d8[e[r]];return t}var ro={_0:48,_9:57,A:65,F:70,a:97,f:102};function ux(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 g8(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(lx)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=ux(e.charCodeAt(s)),a=ux(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 y8=async()=>{};D.nextTick=y8;async function b8(e,t,r){let o=Date.now();for(let n=0;n<e;n++){r(n);let s=Date.now()-o;s>=0&&s<t||(await(0,D.nextTick)(),o+=s)}}function Gl(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function x8(e){return new TextDecoder().decode(e)}function mp(e){return typeof e=="string"&&(e=Gl(e)),hi(e),e}function w8(e){return typeof e=="string"&&(e=Gl(e)),hi(e),e}function v8(...e){let t=0;for(let o=0;o<e.length;o++){let n=e[o];hi(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 C8(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 Hl=class{};D.Hash=Hl;function dx(e){let t=o=>e().update(mp(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function hx(e){let t=(o,n)=>e(n).update(mp(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(mp(o)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=o=>e(o),t}D.wrapConstructor=dx;D.wrapConstructorWithOpts=hx;D.wrapXOFConstructorWithOpts=gx;function E8(e=32){if(di.crypto&&typeof di.crypto.getRandomValues=="function")return di.crypto.getRandomValues(new Uint8Array(e));if(di.crypto&&typeof di.crypto.randomBytes=="function")return Uint8Array.from(di.crypto.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}});var Ax=ct(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=kx;var _a=cx(),tt=yx(),k8=BigInt(0),Ia=BigInt(1),S8=BigInt(2),A8=BigInt(7),I8=BigInt(256),_8=BigInt(113),wx=[],vx=[],Cx=[];for(let e=0,t=Ia,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],wx.push(2*(5*o+r)),vx.push((e+1)*(e+2)/2%64);let n=k8;for(let s=0;s<7;s++)t=(t<<Ia^(t>>A8)*_8)%I8,t&S8&&(n^=Ia<<(Ia<<BigInt(s))-Ia);Cx.push(n)}var Ex=(0,_a.split)(Cx,!0),P8=Ex[0],T8=Ex[1],bx=(e,t,r)=>r>32?(0,_a.rotlBH)(e,t,r):(0,_a.rotlSH)(e,t,r),xx=(e,t,r)=>r>32?(0,_a.rotlBL)(e,t,r):(0,_a.rotlSL)(e,t,r);function kx(e,t=24){let r=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let i=0;i<10;i++)r[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){let a=(i+8)%10,c=(i+2)%10,m=r[c],u=r[c+1],f=bx(m,u,1)^r[a],p=xx(m,u,1)^r[a+1];for(let d=0;d<50;d+=10)e[i+d]^=f,e[i+d+1]^=p}let n=e[2],s=e[3];for(let i=0;i<24;i++){let a=vx[i],c=bx(n,s,a),m=xx(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]^=P8[o],e[1]^=T8[o]}(0,tt.clean)(r)}var Dn=class extends tt.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,tt.anumber)(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=(0,tt.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,tt.swap32IfBE)(this.state32),kx(this.state32,this.rounds),(0,tt.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(t){(0,tt.aexists)(this),t=(0,tt.toBytes)(t),(0,tt.abytes)(t);let{blockLen:r,state:o}=this,n=t.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);for(let a=0;a<i;a++)o[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:o,blockLen:n}=this;t[o]^=r,r&128&&o===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){(0,tt.aexists)(this,!1),(0,tt.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,tt.anumber)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,tt.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,tt.clean)(this.state)}_cloneInto(t){let{blockLen:r,suffix:o,outputLen:n,rounds:s,enableXOF:i}=this;return t||(t=new Dn(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=Dn;var nn=(e,t,r)=>(0,tt.createHasher)(()=>new Dn(t,e,r));fe.sha3_224=(()=>nn(6,144,224/8))();fe.sha3_256=(()=>nn(6,136,256/8))();fe.sha3_384=(()=>nn(6,104,384/8))();fe.sha3_512=(()=>nn(6,72,512/8))();fe.keccak_224=(()=>nn(1,144,224/8))();fe.keccak_256=(()=>nn(1,136,256/8))();fe.keccak_384=(()=>nn(1,104,384/8))();fe.keccak_512=(()=>nn(1,72,512/8))();var Sx=(e,t,r)=>(0,tt.createXOFer)((o={})=>new Dn(t,e,o.dkLen===void 0?r:o.dkLen,!0));fe.shake128=(()=>Sx(31,168,128/8))();fe.shake256=(()=>Sx(31,136,256/8))()});var Ix=ct(Vl=>{"use strict";Object.defineProperty(Vl,"__esModule",{value:!0});Vl.verifyEnvEncryptPublicKey=B8;var $8=Ax(),R8=zr("@noble/curves/secp256k1");function B8(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,$8.keccak_256)(a);try{let m=t.slice(0,32),u=t.slice(32,64),f=t[64],p=new Uint8Array(64);p.set(m,0),p.set(u,32);let d=R8.secp256k1.Signature.fromCompact(p).addRecoveryBit(f).recoverPublicKey(c);return"0x"+Buffer.from(d.toRawBytes(!0)).toString("hex")}catch(m){return console.error("signature verification failed:",m),null}}});import{readFileSync as YA}from"node:fs";import{dirname as XA,join as QA}from"node:path";import{fileURLToPath as eI}from"node:url";import{ZodError as zS}from"zod";import Ba from"chalk";function Wa(e){return e.split(/[\s-]+/).filter(Boolean).map((t,r)=>r===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function Hd(e){return e===void 0?[]:Array.isArray(e)?[...e]:[e]}function jd(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??Wa(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 fw from"arg";var cw={name:"help",shorthand:"h",description:"Show help information for the current command",type:"boolean",target:"help"},mw={name:"version",shorthand:"v",description:"Show CLI version",type:"boolean",target:"version"};var uw={name:"api-token",description:"API token used for authentication",type:"string",target:"apiToken",aliases:["api-key"],argumentName:"token"},Kn=[cw,mw],Wn=[uw];import Gd from"arg";function Vd(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??Wa(n.name),a=pw(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 Hd(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]=Gd.flag(()=>!0),o.set(c,{option:n,canonicalKey:s,target:i,negatedKey:c})}}return{spec:t,descriptors:r,negatedLookup:o}}function pw(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 Gd.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 _i(e,t,r={}){let o=[...Kn,...t?[...t]:[]],n=Vd(o),{permissive:s=!1,stopAtPositional:i=!1}=r,a=fw(n.spec,{argv:e,permissive:s,stopAtPositional:i}),{_:c,...m}=a;return{positionals:c??[],flags:m,flagConfig:n}}function Ja(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 Kn)o.push(` ${Op(n).padEnd(24)}${n.description??""}`.trimEnd());return o.join(`
48
+ `)}function qd(e){let{registry:t,executableName:r,groupPath:o}=e,n=t.getNode(o);if(!n?.group)return Ja({registry:t,executableName:r});let s=[],i=o.join(" "),a=`${r} ${i}`;s.push(`Usage: ${a} <command> [options]`),s.push(""),n.group.meta.description&&(s.push(n.group.meta.description),s.push(""));let c=t.getChildren(o);if(c.length>0){s.push("Available commands:");for(let m of c){let u=m.command?.meta.description??m.group?.meta.description??"",f=m.name??"";s.push(` ${f.padEnd(18)}${u}`.trimEnd())}s.push("")}s.push("Global options:");for(let m of Kn)s.push(` ${Op(m).padEnd(24)}${m.description??""}`.trimEnd());return s.join(`
49
+ `)}function Kd(e){let{executableName:t,definition:r,registry:o}=e,s=[lw({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=[...Kn,...r.meta.options??[]];if(a.length>0){s.push(""),s.push("Options:");for(let m of a)m.hidden||s.push(` ${Op(m).padEnd(24)}${m.description??""}`.trimEnd())}if(r.meta.examples&&r.meta.examples.length>0){s.push(""),s.push("Examples:");for(let m of r.meta.examples)s.push(` # ${m.name}`),s.push(` ${m.value}`)}let c=o.getChildren(r.path);if(c.length>0){s.push(""),s.push("Subcommands:");for(let m of c){let u=m.command?.meta.description??m.group?.meta.description??"",f=m.name??"";s.push(` ${f.padEnd(18)}${u}`.trimEnd())}}return s.join(`
50
+ `)}function lw({executableName:e,definition:t}){let r=[e,...t.path],n=(t.meta.arguments??[]).map(c=>dw(c)).join(" "),i=(t.meta.options?.length??0)>0?" [options]":"",a=n?` ${n}`:"";return`Usage: ${r.join(" ")}${i}${a}`}function dw(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 Op(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 Up=!1;function qe(e){Up=e}function mt(){return Up}function Hp(){return!Up}import BS from"node:path";import rd from"fs-extra";import FS from"@iarna/toml";import{z as r1}from"zod";var Rx=Ii(s0(),1);import{ofetch as F8}from"ofetch";function i0(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 sn}from"zod";import{z as K}from"zod";import{z as an}from"zod";function fn(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}ic();Re();ic();var Zp={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function dn(e,t){let r={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?ye(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?ye(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?Zp[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=Gw(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 u0=Qn("transaction",dn);function Gw(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 Bi(e,t){let r=(e.transactions??[]).map(o=>typeof o=="string"?o:dn(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 p0=Qn("block",Bi);function Je(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}:{}}}Re();ic();var Yp={"0x0":"reverted","0x1":"success"};function Fi(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=>Je(o)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?ye(e.transactionIndex):null,status:e.status?Yp[e.status]:null,type:e.type?Zp[e.type]||e.type:null};return e.blobGasPrice&&(r.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(r.blobGasUsed=BigInt(e.blobGasUsed)),r}var f0=Qn("transactionReceipt",Fi);H();cc();Oe();F();function Qt(e,t="hex"){let r=l0(e),o=rs(new Uint8Array(r.length));return r.encode(o),t==="hex"?Y(o.bytes):o.bytes}function l0(e){return Array.isArray(e)?Jw(e.map(t=>l0(t))):Zw(e)}function Jw(e){let t=e.reduce((n,s)=>n+s.length,0),r=d0(t);return{length:(()=>t<=55?1+t:1+r+t)(),encode(n){t<=55?n.pushByte(192+t):(n.pushByte(192+55+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:s}of e)s(n)}}}function Zw(e){let t=typeof e=="string"?Be(e):e,r=d0(t.length);return{length:(()=>t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length)(),encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(128+55+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function d0(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.")}Ct();F();function g0(e){if(!e||e.length===0)return[];let t=[];for(let r of e){let{chainId:o,nonce:n,...s}=r,i=r.address;t.push([o?se(o):"0x",i,n?se(n):"0x",...cs({},s)])}return t}Oe();F();function ms(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=>Be(s)):e.blobs,n=[];for(let s of o)n.push(Uint8Array.from(t.blobToKzgCommitment(s)));return r==="bytes"?n:n.map(s=>Y(s))}Oe();F();function us(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=>Be(i)):e.blobs,n=typeof e.commitments[0]=="string"?e.commitments.map(i=>Be(i)):e.commitments,s=[];for(let i=0;i<o.length;i++){let a=o[i],c=n[i];s.push(Uint8Array.from(t.computeBlobKzgProof(a,c)))}return r==="bytes"?s:s.map(i=>Y(i))}F();Cc();function rv(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 b0(e,t,r){return e&t^~e&r}function x0(e,t,r){return e&t^e&r^t&r}var Ec=class extends ps{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=wc(this.buffer)}update(t){fs(this),t=Di(t),gn(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=wc(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){fs(this),xc(t,this),this.finished=!0;let{buffer:r,view:o,blockLen:n,isLE:s}=this,{pos:i}=this;r[i++]=128,lo(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(o,0),i=0);for(let f=i;f<n;f++)r[f]=0;rv(o,n-8,BigInt(this.length*8),s),this.process(o,0);let a=wc(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let m=c/4,u=this.get();if(m>u.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<m;f++)a.setUint32(4*f,u[f],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let o=t.slice(0,r);return this.destroy(),o}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:o,length:n,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=n,t.pos=a,n%r&&t.buffer.set(o),t}clone(){return this._cloneInto()}},Ur=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Cc();var nv=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]),ho=new Uint32Array(64),Sc=class extends Ec{constructor(t=32){super(64,t,8,!1),this.A=Ur[0]|0,this.B=Ur[1]|0,this.C=Ur[2]|0,this.D=Ur[3]|0,this.E=Ur[4]|0,this.F=Ur[5]|0,this.G=Ur[6]|0,this.H=Ur[7]|0}get(){let{A:t,B:r,C:o,D:n,E:s,F:i,G:a,H:c}=this;return[t,r,o,n,s,i,a,c]}set(t,r,o,n,s,i,a,c){this.A=t|0,this.B=r|0,this.C=o|0,this.D=n|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let f=0;f<16;f++,r+=4)ho[f]=t.getUint32(r,!1);for(let f=16;f<64;f++){let p=ho[f-15],d=ho[f-2],h=er(p,7)^er(p,18)^p>>>3,g=er(d,17)^er(d,19)^d>>>10;ho[f]=g+ho[f-7]+h+ho[f-16]|0}let{A:o,B:n,C:s,D:i,E:a,F:c,G:m,H:u}=this;for(let f=0;f<64;f++){let p=er(a,6)^er(a,11)^er(a,25),d=u+p+b0(a,c,m)+nv[f]+ho[f]|0,g=(er(o,2)^er(o,13)^er(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(){lo(ho)}destroy(){this.set(0,0,0,0,0,0,0,0),lo(this.buffer)}};var I0=vc(()=>new Sc);var _0=I0;vt();Oe();F();function P0(e,t){let r=t||"hex",o=_0(ae(e,{strict:!1})?Bt(e):e);return r==="bytes"?o:se(o)}function T0(e){let{commitment:t,version:r=1}=e,o=e.to??(typeof t=="string"?"hex":"bytes"),n=P0(t,"bytes");return n.set([r],0),o==="bytes"?n:Y(n)}function Ac(e){let{commitments:t,version:r}=e,o=e.to??(typeof t[0]=="string"?"hex":"bytes"),n=[];for(let s of t)n.push(T0({commitment:s,to:o,version:r}));return n}H();var Ic=class extends x{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}},ls=class extends x{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}},_c=class extends x{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}},Pc=class extends x{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${1}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}};cc();Rt();Oe();F();function $0(e){let t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?Be(e.data):e.data,o=Z(r);if(!o)throw new ls;if(o>761855)throw new Ic({maxSize:761855,size:o});let n=[],s=!0,i=0;for(;s;){let a=rs(new Uint8Array(131072)),c=0;for(;c<4096;){let m=r.slice(i,i+(32-1));if(a.pushByte(0),a.pushBytes(m),m.length<31){a.pushByte(128),s=!1;break}c++,i+=31}n.push(a)}return t==="bytes"?n.map(a=>a.bytes):n.map(a=>Y(a.bytes))}function Tc(e){let{data:t,kzg:r,to:o}=e,n=e.blobs??$0({data:t,to:o}),s=e.commitments??ms({blobs:n,kzg:r,to:o}),i=e.proofs??us({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}ot();ln();F();Xp();tr();H();zi();go();Et();Rt();bo();Re();function O0(e){let{authorizationList:t}=e;if(t)for(let r of t){let{chainId:o}=r,n=r.address;if(!X(n))throw new oe({address:n});if(o<0)throw new bn({chainId:o})}Mc(e)}function U0(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new ls;for(let r of t){let o=Z(r),n=ye(zt(r,0,1));if(o!==32)throw new _c({hash:r,size:o});if(n!==1)throw new Pc({hash:r,version:n})}}Mc(e)}function Mc(e){let{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:o,to:n}=e;if(t<=0)throw new bn({chainId:t});if(n&&!X(n))throw new oe({address:n});if(o&&o>es)throw new Ft({maxFeePerGas:o});if(r&&o&&r>o)throw new fr({maxFeePerGas:o,maxPriorityFeePerGas:r})}function H0(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(t<=0)throw new bn({chainId:t});if(s&&!X(s))throw new oe({address:s});if(r||n)throw new x("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(o&&o>es)throw new Ft({maxFeePerGas:o})}function j0(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(s&&!X(s))throw new oe({address:s});if(typeof t<"u"&&t<=0)throw new bn({chainId:t});if(r||n)throw new x("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(o&&o>es)throw new Ft({maxFeePerGas:o})}Ct();function Dc(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 hc({transaction:e})}tr();Ct();Et();function Ui(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 gc({storageKey:n[s]});if(!X(o,{strict:!1}))throw new oe({address:o});t.push([o,n])}return t}function Nc(e,t){let r=Dc(e);return r==="eip1559"?xv(e,t):r==="eip2930"?wv(e,t):r==="eip4844"?bv(e,t):r==="eip7702"?yv(e,t):vv(e,t)}function yv(e,t){let{authorizationList:r,chainId:o,gas:n,nonce:s,to:i,value:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:f}=e;O0(e);let p=Ui(u),d=g0(r);return Ue(["0x04",Qt([E(o),s?E(s):"0x",m?E(m):"0x",c?E(c):"0x",n?E(n):"0x",i??"0x",a?E(a):"0x",f??"0x",p,d,...cs(e,t)])])}function bv(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:f}=e;U0(e);let p=e.blobVersionedHashes,d=e.sidecars;if(e.blobs&&(typeof p>"u"||typeof d>"u")){let C=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(T=>Y(T)),k=e.kzg,A=ms({blobs:C,kzg:k});if(typeof p>"u"&&(p=Ac({commitments:A})),typeof d>"u"){let T=us({blobs:C,commitments:A,kzg:k});d=Tc({blobs:C,commitments:A,proofs:T})}}let h=Ui(u),g=[E(r),n?E(n):"0x",m?E(m):"0x",c?E(c):"0x",o?E(o):"0x",s??"0x",i?E(i):"0x",f??"0x",h,a?E(a):"0x",p??[],...cs(e,t)],b=[],y=[],v=[];if(d)for(let C=0;C<d.length;C++){let{blob:k,commitment:A,proof:T}=d[C];b.push(k),y.push(A),v.push(T)}return Ue(["0x03",d?Qt([g,b,y,v]):Qt(g)])}function xv(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:m,data:u}=e;Mc(e);let f=Ui(m),p=[E(r),n?E(n):"0x",c?E(c):"0x",a?E(a):"0x",o?E(o):"0x",s??"0x",i?E(i):"0x",u??"0x",f,...cs(e,t)];return Ue(["0x02",Qt(p)])}function wv(e,t){let{chainId:r,gas:o,data:n,nonce:s,to:i,value:a,accessList:c,gasPrice:m}=e;H0(e);let u=Ui(c),f=[E(r),s?E(s):"0x",m?E(m):"0x",o?E(o):"0x",i??"0x",a?E(a):"0x",n??"0x",u,...cs(e,t)];return Ue(["0x01",Qt(f)])}function vv(e,t){let{chainId:r=0,gas:o,data:n,nonce:s,to:i,value:a,gasPrice:c}=e;j0(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 dc({v:t.v});return d})(),f=Le(t.r),p=Le(t.s);m=[...m,E(u),f==="0x00"?"0x":f,p==="0x00"?"0x":p]}else r>0&&(m=[...m,E(r),"0x","0x"]);return Qt(m)}function cs(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 G0={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}};Re();var V0={block:p0({format(e){return{transactions:e.transactions?.map(r=>{if(typeof r=="string")return r;let o=dn(r);return o.typeHex==="0x7e"&&(o.isSystemTx=r.isSystemTx,o.mint=r.mint?ie(r.mint):void 0,o.sourceHash=r.sourceHash,o.type="deposit"),o}),stateRoot:e.stateRoot}}}),transaction:u0({format(e){let t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?ie(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:f0({format(e){return{l1GasPrice:e.l1GasPrice?ie(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?ie(e.l1GasUsed):null,l1Fee:e.l1Fee?ie(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};tr();Et();ot();F();function Cv(e,t){return kv(e)?Ev(e):Nc(e,t)}var q0={transaction:Cv};function Ev(e){Sv(e);let{sourceHash:t,data:r,from:o,gas:n,isSystemTx:s,mint:i,to:a,value:c}=e,m=[t,o,a??"0x",i?se(i):"0x",c?se(c):"0x",n?se(n):"0x",s?"0x1":"0x",r??"0x"];return Ue(["0x7e",Qt(m)])}function kv(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function Sv(e){let{from:t,to:r}=e;if(t&&!X(t))throw new oe({address:t});if(r&&!X(r))throw new oe({address:r})}var cf={blockTime:2e3,contracts:G0,formatters:V0,serializers:q0};var zc=fn({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 Hi=1,ji=fn({...cf,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:{...cf.contracts,disputeGameFactory:{[Hi]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Hi]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Hi]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Hi]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:Hi}),Av=fn({...ji,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://mainnet-preconf.base.org"]}}});zi();function ks({chain:e,currentChainId:t}){if(!e)throw new Rc;if(t!==e.id)throw new $c({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"})}},Ot=class extends x{constructor({docsPath:t,metaMessages:r,type:o}){super(`Account type "${o}" is not supported.`,{docsPath:t,metaMessages:r,name:"AccountTypeNotSupportedError"})}};var Bm=fn({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 Ee}from"zod";import{z as _t}from"zod";import{z as P}from"zod";import{z as Pa}from"zod";import{z as Kt}from"zod";import{z as q}from"zod";import{z as J}from"zod";import{z as it}from"zod";import BE from"crypto";import{z as Rr}from"zod";import{z as cr}from"zod";import{z as Px}from"zod";import{z as Br}from"zod";import{z as xi}from"zod";import{z as Nn}from"zod";import{z as lk}from"zod";import{z as yk}from"zod";import{z as te}from"zod";import{z as Tr}from"zod";import{z as Rk}from"zod";import{z as Ce}from"zod";import{z as L}from"zod";import{z as bi}from"zod";import{z as Tx}from"zod";import{z as rt}from"zod";import{z as qx}from"zod";import{z as Pr}from"zod";import{z as Te}from"zod";function _(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 Fm=class extends x{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}};Oe();Nt();Qi();qr();Gr();vo();var Vh="/docs/contract/encodeEventTopics";function Cr(e){let{abi:t,eventName:r,args:o}=e,n=t[0];if(r){let c=dt({abi:t,name:r});if(!c)throw new Ki(r,{docsPath:Vh});n=c}if(n.type!=="event")throw new Ki(void 0,{docsPath:Vh});let s=Me(n),i=wo(s),a=[];if(o&&"inputs"in n){let c=n.inputs?.filter(u=>"indexed"in u&&u.indexed),m=Array.isArray(o)?o:Object.values(o).length>0?c?.map(u=>o[u.name])??[]:[];m.length>0&&(a=c?.map((u,f)=>Array.isArray(m[f])?m[f].map((p,d)=>qh({param:u,value:m[f][d]})):typeof m[f]<"u"&&m[f]!==null?qh({param:u,value:m[f]}):null)??[])}return[i,...a]}function qh({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return ne(Bt(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new Fm(e.type);return nt([e],[t])}F();function jo(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 Mm(e,t){let{address:r,abi:o,args:n,eventName:s,fromBlock:i,strict:a,toBlock:c}=t,m=jo(e,{method:"eth_newFilter"}),u=s?Cr({abi:o,args:n,eventName:s}):void 0,f=await e.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof i=="bigint"?E(i):i,toBlock:typeof c=="bigint"?E(c):c,topics:u}]});return{abi:o,args:n,eventName:s,id:f,request:m(f),strict:!!a,type:"event"}}xe();St();we();H();Co();En();zs();var n2=3;function At(e,{abi:t,address:r,args:o,docsPath:n,functionName:s,sender:i}){let a=e instanceof yr?e:e instanceof x?e.walk(h=>"data"in h)||e.walk():{},{code:c,data:m,details:u,message:f,shortMessage:p}=a,d=(()=>e instanceof Ut?new Pm({functionName:s}):[n2,sr.code].includes(c)&&(m||u||f||p)?new Cn({abi:t,data:typeof m=="object"?m.data:m,functionName:s,message:a instanceof Eo?u:p??f}):e)();return new Ns(d,{abi:t,args:o,contractAddress:r,docsPath:n,functionName:s,sender:i})}xe();H();yo();Nt();function Dm(e){let t=ne(`0x${e.substring(4)}`).substring(26);return jr(`0x${t}`)}vt();Rt();Re();F();async function Yh({hash:e,signature:t}){let r=ae(e)?e:se(e),{secp256k1:o}=await import("@noble/curves/secp256k1");return`0x${(()=>{if(typeof t=="object"&&"r"in t&&"s"in t){let{r:m,s:u,v:f,yParity:p}=t,d=Number(p??f),h=Zh(d);return new o.Signature(ie(m),ie(u)).addRecoveryBit(h)}let i=ae(t)?t:se(t);if(Z(i)!==65)throw new Error("invalid signature length");let a=ye(`0x${i.slice(130)}`),c=Zh(a);return o.Signature.fromCompact(i.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function Zh(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 Nm({hash:e,signature:t}){return Dm(await Yh({hash:e,signature:t}))}ot();Oe();F();Nt();function zm(e){let{chainId:t,nonce:r,to:o}=e,n=e.contractAddress??e.address,s=ne(Ue(["0x05",Qt([t?E(t):"0x",n,r?E(r):"0x"])]));return o==="bytes"?Be(s):s}async function Go(e){let{authorization:t,signature:r}=e;return Nm({hash:zm(t),signature:r??t})}F();fc();ns();H();Ct();var Lm=class extends x{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:f,value:p}){let d=hn({from:r?.address,to:f,value:typeof p<"u"&&`${os(p)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Fe(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Fe(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Fe(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}};go();ta();function Xh(e,{docsPath:t,...r}){let o=(()=>{let n=Ho(e,r);return n instanceof Mt?e:n})();return new Lm(o,{docsPath:t,...r})}Ls();fo();Om();Zr();xe();ns();H();var Um=class extends x{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}},Vo=class extends x{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}},Hm=class extends x{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Fe(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};Re();H();var Us=class extends x{constructor({blockHash:t,blockNumber:r}){let o="Block";t&&(o=`Block at hash "${t}"`),r&&(o=`Block at number "${r}"`),super(`${o} could not be found.`,{name:"BlockNotFoundError"})}};F();async function Qe(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 Us({blockHash:t,blockNumber:r});return(e.chain?.formatters?.block?.format||Bi)(a,"getBlock")}async function Hs(e){let t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function eg(e,t){return Sf(e,t)}async function Sf(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 _(e,Qe,"getBlock")({}),c=await s({block:a,client:e,request:n});if(c===null)throw new Error;return c}if(typeof s<"u")return s;let i=await e.request({method:"eth_maxPriorityFeePerGas"});return ie(i)}catch{let[s,i]=await Promise.all([r?Promise.resolve(r):_(e,Qe,"getBlock")({}),_(e,Hs,"getGasPrice")({})]);if(typeof s.baseFeePerGas!="bigint")throw new Vo;let a=i-s.baseFeePerGas;return a<0n?0n:a}}async function tg(e,t){return jm(e,t)}async function jm(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 Um;let c=10**(i.toString().split(".")[1]?.length??0),m=p=>p*BigInt(Math.ceil(i*c))/BigInt(c),u=r||await _(e,Qe,"getBlock")({});if(typeof o?.fees?.estimateFeesPerGas=="function"){let p=await o.fees.estimateFeesPerGas({block:r,client:e,multiply:m,request:n,type:s});if(p!==null)return p}if(s==="eip1559"){if(typeof u.baseFeePerGas!="bigint")throw new Vo;let p=typeof n?.maxPriorityFeePerGas=="bigint"?n.maxPriorityFeePerGas:await Sf(e,{block:u,chain:o,request:n}),d=m(u.baseFeePerGas);return{maxFeePerGas:n?.maxFeePerGas??d+p,maxPriorityFeePerGas:p}}return{gasPrice:n?.gasPrice??m(await _(e,Hs,"getGasPrice")({}))}}Re();F();async function js(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 ye(n)}Zr();Re();async function ht(e){let t=await e.request({method:"eth_chainId"},{dedupe:!0});return ye(t)}var ra=["blobVersionedHashes","chainId","fees","gas","nonce","type"],rg=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=ra,type:u}=t,f=r&&j(r),p={...t,...f?{from:f?.address}:{}},d;async function h(){return d||(d=await _(e,Qe,"getBlock")({blockTag:"latest"}),d)}let g;async function b(){return g||(n?n.id:typeof t.chainId<"u"?t.chainId:(g=await _(e,ht,"getChainId")({}),g))}if(m.includes("nonce")&&typeof a>"u"&&f)if(c){let y=await b();p.nonce=await c.consume({address:f.address,chainId:y,client:e})}else p.nonce=await _(e,js,"getTransactionCount")({address:f.address,blockTag:"pending"});if((m.includes("blobVersionedHashes")||m.includes("sidecars"))&&o&&i){let y=ms({blobs:o,kzg:i});if(m.includes("blobVersionedHashes")){let v=Ac({commitments:y,to:"hex"});p.blobVersionedHashes=v}if(m.includes("sidecars")){let v=us({blobs:o,commitments:y,kzg:i}),C=Tc({blobs:o,commitments:y,proofs:v,to:"hex"});p.sidecars=C}}if(m.includes("chainId")&&(p.chainId=await b()),(m.includes("fees")||m.includes("type"))&&typeof u>"u")try{p.type=Dc(p)}catch{let y=rg.get(e.uid);typeof y>"u"&&(y=typeof(await h())?.baseFeePerGas=="bigint",rg.set(e.uid,y)),p.type=y?"eip1559":"legacy"}if(m.includes("fees"))if(p.type!=="legacy"&&p.type!=="eip2930"){if(typeof p.maxFeePerGas>"u"||typeof p.maxPriorityFeePerGas>"u"){let y=await h(),{maxFeePerGas:v,maxPriorityFeePerGas:C}=await jm(e,{block:y,chain:n,request:p});if(typeof t.maxPriorityFeePerGas>"u"&&t.maxFeePerGas&&t.maxFeePerGas<C)throw new Hm({maxPriorityFeePerGas:C});p.maxPriorityFeePerGas=C,p.maxFeePerGas=v}}else{if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")throw new Vo;if(typeof t.gasPrice>"u"){let y=await h(),{gasPrice:v}=await jm(e,{block:y,chain:n,request:p,type:"legacy"});p.gasPrice=v}}return m.includes("gas")&&typeof s>"u"&&(p.gas=await _(e,Gs,"estimateGas")({...p,account:f,prepare:f?.type==="local"?[]:["blobVersionedHashes"]})),Xe(p),delete p.parameters,p}async function Gs(e,t){let{account:r=e.account,prepare:o=!0}=t,n=r?j(r):void 0,s=(()=>{if(Array.isArray(o))return o;if(n?.type!=="local")return["blobVersionedHashes"]})();try{let{accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,blockNumber:u,blockTag:f,data:p,gas:d,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:v,value:C,stateOverride:k,...A}=o?await Er(e,{...t,parameters:s}):t,I=(typeof u=="bigint"?E(u):void 0)||f,B=Os(k),N=await(async()=>{if(A.to)return A.to;if(a&&a.length>0)return await Go({authorization:a[0]}).catch(()=>{throw new x("`to` is required. Could not infer from `authorizationList`")})})();Xe(t);let M=e.chain?.formatters?.transactionRequest?.format,G=(M||ft)({...vr(A,{format:M}),account:n,accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,data:p,gas:d,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:v,to:N,value:C},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:B?[G,I??e.experimental_blockTag??"latest",B]:I?[G,I]:[G]}))}catch(i){throw Xh(i,{...t,account:n,chain:e.chain})}}async function og(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 _(e,Gs,"estimateGas")({data:`${c}${i?i.replace("0x",""):""}`,to:o,...a})}catch(m){let u=a.account?j(a.account):void 0;throw At(m,{abi:r,address:o,args:n,docsPath:"/docs/contract/estimateContractGas",functionName:s,sender:u?.address})}}vo();we();kn();Oe();Nt();Qi();we();Qp();Rt();Qi();Xi();Gr();var ng="/docs/contract/decodeEventLog";function Vs(e){let{abi:t,data:r,strict:o,topics:n}=e,s=o??!0,[i,...a]=n;if(!i)throw new Kc({docsPath:ng});let c=t.find(g=>g.type==="event"&&i===wo(Me(g)));if(!(c&&"name"in c)||c.type!=="event")throw new Is(i,{docsPath:ng});let{name:m,inputs:u}=c,f=u?.some(g=>!("name"in g&&g.name)),p=f?[]:{},d=u.map((g,b)=>[g,b]).filter(([g])=>"indexed"in g&&g.indexed);for(let g=0;g<d.length;g++){let[b,y]=d[g],v=a[g];if(!v)throw new lr({abiItem:c,param:b});p[f?y:b.name||y]=i2({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=Kr(h,r);if(g)if(f)for(let b=0;b<u.length;b++)p[b]=p[b]??g.shift();else for(let b=0;b<h.length;b++)p[h[b].name]=g[b]}catch(g){if(s)throw g instanceof Ss||g instanceof ts?new or({abiItem:c,data:r,params:h,size:Z(r)}):g}else if(s)throw new or({abiItem:c,data:"0x",params:h,size:0})}return{eventName:m,args:Object.values(p).length>0?p:void 0}}function i2({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Kr([e],t)||[])[0]}function ir(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]===wo(m));if(!a)return null;let c=Vs({...i,abi:[a],strict:n});return s&&!s.includes(c.eventName)||!a2({args:c.args,inputs:a.inputs,matchArgs:r})?null:{...c,...i}}catch(a){let c,m;if(a instanceof Is)return null;if(a instanceof or||a instanceof lr){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 a2(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"?Gt(i,a):s.type==="string"||s.type==="bytes"?ne(Bt(i))===a:i===a}catch{return!1}}return Array.isArray(t)&&Array.isArray(o)?o.every((s,i)=>{if(s==null)return!0;let a=r[i];return a?(Array.isArray(s)?s:[s]).some(m=>n(a,m,t[i])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof o=="object"&&!Array.isArray(o)?Object.entries(o).every(([s,i])=>{if(i==null)return!0;let a=r.find(m=>m.name===s);return a?(Array.isArray(i)?i:[i]).some(m=>n(a,m,t[s])):!1}):!1}F();async function qs(e,{address:t,blockHash:r,fromBlock:o,toBlock:n,event:s,events:i,args:a,strict:c}={}){let m=c??!1,u=i??(s?[s]:void 0),f=[];u&&(f=[u.flatMap(g=>Cr({abi:[g],eventName:g.name,args:i?void 0:a}))],s&&(f=f[0]));let p;r?p=await e.request({method:"eth_getLogs",params:[{address:t,topics:f,blockHash:r}]}):p=await e.request({method:"eth_getLogs",params:[{address:t,topics:f,fromBlock:typeof o=="bigint"?E(o):o,toBlock:typeof n=="bigint"?E(n):n}]});let d=p.map(h=>Je(h));return u?ir({abi:u,args:a,logs:d,strict:m}):d}async function Gm(e,t){let{abi:r,address:o,args:n,blockHash:s,eventName:i,fromBlock:a,toBlock:c,strict:m}=t,u=i?dt({abi:r,name:i}):void 0,f=u?void 0:r.filter(p=>p.type==="event");return _(e,qs,"getLogs")({address:o,args:n,blockHash:s,event:u,events:f,fromBlock:a,toBlock:c,strict:m})}qo();St();ti();async function Pe(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 _(e,Ar,"call")({...i,data:a,to:o});return gt({abi:r,args:n,functionName:s,data:c||"0x"})}catch(c){throw At(c,{abi:r,address:o,args:n,docsPath:"/docs/contract/readContract",functionName:s})}}xe();qo();St();ti();async function Vg(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 _(e,Ar,"call")({batch:!1,data:`${m}${s?s.replace("0x",""):""}`,to:o,...a,account:c}),f=gt({abi:r,args:n,functionName:i,data:u||"0x"}),p=r.filter(d=>"name"in d&&d.name===t.functionName);return{result:f,request:{abi:p,address:o,args:n,dataSuffix:s,functionName:i,...a,account:c}}}catch(u){throw At(u,{abi:r,address:o,args:n,docsPath:"/docs/contract/simulateContract",functionName:i,sender:c?.address})}}we();zs();var Kf=new Map,qg=new Map,I2=0;function et(e,t,r){let o=++I2,n=()=>Kf.get(e)||[],s=()=>{let u=n();Kf.set(e,u.filter(f=>f.id!==o))},i=()=>{let u=n();if(!u.some(p=>p.id===o))return;let f=qg.get(e);if(u.length===1&&f){let p=f();p instanceof Promise&&p.catch(()=>{})}s()},a=n();if(Kf.set(e,[...a,{id:o,fns:t}]),a&&a.length>0)return i;let c={};for(let u in t)c[u]=(...f)=>{let p=n();if(p.length!==0)for(let d of p)d.fns[u]?.(...f)};let m=r(c);return typeof m=="function"&&qg.set(e,m),i}async function ua(e){return new Promise(t=>setTimeout(t,e))}function qt(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 ua(c);let m=async()=>{n&&(await e({unpoll:s}),await ua(o),m())};m()})(),s}Ze();var _2=new Map,P2=new Map;function Kg(e){let t=(n,s)=>({clear:()=>s.delete(n),get:()=>s.get(n),set:i=>s.set(n,i)}),r=t(e,_2),o=t(e,P2);return{clear:()=>{r.clear(),o.clear()},promise:r,response:o}}async function Wg(e,{cacheKey:t,cacheTime:r=Number.POSITIVE_INFINITY}){let o=Kg(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 T2=e=>`blockNumber.${e}`;async function Ir(e,{cacheTime:t=e.cacheTime}={}){let r=await Wg(()=>e.request({method:"eth_blockNumber"}),{cacheKey:T2(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=>Je(s));return!("abi"in t)||!t.abi?n:ir({abi:t.abi,logs:n,strict:r})}async function Yo(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function Jg(e,t){let{abi:r,address:o,args:n,batch:s=!0,eventName:i,fromBlock:a,onError:c,onLogs:m,poll:u,pollingInterval:f=e.pollingInterval,strict:p}=t;return(()=>typeof u<"u"?u:typeof a=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))()?(()=>{let b=p??!1,y=W(["watchContractEvent",o,n,s,e.uid,i,f,b,a]);return et(y,{onLogs:m,onError:c},v=>{let C;a!==void 0&&(C=a-1n);let k,A=!1,T=qt(async()=>{if(!A){try{k=await _(e,Mm,"createContractEventFilter")({abi:r,address:o,args:n,eventName:i,strict:b,fromBlock:a})}catch{}A=!0;return}try{let I;if(k)I=await _(e,Zo,"getFilterChanges")({filter:k});else{let B=await _(e,Ir,"getBlockNumber")({});C&&C<B?I=await _(e,Gm,"getContractEvents")({abi:r,address:o,args:n,eventName:i,fromBlock:C+1n,toBlock:B,strict:b}):I=[],C=B}if(I.length===0)return;if(s)v.onLogs(I);else for(let B of I)v.onLogs([B])}catch(I){k&&I instanceof jt&&(A=!1),v.onError?.(I)}},{emitOnBegin:!0,interval:f});return async()=>{k&&await _(e,Yo,"uninstallFilter")({filter:k}),T()}})})():(()=>{let b=p??!1,y=W(["watchContractEvent",o,n,s,e.uid,i,f,b]),v=!0,C=()=>v=!1;return et(y,{onLogs:m,onError:c},k=>((async()=>{try{let A=(()=>{if(e.transport.type==="fallback"){let B=e.transport.transports.find(N=>N.config.type==="webSocket"||N.config.type==="ipc");return B?B.value:e.transport}return e.transport})(),T=i?Cr({abi:r,eventName:i,args:n}):[],{unsubscribe:I}=await A.subscribe({params:["logs",{address:o,topics:T}],onData(B){if(!v)return;let N=B.result;try{let{eventName:M,args:U}=Vs({abi:r,data:N.data,topics:N.topics,strict:p}),G=Je(N,{args:U,eventName:M});k.onLogs([G])}catch(M){let U,G;if(M instanceof or||M instanceof lr){if(p)return;U=M.abiItem.name,G=M.abiItem.inputs?.some(ce=>!("name"in ce&&ce.name))}let V=Je(N,{args:G?[]:{},eventName:U});k.onLogs([V])}},onError(B){k.onError?.(B)}});C=I,v||C()}catch(A){c?.(A)}})(),()=>C()))})()}xe();St();xe();H();go();Ct();ta();function ri(e,{docsPath:t,...r}){let o=(()=>{let n=Ho(e,r);return n instanceof Mt?e:n})();return new yc(o,{docsPath:t,...r})}Ls();fo();Cs();Zr();async function oi(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}var Wf=new Dt(128);async function Xo(e,t){let{account:r=e.account,chain:o=e.chain,accessList:n,authorizationList:s,blobs:i,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,type:h,value:g,...b}=t;if(typeof r>"u")throw new He({docsPath:"/docs/actions/wallet/sendTransaction"});let y=r?j(r):null;try{Xe(t);let v=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await Go({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 _(e,ht,"getChainId")({}),ks({currentChainId:C,chain:o}));let k=e.chain?.formatters?.transactionRequest?.format,T=(k||ft)({...vr(b,{format:k}),accessList:n,account:y,authorizationList:s,blobs:i,chainId:C,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,to:v,type:h,value:g},"sendTransaction"),I=Wf.get(e.uid),B=I?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:B,params:[T]},{retryCount:0})}catch(N){if(I===!1)throw N;let M=N;if(M.name==="InvalidInputRpcError"||M.name==="InvalidParamsRpcError"||M.name==="MethodNotFoundRpcError"||M.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[T]},{retryCount:0}).then(U=>(Wf.set(e.uid,!0),U)).catch(U=>{let G=U;throw G.name==="MethodNotFoundRpcError"||G.name==="MethodNotSupportedRpcError"?(Wf.set(e.uid,!1),M):G});throw M}}if(y?.type==="local"){let C=await _(e,Er,"prepareTransactionRequest")({account:y,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,nonceManager:y.nonceManager,parameters:[...ra,"sidecars"],type:h,value:g,...b,to:v}),k=o?.serializers?.transaction,A=await y.signTransaction(C,{serializer:k});return await _(e,oi,"sendRawTransaction")({serializedTransaction:A})}throw y?.type==="smart"?new Ot({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Ot({docsPath:"/docs/actions/wallet/sendTransaction",type:y?.type})}catch(v){throw v instanceof Ot?v:ri(v,{...t,account:y,chain:t.chain||void 0})}}async function _n(e,t){return _n.internal(e,Xo,"sendTransaction",t)}(function(e){async function t(r,o,n,s){let{abi:i,account:a=r.account,address:c,args:m,dataSuffix:u,functionName:f,...p}=s;if(typeof a>"u")throw new He({docsPath:"/docs/contract/writeContract"});let d=a?j(a):null,h=pe({abi:i,args:m,functionName:f});try{return await _(r,o,n)({data:`${h}${u?u.replace("0x",""):""}`,to:c,account:d,...p})}catch(g){throw At(g,{abi:i,address:c,args:m,docsPath:"/docs/contract/writeContract",functionName:f,sender:d?.address})}}e.internal=t})(_n||(_n={}));H();H();var uu=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}};su();function Pn(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 ua(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()})}Ze();bo();ln();Re();xe();H();zs();St();ot();Re();F();var Jf="0x5792579257925792579257925792579257925792579257925792579257925792",Zf=E(0,{size:32});async function pu(e,t){let{account:r=e.account,capabilities:o,chain:n=e.chain,experimental_fallback:s,experimental_fallbackDelay:i=32,forceAtomic:a=!1,id:c,version:m="2.0.0"}=t,u=r?j(r):null,f=t.calls.map(p=>{let d=p,h=d.abi?pe({abi:d.abi,functionName:d.functionName,args:d.args}):d.data;return{data:d.dataSuffix&&h?_e([h,d.dataSuffix]):h,to:d.to,value:d.value?E(d.value):void 0}});try{let p=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:a,calls:f,capabilities:o,chainId:E(n.id),from:u?.address,id:c,version:m}]},{retryCount:0});return typeof p=="string"?{id:p}:p}catch(p){let d=p;if(s&&(d.name==="MethodNotFoundRpcError"||d.name==="MethodNotSupportedRpcError"||d.name==="UnknownRpcError"||d.details.toLowerCase().includes("does not exist / is not available")||d.details.toLowerCase().includes("missing or invalid. request()")||d.details.toLowerCase().includes("did not match any variant of untagged enum")||d.details.toLowerCase().includes("account upgraded to unsupported contract")||d.details.toLowerCase().includes("eip-7702 not supported")||d.details.toLowerCase().includes("unsupported wc_ method")||d.details.toLowerCase().includes("feature toggled misconfigured")||d.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(o&&Object.values(o).some(v=>!v.optional)){let v="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new xr(new x(v,{details:v}))}if(a&&f.length>1){let y="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new wr(new x(y,{details:y}))}let h=[];for(let y of f){let v=Xo(e,{account:u,chain:n,data:y.data,to:y.to,value:y.value?ie(y.value):void 0});h.push(v),i>0&&await new Promise(C=>setTimeout(C,i))}let g=await Promise.allSettled(h);if(g.every(y=>y.status==="rejected"))throw g[0].reason;let b=g.map(y=>y.status==="fulfilled"?y.value:Zf);return{id:_e([...b,E(n.id,{size:32}),Jf])}}throw ri(p,{...t,account:u,chain:t.chain})}}async function fu(e,t){async function r(u){if(u.endsWith(Jf.slice(2))){let p=Le(Fc(u,-64,-32)),d=Fc(u,0,-64).slice(2).match(/.{1,64}/g),h=await Promise.all(d.map(b=>Zf.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:ye(p),receipts:h.filter(Boolean),status:g,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[u]})}let{atomic:o=!1,chainId:n,receipts:s,version:i="2.0.0",...a}=await r(t.id),[c,m]=(()=>{let u=a.status;return u>=100&&u<200?["pending",u]:u>=200&&u<300?["success",u]:u>=300&&u<700?["failure",u]:u==="CONFIRMED"?["success",200]:u==="PENDING"?["pending",100]:[void 0,u]})();return{...a,atomic:o,chainId:n?ye(n):void 0,receipts:s?.map(u=>({...u,blockNumber:ie(u.blockNumber),gasUsed:ie(u.gasUsed),status:Yp[u.status]}))??[],statusCode:m,status:c,version:i}}async function lu(e,t){let{id:r,pollingInterval:o=e.pollingInterval,status:n=({statusCode:g})=>g===200||g>=300,retryCount:s=4,retryDelay:i=({count:g})=>~~(1<<g)*200,timeout:a=6e4,throwOnFailure:c=!1}=t,m=W(["waitForCallsStatus",e.uid,r]),{promise:u,resolve:f,reject:p}=ei(),d,h=et(m,{resolve:f,reject:p},g=>{let b=qt(async()=>{let y=v=>{clearTimeout(d),b(),v(),h()};try{let v=await Pn(async()=>{let C=await _(e,fu,"getCallsStatus")({id:r});if(c&&C.status==="failure")throw new uu(C);return C},{retryCount:s,delay:i});if(!n(v))return;y(()=>g.resolve(v))}catch(v){y(()=>g.reject(v))}},{interval:o,emitOnBegin:!0});return b});return d=a?setTimeout(()=>{h(),clearTimeout(d),p(new Yf({id:r}))},a):void 0,await u}var Yf=class extends x{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}};xe();var du=256,hu;function gu(e=11){if(!hu||du+e>256*2){hu="",du=0;for(let t=0;t<256;t++)hu+=(256+Math.random()*256|0).toString(16).substring(1)}return hu.substring(du,du+++e)}function yu(e){let{batch:t,chain:r,ccipRead:o,key:n="base",name:s="Base Client",type:i="base"}=e,a=e.experimental_blockTag??(typeof r?.experimental_preconfirmationTime=="number"?"pending":void 0),c=r?.blockTime??12e3,m=Math.min(Math.max(Math.floor(c/2),500),4e3),u=e.pollingInterval??m,f=e.cacheTime??u,p=e.account?j(e.account):void 0,{config:d,request:h,value:g}=e.transport({chain:r,pollingInterval:u}),b={...d,...g},y={account:p,batch:t,cacheTime:f,ccipRead:o,chain:r,key:n,name:s,pollingInterval:u,request:h,transport:b,type:i,uid:gu(),...a?{experimental_blockTag:a}:{}};function v(C){return k=>{let A=k(C);for(let I in y)delete A[I];let T={...C,...A};return Object.assign(T,{extend:v(T)})}}return Object.assign(y,{extend:v(y)})}Jo();qo();St();xn();ln();F();H();Co();function ni(e){if(!(e instanceof x))return!1;let t=e.walk(r=>r instanceof Cn);return t instanceof Cn?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}ma();ot();Oe();F();Nt();vt();function bu(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;let t=`0x${e.slice(1,65)}`;return ae(t)?t:null}function pa(e){let t=new Uint8Array(32).fill(0);if(!e)return Y(t);let r=e.split(".");for(let o=r.length-1;o>=0;o-=1){let n=bu(r[o]),s=n?Bt(n):ne(Xt(r[o]),"bytes");t=ne(_e([t,s]),"bytes")}return Y(t)}Oe();function Zg(e){return`[${e.slice(2)}]`}Oe();F();Nt();function Yg(e){let t=new Uint8Array(32).fill(0);return e?bu(e)||ne(Xt(e)):Y(t)}function si(e){let t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);let r=new Uint8Array(Xt(t).byteLength+2),o=0,n=t.split(".");for(let s=0;s<n.length;s++){let i=Xt(n[s]);i.byteLength>255&&(i=Xt(Zg(Yg(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 Xg(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 Lt({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c?.ensTlds;if(u&&!u.some(p=>s.endsWith(p)))return null;let f=(()=>n!=null?[pa(s),BigInt(n)]:[pa(s)])();try{let p=pe({abi:Nf,functionName:"addr",args:f}),d={address:m,abi:ru,functionName:"resolveWithGateways",args:[se(si(s)),p,i??[Qr]],blockNumber:r,blockTag:o},g=await _(e,Pe,"readContract")(d);if(g[0]==="0x")return null;let b=gt({abi:Nf,args:f,functionName:"addr",data:g[0]});return b==="0x"||Le(b)==="0x00"?null:b}catch(p){if(a)throw p;if(ni(p))return null;throw p}}H();var xu=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"})}},Qo=class extends x{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}},ii=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"})}},wu=class extends x{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}};var $2=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,R2=/^(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>\/.*)?$/,B2=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,F2=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function M2(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 Qg(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Xf({uri:e,gatewayUrls:t}){let r=B2.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};let o=Qg(t?.ipfs,"https://ipfs.io"),n=Qg(t?.arweave,"https://arweave.net"),s=e.match($2),{protocol:i,subpath:a,target:c,subtarget:m=""}=s?.groups||{},u=i==="ipns:/"||a==="ipns/",f=i==="ipfs:/"||a==="ipfs/"||R2.test(e);if(e.startsWith("http")&&!u&&!f){let d=e;return t?.arweave&&(d=e.replace(/https:\/\/arweave.net/g,t?.arweave)),{uri:d,isOnChain:!1,isEncoded:!1}}if((u||f)&&c)return{uri:`${o}/${u?"ipns":"ipfs"}/${c}${m}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&c)return{uri:`${n}/${c}${m||""}`,isOnChain:!1,isEncoded:!1};let p=e.replace(F2,"");if(p.startsWith("<svg")&&(p=`data:image/svg+xml;base64,${btoa(p)}`),p.startsWith("data:")||p.startsWith("{"))return{uri:p,isOnChain:!0,isEncoded:!1};throw new ii({uri:e})}function Qf(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new xu({data:e});return e.image||e.image_url||e.image_data}async function ey({gatewayUrls:e,uri:t}){try{let r=await fetch(t).then(n=>n.json());return await vu({gatewayUrls:e,uri:Qf(r)})}catch{throw new ii({uri:t})}}async function vu({gatewayUrls:e,uri:t}){let{uri:r,isOnChain:o}=Xf({uri:t,gatewayUrls:e});if(o||await M2(r))return r;throw new ii({uri:t})}function ty(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 Qo({reason:"Only EIP-155 supported"});if(!i)throw new Qo({reason:"Chain ID not found"});if(!c)throw new Qo({reason:"Contract address not found"});if(!n)throw new Qo({reason:"Token ID not found"});if(!a)throw new Qo({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i,10),namespace:a.toLowerCase(),contractAddress:c,tokenID:n}}async function ry(e,{nft:t}){if(t.namespace==="erc721")return Pe(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 Pe(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 wu({namespace:t.namespace})}async function oy(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?D2(e,{gatewayUrls:t,record:r}):vu({uri:r,gatewayUrls:t})}async function D2(e,{gatewayUrls:t,record:r}){let o=ty(r),n=await ry(e,{nft:o}),{uri:s,isOnChain:i,isEncoded:a}=Xf({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 vu({uri:Qf(u),gatewayUrls:t})}let c=o.tokenID;return o.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),ey({gatewayUrls:t,uri:s.replace(/(?:0x)?{id}/,c)})}Jo();qo();St();xn();F();ma();async function Cu(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 Lt({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c?.ensTlds;if(u&&!u.some(f=>s.endsWith(f)))return null;try{let f={address:m,abi:ru,args:[se(si(s)),pe({abi:Df,functionName:"text",args:[pa(s),n]}),i??[Qr]],functionName:"resolveWithGateways",blockNumber:r,blockTag:o},d=await _(e,Pe,"readContract")(f);if(d[0]==="0x")return null;let h=gt({abi:Df,functionName:"text",data:d[0]});return h===""?null:h}catch(f){if(a)throw f;if(ni(f))return null;throw f}}async function ny(e,{blockNumber:t,blockTag:r,assetGatewayUrls:o,name:n,gatewayUrls:s,strict:i,universalResolverAddress:a}){let c=await _(e,Cu,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:n,universalResolverAddress:a,gatewayUrls:s,strict:i});if(!c)return null;try{return await oy(e,{record:c,gatewayUrls:o})}catch{return null}}Jo();xn();ma();async function sy(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 Lt({blockNumber:o,chain:c,contract:"ensUniversalResolver"})})();try{let u={address:m,abi:Pg,args:[r,s,i??[Qr]],functionName:"reverseWithGateways",blockNumber:o,blockTag:n},f=_(e,Pe,"readContract"),[p]=await f(u);return p||null}catch(u){if(a)throw u;if(ni(u))return null;throw u}}xn();F();async function iy(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 Lt({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 _(e,Pe,"readContract")({address:i,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[se(si(n))],blockNumber:r,blockTag:o});return c}ti();xe();F();kf();Ls();fo();Zr();async function Eu(e,t){let{account:r=e.account,blockNumber:o,blockTag:n="latest",blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:m,maxFeePerGas:u,maxPriorityFeePerGas:f,to:p,value:d,...h}=t,g=r?j(r):void 0;try{Xe(t);let y=(typeof o=="bigint"?E(o):void 0)||n,v=e.chain?.formatters?.transactionRequest?.format,k=(v||ft)({...vr(h,{format:v}),account:g,blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:m,maxFeePerGas:u,maxPriorityFeePerGas:f,to:p,value:d},"createAccessList"),A=await e.request({method:"eth_createAccessList",params:[k,y]});return{accessList:A.accessList,gasUsed:BigInt(A.gasUsed)}}catch(b){throw Rm(b,{...t,account:g,chain:e.chain})}}async function ay(e){let t=jo(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}F();async function ku(e,{address:t,args:r,event:o,events:n,fromBlock:s,strict:i,toBlock:a}={}){let c=n??(o?[o]:void 0),m=jo(e,{method:"eth_newFilter"}),u=[];c&&(u=[c.flatMap(d=>Cr({abi:[d],eventName:d.name,args:r}))],o&&(u=u[0]));let f=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof s=="bigint"?E(s):s,toBlock:typeof a=="bigint"?E(a):a,...u.length?{topics:u}:{}}]});return{abi:c,args:r,eventName:o?o.name:void 0,fromBlock:s,id:f,request:m(f),strict:!!i,toBlock:a,type:"event"}}async function Su(e){let t=jo(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}F();async function cy(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 my(e){let t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}Re();F();async function uy(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}),ye(s)}F();async function fa(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 Au=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 py(e,t){let{address:r,factory:o,factoryData:n}=t;try{let[s,i,a,c,m,u,f]=await _(e,Pe,"readContract")({abi:N2,address:r,functionName:"eip712Domain",factory:o,factoryData:n});return{domain:{name:i,version:a,chainId:Number(c),verifyingContract:m,salt:u},extensions:f,fields:s}}catch(s){let i=s;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new Au({address:r}):i}}var N2=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];F();function fy(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 ly(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 fy(i)}async function dy(e,{filter:t}){let r=t.strict??!1,n=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(s=>Je(s));return t.abi?ir({abi:t.abi,logs:n,strict:r}):n}F();yo();kn();async function hy({address:e,authorization:t,signature:r}){return Gt(Es(e),await Go({authorization:t,signature:r}))}H();En();zs();F();Cs();var Iu=new Dt(8192);function gy(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(Iu.get(r))return Iu.get(r);let o=e().finally(()=>Iu.delete(r));return Iu.set(r,o),o}Ze();function yy(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 br(new Error("method not supported"),{method:m});if(s?.include&&!s.include.includes(m))throw new br(new Error("method not supported"),{method:m});let u=n?Yt(`${c}.${W(r)}`):void 0;return gy(()=>Pn(async()=>{try{return await e(r)}catch(f){let p=f;switch(p.code){case ko.code:throw new ko(p);case So.code:throw new So(p);case Ao.code:throw new Ao(p,{method:r.method});case Io.code:throw new Io(p);case sr.code:throw new sr(p);case jt.code:throw new jt(p);case _o.code:throw new _o(p);case Po.code:throw new Po(p);case To.code:throw new To(p);case br.code:throw new br(p,{method:r.method});case Wr.code:throw new Wr(p);case $o.code:throw new $o(p);case Jr.code:throw new Jr(p);case Ro.code:throw new Ro(p);case Bo.code:throw new Bo(p);case Fo.code:throw new Fo(p);case Mo.code:throw new Mo(p);case Do.code:throw new Do(p);case xr.code:throw new xr(p);case No.code:throw new No(p);case zo.code:throw new zo(p);case Lo.code:throw new Lo(p);case Oo.code:throw new Oo(p);case Uo.code:throw new Uo(p);case wr.code:throw new wr(p);case 5e3:throw new Jr(p);default:throw f instanceof x?f:new $m(p)}}},{delay:({count:f,error:p})=>{if(p&&p instanceof Ht){let d=p?.headers?.get("Retry-After");if(d?.match(/\d/))return Number.parseInt(d,10)*1e3}return~~(1<<f)*i},retryCount:a,shouldRetry:({error:f})=>z2(f)}),{enabled:n,id:u})}}function z2(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===Wr.code||e.code===sr.code:e instanceof Ht&&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}Re();F();En();function by(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)}})()})}Ze();function L2(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var el=L2();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:f}=c;try{let p=await by(async({signal:h})=>{let g={...c,body:Array.isArray(o)?W(o.map(C=>({jsonrpc:"2.0",id:C.id??el.take(),...C}))):W({jsonrpc:"2.0",id:o.id??el.take(),...o}),headers:{"Content-Type":"application/json",...m},method:u||"POST",signal:f||(a>0?h:null)},b=new Request(e,g),y=await s?.(b,g)??{...g,url:e};return await n(y.url??e,y)},{errorInstance:new ea({body:o,url:e}),timeout:a,signal:!0});i&&await i(p);let d;if(p.headers.get("Content-Type")?.startsWith("application/json"))d=await p.json();else{d=await p.text();try{d=JSON.parse(d||"{}")}catch(h){if(p.ok)throw h;d={error:d}}}if(!p.ok)throw new Ht({body:o,details:W(d.error)||p.statusText,headers:p.headers,status:p.status,url:e});return d}catch(p){throw p instanceof Ht||p instanceof ea?p:new Ht({body:o,cause:p,url:e})}}}}Nt();var wy=`Ethereum Signed Message:
52
+ `;ot();Rt();F();function vy(e){let t=(()=>typeof e=="string"?Yt(e):typeof e.raw=="string"?e.raw:Y(e.raw))(),r=Yt(`${wy}${Z(t)}`);return _e([r,t])}function ai(e,t){return ne(vy(e),t)}qr();ot();F();Nt();we();tr();Ze();H();var _u=class extends x{constructor({domain:t}){super(`Invalid domain "${W(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}},Pu=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`."]})}},Tu=class extends x{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}};Et();Rt();F();gf();Ze();function Cy(e){let{domain:t,message:r,primaryType:o,types:n}=e,s=(c,m)=>{let u={...m};for(let f of c){let{name:p,type:d}=f;d==="address"&&(u[p]=u[p].toLowerCase())}return u},i=(()=>n.EIP712Domain?t?s(n.EIP712Domain,t):{}:{})(),a=(()=>{if(o!=="EIP712Domain")return s(n[o],r)})();return W({domain:i,message:a,primaryType:o,types:n})}function $u(e){let{domain:t,message:r,primaryType:o,types:n}=e,s=(i,a)=>{for(let c of i){let{name:m,type:u}=c,f=a[m],p=u.match(Em);if(p&&(typeof f=="number"||typeof f=="bigint")){let[g,b,y]=p;E(f,{signed:b==="int",size:Number.parseInt(y,10)/8})}if(u==="address"&&typeof f=="string"&&!X(f))throw new oe({address:f});let d=u.match(zh);if(d){let[g,b]=d;if(b&&Z(f)!==Number.parseInt(b,10))throw new Zc({expectedSize:Number.parseInt(b,10),givenSize:Z(f)})}let h=n[u];h&&(O2(u),s(h,f))}};if(n.EIP712Domain&&t){if(typeof t!="object")throw new _u({domain:t});s(n.EIP712Domain,t)}if(o!=="EIP712Domain")if(n[o])s(n[o],r);else throw new Pu({primaryType:o,types:n})}function Ru({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 O2(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new Tu({type:e})}function Bu(e){let{domain:t={},message:r,primaryType:o}=e,n={EIP712Domain:Ru({domain:t}),...e.types};$u({domain:t,message:r,primaryType:o,types:n});let s=["0x1901"];return t&&s.push(U2({domain:t,types:n})),o!=="EIP712Domain"&&s.push(Ey({data:r,primaryType:o,types:n})),ne(_e(s))}function U2({domain:e,types:t}){return Ey({data:e,primaryType:"EIP712Domain",types:t})}function Ey({data:e,primaryType:t,types:r}){let o=ky({data:e,primaryType:t,types:r});return ne(o)}function ky({data:e,primaryType:t,types:r}){let o=[{type:"bytes32"}],n=[H2({primaryType:t,types:r})];for(let s of r[t]){let[i,a]=Ay({types:r,name:s.name,type:s.type,value:e[s.name]});o.push(i),n.push(a)}return nt(o,n)}function H2({primaryType:e,types:t}){let r=se(j2({primaryType:e,types:t}));return ne(r)}function j2({primaryType:e,types:t}){let r="",o=Sy({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 Sy({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])Sy({primaryType:s.type,types:t},r);return r}function Ay({types:e,name:t,type:r,value:o}){if(e[r]!==void 0)return[{type:"bytes32"},ne(ky({data:o,primaryType:r,types:e}))];if(r==="bytes")return o=`0x${(o.length%2?"0":"")+o.slice(2)}`,[{type:"bytes32"},ne(o)];if(r==="string")return[{type:"bytes32"},ne(se(o))];if(r.lastIndexOf("]")===r.length-1){let n=r.slice(0,r.lastIndexOf("[")),s=o.map(i=>Ay({name:t,type:n,types:e,value:i}));return[{type:"bytes32"},ne(nt(s.map(([i])=>i),s.map(([,i])=>i)))]}return[{type:r},o]}var xa={};Lp(xa,{InvalidWrappedSignatureError:()=>Wu,assert:()=>Ju,from:()=>SC,magicBytes:()=>Al,suffixParameters:()=>Il,unwrap:()=>Ky,validate:()=>IC,wrap:()=>AC});Zi();Ko();var Fu=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 G2={checksum:new Fu(8192)},Mu=G2.checksum;yt();of();Ko();je();function Tn(e,t={}){let{as:r=typeof e=="string"?"Hex":"Bytes"}=t,o=Bc(bg(e));return r==="Bytes"?o:Ae(o)}Ko();yt();je();sa();function Iy(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 Du({prefix:o,cause:new nl});return}if(r===!0||typeof n=="bigint"&&typeof s>"u"){if(o!==3&&o!==2)throw new Du({prefix:o,cause:new ol});return}throw new rl({publicKey:e})}function _y(e){let t=(()=>{if(aa(e))return Py(e);if(kg(e))return q2(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 Iy(t),t}function q2(e){return Py(Ae(e))}function Py(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new sl({publicKey:e});if(e.length===130){let o=BigInt(he(e,0,32)),n=BigInt(he(e,32,64));return{prefix:4,x:o,y:n}}if(e.length===132){let o=Number(he(e,0,1)),n=BigInt(he(e,1,33)),s=BigInt(he(e,33,65));return{prefix:o,x:n,y:s}}let t=Number(he(e,0,1)),r=BigInt(he(e,1,33));return{prefix:t,x:r}}function il(e,t={}){Iy(e);let{prefix:r,x:o,y:n}=e,{includePrefix:s=!0}=t;return be(s?Q(r,{size:1}):"0x",Q(o,{size:32}),typeof n=="bigint"?Q(n,{size:32}):"0x")}var rl=class extends R{constructor({publicKey:t}){super(`Value \`${Wo(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"})}},Du=class extends R{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"})}},ol=class extends R{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"})}},nl=class extends R{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}},sl=class extends R{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(Ys(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};var K2=/^0x[a-fA-F0-9]{40}$/;function $n(e,t={}){let{strict:r=!0}=t;if(!K2.test(e))throw new Nu({address:e,cause:new al});if(r){if(e.toLowerCase()===e)return;if(zu(e)!==e)throw new Nu({address:e,cause:new cl})}}function zu(e){if(Mu.has(e))return Mu.get(e);$n(e,{strict:!1});let t=e.substring(2).toLowerCase(),r=Tn(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 Mu.set(e,n),n}function W2(e,t={}){let{checksum:r=!1}=t;return $n(e),r?zu(e):e}function $y(e,t={}){let r=Tn(`0x${il(e).slice(4)}`).substring(26);return W2(`0x${r}`,t)}function Lu(e,t={}){let{strict:r=!0}=t??{};try{return $n(e,{strict:r}),!0}catch{return!1}}var Nu=class extends R{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 R{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"})}},cl=class extends R{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}};Ko();yt();je();Ko();yt();je();var Ry=/^(.*)\[([0-9]*)\]$/,By=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Uu=/^(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)?$/,hH=2n**(8n-1n)-1n,gH=2n**(16n-1n)-1n,yH=2n**(24n-1n)-1n,bH=2n**(32n-1n)-1n,xH=2n**(40n-1n)-1n,wH=2n**(48n-1n)-1n,vH=2n**(56n-1n)-1n,CH=2n**(64n-1n)-1n,EH=2n**(72n-1n)-1n,kH=2n**(80n-1n)-1n,SH=2n**(88n-1n)-1n,AH=2n**(96n-1n)-1n,IH=2n**(104n-1n)-1n,_H=2n**(112n-1n)-1n,PH=2n**(120n-1n)-1n,TH=2n**(128n-1n)-1n,$H=2n**(136n-1n)-1n,RH=2n**(144n-1n)-1n,BH=2n**(152n-1n)-1n,FH=2n**(160n-1n)-1n,MH=2n**(168n-1n)-1n,DH=2n**(176n-1n)-1n,NH=2n**(184n-1n)-1n,zH=2n**(192n-1n)-1n,LH=2n**(200n-1n)-1n,OH=2n**(208n-1n)-1n,UH=2n**(216n-1n)-1n,HH=2n**(224n-1n)-1n,jH=2n**(232n-1n)-1n,GH=2n**(240n-1n)-1n,VH=2n**(248n-1n)-1n,qH=2n**(256n-1n)-1n,KH=-(2n**(8n-1n)),WH=-(2n**(16n-1n)),JH=-(2n**(24n-1n)),ZH=-(2n**(32n-1n)),YH=-(2n**(40n-1n)),XH=-(2n**(48n-1n)),QH=-(2n**(56n-1n)),ej=-(2n**(64n-1n)),tj=-(2n**(72n-1n)),rj=-(2n**(80n-1n)),oj=-(2n**(88n-1n)),nj=-(2n**(96n-1n)),sj=-(2n**(104n-1n)),ij=-(2n**(112n-1n)),aj=-(2n**(120n-1n)),cj=-(2n**(128n-1n)),mj=-(2n**(136n-1n)),uj=-(2n**(144n-1n)),pj=-(2n**(152n-1n)),fj=-(2n**(160n-1n)),lj=-(2n**(168n-1n)),dj=-(2n**(176n-1n)),hj=-(2n**(184n-1n)),gj=-(2n**(192n-1n)),yj=-(2n**(200n-1n)),bj=-(2n**(208n-1n)),xj=-(2n**(216n-1n)),wj=-(2n**(224n-1n)),vj=-(2n**(232n-1n)),Cj=-(2n**(240n-1n)),Ej=-(2n**(248n-1n)),kj=-(2n**(256n-1n)),Sj=2n**8n-1n,Aj=2n**16n-1n,Ij=2n**24n-1n,_j=2n**32n-1n,Pj=2n**40n-1n,Tj=2n**48n-1n,$j=2n**56n-1n,Rj=2n**64n-1n,Bj=2n**72n-1n,Fj=2n**80n-1n,Mj=2n**88n-1n,Dj=2n**96n-1n,Nj=2n**104n-1n,zj=2n**112n-1n,Lj=2n**120n-1n,Oj=2n**128n-1n,Uj=2n**136n-1n,Hj=2n**144n-1n,jj=2n**152n-1n,Gj=2n**160n-1n,Vj=2n**168n-1n,qj=2n**176n-1n,Kj=2n**184n-1n,Wj=2n**192n-1n,Jj=2n**200n-1n,Zj=2n**208n-1n,Yj=2n**216n-1n,Xj=2n**224n-1n,Qj=2n**232n-1n,eG=2n**240n-1n,tG=2n**248n-1n,ml=2n**256n-1n;function Rn(e,t,r){let{checksumAddress:o,staticPosition:n}=r,s=fl(t.type);if(s){let[i,a]=s;return Z2(e,{...t,type:a},{checksumAddress:o,length:i,staticPosition:n})}if(t.type==="tuple")return eC(e,t,{checksumAddress:o,staticPosition:n});if(t.type==="address")return J2(e,{checksum:o});if(t.type==="bool")return Y2(e);if(t.type.startsWith("bytes"))return X2(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return Q2(e,t);if(t.type==="string")return tC(e,{staticPosition:n});throw new ci(t.type)}var My=32,ul=32;function J2(e,t={}){let{checksum:r=!1}=t,o=e.readBytes(32);return[(s=>r?zu(s):s)(Ae(wg(o,-20))),32]}function Z2(e,t,r){let{checksumAddress:o,length:n,staticPosition:s}=r;if(!n){let c=kr(e.readBytes(ul)),m=s+c,u=m+My;e.setPosition(m);let f=kr(e.readBytes(My)),p=la(t),d=0,h=[];for(let g=0;g<f;++g){e.setPosition(u+(p?g*32:d));let[b,y]=Rn(e,t,{checksumAddress:o,staticPosition:u});d+=y,h.push(b)}return e.setPosition(s+32),[h,32]}if(la(t)){let c=kr(e.readBytes(ul)),m=s+c,u=[];for(let f=0;f<n;++f){e.setPosition(m+f*32);let[p]=Rn(e,t,{checksumAddress:o,staticPosition:m});u.push(p)}return e.setPosition(s+32),[u,32]}let i=0,a=[];for(let c=0;c<n;++c){let[m,u]=Rn(e,t,{checksumAddress:o,staticPosition:s+i});i+=u,a.push(m)}return[a,i]}function Y2(e){return[Cg(e.readBytes(32),{size:32}),32]}function X2(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=kr(e.readBytes(32));e.setPosition(r+i);let a=kr(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[Ae(c),32]}return[Ae(e.readBytes(Number.parseInt(n,10),32)),32]}function Q2(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?vg(n,{signed:r}):kr(n,{signed:r}),32]}function eC(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(la(t)){let c=kr(e.readBytes(ul)),m=n+c;for(let u=0;u<t.components.length;++u){let f=t.components[u];e.setPosition(m+a);let[p,d]=Rn(e,f,{checksumAddress:o,staticPosition:m});a+=d,i[s?u:f?.name]=p}return e.setPosition(n+32),[i,32]}for(let c=0;c<t.components.length;++c){let m=t.components[c],[u,f]=Rn(e,m,{checksumAddress:o,staticPosition:n});i[s?c:m?.name]=u,a+=f}return[i,a]}function tC(e,{staticPosition:t}){let r=kr(e.readBytes(32)),o=t+r;e.setPosition(o);let n=kr(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=Eg(Rf(s));return e.setPosition(t+32),[i,32]}function Dy({checksumAddress:e,parameters:t,values:r}){let o=[];for(let n=0;n<t.length;n++)o.push(pl({checksumAddress:e,parameter:t[n],value:r[n]}));return o}function pl({checksumAddress:e=!1,parameter:t,value:r}){let o=t,n=fl(o.type);if(n){let[s,i]=n;return oC(r,{checksumAddress:e,length:s,parameter:{...o,type:i}})}if(o.type==="tuple")return cC(r,{checksumAddress:e,parameter:o});if(o.type==="address")return rC(r,{checksum:e});if(o.type==="bool")return sC(r);if(o.type.startsWith("uint")||o.type.startsWith("int")){let s=o.type.startsWith("int"),[,,i="256"]=Uu.exec(o.type)??[];return iC(r,{signed:s,size:Number(i)})}if(o.type.startsWith("bytes"))return nC(r,{type:o.type});if(o.type==="string")return aC(r);throw new ci(o.type)}function Hu(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(Q(t+n,{size:32})),o.push(a),n+=de(a)):r.push(a)}return be(...r,...o)}function rC(e,t){let{checksum:r=!1}=t;return $n(e,{strict:r}),{dynamic:!1,encoded:Xr(e.toLowerCase())}}function oC(e,t){let{checksumAddress:r,length:o,parameter:n}=t,s=o===null;if(!Array.isArray(e))throw new Gu(e);if(!s&&e.length!==o)throw new ju({expectedLength:o,givenLength:e.length,type:`${n.type}[${o}]`});let i=!1,a=[];for(let c=0;c<e.length;c++){let m=pl({checksumAddress:r,parameter:n,value:e[c]});m.dynamic&&(i=!0),a.push(m)}if(s||i){let c=Hu(a);if(s){let m=Q(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?be(m,c):m}}if(i)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:be(...a.map(({encoded:c})=>c))}}function nC(e,{type:t}){let[,r]=t.split("bytes"),o=de(e);if(!r){let n=e;return o%32!==0&&(n=Sr(n,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:be(Xr(Q(o,{size:32})),n)}}if(o!==Number.parseInt(r,10))throw new da({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:Sr(e)}}function sC(e){if(typeof e!="boolean")throw new R(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Xr(Qm(e))}}function iC(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 ia({max:o.toString(),min:n.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:Q(e,{size:32,signed:t})}}function aC(e){let t=Xs(e),r=Math.ceil(de(t)/32),o=[];for(let n=0;n<r;n++)o.push(Sr(he(t,n*32,(n+1)*32)));return{dynamic:!0,encoded:be(Sr(Q(de(t),{size:32})),...o)}}function cC(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=pl({checksumAddress:r,parameter:a,value:e[c]});s.push(m),m.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Hu(s):be(...s.map(({encoded:i})=>i))}}function fl(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function la(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(la);let r=fl(e.type);return!!(r&&la({...e,type:r[1]}))}yt();var uC={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 dl({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new ll({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Vu({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 Vu({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 qu(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(uC);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var Vu=class extends R{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}},ll=class extends R{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"})}},dl=class extends R{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 mi(e,t,r={}){let{as:o="Array",checksumAddress:n=!1}=r,s=typeof t=="string"?Zs(t):t,i=qu(s);if(Vt(s)===0&&e.length>0)throw new yl;if(Vt(s)&&Vt(s)<32)throw new gl({data:typeof t=="string"?t:Ae(t),parameters:e,size:Vt(s)});let a=0,c=o==="Array"?[]:{};for(let m=0;m<e.length;++m){let u=e[m];i.setPosition(a);let[f,p]=Rn(i,u,{checksumAddress:n,staticPosition:0});a+=p,o==="Array"?c.push(f):c[u.name??m]=f}return c}function en(e,t,r){let{checksumAddress:o=!1}=r??{};if(e.length!==t.length)throw new Ku({expectedLength:e.length,givenLength:t.length});let n=Dy({checksumAddress:o,parameters:e,values:t}),s=Hu(n);return s.length===0?"0x":s}function hl(e,t){if(e.length!==t.length)throw new Ku({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(hl.encode(n,s))}return be(...r)}(function(e){function t(r,o,n=!1){if(r==="address"){let c=o;return $n(c),Xr(c.toLowerCase(),n?32:0)}if(r==="string")return Xs(o);if(r==="bytes")return o;if(r==="bool")return Xr(Qm(o),n?32:1);let s=r.match(Uu);if(s){let[c,m,u="256"]=s,f=Number.parseInt(u,10)/8;return Q(o,{size:n?32:f,signed:m==="int"})}let i=r.match(By);if(i){let[c,m]=i;if(Number.parseInt(m,10)!==(o.length-2)/2)throw new da({expectedSize:Number.parseInt(m,10),value:o});return Sr(o,n?32:0)}let a=r.match(Ry);if(a&&Array.isArray(o)){let[c,m]=a,u=[];for(let f=0;f<o.length;f++)u.push(t(m,o[f],!0));return u.length===0?"0x":be(...u)}throw new ci(r)}e.encode=t})(hl||(hl={}));function ga(e){return Array.isArray(e)&&typeof e[0]=="string"?vm(e):typeof e=="string"?vm(e):e}var gl=class extends R{constructor({data:t,parameters:r,size:o}){super(`Data size of ${o} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Vr(r)})`,`Data: ${t} (${o} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}},yl=class extends R{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}},ju=class extends R{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"})}},da=class extends R{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"})}},Ku=class extends R{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"})}},Gu=class extends R{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}},ci=class extends R{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();Ko();yt();je();function pC(e,t){let{as:r}=t,o=Ly(e),n=qu(new Uint8Array(o.length));return o.encode(n),r==="Hex"?Ae(n.bytes):n.bytes}function zy(e,t={}){let{as:r="Hex"}=t;return pC(e,{as:r})}function Ly(e){return Array.isArray(e)?fC(e.map(t=>Ly(t))):lC(e)}function fC(e){let t=e.reduce((n,s)=>n+s.length,0),r=Oy(t);return{length:(()=>t<=55?1+t:1+r+t)(),encode(n){t<=55?n.pushByte(192+t):(n.pushByte(192+55+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:s}of e)s(n)}}}function lC(e){let t=typeof e=="string"?Zs(e):e,r=Oy(t.length);return{length:(()=>t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length)(),encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(128+55+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function Oy(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 R("Length is too large.")}import{secp256k1 as sG}from"@noble/curves/secp256k1";yt();je();sa();function Cl(e,t={}){let{recovered:r}=t;if(typeof e.r>"u")throw new ya({signature:e});if(typeof e.s>"u")throw new ya({signature:e});if(r&&typeof e.yParity>"u")throw new ya({signature:e});if(e.r<0n||e.r>ml)throw new xl({value:e.r});if(e.s<0n||e.s>ml)throw new wl({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new ba({value:e.yParity})}function hC(e){return Uy(Ae(e))}function Uy(e){if(e.length!==130&&e.length!==132)throw new bl({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 Sl(n)}catch{throw new ba({value:n})}})();return typeof o>"u"?{r:t,s:r}:{r:t,s:r,yParity:o}}function El(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return kl(e)}function kl(e){let t=(()=>typeof e=="string"?Uy(e):e instanceof Uint8Array?hC(e):typeof e.r=="string"?yC(e):e.v?gC(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}})();return Cl(t),t}function gC(e){return{r:e.r,s:e.s,yParity:Sl(e.v)}}function yC(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=Sl(r)),typeof o!="number")throw new ba({value:e.yParity});return o})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Hy(e){let{r:t,s:r,yParity:o}=e;return[o?"0x01":"0x",t===0n?"0x":Ff(Q(t)),r===0n?"0x":Ff(Q(r))]}function Sl(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 vl({value:e})}var bl=class extends R{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${de(Ys(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}},ya=class extends R{constructor({signature:t}){super(`Signature \`${Wo(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}},xl=class extends R{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"})}},wl=class extends R{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"})}},ba=class extends R{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"})}},vl=class extends R{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 Gy(e,t={}){return typeof e.chainId=="string"?bC(e):{...e,...t.signature}}function bC(e){let{address:t,chainId:r,nonce:o}=e,n=El(e);return{address:t,chainId:Number(r),nonce:BigInt(o),...n}}function Vy(e){return xC(e,{presign:!0})}function xC(e,t={}){let{presign:r}=t;return Tn(be("0x05",zy(wC(r?{address:e.address,chainId:e.chainId,nonce:e.nonce}:e))))}function wC(e){let{address:t,chainId:r,nonce:o}=e,n=El(e);return[r?Q(r):"0x",t,o?Q(o):"0x",...n?Hy(n):[]]}yt();je();import{secp256k1 as CC}from"@noble/curves/secp256k1";je();function qy(e){return $y(EC(e))}function EC(e){let{payload:t,signature:r}=e,{r:o,s:n,yParity:s}=r,a=new CC.Signature(BigInt(o),BigInt(n)).addRecoveryBit(s).recoverPublicKey(Ys(t).substring(2));return _y(a)}var Al="0x8010801080108010801080108010801080108010801080108010801080108010",Il=ga("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function Ju(e){if(typeof e=="string"){if(he(e,-32)!==Al)throw new Wu(e)}else Cl(e.authorization)}function SC(e){return typeof e=="string"?Ky(e):e}function Ky(e){Ju(e);let t=Zm(he(e,-64,-32)),r=he(e,-t-64,-64),o=he(e,0,-t-64),[n,s,i]=mi(Il,r);return{authorization:Gy({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 AC(e){let{data:t,signature:r}=e;Ju(e);let o=qy({payload:Vy(e.authorization),signature:kl(e.authorization)}),n=en(Il,[{...e.authorization,delegation:e.authorization.address,chainId:BigInt(e.authorization.chainId)},e.to??o,t??"0x"]),s=Q(de(n),{size:32});return be(r,n,s,Al)}function IC(e){try{return Ju(e),!0}catch{return!1}}var Wu=class extends R{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"})}};uc();H();var Zu=class extends x{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}};function Wy(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new Zu({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 Bn(e,t="wei"){return Wy(e,mc[t])}function _C(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function Jy(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?ye(e.nonce):void 0,storageProof:e.storageProof?_C(e.storageProof):void 0}}async function Zy(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 Jy(a)}F();async function Yy(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]})}Ct();F();async function ui(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 ss({blockHash:t,blockNumber:r,blockTag:i,hash:n,index:s});return(e.chain?.formatters?.transaction?.format||dn)(c,"getTransaction")}async function Xy(e,{hash:t,transactionReceipt:r}){let[o,n]=await Promise.all([_(e,Ir,"getBlockNumber")({}),t?_(e,ui,"getTransaction")({hash:t}):void 0]),s=r?.blockNumber||n?.blockNumber;return s?o-s+1n:0n}Ct();async function pi(e,{hash:t}){let r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new is({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||Fi)(r,"getTransactionReceipt")}Jo();ca();we();H();Co();qo();St();xn();async function Qy(e,t){let{account:r,authorizationList:o,allowFailure:n=!0,blockNumber:s,blockOverrides:i,blockTag:a,stateOverride:c}=t,m=t.contracts,{batchSize:u=t.batchSize??1024,deployless:f=t.deployless??!1}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},p=(()=>{if(t.multicallAddress)return t.multicallAddress;if(f)return null;if(e.chain)return Lt({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),d=[[]],h=0,g=0;for(let v=0;v<m.length;v++){let{abi:C,address:k,args:A,functionName:T}=m[v];try{let I=pe({abi:C,args:A,functionName:T});g+=(I.length-2)/2,u>0&&g>u&&d[h].length>0&&(h++,g=(I.length-2)/2,d[h]=[]),d[h]=[...d[h],{allowFailure:!0,callData:I,target:k}]}catch(I){let B=At(I,{abi:C,address:k,args:A,docsPath:"/docs/contract/multicall",functionName:T,sender:r});if(!n)throw B;d[h]=[...d[h],{allowFailure:!0,callData:"0x",target:k}]}}let b=await Promise.allSettled(d.map(v=>_(e,Pe,"readContract")({...p===null?{code:Qs}:{address:p},abi:An,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 A=0;A<d[v].length;A++)y.push({status:"failure",error:C.reason,result:void 0});continue}let k=C.value;for(let A=0;A<k.length;A++){let{returnData:T,success:I}=k[A],{callData:B}=d[v][A],{abi:N,address:M,functionName:U,args:G}=m[y.length];try{if(B==="0x")throw new Ut;if(!I)throw new yr({data:T});let V=gt({abi:N,args:G,data:T,functionName:U});y.push(n?{result:V,status:"success"}:V)}catch(V){let ce=At(V,{abi:N,address:M,args:G,docsPath:"/docs/contract/multicall",functionName:U});if(!n)throw ce;y.push({error:ce,result:void 0,status:"failure"})}}}if(y.length!==m.length)throw new x("multicall results mismatch");return y}Mf();xe();we();Co();go();qo();St();ot();F();ta();fo();Om();Zr();async function wa(e,t){let{blockNumber:r,blockTag:o=e.experimental_blockTag??"latest",blocks:n,returnFullTransactions:s,traceTransfers:i,validation:a}=t;try{let c=[];for(let p of n){let d=p.blockOverrides?eu(p.blockOverrides):void 0,h=p.calls.map(b=>{let y=b,v=y.account?j(y.account):void 0,C=y.abi?pe(y):y.data,k={...y,account:v,data:y.dataSuffix?_e([C||"0x",y.dataSuffix]):C,from:y.from??v?.address};return Xe(k),ft(k)}),g=p.stateOverrides?Os(p.stateOverrides):void 0;c.push({blockOverrides:d,calls:h,stateOverrides:g})}let u=(typeof r=="bigint"?E(r):void 0)||o;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:s,traceTransfers:i,validation:a},u]})).map((p,d)=>({...Bi(p),calls:p.calls.map((h,g)=>{let{abi:b,args:y,functionName:v,to:C}=n[d].calls[g],k=h.error?.data??h.returnData,A=BigInt(h.gasUsed),T=h.logs?.map(M=>Je(M)),I=h.status==="0x1"?"success":"failure",B=b&&I==="success"&&k!=="0x"?gt({abi:b,data:k,functionName:v}):null,N=(()=>{if(I==="success")return;let M;if(h.error?.data==="0x"?M=new Ut:h.error&&(M=new yr(h.error)),!!M)return At(M,{abi:b??[],address:C??"0x",args:y,functionName:v??"<unknown>"})})();return{data:k,gasUsed:A,logs:T,status:I,...I==="success"?{result:B}:{error:N}}})}))}catch(c){let m=c,u=Ho(m,{});throw u instanceof Mt?m:u}}Zi();yt();je();yt();function Xu(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 R("Unable to normalize signature.");return n}function Yu(e,t){let r=typeof e,o=t.type;switch(o){case"address":return Lu(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)=>Yu(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=>Yu(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function _l(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 _l(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")?Lu(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?Lu(r[o],{strict:!1}):!1)())return i}}function Qu(e,t={}){let{prepare:r=!0}=t,o=(()=>Array.isArray(e)?wm(e):typeof e=="string"?wm(e):e)();return{...o,...r?{hash:fi(o)}:{}}}function va(e,t,r){let{args:o=[],prepare:n=!0}=r??{},s=aa(t,{strict:!1}),i=e.filter(m=>s?m.type==="function"||m.type==="error"?Tl(m)===he(t,0,4):m.type==="event"?fi(m)===t:!1:"name"in m&&m.name===t);if(i.length===0)throw new tn({name:t});if(i.length===1)return{...i[0],...n?{hash:fi(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:fi(m)}:{}};continue}if(!m.inputs||m.inputs.length===0||m.inputs.length!==o.length)continue;if(o.every((f,p)=>{let d="inputs"in m&&m.inputs[p];return d?Yu(f,d):!1})){if(a&&"inputs"in a&&a.inputs){let f=_l(m.inputs,a.inputs,o);if(f)throw new Pl({abiItem:m,type:f[0]},{abiItem:a,type:f[1]})}a=m}}let c=(()=>{if(a)return a;let[m,...u]=i;return{...m,overloads:u}})();if(!c)throw new tn({name:t});return{...c,...n?{hash:fi(c)}:{}}}function Tl(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return va(r,o)}return e[0]})();return he(fi(t),0,4)}function TC(...e){let t=(()=>{if(Array.isArray(e[0])){let[o,n]=e;return va(o,n)}return e[0]})(),r=(()=>typeof t=="string"?t:wn(t))();return Xu(r)}function fi(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return va(r,o)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:Tn(Xs(TC(t)))}var Pl=class extends R{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${Xu(wn(t.abiItem))}\`, and`,`\`${r.type}\` in \`${Xu(wn(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"})}},tn=class extends R{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 tb(...e){let[t,r]=(()=>{if(Array.isArray(e[0])){let[s,i]=e;return[$C(s),i]}return e})(),{bytecode:o,args:n}=r;return be(o,t.inputs?.length&&n?.length?en(t.inputs,n):"0x")}function rb(e){return Qu(e)}function $C(e){let t=e.find(r=>r.type==="constructor");if(!t)throw new tn({name:"constructor"});return t}je();function nb(...e){let[t,r=[]]=(()=>{if(Array.isArray(e[0])){let[m,u,f]=e;return[ob(m,u,{args:f}),f]}let[a,c]=e;return[a,c]})(),{overloads:o}=t,n=o?ob([t,...o],t.name,{args:r}):t,s=BC(n),i=r.length>0?en(n.inputs,r):void 0;return i?be(s,i):s}function Fn(e,t={}){return Qu(e,t)}function ob(e,t,r){let o=va(e,t,r);if(o.type!=="function")throw new tn({name:t,type:"function"});return o}function BC(e){return Tl(e)}xe();var sb="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",ar="0x0000000000000000000000000000000000000000";ca();H();St();var MC="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function ib(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?tb(rb("constructor(bytes, bytes)"),{bytecode:ou,args:[MC,nb(Fn("function getBalance(address)"),[m.address])]}):void 0,f=i?await Promise.all(t.calls.map(async z=>{if(!z.data&&!z.abi)return;let{accessList:Se}=await Eu(e,{account:m.address,...z,data:z.abi?pe(z):z.data});return Se.map(({address:pr,storageKeys:co})=>co.length>0?pr:null)})).then(z=>z.flat().filter(Boolean)):[],p=await wa(e,{blockNumber:r,blockTag:o,blocks:[...i?[{calls:[{data:u}],stateOverrides:s},{calls:f.map((z,Se)=>({abi:[Fn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:z,from:ar,nonce:Se})),stateOverrides:[{address:ar,nonce:0}]}]:[],{calls:[...n,{}].map(z=>({...z,from:m?.address})),stateOverrides:s},...i?[{calls:[{data:u}]},{calls:f.map((z,Se)=>({abi:[Fn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:z,from:ar,nonce:Se})),stateOverrides:[{address:ar,nonce:0}]},{calls:f.map((z,Se)=>({to:z,abi:[Fn("function decimals() returns (uint256)")],functionName:"decimals",from:ar,nonce:Se})),stateOverrides:[{address:ar,nonce:0}]},{calls:f.map((z,Se)=>({to:z,abi:[Fn("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:ar,nonce:Se})),stateOverrides:[{address:ar,nonce:0}]},{calls:f.map((z,Se)=>({to:z,abi:[Fn("function symbol() returns (string)")],functionName:"symbol",from:ar,nonce:Se})),stateOverrides:[{address:ar,nonce:0}]}]:[]],traceTransfers:a,validation:c}),d=i?p[2]:p[0],[h,g,,b,y,v,C,k]=i?p:[],{calls:A,...T}=d,I=A.slice(0,-1)??[],B=h?.calls??[],N=g?.calls??[],M=[...B,...N].map(z=>z.status==="success"?ie(z.data):null),U=b?.calls??[],G=y?.calls??[],V=[...U,...G].map(z=>z.status==="success"?ie(z.data):null),ce=(v?.calls??[]).map(z=>z.status==="success"?z.result:null),Ie=(k?.calls??[]).map(z=>z.status==="success"?z.result:null),Ve=(C?.calls??[]).map(z=>z.status==="success"?z.result:null),Tt=[];for(let[z,Se]of V.entries()){let pr=M[z];if(typeof Se!="bigint"||typeof pr!="bigint")continue;let co=ce[z-1],me=Ie[z-1],mo=Ve[z-1],Zt=(()=>z===0?{address:sb,decimals:18,symbol:"ETH"}:{address:f[z-1],decimals:mo||co?Number(co??1):void 0,symbol:me??void 0})();Tt.some(Np=>Np.token.address===Zt.address)||Tt.push({token:Zt,value:{pre:pr,post:Se,diff:Se-pr}})}return{assetChanges:Tt,block:T,results:I}}var Ca={};Lp(Ca,{InvalidWrappedSignatureError:()=>ep,assert:()=>Rl,from:()=>zC,magicBytes:()=>$l,universalSignatureValidatorAbi:()=>NC,universalSignatureValidatorBytecode:()=>DC,unwrap:()=>ab,validate:()=>OC,wrap:()=>LC});yt();je();var $l="0x6492649264926492649264926492649264926492649264926492649264926492",DC="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",NC=[{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 Rl(e){if(he(e,-32)!==$l)throw new ep(e)}function zC(e){return typeof e=="string"?ab(e):e}function ab(e){Rl(e);let[t,r,o]=mi(ga("address, bytes, bytes"),e);return{data:r,signature:o,to:t}}function LC(e){let{data:t,signature:r,to:o}=e;return be(en(ga("address, bytes, bytes"),[o,t,r]),$l)}function OC(e){try{return Rl(e),!0}catch{return!1}}var ep=class extends R{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"})}};Jo();ca();Co();nu();St();yo();kn();ot();vt();Re();F();Re();Oe();import{secp256k1 as UC}from"@noble/curves/secp256k1";function tp({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 UC.Signature(ie(e),ie(t)).toCompactHex()}${s===0?"1b":"1c"}`;return r==="hex"?i:Be(i)}ti();async function rn(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 ae(a)?a:typeof a=="object"&&"r"in a&&"s"in a?tp(a):Y(a)})();try{return xa.validate(i)?await HC(e,{...t,multicallAddress:s,signature:i}):await jC(e,{...t,verifierAddress:n,signature:i})}catch(a){try{if(Gt(Es(r),await Nm({hash:o,signature:i})))return!0}catch{}if(a instanceof eo)return!1;throw a}}async function HC(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,multicallAddress:i}=t,{authorization:a,data:c,signature:m,to:u}=xa.unwrap(t.signature);if(await fa(e,{address:r,blockNumber:o,blockTag:n})===Ue(["0xef0100",a.address]))return await GC(e,{address:r,blockNumber:o,blockTag:n,hash:s,signature:m});let p={address:a.address,chainId:Number(a.chainId),nonce:Number(a.nonce),r:E(a.r,{size:32}),s:E(a.s,{size:32}),yParity:a.yParity};if(!await hy({address:r,authorization:p}))throw new eo;let h=await _(e,Pe,"readContract")({...i?{address:i}:{code:Qs},authorizationList:[p],abi:An,blockNumber:o,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:u??r,callData:c}]:[],{allowFailure:!0,target:r,callData:pe({abi:zf,functionName:"isValidSignature",args:[s,m]})}]]});if(h[h.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new eo}async function jC(e,t){let{address:r,factory:o,factoryData:n,hash:s,signature:i,verifierAddress:a,...c}=t,m=await(async()=>!o&&!n||Ca.validate(i)?i:Ca.wrap({data:n,signature:i,to:o}))(),u=a?{to:a,data:pe({abi:Lf,functionName:"isValidSig",args:[r,s,m]}),...c}:{data:In({abi:Lf,args:[r,s,m],bytecode:Bg}),...c},{data:f}=await _(e,Ar,"call")(u).catch(p=>{throw p instanceof Ds?new eo:p});if(Jp(f??"0x0"))return!0;throw new eo}async function GC(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,signature:i}=t;if((await _(e,Pe,"readContract")({address:r,abi:zf,args:[s,i],blockNumber:o,blockTag:n,functionName:"isValidSignature"}).catch(c=>{throw c instanceof Ns?new eo:c})).startsWith("0x1626ba7e"))return!0;throw new eo}var eo=class extends Error{};async function cb(e,{address:t,message:r,factory:o,factoryData:n,signature:s,...i}){let a=ai(r);return rn(e,{address:t,factory:o,factoryData:n,hash:a,signature:s,...i})}async function mb(e,t){let{address:r,factory:o,factoryData:n,signature:s,message:i,primaryType:a,types:c,domain:m,...u}=t,f=Bu({message:i,primaryType:a,types:c,domain:m});return rn(e,{address:r,factory:o,factoryData:n,hash:f,signature:s,...u})}Ct();su();Ze();Re();Ze();function rp(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:o,onError:n,poll:s,pollingInterval:i=e.pollingInterval}){let a=(()=>typeof s<"u"?s:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))(),c;return a?(()=>{let f=W(["watchBlockNumber",e.uid,t,r,i]);return et(f,{onBlockNumber:o,onError:n},p=>qt(async()=>{try{let d=await _(e,Ir,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(d===c)return;if(d-c>1&&r)for(let h=c+1n;h<d;h++)p.onBlockNumber(h,c),c=h}(c===void 0||d>c)&&(p.onBlockNumber(d,c),c=d)}catch(d){p.onError?.(d)}},{emitOnBegin:t,interval:i}))})():(()=>{let f=W(["watchBlockNumber",e.uid,t,r]);return et(f,{onBlockNumber:o,onError:n},p=>{let d=!0,h=()=>d=!1;return(async()=>{try{let g=(()=>{if(e.transport.type==="fallback"){let y=e.transport.transports.find(v=>v.config.type==="webSocket"||v.config.type==="ipc");return y?y.value:e.transport}return e.transport})(),{unsubscribe:b}=await g.subscribe({params:["newHeads"],onData(y){if(!d)return;let v=ie(y.result?.number);p.onBlockNumber(v,c),c=v},onError(y){p.onError?.(y)}});h=b,d||h()}catch(g){n?.(g)}})(),()=>h()})})()}async function op(e,t){let{checkReplacement:r=!0,confirmations:o=1,hash:n,onReplaced:s,retryCount:i=6,retryDelay:a=({count:A})=>~~(1<<A)*200,timeout:c=18e4}=t,m=W(["waitForTransactionReceipt",e.uid,n]),u=(()=>t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval)(),f,p,d,h=!1,g,b,{promise:y,resolve:v,reject:C}=ei(),k=c?setTimeout(()=>{b?.(),g?.(),C(new bc({hash:n}))},c):void 0;return g=et(m,{onReplaced:s,resolve:v,reject:C},async A=>{if(d=await _(e,pi,"getTransactionReceipt")({hash:n}).catch(()=>{}),d&&o<=1){clearTimeout(k),A.resolve(d),g?.();return}b=_(e,rp,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(T){let I=N=>{clearTimeout(k),b?.(),N(),g?.()},B=T;if(!h)try{if(d){if(o>1&&(!d.blockNumber||B-d.blockNumber+1n<o))return;I(()=>A.resolve(d));return}if(r&&!f&&(h=!0,await Pn(async()=>{f=await _(e,ui,"getTransaction")({hash:n}),f.blockNumber&&(B=f.blockNumber)},{delay:a,retryCount:i}),h=!1),d=await _(e,pi,"getTransactionReceipt")({hash:n}),o>1&&(!d.blockNumber||B-d.blockNumber+1n<o))return;I(()=>A.resolve(d))}catch(N){if(N instanceof ss||N instanceof is){if(!f){h=!1;return}try{p=f,h=!0;let M=await Pn(()=>_(e,Qe,"getBlock")({blockNumber:B,includeTransactions:!0}),{delay:a,retryCount:i,shouldRetry:({error:V})=>V instanceof Us});h=!1;let U=M.transactions.find(({from:V,nonce:ce})=>V===p.from&&ce===p.nonce);if(!U||(d=await _(e,pi,"getTransactionReceipt")({hash:U.hash}),o>1&&(!d.blockNumber||B-d.blockNumber+1n<o)))return;let G="replaced";U.to===p.to&&U.value===p.value&&U.input===p.input?G="repriced":U.from===U.to&&U.value===0n&&(G="cancelled"),I(()=>{A.onReplaced?.({reason:G,replacedTransaction:p,transaction:U,transactionReceipt:d}),A.resolve(d)})}catch(M){I(()=>A.reject(M))}}else I(()=>A.reject(N))}}})}),y}Ze();function ub(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:o=!1,onBlock:n,onError:s,includeTransactions:i,poll:a,pollingInterval:c=e.pollingInterval}){let m=(()=>typeof a<"u"?a:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))(),u=i??!1,f;return m?(()=>{let h=W(["watchBlocks",e.uid,t,r,o,u,c]);return et(h,{onBlock:n,onError:s},g=>qt(async()=>{try{let b=await _(e,Qe,"getBlock")({blockTag:t,includeTransactions:u});if(b.number!==null&&f?.number!=null){if(b.number===f.number)return;if(b.number-f.number>1&&r)for(let y=f?.number+1n;y<b.number;y++){let v=await _(e,Qe,"getBlock")({blockNumber:y,includeTransactions:u});g.onBlock(v,f),f=v}}(f?.number==null||t==="pending"&&b?.number==null||b.number!==null&&b.number>f.number)&&(g.onBlock(b,f),f=b)}catch(b){g.onError?.(b)}},{emitOnBegin:o,interval:c}))})():(()=>{let h=!0,g=!0,b=()=>h=!1;return(async()=>{try{o&&_(e,Qe,"getBlock")({blockTag:t,includeTransactions:u}).then(C=>{h&&g&&(n(C,void 0),g=!1)}).catch(s);let y=(()=>{if(e.transport.type==="fallback"){let C=e.transport.transports.find(k=>k.config.type==="webSocket"||k.config.type==="ipc");return C?C.value:e.transport}return e.transport})(),{unsubscribe:v}=await y.subscribe({params:["newHeads"],async onData(C){if(!h)return;let k=await _(e,Qe,"getBlock")({blockNumber:C.result?.number,includeTransactions:u}).catch(()=>{});h&&(n(k,f),g=!1,f=k)},onError(C){s?.(C)}});b=v,h||b()}catch(y){s?.(y)}})(),()=>b()})()}we();zs();Ze();function pb(e,{address:t,args:r,batch:o=!0,event:n,events:s,fromBlock:i,onError:a,onLogs:c,poll:m,pollingInterval:u=e.pollingInterval,strict:f}){let p=(()=>typeof m<"u"?m:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))(),d=f??!1;return p?(()=>{let b=W(["watchEvent",t,r,o,e.uid,n,u,i]);return et(b,{onLogs:c,onError:a},y=>{let v;i!==void 0&&(v=i-1n);let C,k=!1,A=qt(async()=>{if(!k){try{C=await _(e,ku,"createEventFilter")({address:t,args:r,event:n,events:s,strict:d,fromBlock:i})}catch{}k=!0;return}try{let T;if(C)T=await _(e,Zo,"getFilterChanges")({filter:C});else{let I=await _(e,Ir,"getBlockNumber")({});v&&v!==I?T=await _(e,qs,"getLogs")({address:t,args:r,event:n,events:s,fromBlock:v+1n,toBlock:I}):T=[],v=I}if(T.length===0)return;if(o)y.onLogs(T);else for(let I of T)y.onLogs([I])}catch(T){C&&T instanceof jt&&(k=!1),y.onError?.(T)}},{emitOnBegin:!0,interval:u});return async()=>{C&&await _(e,Yo,"uninstallFilter")({filter:C}),A()}})})():(()=>{let b=!0,y=()=>b=!1;return(async()=>{try{let v=(()=>{if(e.transport.type==="fallback"){let T=e.transport.transports.find(I=>I.config.type==="webSocket"||I.config.type==="ipc");return T?T.value:e.transport}return e.transport})(),C=s??(n?[n]:void 0),k=[];C&&(k=[C.flatMap(I=>Cr({abi:[I],eventName:I.name,args:r}))],n&&(k=k[0]));let{unsubscribe:A}=await v.subscribe({params:["logs",{address:t,topics:k}],onData(T){if(!b)return;let I=T.result;try{let{eventName:B,args:N}=Vs({abi:C??[],data:I.data,topics:I.topics,strict:d}),M=Je(I,{args:N,eventName:B});c([M])}catch(B){let N,M;if(B instanceof or||B instanceof lr){if(f)return;N=B.abiItem.name,M=B.abiItem.inputs?.some(G=>!("name"in G&&G.name))}let U=Je(I,{args:M?[]:{},eventName:N});c([U])}},onError(T){a?.(T)}});y=A,b||y()}catch(v){a?.(v)}})(),()=>y()})()}Ze();function fb(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 et(m,{onTransactions:o,onError:r},u=>{let f,p=qt(async()=>{try{if(!f)try{f=await _(e,Su,"createPendingTransactionFilter")({});return}catch(h){throw p(),h}let d=await _(e,Zo,"getFilterChanges")({filter:f});if(d.length===0)return;if(t)u.onTransactions(d);else for(let h of d)u.onTransactions([h])}catch(d){u.onError?.(d)}},{emitOnBegin:!0,interval:s});return async()=>{f&&await _(e,Yo,"uninstallFilter")({filter:f}),p()}})})():(()=>{let m=!0,u=()=>m=!1;return(async()=>{try{let{unsubscribe:f}=await e.transport.subscribe({params:["newPendingTransactions"],onData(p){if(!m)return;let d=p.result;o([d])},onError(p){r?.(p)}});u=f,m||u()}catch(f){r?.(f)}})(),()=>u()})()}function lb(e){let{scheme:t,statement:r,...o}=e.match(VC)?.groups??{},{chainId:n,expirationTime:s,issuedAt:i,notBefore:a,requestId:c,...m}=e.match(qC)?.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 VC=/^(?:(?<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)?/,qC=/(?: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>.+))?/;Et();kn();function db(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||!X(o.address,{strict:!1})||t&&!Gt(o.address,t))return!1}catch{return!1}return!0}async function hb(e,t){let{address:r,domain:o,message:n,nonce:s,scheme:i,signature:a,time:c=new Date,...m}=t,u=lb(n);if(!u.address||!db({address:r,domain:o,message:u,nonce:s,scheme:i,time:c}))return!1;let p=ai(n);return rn(e,{address:u.address,hash:p,signature:a,...m})}Ct();async function li(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||Fi)(n);if(i.status==="reverted"&&r)throw new as({receipt:i});return i}function gb(e){return{call:t=>Ar(e,t),createAccessList:t=>Eu(e,t),createBlockFilter:()=>ay(e),createContractEventFilter:t=>Mm(e,t),createEventFilter:t=>ku(e,t),createPendingTransactionFilter:()=>Su(e),estimateContractGas:t=>og(e,t),estimateGas:t=>Gs(e,t),getBalance:t=>cy(e,t),getBlobBaseFee:()=>my(e),getBlock:t=>Qe(e,t),getBlockNumber:t=>Ir(e,t),getBlockTransactionCount:t=>uy(e,t),getBytecode:t=>fa(e,t),getChainId:()=>ht(e),getCode:t=>fa(e,t),getContractEvents:t=>Gm(e,t),getEip712Domain:t=>py(e,t),getEnsAddress:t=>Xg(e,t),getEnsAvatar:t=>ny(e,t),getEnsName:t=>sy(e,t),getEnsResolver:t=>iy(e,t),getEnsText:t=>Cu(e,t),getFeeHistory:t=>ly(e,t),estimateFeesPerGas:t=>tg(e,t),getFilterChanges:t=>Zo(e,t),getFilterLogs:t=>dy(e,t),getGasPrice:()=>Hs(e),getLogs:t=>qs(e,t),getProof:t=>Zy(e,t),estimateMaxPriorityFeePerGas:t=>eg(e,t),getStorageAt:t=>Yy(e,t),getTransaction:t=>ui(e,t),getTransactionConfirmations:t=>Xy(e,t),getTransactionCount:t=>js(e,t),getTransactionReceipt:t=>pi(e,t),multicall:t=>Qy(e,t),prepareTransactionRequest:t=>Er(e,t),readContract:t=>Pe(e,t),sendRawTransaction:t=>oi(e,t),sendRawTransactionSync:t=>li(e,t),simulate:t=>wa(e,t),simulateBlocks:t=>wa(e,t),simulateCalls:t=>ib(e,t),simulateContract:t=>Vg(e,t),verifyHash:t=>rn(e,t),verifyMessage:t=>cb(e,t),verifySiweMessage:t=>hb(e,t),verifyTypedData:t=>mb(e,t),uninstallFilter:t=>Yo(e,t),waitForTransactionReceipt:t=>op(e,t),watchBlocks:t=>ub(e,t),watchBlockNumber:t=>rp(e,t),watchContractEvent:t=>Jg(e,t),watchEvent:t=>pb(e,t),watchPendingTransactions:t=>fb(e,t)}}function Mn(e){let{key:t="public",name:r="Public Client"}=e;return yu({...e,key:t,name:r,type:"publicClient"}).extend(gb)}F();async function yb(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})}nu();function bb(e,t){let{abi:r,args:o,bytecode:n,...s}=t,i=In({abi:r,args:o,bytecode:n});return Xo(e,{...s,...s.authorizationList?{to:null}:{},data:i})}yo();async function xb(e){return e.account?.type==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>jr(r))}xe();F();async function wb(e,t={}){let{account:r=e.account,chainId:o}=t,n=r?j(r):void 0,s=o?[n?.address,[E(o)]]:[n?.address],i=await e.request({method:"wallet_getCapabilities",params:s}),a={};for(let[c,m]of Object.entries(i)){a[Number(c)]={};for(let[u,f]of Object.entries(m))u==="addSubAccount"&&(u="unstable_addSubAccount"),a[Number(c)][u]=f}return typeof o=="number"?a[o]:a}async function vb(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}xe();kn();async function np(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 _(e,ht,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await _(e,js,"getTransactionCount")({address:s.address,blockTag:"pending"}),(i==="self"||i?.address&&Gt(i.address,s.address))&&(a.nonce+=1)),a}yo();async function Cb(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>Es(r))}async function Eb(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function kb(e,t){let{chain:r=e.chain}=t,o=t.timeout??Math.max((r?.blockTime??0)*3,5e3),n=await pu(e,t);return await lu(e,{...t,id:n.id,timeout:o})}xe();H();Ct();Ls();fo();Cs();Zr();var Bl=new Dt(128);async function sp(e,t){let{account:r=e.account,chain:o=e.chain,accessList:n,authorizationList:s,blobs:i,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,pollingInterval:h,throwOnReceiptRevert:g,type:b,value:y,...v}=t,C=t.timeout??Math.max((o?.blockTime??0)*3,5e3);if(typeof r>"u")throw new He({docsPath:"/docs/actions/wallet/sendTransactionSync"});let k=r?j(r):null;try{Xe(t);let A=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await Go({authorization:s[0]}).catch(()=>{throw new x("`to` is required. Could not infer from `authorizationList`.")})})();if(k?.type==="json-rpc"||k===null){let T;o!==null&&(T=await _(e,ht,"getChainId")({}),ks({currentChainId:T,chain:o}));let I=e.chain?.formatters?.transactionRequest?.format,N=(I||ft)({...vr(v,{format:I}),accessList:n,account:k,authorizationList:s,blobs:i,chainId:T,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,to:A,type:b,value:y},"sendTransaction"),M=Bl.get(e.uid),U=M?"wallet_sendTransaction":"eth_sendTransaction",G=await(async()=>{try{return await e.request({method:U,params:[N]},{retryCount:0})}catch(ce){if(M===!1)throw ce;let Ie=ce;if(Ie.name==="InvalidInputRpcError"||Ie.name==="InvalidParamsRpcError"||Ie.name==="MethodNotFoundRpcError"||Ie.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[N]},{retryCount:0}).then(Ve=>(Bl.set(e.uid,!0),Ve)).catch(Ve=>{let Tt=Ve;throw Tt.name==="MethodNotFoundRpcError"||Tt.name==="MethodNotSupportedRpcError"?(Bl.set(e.uid,!1),Ie):Tt});throw Ie}})(),V=await _(e,op,"waitForTransactionReceipt")({checkReplacement:!1,hash:G,pollingInterval:h,timeout:C});if(g&&V.status==="reverted")throw new as({receipt:V});return V}if(k?.type==="local"){let T=await _(e,Er,"prepareTransactionRequest")({account:k,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:d,nonceManager:k.nonceManager,parameters:[...ra,"sidecars"],type:b,value:y,...v,to:A}),I=o?.serializers?.transaction,B=await k.signTransaction(T,{serializer:I});return await _(e,li,"sendRawTransactionSync")({serializedTransaction:B,throwOnReceiptRevert:g})}throw k?.type==="smart"?new Ot({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Ot({docsPath:"/docs/actions/wallet/sendTransactionSync",type:k?.type})}catch(A){throw A instanceof Ot?A:ri(A,{...t,account:k,chain:t.chain||void 0})}}async function Sb(e,t){let{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}xe();async function Ab(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 Ot({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:o.type});let n=await np(e,t);return o.signAuthorization(n)}xe();F();async function Ib(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"?Yt(r):r.raw instanceof Uint8Array?se(r.raw):r.raw)();return e.request({method:"personal_sign",params:[n,o.address]},{retryCount:0})}xe();F();fo();Zr();async function _b(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);Xe({account:s,...t});let i=await _(e,ht,"getChainId")({});o!==null&&ks({currentChainId:i,chain:o});let c=(o?.formatters||e.chain?.formatters)?.transactionRequest?.format||ft;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})}xe();async function Pb(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:Ru({domain:o}),...t.types};if($u({domain:o,message:n,primaryType:s,types:a}),i.signTypedData)return i.signTypedData({domain:o,message:n,primaryType:s,types:a});let c=Cy({domain:o,message:n,primaryType:s,types:a});return e.request({method:"eth_signTypedData_v4",params:[i.address,c]},{retryCount:0})}F();async function Tb(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:E(t)}]},{retryCount:0})}async function $b(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}async function Rb(e,t){return _n.internal(e,sp,"sendTransactionSync",t)}function Bb(e){return{addChain:t=>yb(e,t),deployContract:t=>bb(e,t),getAddresses:()=>xb(e),getCallsStatus:t=>fu(e,t),getCapabilities:t=>wb(e,t),getChainId:()=>ht(e),getPermissions:()=>vb(e),prepareAuthorization:t=>np(e,t),prepareTransactionRequest:t=>Er(e,t),requestAddresses:()=>Cb(e),requestPermissions:t=>Eb(e,t),sendCalls:t=>pu(e,t),sendCallsSync:t=>kb(e,t),sendRawTransaction:t=>oi(e,t),sendRawTransactionSync:t=>li(e,t),sendTransaction:t=>Xo(e,t),sendTransactionSync:t=>sp(e,t),showCallsStatus:t=>Sb(e,t),signAuthorization:t=>Ab(e,t),signMessage:t=>Ib(e,t),signTransaction:t=>_b(e,t),signTypedData:t=>Pb(e,t),switchChain:t=>Tb(e,t),waitForCallsStatus:t=>lu(e,t),watchAsset:t=>$b(e,t),writeContract:t=>_n(e,t),writeContractSync:t=>Rb(e,t)}}function Ea(e){let{key:t="wallet",name:r="Wallet Client",transport:o}=e;return yu({...e,key:t,name:r,transport:o,type:"walletClient"}).extend(Bb)}function Fb({key:e,methods:t,name:r,request:o,retryCount:n=3,retryDelay:s=150,timeout:i,type:a},c){let m=gu();return{config:{key:e,methods:t,name:r,request:o,retryCount:n,retryDelay:s,timeout:i,type:a},request:yy(o,{methods:t,retryCount:n,retryDelay:s,uid:m}),value:c}}En();H();var ip=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"})}};Hf();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:f}=t;return({chain:p,retryCount:d,timeout:h})=>{let{batchSize:g=1e3,wait:b=0}=typeof r=="object"?r:{},y=t.retryCount??d,v=h??t.timeout??1e4,C=e||p?.rpcUrls.default.http[0];if(!C)throw new ip;let k=xy(C,{fetchFn:o,fetchOptions:n,onRequest:c,onResponse:m,timeout:v});return Fb({key:s,methods:i,name:a,async request({method:A,params:T}){let I={method:A,params:T},{schedule:B}=iu({id:C,wait:b,shouldSplitBatch(G){return G.length>g},fn:G=>k.request({body:G}),sort:(G,V)=>G.id-V.id}),N=async G=>r?B(G):[await k.request({body:G})],[{error:M,result:U}]=await N(I);if(f)return{error:M,result:U};if(M)throw new Eo({body:I,error:M,url:C});return U},retryCount:y,retryDelay:u,timeout:v,type:"http"},{fetchOptions:n,url:C})}}vt();F();import{secp256k1 as WC}from"@noble/curves/secp256k1";tr();Et();function Mb(e){if(typeof e=="string"){if(!X(e,{strict:!1}))throw new oe({address:e});return{address:e,type:"json-rpc"}}if(!X(e.address,{strict:!1}))throw new oe({address:e.address});return{address:e.address,nonceManager:e.nonceManager,sign:e.sign,signAuthorization:e.signAuthorization,signMessage:e.signMessage,signTransaction:e.signTransaction,signTypedData:e.signTypedData,source:"custom",type:"local"}}vt();Oe();F();import{secp256k1 as KC}from"@noble/curves/secp256k1";var Fl=!1;async function _r({hash:e,privateKey:t,to:r="object"}){let{r:o,s:n,recovery:s}=KC.sign(e.slice(2),t.slice(2),{lowS:!0,extraEntropy:ae(Fl,{strict:!1})?Be(Fl):Fl}),i={r:E(o,{size:32}),s:E(n,{size:32}),v:s?28n:27n,yParity:s};return(()=>r==="bytes"||r==="hex"?tp({...i,to:r}):i)()}async function Db(e){let{chainId:t,nonce:r,privateKey:o,to:n="object"}=e,s=e.contractAddress??e.address,i=await _r({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 Nb({message:e,privateKey:t}){return await _r({hash:ai(e),privateKey:t,to:"hex"})}Nt();async function zb(e){let{privateKey:t,transaction:r,serializer:o=Nc}=e,n=(()=>r.type==="eip4844"?{...r,sidecars:!1}:r)(),s=await _r({hash:ne(await o(n)),privateKey:t});return await o(r,s)}async function Lb(e){let{privateKey:t,...r}=e;return await _r({hash:Bu(r),privateKey:t,to:"hex"})}function ka(e,t={}){let{nonceManager:r}=t,o=se(WC.getPublicKey(e.slice(2),!1)),n=Dm(o);return{...Mb({address:n,nonceManager:r,async sign({hash:i}){return _r({hash:i,privateKey:e,to:"hex"})},async signAuthorization(i){return Db({...i,privateKey:e})},async signMessage({message:i}){return Nb({message:i,privateKey:e})},async signTransaction(i,{serializer:a}={}){return zb({privateKey:e,transaction:i,serializer:a})},async signTypedData(i){return Lb({...i,privateKey:e})}}),publicKey:o,source:"privateKey"}}var YY=Ii(Nl(),1);import{z as ve}from"zod";var mr=Ii(Nl(),1),_S=Ii(Ob(),1),PS=Ii(Ix(),1);import{z as yi}from"zod";var M8=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()}),zn=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)}},ql=class up extends zn{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=M8.safeParse(t.data);return r.success?new up(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 up(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 up(t.message,{request:r??void 0,detail:t.message})}},D8=class extends zn{constructor(e,t){super(e,t),this.isValidationError=!0,this.validationErrors=t.validationErrors}},N8=class extends zn{constructor(){super(...arguments),this.isAuthError=!0}},Bx=class extends zn{constructor(){super(...arguments),this.isBusinessError=!0}},z8=class extends zn{constructor(){super(...arguments),this.isServerError=!0}},L8=class extends zn{constructor(){super(...arguments),this.isUnknownError=!0}};function O8(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 Fx(e){if(!Array.isArray(e))return{errors:[],message:typeof e=="string"?e:"Validation error"};let t=e.map((n,s)=>{let i=O8(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 U8(e){return e===422?"validation":e===401||e===403?"auth":e>=400&&e<500?"business":e>=500?"server":"unknown"}function H8(e,t,r){if(e===422&&Array.isArray(t)){let{message:o}=Fx(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 j8(e){let t=e.status??0,r=e.statusText??"Unknown Error",o=e.detail,n=G8(o);if(n)return new Wl(n.message,{status:t,statusText:r,detail:o,errorCode:n.error_code,structuredDetails:n.details,suggestions:n.suggestions,links:n.links});let s=U8(t),i=H8(t,o,e.message),a={status:t,statusText:r,detail:o};if(s==="validation"&&Array.isArray(o)){let{errors:c}=Fx(o);return new D8(i,{...a,validationErrors:c})}return s==="auth"?new N8(i,a):s==="business"?new Bx(i,a):s==="server"?new z8(i,a):new L8(i,a)}var Wl=class extends Bx{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 G8(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 Mx(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 Ta=["2025-05-31","2025-10-28"],gi=(0,Rx.default)("phala::api-client");function V8(e){return Object.entries(e).map(([t,r])=>` -H "${t}: ${r}"`).join(`
56
+ `)}function q8(e){return e?` -d '${(typeof e=="string"?e:JSON.stringify(e,null,2)).replace(/'/g,"\\'")}'`:""}function _x(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 O8=class{constructor(e={}){this.emitter=t0();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&&Ta.includes(t.version)?t.version:Ta[Ta.length-1];this.config=t;let{apiKey:o,baseURL:n,timeout:s,headers:i,useCookieAuth:a,onResponseError:c,...m}=t,u={"X-Phala-Version":r,"Content-Type":"application/json"};i&&typeof i=="object"&&Object.entries(i).forEach(([f,p])=>{typeof p=="string"&&(u[f]=p)}),!a&&o&&(u["X-API-Key"]=o),this.fetchInstance=I8.create({baseURL:n,timeout:s||3e4,headers:u,...a?{credentials:"include"}:{},...m,onRequest({request:f,options:p}){if(hi.enabled){let d=p.method||"GET",h=typeof f=="string"?f:f.url,g=h.startsWith("http")?h:`${n}${h}`,b={};p.headers&&typeof p.headers=="object"&&Object.entries(p.headers).forEach(([v,C])=>{typeof C=="string"&&(b[v]=C)});let y=[`> curl -X ${d} "${g}"`,z8(b),p.body?L8(p.body):""].filter(Boolean).join(`
60
- `);hi(`
59
+ `)}var K8=class{constructor(e={}){this.emitter=i0();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&&Ta.includes(t.version)?t.version:Ta[Ta.length-1];this.config=t;let{apiKey:o,baseURL:n,timeout:s,headers:i,useCookieAuth:a,onResponseError:c,...m}=t,u={"X-Phala-Version":r,"Content-Type":"application/json"};i&&typeof i=="object"&&Object.entries(i).forEach(([f,p])=>{typeof p=="string"&&(u[f]=p)}),!a&&o&&(u["X-API-Key"]=o),this.fetchInstance=F8.create({baseURL:n,timeout:s||3e4,headers:u,...a?{credentials:"include"}:{},...m,onRequest({request:f,options:p}){if(gi.enabled){let d=p.method||"GET",h=typeof f=="string"?f:f.url,g=h.startsWith("http")?h:`${n}${h}`,b={};p.headers&&typeof p.headers=="object"&&Object.entries(p.headers).forEach(([v,C])=>{typeof C=="string"&&(b[v]=C)});let y=[`> curl -X ${d} "${g}"`,V8(b),p.body?q8(p.body):""].filter(Boolean).join(`
60
+ `);gi(`
61
61
  === REQUEST ===
62
62
  %s
63
- `,y)}},onResponse({request:f,response:p,options:d}){if(hi.enabled){let h=d.method||"GET",g=typeof f=="string"?f:f.url;hi(`
63
+ `,y)}},onResponse({request:f,response:p,options:d}){if(gi.enabled){let h=d.method||"GET",g=typeof f=="string"?f:f.url;gi(`
64
64
  === RESPONSE [%s %s] (%dms) ===
65
65
  %s
66
- `,h,g,p.headers.get("x-response-time")||"?",Ex(p.status,p.statusText,p.headers,p._data))}},onResponseError:({request:f,response:p,options:d})=>{if(console.warn(`HTTP ${p.status}: ${p.url}`),hi.enabled){let h=d.method||"GET",g=typeof f=="string"?f:f.url;hi(`
66
+ `,h,g,p.headers.get("x-response-time")||"?",_x(p.status,p.statusText,p.headers,p._data))}},onResponseError:({request:f,response:p,options:d})=>{if(console.warn(`HTTP ${p.status}: ${p.url}`),gi.enabled){let h=d.method||"GET",g=typeof f=="string"?f:f.url;gi(`
67
67
  === ERROR RESPONSE [%s %s] ===
68
68
  %s
69
- `,h,g,Ex(p.status,p.statusText,p.headers,p._data))}c&&c({request:f,response:p,options:d})}})}get raw(){return this.fetchInstance}on(e,t){this.emitter.on(e,t)}off(e,t){this.emitter.off(e,t)}once(e,t){let r=o=>{t(o),this.emitter.off(e,r)};this.emitter.on(e,r)}async get(e,t){try{return await this.fetchInstance(e,{...t,method:"GET"})}catch(r){let o=this.convertToRequestError(r);throw this.emitError(o)}}async post(e,t,r){try{return await this.fetchInstance(e,{...r,method:"POST",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async put(e,t,r){try{return await this.fetchInstance(e,{...r,method:"PUT",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async patch(e,t,r){try{return await this.fetchInstance(e,{...r,method:"PATCH",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async delete(e,t){try{return await this.fetchInstance(e,{...t,method:"DELETE"})}catch(r){let o=this.convertToRequestError(r);throw this.emitError(o)}}convertToRequestError(e){return e&&typeof e=="object"&&"data"in e?Hl.fromFetchError(e):e instanceof Error?Hl.fromError(e):new Hl("Unknown error occurred",{detail:"Unknown error occurred"})}emitError(e){let t=D8(e);return this.emitter.emit("error",t),t}async safeRequest(e){try{return{success:!0,data:await e()}}catch(t){if(t instanceof Nn)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 U8(e={}){return new O8(e)}function $x(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 Rx(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 Bx(e,t){function r(i,a){return o(i,a)}async function o(i,a){$x(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=Rx(a);if(c)return c;let m=await(async()=>{try{return{success:!0,data:await t(i)}}catch(f){return f&&typeof f=="object"&&"status"in f?{success:!1,error:f}:f&&typeof f=="object"&&"issues"in f?{success:!1,error:f}:{success:!1,error:{name:"Error",message:f instanceof Error?f.message:String(f)}}}})();return m.success?a?.schema===!1?{success:!0,data:m.data}:(a?.schema||e).safeParse(m.data):m}return{action:r,safeAction:n}}function oe(e,t){function r(i,...a){let[c,m]=a;return o(i,c,m)}async function o(i,a,c){$x(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=Rx(c);if(m)return m;let u=await(async()=>{try{return{success:!0,data:await t(i,a)}}catch(p){return p&&typeof p=="object"&&"status"in p?{success:!1,error:p}:p&&typeof p=="object"&&"issues"in p?{success:!1,error:p}:{success:!1,error:{name:"Error",message:p instanceof Error?p.message:String(p)}}}})();return u.success?c?.schema===!1?{success:!0,data:u.data}:(c?.schema||e).safeParse(u.data):u}return{action:r,safeAction:n}}var H8=on.object({username:on.string(),email:on.string(),credits:on.number(),granted_credits:on.number(),avatar:on.string(),team_name:on.string(),team_tier:on.string()}).passthrough(),{action:j8,safeAction:zn}=Bx(H8,async e=>await e.get("/auth/me")),G8={[$m.id]:$m,[Hi.id]:Hi,[Dc.id]:Dc},V8=nn.object({id:nn.string(),slug:nn.string().nullable(),url:nn.string(),version:nn.string(),chain_id:nn.number().nullable(),kms_contract_address:nn.string().nullable().transform(e=>e),gateway_app_id:nn.string().nullable().transform(e=>e)}).passthrough(),xi=V8.transform(e=>{if(e.chain_id!=null){let t=G8[e.chain_id];if(t)return{...e,chain:t}}return e}),q8=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(),K8=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(q8),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(),W8=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(),J8=K.object({tier:K.string(),capacity:W8,nodes:K.array(K8),kms_list:K.array(xi)}).passthrough(),{action:Z8,safeAction:Pa}=Bx(J8,async e=>await e.get("/teepods/available")),Fx=ke.object({id:ke.string(),name:ke.string(),description:ke.string(),vcpu:ke.number(),memory_mb:ke.number(),hourly_rate:ke.string(),requires_gpu:ke.boolean(),default_disk_size_gb:ke.number().default(20),family:ke.string().nullable()}).passthrough(),Y8=ke.object({name:ke.string(),items:ke.array(Fx),total:ke.number()}).strict(),X8=ke.object({result:ke.array(Y8)}).strict(),Q8=ke.object({items:ke.array(Fx),total:ke.number(),family:ke.string()}).strict(),eE=ke.object({family:ke.string()}).strict(),{action:tE,safeAction:rE}=oe(X8,async e=>await e.get("/instance-types")),{action:oE,safeAction:nE}=oe(Q8,async(e,t)=>{let r=eE.parse(t);return await e.get(`/instance-types/${r.family}`)}),Mx=It.object({id:It.string(),name:It.string(),slug:It.string().nullable(),tier:It.string(),role:It.string(),created_at:It.string()}).passthrough(),sE=It.object({has_more:It.boolean(),next_cursor:It.string().nullable(),total:It.number().nullable()}).passthrough(),iE=It.object({data:It.array(Mx),pagination:sE}).passthrough(),{action:aE,safeAction:cE}=oe(iE,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:mE,safeAction:uE}=oe(Mx,async(e,t)=>await e.get(`/workspaces/${t}`)),pE=_.object({id:_.string(),name:_.string(),status:_.string(),uptime:_.string(),app_url:_.string().nullable(),app_id:_.string(),instance_id:_.string().nullable(),configuration:_.any().optional(),exited_at:_.string().nullable(),boot_progress:_.string().nullable(),boot_error:_.string().nullable(),shutdown_progress:_.string().nullable(),image_version:_.string().nullable()}),fE=_.object({id:_.number(),username:_.string()}),Vl=_.object({id:_.number(),name:_.string(),region_identifier:_.string().nullable().optional()}),Dx=_.object({app:_.string(),instance:_.string()}),lE=_.object({hosted:pE,name:_.string(),managed_user:fE.nullable(),node:Vl.nullable(),listed:_.boolean().default(!1),status:_.string(),in_progress:_.boolean().default(!1),dapp_dashboard_url:_.string().nullable(),syslog_endpoint:_.string().nullable(),allow_upgrade:_.boolean().default(!1),project_id:_.string().nullable(),project_type:_.string().nullable(),billing_period:_.string().nullable(),kms_info:xi.nullable(),vcpu:_.number().nullable(),memory:_.number().nullable(),disk_size:_.number().nullable(),gateway_domain:_.string().nullable(),public_urls:_.array(Dx)}),Nx=_.object({id:_.number(),name:_.string(),status:_.string(),in_progress:_.boolean().optional().default(!1),teepod_id:_.number().nullable(),teepod:Vl.optional().nullable(),app_id:_.string(),vm_uuid:_.string().nullable(),instance_id:_.string().nullable(),vcpu:_.number(),memory:_.number(),disk_size:_.number(),base_image:_.string().nullable(),encrypted_env_pubkey:_.string().nullable(),listed:_.boolean().optional().default(!1),project_id:_.string().optional().nullable(),project_type:_.string().optional().nullable(),public_sysinfo:_.boolean().optional().default(!1),public_logs:_.boolean().optional().default(!1),dapp_dashboard_url:_.string().optional().nullable(),syslog_endpoint:_.string().optional().nullable(),kms_info:xi.optional().nullable(),contract_address:_.string().optional().nullable(),deployer_address:_.string().optional().nullable(),scheduled_delete_at:_.string().optional().nullable(),public_urls:_.array(Dx).optional().default([]),gateway_domain:_.string().optional().nullable()}),up=_.object({id:_.number(),name:_.string(),status:_.string(),teepod_id:_.number(),teepod:Vl.optional().nullable(),user_id:_.number().optional().nullable(),app_id:_.string(),vm_uuid:_.string().nullable(),instance_id:_.string().nullable(),app_url:_.string().optional().nullable(),base_image:_.string().nullable(),vcpu:_.number(),memory:_.number(),disk_size:_.number(),manifest_version:_.number().optional().nullable(),version:_.string().optional().nullable(),runner:_.string().optional().nullable(),docker_compose_file:_.string().optional().nullable(),features:_.array(_.string()).optional().nullable(),created_at:_.string(),encrypted_env_pubkey:_.string().nullable()}),Ln=_a.object({id:_a.string().optional(),uuid:_a.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:_a.string().optional(),instance_id:_a.string().optional()}),On=e=>e.refine(t=>{let r=t;return!!(r.id||r.uuid||r.app_id||r.instance_id)},{message:"One of id, uuid, app_id, or instance_id must be provided"}),dE=On(Ln),Re=dE.transform(e=>{let t;if(e.id)t=e.id;else if(e.uuid)t=e.uuid.replace(/-/g,"");else if(e.app_id)t=e.app_id.startsWith("app_")?e.app_id:`app_${e.app_id}`;else if(e.instance_id)t=e.instance_id.startsWith("instance_")?e.instance_id:`instance_${e.instance_id}`;else throw new Error("No valid identifier provided");return{cvmId:t}}),hE=Re,{action:gE,safeAction:Kt}=oe(Nx,async(e,t)=>{let{cvmId:r}=hE.parse(t);return await e.get(`/cvms/${r}`)}),yE=qt.object({page:qt.number().int().min(1).optional(),page_size:qt.number().int().min(1).optional(),node_id:qt.number().int().min(1).optional(),teepod_id:qt.number().int().min(1).optional(),user_id:qt.string().optional()}).strict(),bE=qt.object({items:qt.array(lE),total:qt.number(),page:qt.number(),page_size:qt.number(),pages:qt.number()}).strict(),{action:xE,safeAction:wi}=oe(bE,async(e,t)=>{let r=yE.parse(t??{});return await e.get("/cvms/paginated",{params:r})}),wE=W.object({app_id:W.string().nullable().optional(),app_env_encrypt_pubkey:W.string().nullable().optional(),compose_hash:W.string(),fmspc:W.string().nullable().optional(),device_id:W.string().nullable().optional(),os_image_hash:W.string().nullable().optional(),instance_type:W.string().nullable().optional(),teepod_id:W.number().nullable().optional(),node_id:W.number().nullable().optional(),kms_id:W.string().nullable().optional()}).passthrough().transform(e=>{if("teepod_id"in e&&e.teepod_id!==void 0){let{teepod_id:t,...r}=e;return{...r,node_id:t}}return e}),vE=W.object({node_id:W.number().optional(),teepod_id:W.number().optional(),region:W.string().optional(),name:W.string(),instance_type:W.string().default("tdx.small"),image:W.string().optional(),vcpu:W.number().optional(),memory:W.number().optional(),disk_size:W.number().optional(),compose_file:W.object({allowed_envs:W.array(W.string()).optional(),pre_launch_script:W.string().optional(),docker_compose_file:W.string().optional(),name:W.string().optional().default(""),kms_enabled:W.boolean().optional(),public_logs:W.boolean().optional(),public_sysinfo:W.boolean().optional(),gateway_enabled:W.boolean().optional(),tproxy_enabled:W.boolean().optional()}),listed:W.boolean().optional(),kms_id:W.string().optional(),kms:W.enum(["PHALA","ETHEREUM","BASE"]).optional(),kms_contract:W.string().optional(),env_keys:W.array(W.string()).optional()}).passthrough();function CE(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:EE,safeAction:ql}=oe(wE,async(e,t)=>{let r=vE.parse(t),o=CE(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)}),kE=Z.object({id:Z.number(),name:Z.string(),status:Z.string(),teepod_id:Z.number(),teepod:Z.object({id:Z.number(),name:Z.string()}).nullable(),user_id:Z.number().nullable(),app_id:Z.string().nullable(),vm_uuid:Z.string().nullable(),instance_id:Z.string().nullable(),app_url:Z.string().nullable(),base_image:Z.string().nullable(),vcpu:Z.number(),memory:Z.number(),disk_size:Z.number(),manifest_version:Z.number().nullable(),version:Z.string().nullable(),runner:Z.string().nullable(),docker_compose_file:Z.string().nullable(),features:Z.array(Z.string()).nullable(),created_at:Z.string(),encrypted_env_pubkey:Z.string().nullable().optional(),app_auth_contract_address:Z.string().nullable().optional(),deployer_address:Z.string().nullable().optional()}).passthrough(),CY=Z.object({encrypted_env:Z.string().optional().nullable(),app_id:Z.string(),compose_hash:Z.string(),kms_id:Z.string().optional(),contract_address:Z.string().optional(),deployer_address:Z.string().optional(),env_keys:Z.array(Z.string()).optional().nullable()}).passthrough(),{action:SE,safeAction:pp}=oe(kE,async(e,t)=>await e.post("/cvms",t)),zx=it.object({allowed_envs:it.array(it.string()).optional(),docker_compose_file:it.string(),features:it.array(it.string()).optional(),name:it.string().optional(),manifest_version:it.number().optional(),kms_enabled:it.boolean().optional(),public_logs:it.boolean().optional(),public_sysinfo:it.boolean().optional(),tproxy_enabled:it.boolean().optional(),pre_launch_script:it.string().optional(),env_pubkey:it.string().optional(),salt:it.string().optional().nullable()}).passthrough();function jl(e){return e==null?e:Array.isArray(e)?e.map(jl):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=jl(o),t},{}):e}function Lx(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 Ox(e){let t=jl(e),r=JSON.stringify(t,null,4);return r=r.replace(/": /g,'":'),r}function IE(e){let t=Lx(e),r=Ox(t);return AE.createHash("sha256").update(r,"utf8").digest("hex")}function _E(e){let t=e;return{...e,getHash:()=>IE(t),toString:()=>Ox(Lx(t))}}var TE=zx.transform(e=>_E(e)),PE=Re,{action:$E,safeAction:$a}=oe(TE,async(e,t)=>{let{cvmId:r}=PE.parse(t);return await e.get(`/cvms/${r}/compose_file`)}),RE=$r.object({id:$r.string().optional(),uuid:$r.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:$r.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:$r.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:zx,update_env_vars:$r.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})),BE=$r.object({app_id:$r.string().nullable(),device_id:$r.string().nullable(),compose_hash:$r.string(),kms_info:xi.nullable().optional()}).passthrough(),{action:FE,safeAction:Kl}=oe(BE,async(e,t)=>{let r=RE.parse(t);return await e.post(`/cvms/${r.cvmId}/compose_file/provision`,r.request)}),ME=ar.object({id:ar.string().optional(),uuid:ar.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:ar.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:ar.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:ar.string().min(1,"Compose hash is required"),encrypted_env:ar.string().optional(),env_keys:ar.array(ar.string()).optional(),update_env_vars:ar.boolean().optional().nullable()}).refine(e=>!!(e.id||e.uuid||e.app_id||e.instance_id),"One of id, uuid, app_id, or instance_id must be provided").transform(e=>({cvmId:e.id||e.uuid||e.app_id||e.instance_id,compose_hash:e.compose_hash,encrypted_env:e.encrypted_env,env_keys:e.env_keys,update_env_vars:!!e.update_env_vars,_raw:e})),DE=ar.any().transform(()=>{}),{action:NE,safeAction:Wl}=oe(DE,async(e,t)=>{let r=ME.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})}),zE=kx.object({kms_id:kx.string().min(1,"KMS ID is required")}),{action:LE,safeAction:OE}=oe(xi,async(e,t)=>{let r=zE.parse(t);return await e.get(`/kms/${r.kms_id}`)}),UE=Rr.object({page:Rr.number().int().min(1).optional(),page_size:Rr.number().int().min(1).optional(),is_onchain:Rr.boolean().optional()}).strict(),HE=Rr.object({items:Rr.array(xi),total:Rr.number(),page:Rr.number(),page_size:Rr.number(),pages:Rr.number()}).strict(),{action:jE,safeAction:Jl}=oe(HE,async(e,t)=>{let r=UE.parse(t??{});return await e.get("/kms",{params:r})}),GE=bi.object({kms:bi.string().min(1,"KMS ID or slug is required"),app_id:bi.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(),VE=bi.object({public_key:bi.string(),signature:bi.string()}).strict(),{action:qE,safeAction:Zl}=oe(VE,async(e,t)=>{let r=GE.parse(t);return await e.get(`/kms/${r.kms}/pubkey/${r.app_id}`)}),KE=Dn.object({counts:Dn.number().int().min(1).max(20).optional().default(1)}).strict(),WE=Dn.object({app_ids:Dn.array(Dn.object({app_id:Dn.string(),nonce:Dn.number().int().min(0)}))}).strict(),{action:JE,safeAction:ZE}=oe(WE,async(e,t)=>{let r=KE.parse(t??{}),o=new URLSearchParams;return o.append("counts",r.counts.toString()),await e.get(`/kms/phala/next_app_id?${o.toString()}`)}),YE=Re,{action:XE,safeAction:QE}=oe(up,async(e,t)=>{let{cvmId:r}=YE.parse(t);return await e.post(`/cvms/${r}/start`)}),ek=Re,{action:tk,safeAction:rk}=oe(up,async(e,t)=>{let{cvmId:r}=ek.parse(t);return await e.post(`/cvms/${r}/stop`)}),ok=Re,{action:nk,safeAction:sk}=oe(up,async(e,t)=>{let{cvmId:r}=ok.parse(t);return await e.post(`/cvms/${r}/shutdown`)}),ak=On(Ln.extend({force:ik.boolean().optional()})),{action:ck,safeAction:mk}=oe(up,async(e,t)=>{let r=ak.parse(t),{cvmId:o}=Re.parse(r),{force:n=!1}=r;return await e.post(`/cvms/${o}/restart`,{force:n})}),pk=Re,{action:fk,safeAction:lk}=oe(uk.void(),async(e,t)=>{let{cvmId:r}=pk.parse(t);await e.delete(`/cvms/${r}`)}),dk=re.object({name:re.string(),mount_point:re.string(),total_size:re.number(),free_size:re.number()}),hk=re.object({os_name:re.string(),os_version:re.string(),kernel_version:re.string(),cpu_model:re.string(),num_cpus:re.number(),total_memory:re.number(),available_memory:re.number(),used_memory:re.number(),free_memory:re.number(),total_swap:re.number(),used_swap:re.number(),free_swap:re.number(),uptime:re.number(),loadavg_one:re.number(),loadavg_five:re.number(),loadavg_fifteen:re.number(),disks:re.array(dk)}),gk=re.object({is_online:re.boolean(),is_public:re.boolean().default(!1),error:re.string().nullable(),sysinfo:hk.nullable(),status:re.string().nullable(),in_progress:re.boolean().default(!1),boot_progress:re.string().nullable(),boot_error:re.string().nullable()}),yk=Re,{action:bk,safeAction:xk}=oe(gk,async(e,t)=>{let{cvmId:r}=yk.parse(t);return await e.get(`/cvms/${r}/stats`)}),wk=Tr.object({app:Tr.string(),instance:Tr.string()}),vk=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(wk).nullable()}),Ck=Re,{action:Ek,safeAction:kk}=oe(vk,async(e,t)=>{let{cvmId:r}=Ck.parse(t);return await e.get(`/cvms/${r}/network`)}),Ak=Re,{action:Ik,safeAction:_k}=oe(Sk.string(),async(e,t)=>{let{cvmId:r}=Ak.parse(t);return await e.get(`/cvms/${r}/docker-compose.yml`)}),Tk=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()}),Pk=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(Tk).nullable()}),$k=Re,{action:Rk,safeAction:Bk}=oe(Pk,async(e,t)=>{let{cvmId:r}=$k.parse(t);return await e.get(`/cvms/${r}/composition`)}),Fk=O.object({common_name:O.string().nullable(),organization:O.string().nullable(),country:O.string().nullable(),state:O.string().nullable(),locality:O.string().nullable()}),Mk=O.object({common_name:O.string().nullable(),organization:O.string().nullable(),country:O.string().nullable()}),Dk=O.object({subject:Fk,issuer:Mk,serial_number:O.string(),not_before:O.string(),not_after:O.string(),version:O.string(),fingerprint:O.string(),signature_algorithm:O.string(),sans:O.array(O.string()).nullable(),is_ca:O.boolean(),position_in_chain:O.number().nullable(),quote:O.string().nullable(),app_id:O.string().nullable().optional(),cert_usage:O.string().nullable().optional()}),Nk=O.object({imr:O.number(),event_type:O.number(),digest:O.string(),event:O.string(),event_payload:O.string()}),zk=O.object({mrtd:O.string(),rootfs_hash:O.string().nullable().optional(),rtmr0:O.string(),rtmr1:O.string(),rtmr2:O.string(),rtmr3:O.string(),event_log:O.array(Nk),app_compose:O.string()}),Lk=O.object({name:O.string().nullable(),is_online:O.boolean(),is_public:O.boolean().default(!0),error:O.string().nullable(),app_certificates:O.array(Dk).nullable(),tcb_info:zk.nullable(),compose_file:O.string().nullable()}),Ok=Re,{action:Uk,safeAction:Hk}=oe(Lk,async(e,t)=>{let{cvmId:r}=Ok.parse(t);return await e.get(`/cvms/${r}/attestation`)}),jk=On(Ln.extend({vcpu:yi.number().optional(),memory:yi.number().optional(),disk_size:yi.number().optional(),instance_type:yi.string().optional(),allow_restart:yi.boolean().optional()})),{action:Gk,safeAction:Vk}=oe(yi.void(),async(e,t)=>{let r=jk.parse(t),{cvmId:o}=Re.parse(r),{...n}=r;await e.patch(`/cvms/${o}/resources`,n)}),qk=On(Ln.extend({public_sysinfo:Sx.boolean(),public_logs:Sx.boolean()})),{action:Kk,safeAction:Wk}=oe(Nx,async(e,t)=>{let r=qk.parse(t),{cvmId:o}=Re.parse(r),{public_sysinfo:n,public_logs:s}=r;return await e.patch(`/cvms/${o}/visibility`,{public_sysinfo:n,public_logs:s})}),Ax=rt.object({name:rt.string(),os_image_hash:rt.string().nullable(),is_current:rt.boolean()}),Jk=rt.object({version:rt.union([rt.tuple([rt.number(),rt.number(),rt.number(),rt.number()]),rt.tuple([rt.number(),rt.number(),rt.number()])]),prod:Ax.nullable(),dev:Ax.nullable()}),Zk=rt.array(Jk),Yk=Re,{action:Xk,safeAction:Qk}=oe(Zk,async(e,t)=>{let{cvmId:r}=Yk.parse(t);return await e.get(`/cvms/${r}/available-os-images`)}),eS=On(Ln.extend({os_image_name:Ux.string().min(1,"OS image name is required")})),{action:tS,safeAction:rS}=oe(Ux.void(),async(e,t)=>{let r=eS.parse(t),{cvmId:o}=Re.parse(r),{os_image_name:n}=r;await e.patch(`/cvms/${o}/os-image`,{os_image_name:n})}),oS=_r.object({id:_r.string().optional(),instance_id:_r.string().optional(),name:_r.string(),status:_r.string(),uptime:_r.string().optional(),exited_at:_r.string().optional(),boot_progress:_r.string().optional(),boot_error:_r.string().optional(),shutdown_progress:_r.string().optional()}),nS=Re,{action:sS,safeAction:iS}=oe(oS,async(e,t)=>{let{cvmId:r}=nS.parse(t);return await e.get(`/cvms/${r}/state`)});function yt(e={}){let t=U8(e),r={getCurrentUser:j8,safeGetCurrentUser:zn,getAvailableNodes:Z8,safeGetAvailableNodes:Pa,listAllInstanceTypeFamilies:tE,safeListAllInstanceTypeFamilies:rE,listFamilyInstanceTypes:oE,safeListFamilyInstanceTypes:nE,listWorkspaces:aE,safeListWorkspaces:cE,getWorkspace:mE,safeGetWorkspace:uE,getCvmInfo:gE,safeGetCvmInfo:Kt,getCvmList:xE,safeGetCvmList:wi,provisionCvm:EE,safeProvisionCvm:ql,commitCvmProvision:SE,safeCommitCvmProvision:pp,getCvmComposeFile:$E,safeGetCvmComposeFile:$a,provisionCvmComposeFileUpdate:FE,safeProvisionCvmComposeFileUpdate:Kl,commitCvmComposeFileUpdate:NE,safeCommitCvmComposeFileUpdate:Wl,startCvm:XE,safeStartCvm:QE,stopCvm:tk,safeStopCvm:rk,shutdownCvm:nk,safeShutdownCvm:sk,restartCvm:ck,safeRestartCvm:mk,deleteCvm:fk,safeDeleteCvm:lk,getCvmStats:bk,safeGetCvmStats:xk,getCvmNetwork:Ek,safeGetCvmNetwork:kk,getCvmDockerCompose:Ik,safeGetCvmDockerCompose:_k,getCvmContainersStats:Rk,safeGetCvmContainersStats:Bk,getCvmAttestation:Uk,safeGetCvmAttestation:Hk,updateCvmResources:Gk,safeUpdateCvmResources:Vk,updateCvmVisibility:Kk,safeUpdateCvmVisibility:Wk,getAvailableOsImages:Xk,safeGetAvailableOsImages:Qk,updateOsImage:tS,safeUpdateOsImage:rS,getKmsInfo:LE,safeGetKmsInfo:OE,getKmsList:jE,safeGetKmsList:Jl,getAppEnvEncryptPubKey:qE,safeGetAppEnvEncryptPubKey:Zl,nextAppIds:JE,safeNextAppIds:ZE,getCvmState:sS,safeGetCvmState:iS};return t.extend(r)}function mp(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 Hx=class extends Error{constructor(e,t,r){super(e),this.code=t,this.details=r,this.name="NetworkError"}};var Pr=class extends Error{constructor(e,t,r){super(e),this.hash=t,this.details=r,this.name="TransactionError"}};async function aS(e,t){try{let r=await e.walletClient.getChainId();return{isCorrectNetwork:r===t,currentChainId:r}}catch(r){throw new Hx(`Failed to check network status: ${r instanceof Error?r.message:"Unknown error"}`,"NETWORK_CHECK_FAILED",r)}}async function cS(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 Hx(`Failed to check balance: ${o instanceof Error?o.message:"Unknown error"}`,"BALANCE_CHECK_FAILED",o)}}async function mS(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 Pr(`Transaction confirmation timeout after ${o}ms`,t));return}setTimeout(m,n);return}a(u)}else{if(Date.now()-i>=o){c(new Pr(`Transaction receipt timeout after ${o}ms`,t));return}setTimeout(m,n)}}catch(u){if(Date.now()-i>=o){c(new Pr(`Transaction receipt timeout after ${o}ms`,t,u));return}setTimeout(m,n)}};m()})}async function jx(e,t){let{targetChainId:r,minBalance:o,requiredAddress:n}=t,s=await aS(e,r),i=await cS(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 Yl(){let e={state:"idle"},t,r,o=a=>{e={...e,...a}},n=()=>{t&&(clearTimeout(t),t=void 0),r&&(r.abort(),r=void 0),e={state:"idle"}},s=()=>{r&&r.abort(),t&&(clearTimeout(t),t=void 0),o({state:"error",aborted:!0,error:"Transaction aborted by user"})};return{get status(){return{...e}},get isIdle(){return e.state==="idle"},get isSubmitting(){return e.state==="submitting"},get isPending(){return e.state==="pending"},get isSuccess(){return e.state==="success"},get isError(){return e.state==="error"},get isTimeout(){return e.state==="timeout"},get isAborted(){return e.aborted===!0},get isComplete(){return["success","error","timeout"].includes(e.state)},abort:s,reset:n,execute:async(a,c,m,u={})=>{let{timeout:f=6e4,confirmations:p=1,onSubmitted:d,onConfirmed:h,onError:g,signal:b}=u;try{if(n(),r=new AbortController,b){if(b.aborted)throw new Pr("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 Pr("Transaction aborted");let y=await a(c,...m);if(r.signal.aborted)throw new Pr("Transaction aborted after submission",y);o({state:"pending",hash:y,submitTime:Date.now()}),d?.(y),f>0&&(t=setTimeout(()=>{e.state==="pending"&&!r?.signal.aborted&&o({state:"timeout",error:`Transaction timeout after ${f}ms`})},f));let v=await Promise.race([mS(c.publicClient,y,{timeout:f,confirmations:p}),new Promise((k,A)=>{r?.signal.addEventListener("abort",()=>{A(new Pr("Transaction aborted while waiting for receipt",y))})})]);t&&(clearTimeout(t),t=void 0);let C=v.status==="success";if(o({state:C?"success":"error",receipt:v,confirmTime:Date.now(),error:C?void 0:"Transaction failed on-chain"}),C)h?.(v);else{let k=new Pr("Transaction failed on-chain",y,v);throw g?.(k,y),k}return{hash:y,receipt:v,success:C}}catch(y){let v=y instanceof Pr?y:new Pr(`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 Gx(e,t,r,o={},n={}){let{maxRetries:s=3,initialDelay:i=1e3,maxDelay:a=1e4,backoffFactor:c=2,retryCondition:m=()=>!0}=n,u,f=i;for(let p=0;p<=s;p++)try{return await Yl().execute(e,t,r,o)}catch(d){if(u=d instanceof Error?d:new Error(String(d)),p===s||!m(u))break;await new Promise(h=>setTimeout(h,f)),f=Math.min(f*c,a)}throw u}var Vx=[{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}],uS=$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(),pS=uS.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"]}),fS=$e.object({appId:$e.string(),appAuthAddress:$e.string(),deployer:$e.string(),transactionHash:$e.string(),blockNumber:$e.bigint().optional(),gasUsed:$e.bigint().optional()}).passthrough();function lS(e,t,r){try{let o=sr({abi:Vx,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 dS(e,t){let r=pS.parse(e),{chain:o,rpcUrl:n,kmsContractAddress:s,privateKey:i,walletClient:a,publicClient:c,allowAnyDevice:m=!1,deviceId:u="0000000000000000000000000000000000000000000000000000000000000000",composeHash:f="0000000000000000000000000000000000000000000000000000000000000000",disableUpgrades:p=!1,skipPrerequisiteChecks:d=!1,minBalance:h,timeout:g=12e4,retryOptions:b,signal:y,onTransactionStateChange:v,onTransactionSubmitted:C,onTransactionConfirmed:k}=r,A="0000000000000000000000000000000000000000000000000000000000000000",T=u!==A&&u!=="0x"+A?!1:m,B,z,D,H;if(i){let ue=Ea(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=Fn({chain:o,transport:Qr(n)})}if(!o)throw new Error("Chain required for walletClient");z=Ca({account:ue,chain:o,transport:Qr(n)}),D=ue.address,H=o.id}else if(a){if(typeof a!="object"||!a)throw new Error("walletClient is invalid");if(z=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=Fn({chain:o,transport:Qr(n)})}if(!z.account?.address)throw new Error("WalletClient needs an account");D=z.account.address,o?H=o.id:H=await z.getChainId()}else throw new Error("Need privateKey or walletClient");let V={publicClient:B,walletClient:z,address:D,chainId:H},q=Yl();if(v&&typeof v=="function"){let ue=()=>{v(q.status),q.isComplete||setTimeout(ue,100)};setTimeout(ue,10)}if(!d){let ue={targetChainId:H,minBalance:h?Rn(h):Rn("0.001")},ao=await jx(V,ue);if(!ao.networkValid)throw new Error(`Wrong network. Need chain ${ue.targetChainId}, got ${ao.details.currentChainId}`);if(!ao.balanceValid){let Jt=Number(ue.minBalance)/1e18,Mp=Number(ao.details.balance)/1e18;throw new Error(`Not enough ETH. Need ${Jt}, have ${Mp.toFixed(6)}`)}}let me=mp(u),_e=mp(f),qe=`0x${me.slice(2).padEnd(64,"0")}`,Tt=`0x${_e.slice(2).padEnd(64,"0")}`,L=async ue=>{try{let Jt=await ue.publicClient.getCode({address:s});if(!Jt||Jt==="0x")throw new Error(`No contract at ${s}`)}catch(Jt){if(Jt instanceof Error&&Jt.message.includes("No contract at"))throw Jt}let ao={address:s,abi:Vx,functionName:"deployAndRegisterApp",args:[ue.address,p,T,qe,Tt],account:ue.walletClient.account||ue.address,chain:o||null};return await ue.walletClient.writeContract(ao)},Ae=b?await Gx(L,V,[],{timeout:g,confirmations:1,onSubmitted:C,onConfirmed:k,signal:y},b):await q.execute(L,V,[],{timeout:g,confirmations:1,onSubmitted:C,onConfirmed:k,signal:y}),ur=lS(Ae.receipt,D,s);return t?.schema===!1?ur:(t?.schema||fS).parse(ur)}async function qx(e,t){try{return{success:!0,data:await dS(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 Kx=[{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}],hS=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"]}),gS=Ce.object({composeHash:Ce.string(),appId:Ce.string(),transactionHash:Ce.string(),blockNumber:Ce.bigint().optional(),gasUsed:Ce.bigint().optional()}).passthrough();function yS(e,t,r,o){console.log(e.logs);try{let n=sr({abi:Kx,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 bS(e,t){let r=hS.parse(e),{chain:o,rpcUrl:n,appId:s,composeHash:i,privateKey:a,walletClient:c,publicClient:m,timeout:u=12e4,retryOptions:f,signal:p,onTransactionStateChange:d,onTransactionSubmitted:h,onTransactionConfirmed:g,skipPrerequisiteChecks:b=!1,minBalance:y}=r,v,C,k,A,P=s.startsWith("0x")?s:`0x${s}`;if(a){let q=Ea(a);if(m)v=m;else{if(!o)throw new Error("Chain required when creating publicClient");v=Fn({chain:o,transport:Qr(n)})}if(!o)throw new Error("Chain required when creating walletClient");C=Ca({account:q,chain:o,transport:Qr(n)}),k=q.address,A=o.id}else if(c){if(C=c,m)v=m;else{if(!o)throw new Error("Chain required when creating publicClient");v=Fn({chain:o,transport:Qr(n)})}if(!C.account?.address)throw new Error("WalletClient must have an account with address");k=C.account.address,A=o?o.id:await C.getChainId()}else throw new Error("Either privateKey or walletClient must be provided");let T={publicClient:v,walletClient:C,address:k,chainId:A},B=Yl();if(d&&typeof d=="function"){let q=()=>{d(B.status),B.isComplete||setTimeout(q,100)};setTimeout(q,10)}if(!b){let q={targetChainId:A,minBalance:y?Rn(y):Rn("0.001")},me=await jx(T,q);if(!me.networkValid)throw new Error(`Network mismatch: Expected chain ${q.targetChainId}, but wallet is on chain ${me.details.currentChainId}`);if(!me.balanceValid){let _e=Number(q.minBalance)/1e18,qe=Number(me.details.balance)/1e18;throw new Error(`Insufficient balance: Required ${_e} ETH, but account has ${qe.toFixed(6)} ETH`)}}let z=async q=>await q.walletClient.writeContract({address:P,abi:Kx,functionName:"addComposeHash",args:[mp(i)],account:q.walletClient.account||q.address,chain:o||null}),D=f?await Gx(z,T,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:p},f):await B.execute(z,T,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:p}),H=yS(D.receipt,mp(i),P,s);return t?.schema===!1?H:(t?.schema||gS).parse(H)}async function Wx(e,t){try{return{success:!0,data:await bS(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 QY=gi.object({target:gi.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),interval:gi.number().min(5).max(30).default(5).describe("Polling interval in seconds"),timeout:gi.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),maxRetries:gi.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),retryDelay:gi.number().min(0).default(5e3).describe("Delay between retries in milliseconds")});var xS=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function wS(e){let t={},r=e.toString();r=r.replace(/\r\n?/gm,`
70
- `);let o;for(;(o=xS.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 Jx(e){let t=wS(e),r=[];for(let[o,n]of Object.entries(t))r.push({key:o,value:n});return r}import at from"chalk";import ES from"ora";function kS(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 SS(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 Zx(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(...SS(o,t));continue}let n=kS(o,t);r.push(...n)}if(r.length===0){let o=e.trim();r.push(o)}return r}var l={error:(e,...t)=>{console.error(at.red("\u2717"),at.red(e),...t)},warn:(e,...t)=>{console.log(at.yellow("\u26A0"),at.yellow(e),...t)},info:(e,...t)=>{console.log(at.blue("\u2139"),at.blue(e),...t)},success:(e,...t)=>{console.log(at.green("\u2713"),at.green(e),...t)},debug:(e,...t)=>{process.env.DEBUG&&console.log(at.gray("\u{1F50D}"),at.gray(e),...t)},table:(e,t)=>{if(e.length===0){console.log(at.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(at.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(at.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)=>{let{borderStyle:r="single",keyColor:o=at.blue,valueColor:n=at.white,maxWidth:s=process.stdout.columns||80}=t||{},a={single:{topLeft:"\u250C",topRight:"\u2510",bottomLeft:"\u2514",bottomRight:"\u2518",horizontal:"\u2500",vertical:"\u2502",cross:"\u253C",leftT:"\u251C",rightT:"\u2524"},double:{topLeft:"\u2554",topRight:"\u2557",bottomLeft:"\u255A",bottomRight:"\u255D",horizontal:"\u2550",vertical:"\u2551",cross:"\u256C",leftT:"\u2560",rightT:"\u2563"},rounded:{topLeft:"\u256D",topRight:"\u256E",bottomLeft:"\u2570",bottomRight:"\u256F",horizontal:"\u2500",vertical:"\u2502",cross:"\u253C",leftT:"\u251C",rightT:"\u2524"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomLeft:"\u2517",bottomRight:"\u251B",horizontal:"\u2501",vertical:"\u2503",cross:"\u254B",leftT:"\u2523",rightT:"\u252B"},none:{topLeft:"",topRight:"",bottomLeft:"",bottomRight:"",horizontal:"",vertical:"",cross:"",leftT:"",rightT:""}}[r],c=0,m=0;for(let[h,g]of Object.entries(e)){c=Math.max(c,h.length);let b=String(g??"");m=Math.max(m,b.length)}let u=4,f=1,p=s-u-f;if(c+m>p){let h=c/(c+m);c=Math.floor(p*h),m=p-c}let d=c+m+u+f;r!=="none"&&console.log(a.topLeft+a.horizontal.repeat(d-2)+a.topRight);for(let[h,g]of Object.entries(e)){let b=h,y=String(g??""),v=Zx(b,c),C=Zx(y,m),k=Math.max(v.length,C.length);for(;v.length<k;)v.push("");for(;C.length<k;)C.push("");for(let A=0;A<k;A++){let P=v[A].padEnd(c),T=C[A].padEnd(m);console.log(r!=="none"?`${a.vertical} ${o(P)} ${a.vertical} ${n(T)} ${a.vertical}`:`${o(P)} : ${n(T)}`)}}r!=="none"&&console.log(a.bottomLeft+a.horizontal.repeat(d-2)+a.bottomRight)},break:()=>{console.log()},startSpinner:e=>{let t=ES(e).start();return{stop:(r=!0,o)=>{o&&(t.text=o),r?t.succeed():t.fail()}}}};var _S=On(Ln.extend({api_version:Yx.enum(Ta)})),Ql="phala.toml";function Xx(){return AS.join(process.cwd(),Ql)}function TS(){return Xl.existsSync(Xx())}function PS(){let e=Xx();if(!Xl.existsSync(e))throw new Error(`Project configuration file not found: ${Ql}
73
- Run 'phala init' to create one.`);try{let t=Xl.readFileSync(e,"utf8"),r=IS.parse(t),o=_S.parse(r);if(o.id||o.uuid||o.app_id||o.instance_id){let{cvmId:n}=Re.parse(o);return{...o,cvm_id:n}}return o}catch(t){if(t instanceof Yx.ZodError){let r=t.issues.map(o=>` - ${o.path.join(".")}: ${o.message}`).join(`
69
+ `,h,g,_x(p.status,p.statusText,p.headers,p._data))}c&&c({request:f,response:p,options:d})}})}get raw(){return this.fetchInstance}on(e,t){this.emitter.on(e,t)}off(e,t){this.emitter.off(e,t)}once(e,t){let r=o=>{t(o),this.emitter.off(e,r)};this.emitter.on(e,r)}async get(e,t){try{return await this.fetchInstance(e,{...t,method:"GET"})}catch(r){let o=this.convertToRequestError(r);throw this.emitError(o)}}async post(e,t,r){try{return await this.fetchInstance(e,{...r,method:"POST",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async put(e,t,r){try{return await this.fetchInstance(e,{...r,method:"PUT",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async patch(e,t,r){try{return await this.fetchInstance(e,{...r,method:"PATCH",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async delete(e,t){try{return await this.fetchInstance(e,{...t,method:"DELETE"})}catch(r){let o=this.convertToRequestError(r);throw this.emitError(o)}}convertToRequestError(e){return e&&typeof e=="object"&&"data"in e?ql.fromFetchError(e):e instanceof Error?ql.fromError(e):new ql("Unknown error occurred",{detail:"Unknown error occurred"})}emitError(e){let t=j8(e);return this.emitter.emit("error",t),t}async safeRequest(e){try{return{success:!0,data:await e()}}catch(t){if(t instanceof zn)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 W8(e={}){return new K8(e)}function Dx(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 Nx(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 zx(e,t){function r(i,a){return o(i,a)}async function o(i,a){Dx(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=Nx(a);if(c)return c;let m=await(async()=>{try{return{success:!0,data:await t(i)}}catch(f){return f&&typeof f=="object"&&"status"in f?{success:!1,error:f}:f&&typeof f=="object"&&"issues"in f?{success:!1,error:f}:{success:!1,error:{name:"Error",message:f instanceof Error?f.message:String(f)}}}})();return m.success?a?.schema===!1?{success:!0,data:m.data}:(a?.schema||e).safeParse(m.data):m}return{action:r,safeAction:n}}function re(e,t){function r(i,...a){let[c,m]=a;return o(i,c,m)}async function o(i,a,c){Dx(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=Nx(c);if(m)return m;let u=await(async()=>{try{return{success:!0,data:await t(i,a)}}catch(p){return p&&typeof p=="object"&&"status"in p?{success:!1,error:p}:p&&typeof p=="object"&&"issues"in p?{success:!1,error:p}:{success:!1,error:{name:"Error",message:p instanceof Error?p.message:String(p)}}}})();return u.success?c?.schema===!1?{success:!0,data:u.data}:(c?.schema||e).safeParse(u.data):u}return{action:r,safeAction:n}}var J8=sn.object({username:sn.string(),email:sn.string(),credits:sn.number(),granted_credits:sn.number(),avatar:sn.string(),team_name:sn.string(),team_tier:sn.string()}).passthrough(),{action:Z8,safeAction:Ln}=zx(J8,async e=>await e.get("/auth/me")),Y8={[Bm.id]:Bm,[ji.id]:ji,[zc.id]:zc},X8=an.object({id:an.string(),slug:an.string().nullable(),url:an.string(),version:an.string(),chain_id:an.number().nullable(),kms_contract_address:an.string().nullable().transform(e=>e),gateway_app_id:an.string().nullable().transform(e=>e)}).passthrough(),wi=X8.transform(e=>{if(e.chain_id!=null){let t=Y8[e.chain_id];if(t)return{...e,chain:t}}return e}),Q8=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(),eE=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(Q8),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(),tE=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(),rE=K.object({tier:K.string(),capacity:tE,nodes:K.array(eE),kms_list:K.array(wi)}).passthrough(),{action:oE,safeAction:$a}=zx(rE,async e=>await e.get("/teepods/available")),Lx=Ee.object({id:Ee.string(),name:Ee.string(),description:Ee.string(),vcpu:Ee.number(),memory_mb:Ee.number(),hourly_rate:Ee.string(),requires_gpu:Ee.boolean(),default_disk_size_gb:Ee.number().default(20),family:Ee.string().nullable()}).passthrough(),nE=Ee.object({name:Ee.string(),items:Ee.array(Lx),total:Ee.number()}).strict(),sE=Ee.object({result:Ee.array(nE)}).strict(),iE=Ee.object({items:Ee.array(Lx),total:Ee.number(),family:Ee.string()}).strict(),aE=Ee.object({family:Ee.string()}).strict(),{action:cE,safeAction:mE}=re(sE,async e=>await e.get("/instance-types")),{action:uE,safeAction:pE}=re(iE,async(e,t)=>{let r=aE.parse(t);return await e.get(`/instance-types/${r.family}`)}),Ox=_t.object({id:_t.string(),name:_t.string(),slug:_t.string().nullable(),tier:_t.string(),role:_t.string(),created_at:_t.string()}).passthrough(),fE=_t.object({has_more:_t.boolean(),next_cursor:_t.string().nullable(),total:_t.number().nullable()}).passthrough(),lE=_t.object({data:_t.array(Ox),pagination:fE}).passthrough(),{action:dE,safeAction:hE}=re(lE,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:gE,safeAction:yE}=re(Ox,async(e,t)=>await e.get(`/workspaces/${t}`)),bE=P.object({id:P.string(),name:P.string(),status:P.string(),uptime:P.string(),app_url:P.string().nullable(),app_id:P.string(),instance_id:P.string().nullable(),configuration:P.any().optional(),exited_at:P.string().nullable(),boot_progress:P.string().nullable(),boot_error:P.string().nullable(),shutdown_progress:P.string().nullable(),image_version:P.string().nullable()}),xE=P.object({id:P.number(),username:P.string()}),Jl=P.object({id:P.number(),name:P.string(),region_identifier:P.string().nullable().optional()}),Ux=P.object({app:P.string(),instance:P.string()}),wE=P.object({hosted:bE,name:P.string(),managed_user:xE.nullable(),node:Jl.nullable(),listed:P.boolean().default(!1),status:P.string(),in_progress:P.boolean().default(!1),dapp_dashboard_url:P.string().nullable(),syslog_endpoint:P.string().nullable(),allow_upgrade:P.boolean().default(!1),project_id:P.string().nullable(),project_type:P.string().nullable(),billing_period:P.string().nullable(),kms_info:wi.nullable(),vcpu:P.number().nullable(),memory:P.number().nullable(),disk_size:P.number().nullable(),gateway_domain:P.string().nullable(),public_urls:P.array(Ux)}),Hx=P.object({id:P.number(),name:P.string(),status:P.string(),in_progress:P.boolean().optional().default(!1),teepod_id:P.number().nullable(),teepod:Jl.optional().nullable(),app_id:P.string(),vm_uuid:P.string().nullable(),instance_id:P.string().nullable(),vcpu:P.number(),memory:P.number(),disk_size:P.number(),base_image:P.string().nullable(),encrypted_env_pubkey:P.string().nullable(),listed:P.boolean().optional().default(!1),project_id:P.string().optional().nullable(),project_type:P.string().optional().nullable(),public_sysinfo:P.boolean().optional().default(!1),public_logs:P.boolean().optional().default(!1),dapp_dashboard_url:P.string().optional().nullable(),syslog_endpoint:P.string().optional().nullable(),kms_info:wi.optional().nullable(),contract_address:P.string().optional().nullable(),deployer_address:P.string().optional().nullable(),scheduled_delete_at:P.string().optional().nullable(),public_urls:P.array(Ux).optional().default([]),gateway_domain:P.string().optional().nullable()}),fp=P.object({id:P.number(),name:P.string(),status:P.string(),teepod_id:P.number(),teepod:Jl.optional().nullable(),user_id:P.number().optional().nullable(),app_id:P.string(),vm_uuid:P.string().nullable(),instance_id:P.string().nullable(),app_url:P.string().optional().nullable(),base_image:P.string().nullable(),vcpu:P.number(),memory:P.number(),disk_size:P.number(),manifest_version:P.number().optional().nullable(),version:P.string().optional().nullable(),runner:P.string().optional().nullable(),docker_compose_file:P.string().optional().nullable(),features:P.array(P.string()).optional().nullable(),created_at:P.string(),encrypted_env_pubkey:P.string().nullable()}),On=Pa.object({id:Pa.string().optional(),uuid:Pa.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:Pa.string().optional(),instance_id:Pa.string().optional()}),Un=e=>e.refine(t=>{let r=t;return!!(r.id||r.uuid||r.app_id||r.instance_id)},{message:"One of id, uuid, app_id, or instance_id must be provided"}),vE=Un(On),$e=vE.transform(e=>{let t;if(e.id)t=e.id;else if(e.uuid)t=e.uuid.replace(/-/g,"");else if(e.app_id)t=e.app_id.startsWith("app_")?e.app_id:`app_${e.app_id}`;else if(e.instance_id)t=e.instance_id.startsWith("instance_")?e.instance_id:`instance_${e.instance_id}`;else throw new Error("No valid identifier provided");return{cvmId:t}}),CE=$e,{action:EE,safeAction:Wt}=re(Hx,async(e,t)=>{let{cvmId:r}=CE.parse(t);return await e.get(`/cvms/${r}`)}),kE=Kt.object({page:Kt.number().int().min(1).optional(),page_size:Kt.number().int().min(1).optional(),node_id:Kt.number().int().min(1).optional(),teepod_id:Kt.number().int().min(1).optional(),user_id:Kt.string().optional()}).strict(),SE=Kt.object({items:Kt.array(wE),total:Kt.number(),page:Kt.number(),page_size:Kt.number(),pages:Kt.number()}).strict(),{action:AE,safeAction:vi}=re(SE,async(e,t)=>{let r=kE.parse(t??{});return await e.get("/cvms/paginated",{params:r})}),IE=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}),_E=q.object({node_id:q.number().optional(),teepod_id:q.number().optional(),region:q.string().optional(),name:q.string(),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 PE(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:TE,safeAction:Zl}=re(IE,async(e,t)=>{let r=_E.parse(t),o=PE(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)}),$E=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(),IY=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:RE,safeAction:lp}=re($E,async(e,t)=>await e.post("/cvms",t)),jx=it.object({allowed_envs:it.array(it.string()).optional(),docker_compose_file:it.string(),features:it.array(it.string()).optional(),name:it.string().optional(),manifest_version:it.number().optional(),kms_enabled:it.boolean().optional(),public_logs:it.boolean().optional(),public_sysinfo:it.boolean().optional(),tproxy_enabled:it.boolean().optional(),pre_launch_script:it.string().optional(),env_pubkey:it.string().optional(),salt:it.string().optional().nullable()}).passthrough();function Kl(e){return e==null?e:Array.isArray(e)?e.map(Kl):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=Kl(o),t},{}):e}function Gx(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 Vx(e){let t=Kl(e),r=JSON.stringify(t,null,4);return r=r.replace(/": /g,'":'),r}function FE(e){let t=Gx(e),r=Vx(t);return BE.createHash("sha256").update(r,"utf8").digest("hex")}function ME(e){let t=e;return{...e,getHash:()=>FE(t),toString:()=>Vx(Gx(t))}}var DE=jx.transform(e=>ME(e)),NE=$e,{action:zE,safeAction:Ra}=re(DE,async(e,t)=>{let{cvmId:r}=NE.parse(t);return await e.get(`/cvms/${r}/compose_file`)}),LE=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:jx,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})),OE=Rr.object({app_id:Rr.string().nullable(),device_id:Rr.string().nullable(),compose_hash:Rr.string(),kms_info:wi.nullable().optional()}).passthrough(),{action:UE,safeAction:Yl}=re(OE,async(e,t)=>{let r=LE.parse(t);return await e.post(`/cvms/${r.cvmId}/compose_file/provision`,r.request)}),HE=cr.object({id:cr.string().optional(),uuid:cr.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:cr.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:cr.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:cr.string().min(1,"Compose hash is required"),encrypted_env:cr.string().optional(),env_keys:cr.array(cr.string()).optional(),update_env_vars:cr.boolean().optional().nullable()}).refine(e=>!!(e.id||e.uuid||e.app_id||e.instance_id),"One of id, uuid, app_id, or instance_id must be provided").transform(e=>({cvmId:e.id||e.uuid||e.app_id||e.instance_id,compose_hash:e.compose_hash,encrypted_env:e.encrypted_env,env_keys:e.env_keys,update_env_vars:!!e.update_env_vars,_raw:e})),jE=cr.any().transform(()=>{}),{action:GE,safeAction:Xl}=re(jE,async(e,t)=>{let r=HE.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})}),VE=Px.object({kms_id:Px.string().min(1,"KMS ID is required")}),{action:qE,safeAction:KE}=re(wi,async(e,t)=>{let r=VE.parse(t);return await e.get(`/kms/${r.kms_id}`)}),WE=Br.object({page:Br.number().int().min(1).optional(),page_size:Br.number().int().min(1).optional(),is_onchain:Br.boolean().optional()}).strict(),JE=Br.object({items:Br.array(wi),total:Br.number(),page:Br.number(),page_size:Br.number(),pages:Br.number()}).strict(),{action:ZE,safeAction:Ql}=re(JE,async(e,t)=>{let r=WE.parse(t??{});return await e.get("/kms",{params:r})}),YE=xi.object({kms:xi.string().min(1,"KMS ID or slug is required"),app_id:xi.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(),XE=xi.object({public_key:xi.string(),signature:xi.string()}).strict(),{action:QE,safeAction:ed}=re(XE,async(e,t)=>{let r=YE.parse(t);return await e.get(`/kms/${r.kms}/pubkey/${r.app_id}`)}),ek=Nn.object({counts:Nn.number().int().min(1).max(20).optional().default(1)}).strict(),tk=Nn.object({app_ids:Nn.array(Nn.object({app_id:Nn.string(),nonce:Nn.number().int().min(0)}))}).strict(),{action:rk,safeAction:ok}=re(tk,async(e,t)=>{let r=ek.parse(t??{}),o=new URLSearchParams;return o.append("counts",r.counts.toString()),await e.get(`/kms/phala/next_app_id?${o.toString()}`)}),nk=$e,{action:sk,safeAction:ik}=re(fp,async(e,t)=>{let{cvmId:r}=nk.parse(t);return await e.post(`/cvms/${r}/start`)}),ak=$e,{action:ck,safeAction:mk}=re(fp,async(e,t)=>{let{cvmId:r}=ak.parse(t);return await e.post(`/cvms/${r}/stop`)}),uk=$e,{action:pk,safeAction:fk}=re(fp,async(e,t)=>{let{cvmId:r}=uk.parse(t);return await e.post(`/cvms/${r}/shutdown`)}),dk=Un(On.extend({force:lk.boolean().optional()})),{action:hk,safeAction:gk}=re(fp,async(e,t)=>{let r=dk.parse(t),{cvmId:o}=$e.parse(r),{force:n=!1}=r;return await e.post(`/cvms/${o}/restart`,{force:n})}),bk=$e,{action:xk,safeAction:wk}=re(yk.void(),async(e,t)=>{let{cvmId:r}=bk.parse(t);await e.delete(`/cvms/${r}`)}),vk=te.object({name:te.string(),mount_point:te.string(),total_size:te.number(),free_size:te.number()}),Ck=te.object({os_name:te.string(),os_version:te.string(),kernel_version:te.string(),cpu_model:te.string(),num_cpus:te.number(),total_memory:te.number(),available_memory:te.number(),used_memory:te.number(),free_memory:te.number(),total_swap:te.number(),used_swap:te.number(),free_swap:te.number(),uptime:te.number(),loadavg_one:te.number(),loadavg_five:te.number(),loadavg_fifteen:te.number(),disks:te.array(vk)}),Ek=te.object({is_online:te.boolean(),is_public:te.boolean().default(!1),error:te.string().nullable(),sysinfo:Ck.nullable(),status:te.string().nullable(),in_progress:te.boolean().default(!1),boot_progress:te.string().nullable(),boot_error:te.string().nullable()}),kk=$e,{action:Sk,safeAction:Ak}=re(Ek,async(e,t)=>{let{cvmId:r}=kk.parse(t);return await e.get(`/cvms/${r}/stats`)}),Ik=Tr.object({app:Tr.string(),instance:Tr.string()}),_k=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(Ik).nullable()}),Pk=$e,{action:Tk,safeAction:$k}=re(_k,async(e,t)=>{let{cvmId:r}=Pk.parse(t);return await e.get(`/cvms/${r}/network`)}),Bk=$e,{action:Fk,safeAction:Mk}=re(Rk.string(),async(e,t)=>{let{cvmId:r}=Bk.parse(t);return await e.get(`/cvms/${r}/docker-compose.yml`)}),Dk=Ce.object({id:Ce.string(),names:Ce.array(Ce.string()),image:Ce.string(),image_id:Ce.string(),command:Ce.string().nullable().optional(),created:Ce.number(),state:Ce.string(),status:Ce.string(),log_endpoint:Ce.string().nullable()}),Nk=Ce.object({is_online:Ce.boolean(),is_public:Ce.boolean().default(!0),error:Ce.string().nullable(),docker_compose_file:Ce.string().nullable(),manifest_version:Ce.number().nullable(),version:Ce.string().nullable(),runner:Ce.string().nullable(),features:Ce.array(Ce.string()).nullable(),containers:Ce.array(Dk).nullable()}),zk=$e,{action:Lk,safeAction:Ok}=re(Nk,async(e,t)=>{let{cvmId:r}=zk.parse(t);return await e.get(`/cvms/${r}/composition`)}),Uk=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:Uk,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=$e,{action:Wk,safeAction:Jk}=re(qk,async(e,t)=>{let{cvmId:r}=Kk.parse(t);return await e.get(`/cvms/${r}/attestation`)}),Zk=Un(On.extend({vcpu:bi.number().optional(),memory:bi.number().optional(),disk_size:bi.number().optional(),instance_type:bi.string().optional(),allow_restart:bi.boolean().optional()})),{action:Yk,safeAction:Xk}=re(bi.void(),async(e,t)=>{let r=Zk.parse(t),{cvmId:o}=$e.parse(r),{...n}=r;await e.patch(`/cvms/${o}/resources`,n)}),Qk=Un(On.extend({public_sysinfo:Tx.boolean(),public_logs:Tx.boolean()})),{action:eS,safeAction:tS}=re(Hx,async(e,t)=>{let r=Qk.parse(t),{cvmId:o}=$e.parse(r),{public_sysinfo:n,public_logs:s}=r;return await e.patch(`/cvms/${o}/visibility`,{public_sysinfo:n,public_logs:s})}),$x=rt.object({name:rt.string(),os_image_hash:rt.string().nullable(),is_current:rt.boolean()}),rS=rt.object({version:rt.union([rt.tuple([rt.number(),rt.number(),rt.number(),rt.number()]),rt.tuple([rt.number(),rt.number(),rt.number()])]),prod:$x.nullable(),dev:$x.nullable()}),oS=rt.array(rS),nS=$e,{action:sS,safeAction:iS}=re(oS,async(e,t)=>{let{cvmId:r}=nS.parse(t);return await e.get(`/cvms/${r}/available-os-images`)}),aS=Un(On.extend({os_image_name:qx.string().min(1,"OS image name is required")})),{action:cS,safeAction:mS}=re(qx.void(),async(e,t)=>{let r=aS.parse(t),{cvmId:o}=$e.parse(r),{os_image_name:n}=r;await e.patch(`/cvms/${o}/os-image`,{os_image_name:n})}),uS=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()}),pS=$e,{action:fS,safeAction:lS}=re(uS,async(e,t)=>{let{cvmId:r}=pS.parse(t);return await e.get(`/cvms/${r}/state`)});function bt(e={}){let t=W8(e),r={getCurrentUser:Z8,safeGetCurrentUser:Ln,getAvailableNodes:oE,safeGetAvailableNodes:$a,listAllInstanceTypeFamilies:cE,safeListAllInstanceTypeFamilies:mE,listFamilyInstanceTypes:uE,safeListFamilyInstanceTypes:pE,listWorkspaces:dE,safeListWorkspaces:hE,getWorkspace:gE,safeGetWorkspace:yE,getCvmInfo:EE,safeGetCvmInfo:Wt,getCvmList:AE,safeGetCvmList:vi,provisionCvm:TE,safeProvisionCvm:Zl,commitCvmProvision:RE,safeCommitCvmProvision:lp,getCvmComposeFile:zE,safeGetCvmComposeFile:Ra,provisionCvmComposeFileUpdate:UE,safeProvisionCvmComposeFileUpdate:Yl,commitCvmComposeFileUpdate:GE,safeCommitCvmComposeFileUpdate:Xl,startCvm:sk,safeStartCvm:ik,stopCvm:ck,safeStopCvm:mk,shutdownCvm:pk,safeShutdownCvm:fk,restartCvm:hk,safeRestartCvm:gk,deleteCvm:xk,safeDeleteCvm:wk,getCvmStats:Sk,safeGetCvmStats:Ak,getCvmNetwork:Tk,safeGetCvmNetwork:$k,getCvmDockerCompose:Fk,safeGetCvmDockerCompose:Mk,getCvmContainersStats:Lk,safeGetCvmContainersStats:Ok,getCvmAttestation:Wk,safeGetCvmAttestation:Jk,updateCvmResources:Yk,safeUpdateCvmResources:Xk,updateCvmVisibility:eS,safeUpdateCvmVisibility:tS,getAvailableOsImages:sS,safeGetAvailableOsImages:iS,updateOsImage:cS,safeUpdateOsImage:mS,getKmsInfo:qE,safeGetKmsInfo:KE,getKmsList:ZE,safeGetKmsList:Ql,getAppEnvEncryptPubKey:QE,safeGetAppEnvEncryptPubKey:ed,nextAppIds:rk,safeNextAppIds:ok,getCvmState:fS,safeGetCvmState:lS};return t.extend(r)}function pp(e){if(typeof e=="string"){if(e.startsWith("0x")&&ae(e))return e;if(ae(`0x${e}`))return`0x${e}`}throw new Error(`Invalid hex value: ${e}`)}var Kx=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 dS(e,t){try{let r=await e.walletClient.getChainId();return{isCorrectNetwork:r===t,currentChainId:r}}catch(r){throw new Kx(`Failed to check network status: ${r instanceof Error?r.message:"Unknown error"}`,"NETWORK_CHECK_FAILED",r)}}async function hS(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 Kx(`Failed to check balance: ${o instanceof Error?o.message:"Unknown error"}`,"BALANCE_CHECK_FAILED",o)}}async function gS(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 Wx(e,t){let{targetChainId:r,minBalance:o,requiredAddress:n}=t,s=await dS(e,r),i=await hS(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 td(){let e={state:"idle"},t,r,o=a=>{e={...e,...a}},n=()=>{t&&(clearTimeout(t),t=void 0),r&&(r.abort(),r=void 0),e={state:"idle"}},s=()=>{r&&r.abort(),t&&(clearTimeout(t),t=void 0),o({state:"error",aborted:!0,error:"Transaction aborted by user"})};return{get status(){return{...e}},get isIdle(){return e.state==="idle"},get isSubmitting(){return e.state==="submitting"},get isPending(){return e.state==="pending"},get isSuccess(){return e.state==="success"},get isError(){return e.state==="error"},get isTimeout(){return e.state==="timeout"},get isAborted(){return e.aborted===!0},get isComplete(){return["success","error","timeout"].includes(e.state)},abort:s,reset:n,execute:async(a,c,m,u={})=>{let{timeout:f=6e4,confirmations:p=1,onSubmitted:d,onConfirmed:h,onError:g,signal:b}=u;try{if(n(),r=new AbortController,b){if(b.aborted)throw new $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),f>0&&(t=setTimeout(()=>{e.state==="pending"&&!r?.signal.aborted&&o({state:"timeout",error:`Transaction timeout after ${f}ms`})},f));let v=await Promise.race([gS(c.publicClient,y,{timeout:f,confirmations:p}),new Promise((k,A)=>{r?.signal.addEventListener("abort",()=>{A(new $r("Transaction aborted while waiting for receipt",y))})})]);t&&(clearTimeout(t),t=void 0);let C=v.status==="success";if(o({state:C?"success":"error",receipt:v,confirmTime:Date.now(),error:C?void 0:"Transaction failed on-chain"}),C)h?.(v);else{let k=new $r("Transaction failed on-chain",y,v);throw g?.(k,y),k}return{hash:y,receipt:v,success:C}}catch(y){let v=y instanceof $r?y:new $r(`Transaction execution failed: ${y instanceof Error?y.message:"Unknown error"}`,e.hash,y);throw o({state:"error",error:v.message}),g?.(v,e.hash),v}}}}async function Jx(e,t,r,o={},n={}){let{maxRetries:s=3,initialDelay:i=1e3,maxDelay:a=1e4,backoffFactor:c=2,retryCondition:m=()=>!0}=n,u,f=i;for(let p=0;p<=s;p++)try{return await td().execute(e,t,r,o)}catch(d){if(u=d instanceof Error?d:new Error(String(d)),p===s||!m(u))break;await new Promise(h=>setTimeout(h,f)),f=Math.min(f*c,a)}throw u}var Zx=[{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}],yS=Te.object({chain:Te.unknown().optional(),rpcUrl:Te.string().optional(),kmsContractAddress:Te.string(),privateKey:Te.string().optional(),walletClient:Te.unknown().optional(),publicClient:Te.unknown().optional(),allowAnyDevice:Te.boolean().optional().default(!1),deviceId:Te.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),composeHash:Te.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),disableUpgrades:Te.boolean().optional().default(!1),skipPrerequisiteChecks:Te.boolean().optional().default(!1),minBalance:Te.string().optional()}).passthrough(),bS=yS.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"]}),xS=Te.object({appId:Te.string(),appAuthAddress:Te.string(),deployer:Te.string(),transactionHash:Te.string(),blockNumber:Te.bigint().optional(),gasUsed:Te.bigint().optional()}).passthrough();function wS(e,t,r){try{let o=ir({abi:Zx,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 vS(e,t){let r=bS.parse(e),{chain:o,rpcUrl:n,kmsContractAddress:s,privateKey:i,walletClient:a,publicClient:c,allowAnyDevice:m=!1,deviceId:u="0000000000000000000000000000000000000000000000000000000000000000",composeHash:f="0000000000000000000000000000000000000000000000000000000000000000",disableUpgrades:p=!1,skipPrerequisiteChecks:d=!1,minBalance:h,timeout:g=12e4,retryOptions:b,signal:y,onTransactionStateChange:v,onTransactionSubmitted:C,onTransactionConfirmed:k}=r,A="0000000000000000000000000000000000000000000000000000000000000000",I=u!==A&&u!=="0x"+A?!1:m,B,N,M,U;if(i){let me=ka(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=Mn({chain:o,transport:to(n)})}if(!o)throw new Error("Chain required for walletClient");N=Ea({account:me,chain:o,transport:to(n)}),M=me.address,U=o.id}else if(a){if(typeof a!="object"||!a)throw new Error("walletClient is invalid");if(N=a,c){if(typeof c!="object"||!c)throw new Error("publicClient is invalid");B=c}else{if(!o)throw new Error("Chain required for publicClient");B=Mn({chain:o,transport:to(n)})}if(!N.account?.address)throw new Error("WalletClient needs an account");M=N.account.address,o?U=o.id:U=await N.getChainId()}else throw new Error("Need privateKey or walletClient");let G={publicClient:B,walletClient:N,address:M,chainId:U},V=td();if(v&&typeof v=="function"){let me=()=>{v(V.status),V.isComplete||setTimeout(me,100)};setTimeout(me,10)}if(!d){let me={targetChainId:U,minBalance:h?Bn(h):Bn("0.001")},mo=await Wx(G,me);if(!mo.networkValid)throw new Error(`Wrong network. Need chain ${me.targetChainId}, got ${mo.details.currentChainId}`);if(!mo.balanceValid){let Zt=Number(me.minBalance)/1e18,Np=Number(mo.details.balance)/1e18;throw new Error(`Not enough ETH. Need ${Zt}, have ${Np.toFixed(6)}`)}}let ce=pp(u),Ie=pp(f),Ve=`0x${ce.slice(2).padEnd(64,"0")}`,Tt=`0x${Ie.slice(2).padEnd(64,"0")}`,z=async me=>{try{let Zt=await me.publicClient.getCode({address:s});if(!Zt||Zt==="0x")throw new Error(`No contract at ${s}`)}catch(Zt){if(Zt instanceof Error&&Zt.message.includes("No contract at"))throw Zt}let mo={address:s,abi:Zx,functionName:"deployAndRegisterApp",args:[me.address,p,I,Ve,Tt],account:me.walletClient.account||me.address,chain:o||null};return await me.walletClient.writeContract(mo)},Se=b?await Jx(z,G,[],{timeout:g,confirmations:1,onSubmitted:C,onConfirmed:k,signal:y},b):await V.execute(z,G,[],{timeout:g,confirmations:1,onSubmitted:C,onConfirmed:k,signal:y}),pr=wS(Se.receipt,M,s);return t?.schema===!1?pr:(t?.schema||xS).parse(pr)}async function Yx(e,t){try{return{success:!0,data:await vS(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 Xx=[{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}],CS=ve.object({chain:ve.unknown().optional(),rpcUrl:ve.string().optional(),appId:ve.string(),composeHash:ve.string(),privateKey:ve.string().optional(),walletClient:ve.unknown().optional(),publicClient:ve.unknown().optional(),skipPrerequisiteChecks:ve.boolean().optional().default(!1),minBalance:ve.string().optional(),timeout:ve.number().optional().default(12e4),retryOptions:ve.unknown().optional(),signal:ve.unknown().optional(),onTransactionStateChange:ve.function().optional(),onTransactionSubmitted:ve.function().optional(),onTransactionConfirmed:ve.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"]}),ES=ve.object({composeHash:ve.string(),appId:ve.string(),transactionHash:ve.string(),blockNumber:ve.bigint().optional(),gasUsed:ve.bigint().optional()}).passthrough();function kS(e,t,r,o){console.log(e.logs);try{let n=ir({abi:Xx,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 SS(e,t){let r=CS.parse(e),{chain:o,rpcUrl:n,appId:s,composeHash:i,privateKey:a,walletClient:c,publicClient:m,timeout:u=12e4,retryOptions:f,signal:p,onTransactionStateChange:d,onTransactionSubmitted:h,onTransactionConfirmed:g,skipPrerequisiteChecks:b=!1,minBalance:y}=r,v,C,k,A,T=s.startsWith("0x")?s:`0x${s}`;if(a){let V=ka(a);if(m)v=m;else{if(!o)throw new Error("Chain required when creating publicClient");v=Mn({chain:o,transport:to(n)})}if(!o)throw new Error("Chain required when creating walletClient");C=Ea({account:V,chain:o,transport:to(n)}),k=V.address,A=o.id}else if(c){if(C=c,m)v=m;else{if(!o)throw new Error("Chain required when creating publicClient");v=Mn({chain:o,transport:to(n)})}if(!C.account?.address)throw new Error("WalletClient must have an account with address");k=C.account.address,A=o?o.id:await C.getChainId()}else throw new Error("Either privateKey or walletClient must be provided");let I={publicClient:v,walletClient:C,address:k,chainId:A},B=td();if(d&&typeof d=="function"){let V=()=>{d(B.status),B.isComplete||setTimeout(V,100)};setTimeout(V,10)}if(!b){let V={targetChainId:A,minBalance:y?Bn(y):Bn("0.001")},ce=await Wx(I,V);if(!ce.networkValid)throw new Error(`Network mismatch: Expected chain ${V.targetChainId}, but wallet is on chain ${ce.details.currentChainId}`);if(!ce.balanceValid){let Ie=Number(V.minBalance)/1e18,Ve=Number(ce.details.balance)/1e18;throw new Error(`Insufficient balance: Required ${Ie} ETH, but account has ${Ve.toFixed(6)} ETH`)}}let N=async V=>await V.walletClient.writeContract({address:T,abi:Xx,functionName:"addComposeHash",args:[pp(i)],account:V.walletClient.account||V.address,chain:o||null}),M=f?await Jx(N,I,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:p},f):await B.execute(N,I,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:p}),U=kS(M.receipt,pp(i),T,s);return t?.schema===!1?U:(t?.schema||ES).parse(U)}async function Qx(e,t){try{return{success:!0,data:await SS(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 nX=yi.object({target:yi.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),interval:yi.number().min(5).max(30).default(5).describe("Polling interval in seconds"),timeout:yi.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),maxRetries:yi.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),retryDelay:yi.number().min(0).default(5e3).describe("Delay between retries in milliseconds")});var AS=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function IS(e){let t={},r=e.toString();r=r.replace(/\r\n?/gm,`
70
+ `);let o;for(;(o=AS.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 e1(e){let t=IS(e),r=[];for(let[o,n]of Object.entries(t))r.push({key:o,value:n});return r}import at from"chalk";import TS from"ora";function $S(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 RS(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 t1(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(...RS(o,t));continue}let n=$S(o,t);r.push(...n)}if(r.length===0){let o=e.trim();r.push(o)}return r}var l={error:(e,...t)=>{mt()||(process.stderr.write(`${at.red("\u2717")} ${at.red(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
73
+ `))},warn:(e,...t)=>{mt()||(process.stderr.write(`${at.yellow("\u26A0")} ${at.yellow(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
74
+ `))},info:(e,...t)=>{mt()||(process.stderr.write(`${at.blue("\u2139")} ${at.blue(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
75
+ `))},success:(e,...t)=>{mt()||(process.stderr.write(`${at.green("\u2713")} ${at.green(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
76
+ `))},debug:(e,...t)=>{mt()||process.env.DEBUG&&(process.stderr.write(`${at.gray("\u{1F50D}")} ${at.gray(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
77
+ `))},table:(e,t)=>{if(!mt()){if(e.length===0){console.log(at.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(at.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(at.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(mt())return;let{borderStyle:r="single",keyColor:o=at.blue,valueColor:n=at.white,maxWidth:s=process.stdout.columns||80}=t||{},a={single:{topLeft:"\u250C",topRight:"\u2510",bottomLeft:"\u2514",bottomRight:"\u2518",horizontal:"\u2500",vertical:"\u2502",cross:"\u253C",leftT:"\u251C",rightT:"\u2524"},double:{topLeft:"\u2554",topRight:"\u2557",bottomLeft:"\u255A",bottomRight:"\u255D",horizontal:"\u2550",vertical:"\u2551",cross:"\u256C",leftT:"\u2560",rightT:"\u2563"},rounded:{topLeft:"\u256D",topRight:"\u256E",bottomLeft:"\u2570",bottomRight:"\u256F",horizontal:"\u2500",vertical:"\u2502",cross:"\u253C",leftT:"\u251C",rightT:"\u2524"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomLeft:"\u2517",bottomRight:"\u251B",horizontal:"\u2501",vertical:"\u2503",cross:"\u254B",leftT:"\u2523",rightT:"\u252B"},none:{topLeft:"",topRight:"",bottomLeft:"",bottomRight:"",horizontal:"",vertical:"",cross:"",leftT:"",rightT:""}}[r],c=0,m=0;for(let[h,g]of Object.entries(e)){c=Math.max(c,h.length);let b=String(g??"");m=Math.max(m,b.length)}let u=4,f=1,p=s-u-f;if(c+m>p){let h=c/(c+m);c=Math.floor(p*h),m=p-c}let d=c+m+u+f;r!=="none"&&console.log(a.topLeft+a.horizontal.repeat(d-2)+a.topRight);for(let[h,g]of Object.entries(e)){let b=h,y=String(g??""),v=t1(b,c),C=t1(y,m),k=Math.max(v.length,C.length);for(;v.length<k;)v.push("");for(;C.length<k;)C.push("");for(let A=0;A<k;A++){let T=v[A].padEnd(c),I=C[A].padEnd(m);console.log(r!=="none"?`${a.vertical} ${o(T)} ${a.vertical} ${n(I)} ${a.vertical}`:`${o(T)} : ${n(I)}`)}}r!=="none"&&console.log(a.bottomLeft+a.horizontal.repeat(d-2)+a.bottomRight)},break:()=>{mt()||process.stderr.write(`
78
+ `)},startSpinner:e=>{if(mt())return{stop:()=>{}};let t=TS(e).start();return{stop:(r=!0,o)=>{o&&(t.text=o),r?t.succeed():t.fail()}}},logDetailedError(e,t){if(mt())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
+ `),e.data!==void 0&&e.data!==null&&process.stderr.write(`${JSON.stringify(e.data,null,2)}
80
+ `);return}if(n(e)){process.stderr.write(`${r}Validation error: ${JSON.stringify(e.issues)}
81
+ `);return}e instanceof Error?process.stderr.write(`${r}${e.message}
82
+ `):process.stderr.write(`${r}${String(e)}
83
+ `)}};var MS=Un(On.extend({api_version:r1.enum(Ta)})),od="phala.toml";function o1(){return BS.join(process.cwd(),od)}function DS(){return rd.existsSync(o1())}function NS(){let e=o1();if(!rd.existsSync(e))throw new Error(`Project configuration file not found: ${od}
84
+ Run 'phala init' to create one.`);try{let t=rd.readFileSync(e,"utf8"),r=FS.parse(t),o=MS.parse(r);if(o.id||o.uuid||o.app_id||o.instance_id){let{cvmId:n}=$e.parse(o);return{...o,cvm_id:n}}return o}catch(t){if(t instanceof r1.ZodError){let r=t.issues.map(o=>` - ${o.path.join(".")}: ${o.message}`).join(`
74
85
  `);throw new Error(`Invalid project configuration:
75
- ${r}`)}throw new Error(`Failed to parse ${Ql}: ${t instanceof Error?t.message:String(t)}`)}}function Qx(){return TS()?PS():{}}function fp(e){if(!e)return;let{cvmId:t}=Re.parse({id:e});return t}async function t1(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,stdin:a,env:c,cwd:m}=e,u=BS(r);if((u.length>0?t.getNode(u):null)?.group){let b=r.slice(u.length),y=Ii(b,void 0);if(y.flags["--help"]||y.positionals.length===0)return e1({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:u})}let p=t.resolveCommand(u);if(!p)return u.length>1&&t.getNode([u[0]])?.group?e1({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:[u[0]]}):RS({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i});let{definition:d,consumed:h}=p,g=r.slice(h.length);try{let b=Ii(g,d.meta.options);if(b.flags["--version"])return s.write(`${n}
76
- `),0;if(b.flags["--help"])return s.write(`${Hd({executableName:o,definition:d,registry:t})}
77
- `),0;let y=Ld(d.meta,b),v={...y.options,...y.positionals,options:y.options,positionals:y.positionals,raw:y.raw},C={argv:g,rawFlags:b.flags,rawPositionals:b.positionals,cwd:m,env:c,stdout:s,stderr:i,stdin:a,projectConfig:Qx()},k=d.schema.parse(v),A=await d.run(k,C);return typeof A=="number"?A:0}catch(b){if(b instanceof $S)return i.write(FS(b)),1;if(ed(b))return i.write(`${b.message}
78
- `),1;throw b}}function RS(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i}=e;try{let a=Ii(r,void 0);if(a.flags["--version"])return s.write(`${n}
79
- `),0;if(a.flags["--help"])return s.write(`${Ka({registry:t,executableName:o})}
80
- `),0;if(a.positionals.length===0)return s.write(`${Ka({registry:t,executableName:o})}
86
+ ${r}`)}throw new Error(`Failed to parse ${od}: ${t instanceof Error?t.message:String(t)}`)}}function n1(){return DS()?NS():{}}function dp(e){if(!e)return;let{cvmId:t}=$e.parse({id:e});return t}async function i1(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,stdin:a,env:c,cwd:m}=e,u=OS(r);if((u.length>0?t.getNode(u):null)?.group){let b=r.slice(u.length),y=_i(b,void 0);if(y.flags["--help"]||y.positionals.length===0)return s1({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:u})}let p=t.resolveCommand(u);if(!p)return u.length>1&&t.getNode([u[0]])?.group?s1({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:[u[0]]}):LS({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i});let{definition:d,consumed:h}=p,g=r.slice(h.length);try{let b=_i(g,d.meta.options);if(b.flags["--version"])return s.write(`${n}
87
+ `),0;if(b.flags["--help"])return s.write(`${Kd({executableName:o,definition:d,registry:t})}
88
+ `),0;let y=jd(d.meta,b),v={...y.options,...y.positionals,options:y.options,positionals:y.positionals,raw:y.raw},C={argv:g,rawFlags:b.flags,rawPositionals:b.positionals,cwd:m,env:c,stdout:s,stderr:i,stdin:a,projectConfig:n1(),success(T){if(mt()){let I=typeof T=="string"?{success:!0,message:T}:{success:!0,...typeof T=="object"&&T!==null?T:{data:T}};s.write(`${JSON.stringify(I,null,2)}
89
+ `)}else typeof T=="string"?s.write(`${Ba.green("\u2713")} ${Ba.green(T)}
90
+ `):(s.write(`${Ba.green("\u2713")} Success
91
+ `),s.write(`${JSON.stringify(T,null,2)}
92
+ `))},fail(T,I){mt()?s.write(`${JSON.stringify({success:!1,error:T,...I&&{details:I}},null,2)}
93
+ `):(i.write(`${Ba.red("\u2717")} ${Ba.red(T)}
94
+ `),I&&i.write(`${JSON.stringify(I,null,2)}
95
+ `))}},k=d.schema.parse(v),A=await d.run(k,C);return typeof A=="number"?A:0}catch(b){if(b instanceof zS)return i.write(US(b)),1;if(nd(b))return i.write(`${b.message}
96
+ `),1;throw b}}function LS(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i}=e;try{let a=_i(r,void 0);if(a.flags["--version"])return s.write(`${n}
97
+ `),0;if(a.flags["--help"])return s.write(`${Ja({registry:t,executableName:o})}
98
+ `),0;if(a.positionals.length===0)return s.write(`${Ja({registry:t,executableName:o})}
81
99
  `),0;let c=a.positionals.join(" ");return i.write(`Unknown command "${c}". Run \`${o} --help\` for a list of commands.
82
- `),1}catch(a){if(ed(a))return i.write(`${a.message}
83
- `),1;throw a}}function e1(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=Ii(c,void 0);if(m.flags["--version"])return s.write(`${n}
84
- `),0;if(m.flags["--help"]||m.positionals.length===0)return s.write(`${Ud({registry:t,executableName:o,groupPath:a})}
100
+ `),1}catch(a){if(nd(a))return i.write(`${a.message}
101
+ `),1;throw a}}function s1(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=_i(c,void 0);if(m.flags["--version"])return s.write(`${n}
102
+ `),0;if(m.flags["--help"]||m.positionals.length===0)return s.write(`${qd({registry:t,executableName:o,groupPath:a})}
85
103
  `),0;let u=m.positionals.join(" "),f=a.join(" ");return i.write(`Unknown subcommand "${u}" for "${f}". Run \`${o} ${f} --help\` for a list of subcommands.
86
- `),1}catch(c){if(ed(c))return i.write(`${c.message}
87
- `),1;throw c}}function BS(e){let t=[];for(let r of e){if(r.startsWith("-"))break;t.push(r)}return t}function FS(e){let t=e.issues[0];return t?`Invalid value for "${t.path.length>0?t.path.join("."):"input"}": ${t.message}
104
+ `),1}catch(c){if(nd(c))return i.write(`${c.message}
105
+ `),1;throw c}}function OS(e){let t=[];for(let r of e){if(r.startsWith("-"))break;t.push(r)}return t}function US(e){let t=e.issues[0];return t?`Invalid value for "${t.path.length>0?t.path.join("."):"input"}": ${t.message}
88
106
  `:`${e.message}
89
- `}function ed(e){return e instanceof Error&&Object.prototype.hasOwnProperty.call(e,"code")&&typeof e.code=="string"}function r1(e){return{name:e,children:new Map,aliasMap:new Map}}var lp=class{root=r1(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=r1(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 o1={path:["auth"],meta:{name:"auth",description:"Authenticate with Phala Cloud"}};import OS from"prompts";function $(e){return{path:e.path,meta:e.meta,schema:e.schema,run:e.handler}}import dp from"node:crypto";import Br from"node:fs";import vi from"node:os";import rd from"node:path";var Ra=rd.join(vi.homedir(),".phala-cloud"),Ba=rd.join(Ra,"api-key"),td=rd.join(Ra,"docker-credentials.json");function n1(){if(!Br.existsSync(Ra))try{Br.mkdirSync(Ra,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Ra}:`,e),e}}function s1(){let e=[vi.hostname(),vi.platform(),vi.arch(),vi.cpus()[0]?.model||"",vi.userInfo().username],t=dp.createHash("sha256");return t.update(e.join("|")),t.digest()}function MS(e){try{let t=s1(),r=dp.randomBytes(16),o=dp.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 DS(e){try{let t=s1(),r=e.split(":");if(r.length!==2)throw new Error("Invalid encrypted format");let o=Buffer.from(r[0],"hex"),n=r[1],s=dp.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 hp(e){n1();try{let t=MS(e);Br.writeFileSync(Ba,t,{mode:384})}catch(t){throw l.error("Failed to save API key:",t),t}}function sn(){try{if(process.env.PHALA_CLOUD_API_KEY)return process.env.PHALA_CLOUD_API_KEY;if(Br.existsSync(Ba)){let e=Br.readFileSync(Ba,"utf8").trim();return DS(e)}return null}catch(e){return l.error("Failed to read API key:",e),null}}async function an(){try{Br.existsSync(Ba)?(Br.unlinkSync(Ba),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 od(e){n1();try{Br.writeFileSync(td,JSON.stringify(e,null,2),{mode:384}),l.success("Docker information saved successfully.")}catch(t){throw l.error("Failed to save Docker information:",t),t}}async function to(){try{if(Br.existsSync(td)){let e=Br.readFileSync(td,"utf8");return JSON.parse(e)}return null}catch(e){return l.error("Failed to read Docker credentials:",e),null}}async function pe(){let e=sn();return yt({apiKey:e})}async function gp(e){return yt({apiKey:e})}var ye=process.env.CLOUD_URL||"https://cloud.phala.network";var Un=1,Hn=2048,jn=40,nd="dstack-0.3.6",i1=`version: '3.8'
107
+ `}function nd(e){return e instanceof Error&&Object.prototype.hasOwnProperty.call(e,"code")&&typeof e.code=="string"}function a1(e){return{name:e,children:new Map,aliasMap:new Map}}var hp=class{root=a1(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=a1(o),r.children.set(o,n)),r=n}return r}getParentNode(t){if(t.length!==0)return this.getNode(t.slice(0,-1))}getChild(t,r){let o=t.children.get(r);if(o)return o;let n=t.aliasMap.get(r);if(n)return t.children.get(n)}};var c1={path:["auth"],meta:{name:"auth",description:"Authenticate with Phala Cloud"}};import GS from"prompts";function $(e){return{path:e.path,meta:e.meta,schema:e.schema,run:e.handler}}import gp from"node:crypto";import Fr from"node:fs";import Ci from"node:os";import id from"node:path";var Fa=id.join(Ci.homedir(),".phala-cloud"),Ma=id.join(Fa,"api-key"),sd=id.join(Fa,"docker-credentials.json");function m1(){if(!Fr.existsSync(Fa))try{Fr.mkdirSync(Fa,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Fa}:`,e),e}}function u1(){let e=[Ci.hostname(),Ci.platform(),Ci.arch(),Ci.cpus()[0]?.model||"",Ci.userInfo().username],t=gp.createHash("sha256");return t.update(e.join("|")),t.digest()}function HS(e){try{let t=u1(),r=gp.randomBytes(16),o=gp.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 jS(e){try{let t=u1(),r=e.split(":");if(r.length!==2)throw new Error("Invalid encrypted format");let o=Buffer.from(r[0],"hex"),n=r[1],s=gp.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 yp(e){m1();try{let t=HS(e);Fr.writeFileSync(Ma,t,{mode:384})}catch(t){throw l.error("Failed to save API key:",t),t}}function cn(){try{if(process.env.PHALA_CLOUD_API_KEY)return process.env.PHALA_CLOUD_API_KEY;if(Fr.existsSync(Ma)){let e=Fr.readFileSync(Ma,"utf8").trim();return jS(e)}return null}catch(e){return l.error("Failed to read API key:",e),null}}async function Mr(){try{Fr.existsSync(Ma)?(Fr.unlinkSync(Ma),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 ad(e){m1();try{Fr.writeFileSync(sd,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 oo(){try{if(Fr.existsSync(sd)){let e=Fr.readFileSync(sd,"utf8");return JSON.parse(e)}return null}catch(e){return l.error("Failed to read Docker credentials:",e),null}}async function ue(){let e=cn();return bt({apiKey:e})}async function bp(e){return bt({apiKey:e})}var ge=process.env.CLOUD_URL||"https://cloud.phala.network";var Hn=1,jn=2048,Gn=40,cd="dstack-0.3.6",p1=`version: '3.8'
90
108
  services:
91
109
  postgres:
92
110
  image: ankane/pgvector:latest
@@ -131,7 +149,7 @@ networks:
131
149
  driver: bridge
132
150
 
133
151
  volumes:
134
- postgres-data:`,a1=`version: '3.8'
152
+ postgres-data:`,f1=`version: '3.8'
135
153
  services:
136
154
  app:
137
155
  image: {{imageName}}
@@ -142,46 +160,33 @@ services:
142
160
  {{#each envVars}} - {{{this}}}
143
161
  {{/each}}
144
162
  restart: always
145
- `;import{FetchError as NS}from"ofetch";function zS(e){return e!==null&&typeof e=="object"&&"isRequestError"in e&&e.isRequestError===!0&&"status"in e&&"message"in e}function LS(e){return e!==null&&typeof e=="object"&&"issues"in e&&Array.isArray(e.issues)}function F(e,t,r){let o=r?r.write.bind(r):c=>console.error(c),n=t?`[${t}]`:"";if(zS(e)){let c=n?`${n} `:"";o(`${c}HTTP ${e.status}: ${e.message}
146
- `),e.data!==void 0&&e.data!==null&&o(`${JSON.stringify(e.data,null,2)}
147
- `);return}if(LS(e)){o(`${n} Validation error: ${JSON.stringify(e.issues)}
148
- `);return}let s=e;if(e instanceof NS||s.constructor?.name==="FetchError"||e&&typeof e=="object"&&"status"in e&&"statusText"in e&&"data"in e){let c=e,m=n?`${n} `:"";o(`${m}HTTP ${c.status}: ${c.message}
149
- `),c.data!==void 0&&c.data!==null&&o(`${JSON.stringify(c.data,null,2)}
150
- `);return}let a=n?`${n} `:"";e instanceof Error?o(`${a}${e.message}
151
- `):o(`${a}${String(e)}
152
- `)}import{z as yp}from"zod";var c1={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"}]},m1=yp.object({apiKey:yp.string().min(1,"API key cannot be empty").optional(),manual:yp.boolean().optional(),noOpen:yp.boolean().optional()});async function sd(e){try{await hp(e);let t=await gp(e),r=await zn(t),o=r.data;if(!r.success||!o?.username)throw await an(),new Error("Invalid API key");return o}catch(t){throw await an(),t instanceof Error?t:new Error(String(t))}}async function US(){let e,t=await OS({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 sd(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 sd(t.apiKey)),{apiKey:t.apiKey,user:e}}async function HS(e,t){try{let r=e.apiKey,o;if(r)o=await sd(r);else{let n=await US();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"),F(r),1}}var u1=$({path:["auth","login"],meta:c1,schema:m1,handler:HS});import{z as jS}from"zod";var p1={name:"logout",description:"Remove the stored API key"},f1=jS.object({});async function GS(e,t){try{return await an(),l.success("API key removed successfully"),0}catch(r){return l.error("Failed to remove API key"),F(r),1}}var l1=$({path:["auth","logout"],meta:p1,schema:f1,handler:GS});import{z as bp}from"zod";var ro={name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json",negatedName:"no-json"},id={name:"debug",shorthand:"d",description:"Enable debug output",type:"boolean",target:"debug"},d1={name:"status",description:"Check Phala Cloud status and authentication",options:[...Kn,ro,id],examples:[{name:"Show login status in human-readable format",value:"phala status"},{name:"Get status as JSON",value:"phala status --json"}]},xp=bp.object({json:bp.boolean().default(!1),debug:bp.boolean().default(!1),apiToken:bp.string().optional()});async function ad(e,t){let r=e.debug||t.env.DEBUG?.toLowerCase()==="true",o=e.apiToken||sn();if(!o)return l.warn('Not authenticated. Please set an API key with "phala auth login"'),0;r&&l.debug(`Using API key: ${o.substring(0,5)}...`);try{let n=yt({apiKey:o}),s=await zn(n);if(!s.success)return l.error("Failed to get user information"),s.error&&l.error(`Error: ${s.error.message}`),1;let i=s.data,a=t.env.PHALA_CLOUD_API_PREFIX||"https://cloud-api.phala.network/api/v1";return e.json?(t.stdout.write(`${JSON.stringify({apiUrl:a,username:i.username,team_name:i.team_name},null,2)}
153
- `),0):(t.stdout.write(`Integrated API: ${a}
163
+ `;import{z as xp}from"zod";var l1={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"}]},d1=xp.object({apiKey:xp.string().min(1,"API key cannot be empty").optional(),manual:xp.boolean().optional(),noOpen:xp.boolean().optional()});async function md(e){try{await yp(e);let t=await bp(e),r=await Ln(t),o=r.data;if(!r.success||!o?.username)throw await Mr(),new Error("Invalid API key");return o}catch(t){throw await Mr(),t instanceof Error?t:new Error(String(t))}}async function VS(){let e,t=await GS({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 md(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 md(t.apiKey)),{apiKey:t.apiKey,user:e}}async function qS(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 md(r);else{let n=await VS();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 ${ge}/dashboard/`),0}catch(r){return l.error("Failed to set API key"),l.logDetailedError(r),1}}var h1=$({path:["auth","login"],meta:l1,schema:d1,handler:qS});import{z as KS}from"zod";var g1={name:"logout",description:"[DEPRECATED] Remove the stored API key (use 'phala logout' instead)"},y1=KS.object({});async function WS(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 Mr(),l.success("API key removed successfully"),0}catch(r){return l.error("Failed to remove API key"),l.logDetailedError(r),1}}var b1=$({path:["auth","logout"],meta:g1,schema:y1,handler:WS});import{z as wp}from"zod";var no={name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json",negatedName:"no-json"},ud={name:"debug",shorthand:"d",description:"Enable debug output",type:"boolean",target:"debug"},x1={name:"status",description:"Check Phala Cloud status and authentication",options:[...Wn,no,ud],examples:[{name:"Show login status in human-readable format",value:"phala status"},{name:"Get status as JSON",value:"phala status --json"}]},vp=wp.object({json:wp.boolean().default(!1),debug:wp.boolean().default(!1),apiToken:wp.string().optional()});async function pd(e,t){qe(e.json);let r=e.debug||t.env.DEBUG?.toLowerCase()==="true",o=e.apiToken||cn();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=bt({apiKey:o}),s=await Ln(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}
154
164
  `),t.stdout.write(`Logged in as: ${i.username}
155
165
  `),t.stdout.write(`Current Workspace: ${i.team_name}
156
- `),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 auth login"'),r&&F(n),1}}var h1=$({path:["status"],meta:d1,schema:xp,handler:ad});var g1={name:"status",description:"Check authentication status",options:[...Kn,ro,id]},y1=xp;var b1=$({path:["auth","status"],meta:g1,schema:y1,handler:(e,t)=>ad(e,t)});var cd={group:o1,commands:[u1,l1,b1]};var x1={path:["config"],meta:{name:"config",description:"Manage your local configuration"}};import VS from"node:os";import w1 from"node:path";import Fa from"fs-extra";var wp=w1.join(VS.homedir(),".phala-cloud"),ud=w1.join(wp,"config.json"),md={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 qS(){if(!Fa.existsSync(wp))try{Fa.mkdirSync(wp,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${wp}:`,e),e}}function vp(){try{if(Fa.existsSync(ud)){let e=Fa.readFileSync(ud,"utf8");return{...md,...JSON.parse(e)}}return md}catch(e){return l.error("Failed to load configuration:",e),md}}function KS(e){qS();try{Fa.writeFileSync(ud,JSON.stringify({...vp(),...e},null,2),{mode:384}),l.success("Configuration saved successfully.")}catch(t){throw l.error("Failed to save configuration:",t),t}}function v1(e){return vp()[e]}function C1(e,t){let r=vp();r[e]=t,KS(r)}function E1(){return vp()}import{z as k1}from"zod";var S1={name:"get",description:"Get a configuration value",arguments:[{name:"key",description:"Configuration key",required:!0}]},A1=k1.object({key:k1.string()});async function WS(e,t){try{let r=v1(e.key);return r===void 0?(t.stderr.write(`Configuration key '${e.key}' not found
166
+ `),0)}catch(n){return l.error("Authentication failed. Your API key may be invalid or expired."),l.info('Please set a new API key with "phala login"'),r&&l.logDetailedError(n),t.fail("Authentication failed. Your API key may be invalid or expired."),1}}var w1=$({path:["status"],meta:x1,schema:vp,handler:pd});var v1={name:"status",description:"[DEPRECATED] Check authentication status (use 'phala status' instead)",options:[...Wn,no,ud]},C1=vp;var E1=$({path:["auth","status"],meta:v1,schema:C1,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()),pd(e,t))});var fd={group:c1,commands:[h1,b1,E1]};var k1={path:["config"],meta:{name:"config",description:"Manage your local configuration"}};import JS from"node:os";import S1 from"node:path";import Da from"fs-extra";var Cp=S1.join(JS.homedir(),".phala-cloud"),dd=S1.join(Cp,"config.json"),ld={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 ZS(){if(!Da.existsSync(Cp))try{Da.mkdirSync(Cp,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Cp}:`,e),e}}function Ep(){try{if(Da.existsSync(dd)){let e=Da.readFileSync(dd,"utf8");return{...ld,...JSON.parse(e)}}return ld}catch(e){return l.error("Failed to load configuration:",e),ld}}function YS(e){ZS();try{Da.writeFileSync(dd,JSON.stringify({...Ep(),...e},null,2),{mode:384}),l.success("Configuration saved successfully.")}catch(t){throw l.error("Failed to save configuration:",t),t}}function A1(e){return Ep()[e]}function I1(e,t){let r=Ep();r[e]=t,YS(r)}function _1(){return Ep()}import{z as P1}from"zod";var T1={name:"get",description:"Get a configuration value",arguments:[{name:"key",description:"Configuration key",required:!0}]},$1=P1.object({key:P1.string()});async function XS(e,t){try{let r=A1(e.key);return r===void 0?(t.stderr.write(`Configuration key '${e.key}' not found
157
167
  `),1):(t.stdout.write(`${e.key}: ${JSON.stringify(r)}
158
168
  `),0)}catch(r){return t.stderr.write(`Failed to get configuration value
159
- `),F(r),1}}var I1=$({path:["config","get"],meta:S1,schema:A1,handler:WS});import{z as _1}from"zod";var T1={name:"list",aliases:["ls"],description:"List all configuration values",options:[{name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json"}]},P1=_1.object({json:_1.boolean().default(!1)});async function JS(e,t){try{let r=E1();if(e.json)return t.stdout.write(`${JSON.stringify(r,null,2)}
160
- `),0;t.stdout.write(`Configuration values:
169
+ `),l.logDetailedError(r),1}}var R1=$({path:["config","get"],meta:T1,schema:$1,handler:XS});import{z as B1}from"zod";var F1={name:"list",aliases:["ls"],description:"List all configuration values",options:[{name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json"}]},M1=B1.object({json:B1.boolean().default(!1)});async function QS(e,t){qe(e.json);try{let r=_1();if(e.json)return t.success(r),0;t.stdout.write(`Configuration values:
161
170
  `);for(let[o,n]of Object.entries(r))t.stdout.write(`${o}: ${JSON.stringify(n)}
162
- `);return 0}catch(r){return t.stderr.write(`Failed to list configuration values
163
- `),F(r),1}}var $1=$({path:["config","list"],meta:T1,schema:P1,handler:JS});import{z as pd}from"zod";var R1={name:"set",description:"Set a configuration value",arguments:[{name:"key",description:"Configuration key",required:!0},{name:"value",description:"Configuration value",required:!0}]},B1=pd.object({key:pd.string(),value:pd.string()});async function ZS(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 C1(e.key,r),t.stdout.write(`Configuration value for '${e.key}' set successfully
171
+ `);return 0}catch(r){return l.logDetailedError(r),t.fail("Failed to list configuration values"),1}}var D1=$({path:["config","list"],meta:F1,schema:M1,handler:QS});import{z as hd}from"zod";var N1={name:"set",description:"Set a configuration value",arguments:[{name:"key",description:"Configuration key",required:!0},{name:"value",description:"Configuration value",required:!0}]},z1=hd.object({key:hd.string(),value:hd.string()});async function e3(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 I1(e.key,r),t.stdout.write(`Configuration value for '${e.key}' set successfully
164
172
  `),0}catch(r){return t.stderr.write(`Failed to set configuration value
165
- `),F(r),1}}var F1=$({path:["config","set"],meta:R1,schema:B1,handler:ZS});var fd={group:x1,commands:[I1,$1,F1]};var M1={path:["cvms"],meta:{name:"cvms",description:"Manage Phala Confidential Virtual Machines (CVMs)"}};import kp from"chalk";import{z as w}from"zod";var YS=w.object({password:w.string(),registry:w.string().nullable(),username:w.string()}),uee=w.object({docker_compose_file:w.string(),docker_config:YS.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(),D1=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()}),pee=w.object({key:w.string(),value:w.string()}),XS=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()}))}),N1=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()}),z1=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()}),QS=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()}),fee=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(QS).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 e3 from"inquirer";async function Cp(e,t=!1){let r=await pe(),o=await wi(r);o.success||(t||l.error(`Failed to fetch CVMs: ${o.error.message}`),process.exit(1));let n=e.replace(/^app_/,""),a=o.data.items.find(c=>c.hosted?.app_id===n);if(!a)t||l.error(`CVM with App ID app_${n} not detected`),process.exit(1);else return t||l.success(`CVM with App ID app_${n} detected`),a.hosted?.app_id||""}async function Ci(e){let t=await pe(),r=e.replace(/^app_/,""),o=await Kt(t,{app_id:r});if(!o.success)throw new Error(o.error.message);return o.data}async function L1(e){let t=await pe(),r=await $a(t,{id:e});if(!r.success)throw new Error(r.error.message);return r.data}async function O1(e){let t=await pe(),r=e.replace(/^app_/,""),o=await t.post(`cvms/app_${r}/start`);return(await Kt(t,{app_id:r})).data}async function U1(e){let t=await pe(),r=e.replace(/^app_/,"");return await t.post(`cvms/app_${r}/stop`),(await Kt(t,{app_id:r})).data}async function H1(e){let t=await pe(),r=e.replace(/^app_/,"");return await t.post(`cvms/app_${r}/restart`),(await Kt(t,{app_id:r})).data}async function j1(e){let t=await pe(),r=e.replace(/^app_/,"");return await t.delete(`cvms/app_${r}`),!0}async function Ep(){let e=l.startSpinner("Fetching available CVMs"),t=await pe(),r=await wi(t);if(e.stop(!0),!r.success){l.error(`Failed to fetch CVMs: ${r.error.message}`);return}let n=r.data.items;if(!n||n.length===0){l.info("No CVMs found for your account");return}let s=n.map(a=>{let c=a,m=c.hosted?.app_id||c.hosted?.id,u=c.name||c.hosted?.name,f=c.status||c.hosted?.status;return{name:`${u||"Unnamed"} (${m}) - Status: ${f||"Unknown"}`,value:m}}),{selectedCvm:i}=await e3.prompt([{type:"list",name:"selectedCvm",message:"Select a CVM:",choices:s}]);return i}async function G1(e){let t=await pe(),r=e.replace(/^app_/,""),o=await t.get(`cvms/app_${r}/attestation`);try{return z1.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 V1(e,t){let r=await pe(),o=e.replace(/^app_/,""),n=await r.post(`cvms/app_${o}/replicas`,t);return N1.parse(n)}async function ld(e,t,r,o,n){let s=await pe(),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 q1(e){return await(await pe()).post("cvms/pubkey/from_cvm_configuration",e)}async function K1(e){let r=await(await pe()).post("cvms/from_cvm_configuration",e);return D1.parse(r)}async function W1(e,t){let r=await pe(),o=e.replace(/^app_/,"");return await r.put(`cvms/app_${o}/compose`,t)}async function J1(e=!1){let t=await pe(),r="teepods/available";return e&&(r+="?v03x_only=1"),await t.get(r)}import{z as dd}from"zod";var Z1={name:"attestation",description:"Get attestation information for a CVM",arguments:[{name:"app-id",description:"CVM app ID (prompts if not provided)",required:!1,target:"appId"}],options:[ro],examples:[{name:"Show attestation summary",value:"phala cvms attestation"},{name:"Output full attestation JSON",value:"phala cvms attestation --json"}]},Y1=dd.object({appId:dd.string().optional(),json:dd.boolean().default(!1)});async function t3(e,t=!1){return e?Cp(e,t):(t||l.info("No CVM specified, fetching available CVMs..."),await Ep()??void 0)}async function r3(e,t){try{let r=await t3(e.appId,e.json);if(!r)return 0;let o=e.json?null:l.startSpinner(`Fetching attestation information for CVM app_${r}...`);try{let n=await G1(r);if(o?.stop(!0),!n||Object.keys(n).length===0)return l.info("No attestation information found"),0;if(e.json)return t.stdout.write(`${JSON.stringify(n,null,2)}
166
- `),0;if(l.success("Attestation Summary:"),l.keyValueTable({Status:n.is_online?kp.green("Online"):kp.red("Offline"),"Public Access":n.is_public?kp.green("Enabled"):kp.yellow("Disabled"),Error:n.error||"None",Certificates:`${n.app_certificates?.length||0} found`},{borderStyle:"rounded"}),n.app_certificates?.length&&n.app_certificates.forEach((s,i)=>{l.break(),l.success(`Certificate #${i+1} (${s.position_in_chain===0?"End Entity":"CA"}):`),l.keyValueTable({Subject:`${s.subject.common_name||"Unknown"}${s.subject.organization?` (${s.subject.organization})`:""}`,Issuer:`${s.issuer.common_name||"Unknown"}${s.issuer.organization?` (${s.issuer.organization})`:""}`,"Serial Number":s.serial_number,Validity:`${new Date(s.not_before).toLocaleString()} to ${new Date(s.not_after).toLocaleString()}`,Fingerprint:s.fingerprint,"Signature Algorithm":s.signature_algorithm,"Is CA":s.is_ca?"Yes":"No","Position in Chain":s.position_in_chain},{borderStyle:"rounded"})}),n.tcb_info&&(l.break(),l.success("Trusted Computing Base (TCB) Information:"),l.keyValueTable({Mrtd:n.tcb_info.mrtd,"Rootfs Hash":n.tcb_info.rootfs_hash,Rtmr0:n.tcb_info.rtmr0,Rtmr1:n.tcb_info.rtmr1,Rtmr2:n.tcb_info.rtmr2,Rtmr3:n.tcb_info.rtmr3,"Event Log Entries":`${n.tcb_info.event_log.length} entries`},{borderStyle:"rounded"}),n.tcb_info.event_log?.length)){l.break(),l.success("Event Log (Showing entries to reproduce RTMR3):");let s=n.tcb_info.event_log.filter(i=>i.event).map(i=>({Event:i.event,IMR:i.imr.toString(),"Event Type":i.event_type.toString(),Payload:i.event_payload}));l.table(s,[{key:"Event",header:"Event"},{key:"IMR",header:"IMR"},{key:"Event Type",header:"Type"},{key:"Payload",header:"Payload"}]),n.tcb_info.event_log.length>s.length&&l.info("To see all full attestation data, use --json"),l.break(),l.success("To reproduce RTMR3, use the tool at https://rtmr3-calculator.vercel.app/")}return 0}catch(n){throw o?.stop(!1),n}}catch(r){return l.error("Failed to get attestation information"),F(r),1}}var X1=$({path:["cvms","attestation"],meta:Z1,schema:Y1,handler:r3});import i6 from"node:fs";import a3 from"node:path";import{FetchError as c3}from"ofetch";import hd from"node:fs";import gd from"node:path";import o3 from"inquirer";function _t(e,t=process.cwd()){let r=gd.resolve(t,e);if(!hd.existsSync(r))throw new Error(`File not found at ${r}`);return!0}async function Fr(e,t,r="file",o=process.cwd()){return(await o3.prompt([{type:"input",name:r,message:e,default:t,validate:s=>{let i=gd.resolve(o,s);return hd.existsSync(i)?!0:`File not found at ${i}`}}]))[r]}function Ei(e,t){for(let r of e){let o=gd.join(process.cwd(),r);if(hd.existsSync(o))return t?l.info(t.replace("{path}",o)):l.info(`File detected: ${o}`),r}}import*as Q1 from"node:fs";var Ma=(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=Q1.readFileSync(t,"utf8");for(let n of o.split(`
173
+ `),l.logDetailedError(r),1}}var L1=$({path:["config","set"],meta:N1,schema:z1,handler:e3});var gd={group:k1,commands:[R1,D1,L1]};var O1={path:["cvms"],meta:{name:"cvms",description:"Manage Phala Confidential Virtual Machines (CVMs)"}};import Ap from"chalk";import{z as w}from"zod";var t3=w.object({password:w.string(),registry:w.string().nullable(),username:w.string()}),hee=w.object({docker_compose_file:w.string(),docker_config:t3.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(),U1=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()}),gee=w.object({key:w.string(),value:w.string()}),r3=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()}))}),H1=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()}),j1=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()}),o3=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()}),yee=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(o3).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 n3 from"inquirer";async function kp(e){let t=await ue(),r=await vi(t);if(!r.success)throw new Error(`Failed to fetch CVMs: ${r.error.message}`);let o=e.replace(/^app_/,""),i=r.data.items.find(c=>c.hosted?.app_id===o);if(!i)throw new Error(`CVM with App ID app_${o} not found`);return l.success(`CVM with App ID app_${o} detected`),i.hosted?.app_id||""}async function Ei(e){let t=await ue(),r=e.replace(/^app_/,""),o=await Wt(t,{app_id:r});if(!o.success)throw new Error(o.error.message);return o.data}async function G1(e){let t=await ue(),r=await Ra(t,{id:e});if(!r.success)throw new Error(r.error.message);return r.data}async function V1(e){let t=await ue(),r=e.replace(/^app_/,""),o=await t.post(`cvms/app_${r}/start`);return(await Wt(t,{app_id:r})).data}async function q1(e){let t=await ue(),r=e.replace(/^app_/,"");return await t.post(`cvms/app_${r}/stop`),(await Wt(t,{app_id:r})).data}async function K1(e){let t=await ue(),r=e.replace(/^app_/,"");return await t.post(`cvms/app_${r}/restart`),(await Wt(t,{app_id:r})).data}async function W1(e){let t=await ue(),r=e.replace(/^app_/,"");return await t.delete(`cvms/app_${r}`),!0}async function Sp(){let e=l.startSpinner("Fetching available CVMs"),t=await ue(),r=await vi(t);if(e.stop(!0),!r.success){l.error(`Failed to fetch CVMs: ${r.error.message}`);return}let n=r.data.items;if(!n||n.length===0){l.info("No CVMs found for your account");return}let s=n.map(a=>{let c=a,m=c.hosted?.app_id||c.hosted?.id,u=c.name||c.hosted?.name,f=c.status||c.hosted?.status;return{name:`${u||"Unnamed"} (${m}) - Status: ${f||"Unknown"}`,value:m}}),{selectedCvm:i}=await n3.prompt([{type:"list",name:"selectedCvm",message:"Select a CVM:",choices:s}]);return i}async function J1(e){let t=await ue(),r=e.replace(/^app_/,""),o=await t.get(`cvms/app_${r}/attestation`);try{return j1.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 Z1(e,t){let r=await ue(),o=e.replace(/^app_/,""),n=await r.post(`cvms/app_${o}/replicas`,t);return H1.parse(n)}async function yd(e,t,r,o,n){let s=await ue(),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 Y1(e){return await(await ue()).post("cvms/pubkey/from_cvm_configuration",e)}async function X1(e){let r=await(await ue()).post("cvms/from_cvm_configuration",e);return U1.parse(r)}async function Q1(e,t){let r=await ue(),o=e.replace(/^app_/,"");return await r.put(`cvms/app_${o}/compose`,t)}async function e6(e=!1){let t=await ue(),r="teepods/available";return e&&(r+="?v03x_only=1"),await t.get(r)}import{z as bd}from"zod";var t6={name:"attestation",description:"Get attestation information for a CVM",arguments:[{name:"app-id",description:"CVM app ID (prompts if not provided)",required:!1,target:"appId"}],options:[no],examples:[{name:"Show attestation summary",value:"phala cvms attestation"},{name:"Output full attestation JSON",value:"phala cvms attestation --json"}]},r6=bd.object({appId:bd.string().optional(),json:bd.boolean().default(!1)});async function s3(e){return e?kp(e):(l.info("No CVM specified, fetching available CVMs..."),await Sp()??void 0)}async function i3(e,t){qe(e.json);try{let r=await s3(e.appId);if(!r)return 0;let o=l.startSpinner(`Fetching attestation information for CVM app_${r}...`);try{let n=await J1(r);if(o.stop(!0),!n)return t.fail("No attestation information found"),1;if(e.json)return t.success(n),0;if(l.success("Attestation Summary:"),l.keyValueTable({Status:n.is_online?Ap.green("Online"):Ap.red("Offline"),"Public Access":n.is_public?Ap.green("Enabled"):Ap.yellow("Disabled"),Error:n.error||"None",Certificates:`${n.app_certificates?.length||0} found`},{borderStyle:"rounded"}),n.app_certificates?.length&&n.app_certificates.forEach((s,i)=>{l.break(),l.success(`Certificate #${i+1} (${s.position_in_chain===0?"End Entity":"CA"}):`),l.keyValueTable({Subject:`${s.subject.common_name||"Unknown"}${s.subject.organization?` (${s.subject.organization})`:""}`,Issuer:`${s.issuer.common_name||"Unknown"}${s.issuer.organization?` (${s.issuer.organization})`:""}`,"Serial Number":s.serial_number,Validity:`${new Date(s.not_before).toLocaleString()} to ${new Date(s.not_after).toLocaleString()}`,Fingerprint:s.fingerprint,"Signature Algorithm":s.signature_algorithm,"Is CA":s.is_ca?"Yes":"No","Position in Chain":s.position_in_chain},{borderStyle:"rounded"})}),n.tcb_info&&(l.break(),l.success("Trusted Computing Base (TCB) Information:"),l.keyValueTable({Mrtd:n.tcb_info.mrtd,"Rootfs Hash":n.tcb_info.rootfs_hash,Rtmr0:n.tcb_info.rtmr0,Rtmr1:n.tcb_info.rtmr1,Rtmr2:n.tcb_info.rtmr2,Rtmr3:n.tcb_info.rtmr3,"Event Log Entries":`${n.tcb_info.event_log.length} entries`},{borderStyle:"rounded"}),n.tcb_info.event_log?.length)){l.break(),l.success("Event Log (Showing entries to reproduce RTMR3):");let s=n.tcb_info.event_log.filter(i=>i.event).map(i=>({Event:i.event,IMR:i.imr.toString(),"Event Type":i.event_type.toString(),Payload:i.event_payload}));l.table(s,[{key:"Event",header:"Event"},{key:"IMR",header:"IMR"},{key:"Event Type",header:"Type"},{key:"Payload",header:"Payload"}]),n.tcb_info.event_log.length>s.length&&l.info("To see all full attestation data, use --json"),l.break(),l.success("To reproduce RTMR3, use the tool at https://rtmr3-calculator.vercel.app/")}return 0}catch(n){throw o.stop(!1),n}}catch(r){return l.logDetailedError(r),t.fail(`Failed to get attestation information: ${r instanceof Error?r.message:String(r)}`),1}}var o6=$({path:["cvms","attestation"],meta:t6,schema:r6,handler:i3});import p6 from"node:fs";import p3 from"node:path";import xd from"node:fs";import wd from"node:path";import a3 from"inquirer";function Pt(e,t=process.cwd()){let r=wd.resolve(t,e);if(!xd.existsSync(r))throw new Error(`File not found at ${r}`);return!0}async function Dr(e,t,r="file",o=process.cwd()){return(await a3.prompt([{type:"input",name:r,message:e,default:t,validate:s=>{let i=wd.resolve(o,s);return xd.existsSync(i)?!0:`File not found at ${i}`}}]))[r]}function ki(e,t){for(let r of e){let o=wd.join(process.cwd(),r);if(xd.existsSync(o))return t?l.info(t.replace("{path}",o)):l.info(`File detected: ${o}`),r}}import*as n6 from"node:fs";var Na=(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=n6.readFileSync(t,"utf8");for(let n of o.split(`
167
174
  `)){if(!n.trim()||n.trim().startsWith("#"))continue;let s=-1,i=!1,a="";for(let g=0;g<n.length;g++)if((n[g]==='"'||n[g]==="'"||n[g]==="`")&&(g===0||n[g-1]!=="\\"))i&&n[g]===a?(i=!1,a=""):i||(i=!0,a=n[g]);else if(n[g]==="="&&!i){s=g;break}else if(n[g]==="#"&&!i)break;if(s===-1){n.trim().startsWith("#");continue}let c=n.substring(0,s).trim(),m=n.substring(s+1),u=!1,f="",p=-1;for(let g=0;g<m.length;g++)if((m[g]==='"'||m[g]==="'"||m[g]==="`")&&(g===0||m[g-1]!=="\\"))u&&m[g]===f?(u=!1,f=""):u||(u=!0,f=m[g]);else if(m[g]==="#"&&!u&&g>0&&m[g-1]===" "){p=g-1;break}else if(m[g]==="#"&&!u&&g===0){p=g;break}p!==-1&&(m=m.substring(0,p)),m===void 0&&(m="");let d=m.charAt(0),h=m.charAt(m.length-1);d==='"'&&h==='"'||d==="'"&&h==="'"||d==="`"&&h==="`"?(m=m.substring(1,m.length-1),d==='"'&&(m=m.replace(/\\\\n/g,`
168
- `))):m=m.trim(),c&&(r[c]=m)}}return Object.entries(r).map(([o,n])=>({key:o,value:n}))};import{execSync as oo,spawn as n3}from"node:child_process";import*as te from"node:fs";import*as yd from"node:net";import*as Mr from"node:os";import*as Wt from"node:path";var We={version:"0.5.3",baseUrl:"https://github.com/Dstack-TEE/dstack/releases/download/v0.5.3",installDir:Wt.join(Mr.homedir(),".phala-cloud","simulator"),defaultLogPath:Wt.join(Mr.homedir(),".phala-cloud","logs","dstack-simulator.log"),platforms:{darwin:{filename:"dstack-simulator-0.5.3-aarch64-apple-darwin.tgz",extractedFolder:"0.5.3",socketPath:Wt.join(Mr.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:Wt.join(Mr.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 e6(){try{if(!te.existsSync(We.installDir))return!1;let e=Mr.platform();if(!We.platforms[e])throw new Error(`Unsupported platform: ${e}`);let t=Wt.join(We.installDir,We.platforms[e].extractedFolder);if(!te.existsSync(t))return!1;let o=Wt.join(t,e==="win32"?"dstack-simulator.exe":"dstack-simulator");return te.existsSync(o)}catch(e){return l.error("Error checking if simulator is installed:",e),!1}}function Da(){let e=Mr.platform();if(!We.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=Da(),o=We.platforms[r];if(r==="win32"){try{oo("tar --version",{stdio:"ignore"})}catch{throw new Error("Windows 10 build 17063 or later is required (includes tar command). Please update your Windows version.")}throw new Error("Windows platform is currently not supported. Support will be added in a future release.")}te.existsSync(We.installDir)||(l.info(`Creating installation directory at ${We.installDir}`),te.mkdirSync(We.installDir,{recursive:!0})),process.chdir(We.installDir);let n=`${We.baseUrl}/${o.filename}`;l.info(`Downloading simulator from ${n}`),oo(`wget ${n}`,{stdio:"inherit"});let s=Wt.join(We.installDir,o.extractedFolder);te.existsSync(s)||te.mkdirSync(s,{recursive:!0}),l.info(`Extracting ${o.filename} to ${s}`);let i=`tar -xvf "${o.filename}" -C "${s}" --strip-components=1`;l.debug(`Running: ${i}`);try{oo(i,{stdio:"inherit"}),te.unlinkSync(o.filename)}catch(a){throw l.error(`Failed to extract ${o.filename}:`,a),new Error("Failed to extract simulator archive. Make sure you have sufficient permissions and disk space.")}l.success("Simulator installation completed successfully")}catch(r){throw l.error("Error installing simulator:",r),new Error(`Failed to install simulator: ${r}`)}}var bd=()=>Wt.join(Mr.tmpdir(),"dstack-simulator.pid");function s3(e){return Buffer.byteLength(e,"utf8")>104}function Sp(){try{let e=bd();if(te.existsSync(e)){let t=Number.parseInt(te.readFileSync(e,"utf-8").trim(),10);try{return process.kill(t,0),t}catch{te.unlinkSync(e)}}return null}catch(e){return l.warn("Error checking simulator PID:",e),null}}function i3(e,t){try{let r=bd();t&&l.info(`Saving simulator PID ${e} to: ${r}`),te.writeFileSync(r,e.toString(),"utf-8")}catch(r){l.warn("Failed to save simulator PID:",r)}}async function r6(e={}){try{let t=Da(),r=We.platforms[t],o=Wt.join(We.installDir,r.extractedFolder),n=Sp();if(n)throw new Error(`Simulator is already running with PID: ${n}`);if(t!=="win32"&&s3(r.socketPath))throw new Error(`Socket path is too long (${r.socketPath.length} chars, max 104): ${r.socketPath}`);if(t!=="win32"&&te.existsSync(r.socketPath)){l.warn(`Removing existing socket file: ${r.socketPath}`);try{te.unlinkSync(r.socketPath)}catch(m){l.warn(`Failed to remove existing socket file: ${m}`)}}process.chdir(o);let s=t==="win32"?"dstack-simulator.exe":"./dstack-simulator";e.verbose&&t!=="win32"&&l.info(`Using socket path: ${r.socketPath}`);let i={background:e.background??!0,logToFile:e.logToFile??!0,logFilePath:e.logFilePath??We.defaultLogPath};if(i.logToFile){let m=Wt.dirname(i.logFilePath);te.existsSync(m)||te.mkdirSync(m,{recursive:!0}),e.verbose&&l.info(`Simulator logs will be written to: ${i.logFilePath}`)}e.verbose&&l.info(`Starting simulator with: ${s}`);let a=i.logToFile?["ignore",te.openSync(i.logFilePath,"a"),te.openSync(i.logFilePath,"a")]:"inherit",c=n3(s,[],{stdio:a,shell:t==="win32",detached:i.background});if(i.logToFile&&Array.isArray(a)&&(typeof a[1]=="number"&&te.closeSync(a[1]),typeof a[2]=="number"&&te.closeSync(a[2])),i.logToFile){let u=`
175
+ `))):m=m.trim(),c&&(r[c]=m)}}return Object.entries(r).map(([o,n])=>({key:o,value:n}))};import{execSync as so,spawn as c3}from"node:child_process";import*as ee from"node:fs";import*as vd from"node:net";import*as Nr from"node:os";import*as Jt from"node:path";var We={version:"0.5.3",baseUrl:"https://github.com/Dstack-TEE/dstack/releases/download/v0.5.3",installDir:Jt.join(Nr.homedir(),".phala-cloud","simulator"),defaultLogPath:Jt.join(Nr.homedir(),".phala-cloud","logs","dstack-simulator.log"),platforms:{darwin:{filename:"dstack-simulator-0.5.3-aarch64-apple-darwin.tgz",extractedFolder:"0.5.3",socketPath:Jt.join(Nr.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:Jt.join(Nr.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 s6(){try{if(!ee.existsSync(We.installDir))return!1;let e=Nr.platform();if(!We.platforms[e])throw new Error(`Unsupported platform: ${e}`);let t=Jt.join(We.installDir,We.platforms[e].extractedFolder);if(!ee.existsSync(t))return!1;let o=Jt.join(t,e==="win32"?"dstack-simulator.exe":"dstack-simulator");return ee.existsSync(o)}catch(e){return l.error("Error checking if simulator is installed:",e),!1}}function za(){let e=Nr.platform();if(!We.platforms[e])throw new Error(`Unsupported platform: ${e}. Only darwin, linux, and win32 are supported.`);return e}async function i6(e){let t=r=>{l.info(r),e&&e(r)};try{let r=za(),o=We.platforms[r];if(r==="win32"){try{so("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.")}ee.existsSync(We.installDir)||(l.info(`Creating installation directory at ${We.installDir}`),ee.mkdirSync(We.installDir,{recursive:!0})),process.chdir(We.installDir);let n=`${We.baseUrl}/${o.filename}`;l.info(`Downloading simulator from ${n}`),so(`wget ${n}`,{stdio:"inherit"});let s=Jt.join(We.installDir,o.extractedFolder);ee.existsSync(s)||ee.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{so(i,{stdio:"inherit"}),ee.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 Cd=()=>Jt.join(Nr.tmpdir(),"dstack-simulator.pid");function m3(e){return Buffer.byteLength(e,"utf8")>104}function Ip(){try{let e=Cd();if(ee.existsSync(e)){let t=Number.parseInt(ee.readFileSync(e,"utf-8").trim(),10);try{return process.kill(t,0),t}catch{ee.unlinkSync(e)}}return null}catch(e){return l.warn("Error checking simulator PID:",e),null}}function u3(e,t){try{let r=Cd();t&&l.info(`Saving simulator PID ${e} to: ${r}`),ee.writeFileSync(r,e.toString(),"utf-8")}catch(r){l.warn("Failed to save simulator PID:",r)}}async function a6(e={}){try{let t=za(),r=We.platforms[t],o=Jt.join(We.installDir,r.extractedFolder),n=Ip();if(n)throw new Error(`Simulator is already running with PID: ${n}`);if(t!=="win32"&&m3(r.socketPath))throw new Error(`Socket path is too long (${r.socketPath.length} chars, max 104): ${r.socketPath}`);if(t!=="win32"&&ee.existsSync(r.socketPath)){l.warn(`Removing existing socket file: ${r.socketPath}`);try{ee.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??We.defaultLogPath};if(i.logToFile){let m=Jt.dirname(i.logFilePath);ee.existsSync(m)||ee.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",ee.openSync(i.logFilePath,"a"),ee.openSync(i.logFilePath,"a")]:"inherit",c=c3(s,[],{stdio:a,shell:t==="win32",detached:i.background});if(i.logToFile&&Array.isArray(a)&&(typeof a[1]=="number"&&ee.closeSync(a[1]),typeof a[2]=="number"&&ee.closeSync(a[2])),i.logToFile){let u=`
169
176
  === Simulator started at ${new Date().toISOString()} ===
170
177
  Command: ${s}
171
178
 
172
- `;te.appendFileSync(i.logFilePath,u)}return c.pid&&i3(c.pid,e.verbose),i.background&&(c.unref(),e.verbose&&l.success("Simulator is running in the background")),await wd(),c}catch(t){throw l.error("Error running simulator:",t),new Error(`Failed to run simulator: ${t}`)}}async function Na(){try{let e=Da(),t=We.platforms[e];if(e==="darwin"||e==="linux"){let r=t.socketPath;return te.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 o6(){try{let e=Sp();if(!await Na()&&!e)return l.info("Simulator is not running"),!0;let r=Da(),o=!1;if(r==="win32")try{e?(l.info(`Stopping simulator process (PID: ${e})...`),process.kill(e,"SIGTERM")):oo("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")):oo("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=bd();if(te.existsSync(n))try{te.unlinkSync(n)}catch(s){l.warn("Failed to remove PID file:",s)}return await Gn(),o&&l.success("Simulator stopped successfully"),o}catch(e){return l.error("Error stopping simulator:",e),!1}}function xd(){let e=Da(),t=We.platforms[e];return e==="win32"?"http://127.0.0.1:8090":`${t.socketPath||"/tmp/dstack.sock"}`}async function wd(e){try{let t=xd(),r=e||t;await oo(`export DSTACK_SIMULATOR_ENDPOINT=${r}`);let o=r.replace(/dstack\.sock$/,"tappd.sock");return await oo(`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 Gn(){try{return await oo("unset DSTACK_SIMULATOR_ENDPOINT"),await oo("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 a6 from"inquirer";import{z as mr}from"zod";var n6={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 ${Un}`,type:"string",target:"vcpu"},{name:"memory",description:`Memory in MB, default is ${Hn}`,type:"string",target:"memory"},{name:"disk-size",description:`Disk size in GB, default is ${jn}`,type:"string",target:"diskSize"},{name:"teepod-id",description:"TEEPod ID to use. If not provided, it will be selected automatically.",type:"string",target:"teepodId"},{name:"image",description:"Version of dstack image to use. If not provided, a default image is used.",type:"string",target:"image"},{name:"env-file",shorthand:"e",description:"Path to environment file",type:"string",target:"envFile"},{name:"skip-env",description:"Skip environment variable prompt",type:"boolean",target:"skipEnv"},{name:"debug",description:"Enable debug mode",type:"boolean",target:"debug"}],examples:[{name:"Create a CVM interactively",value:"phala cvms create"},{name:"Create using predefined values",value:"phala cvms create --name demo --compose ./docker-compose.yml"}]},s6=mr.object({name:mr.string().optional(),compose:mr.string().optional(),vcpu:mr.string().optional(),memory:mr.string().optional(),diskSize:mr.string().optional(),teepodId:mr.string().optional(),image:mr.string().optional(),envFile:mr.string().optional(),skipEnv:mr.boolean().default(!1),debug:mr.boolean().default(!1)});async function m3(e){if(e)return e;let{value:t}=await a6.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 u3(e){if(e)return e;let r=Ei(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return await Fr("Enter the path to your Docker Compose file:",r,"file")}async function p3(e){if(e.envFile)return Ma([],e.envFile);if(e.skipEnv)return l.info("Skipping environment variable prompt"),[];let{shouldSkip:t}=await a6.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 Fr("Enter the path to your environment file:",".env","file");return Ma([],r)}function vd(e,t){if(!e)return t;let r=Number(e);return Number.isFinite(r)?r:t}function f3(e,t){return!Number.isFinite(t)||t<=0?`Invalid ${e}: ${t}`:null}async function l3(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 d3(e,t){let r=e.images??[];return t?r.find(o=>o.name===t):r.find(o=>o.name===nd)}async function h3(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 m3(e.name),o=await u3(e.compose),n=a3.resolve(o);if(!i6.existsSync(n))return l.error(`Docker Compose file not found: ${n}`),1;let s=i6.readFileSync(n,"utf8");await Gn(),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 p3(e)}catch(A){return l.error(`Failed to read environment file: ${A instanceof Error?A.message:String(A)}`),1}let a=vd(e.vcpu,Un),c=vd(e.memory,Hn),m=vd(e.diskSize,jn);for(let[A,P]of[["number of vCPUs",a],["memory",c],["disk size",m]]){let T=f3(A,P);if(T)return l.error(T),1}let u=l.startSpinner("Fetching available TEEPods"),f=await J1(!0);u.stop(!0);let p=await l3(e.teepodId,f);if(!p)return l.error("Failed to find suitable TEEPod"),1;let d=d3(p,e.image);if(!d)return l.error(e.image?`Failed to find selected image: ${e.image}`:`Failed to find default image ${nd}`),1;let h={teepod_id:p.teepod_id,name:r,image:d.name,vcpu:a,memory:c,disk_size:m,compose_manifest:{docker_compose_file:s,docker_config:{url:"",username:"",password:""},features:["kms","tproxy-net"],kms_enabled:!0,manifest_version:2,name:r,public_logs:!0,public_sysinfo:!0,runner:"docker-compose",tproxy_enabled:!0},listed:!1},g=l.startSpinner("Getting public key from CVM"),b=await q1(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,cr.encryptEnvVars)(i,b.app_env_encrypt_pubkey);y.stop(!0),e.debug&&(l.debug("Public key:",b.app_env_encrypt_pubkey),l.debug("Encrypted environment variables:",v),l.debug("Environment variables:",JSON.stringify(i)));let C=l.startSpinner("Creating CVM"),k=await K1({...h,encrypted_env:v,app_env_encrypt_pubkey:b.app_env_encrypt_pubkey,app_id_salt:b.app_id_salt});return C.stop(!0),k?(l.success("CVM created successfully"),l.break(),l.keyValueTable({"CVM ID":k.id,Name:k.name,Status:k.status,"App ID":`app_${k.app_id}`,"App URL":k.app_url||`${ye}/dashboard/cvms/app_${k.app_id}`},{borderStyle:"rounded"}),l.info(""),l.success(`Your CVM is being created. You can check its status with:
173
- phala cvms get app_${k.app_id}`),0):(l.error("Failed to create CVM"),1)}catch(r){return l.error(`Failed to create CVM: ${r instanceof Error?r.message:String(r)}`),r instanceof c3&&e.debug&&(l.error("=== HTTP Error Details ==="),l.error("Status:",r.status),l.error("Status Text:",r.statusText),l.error("URL:",r.request),l.error("Response Body:",JSON.stringify(r.data,null,2))),1}}var c6=$({path:["cvms","create"],meta:n6,schema:s6,handler:h3});import g3 from"inquirer";async function bt(e){if(!e){let t=await Ep();return t||void 0}return await Cp(e)}async function Ap(e,t=3e5,r=!0){let o=sn(),n=yt({apiKey:o}),s=Date.now(),i=2e3;for(r&&l.info("Waiting for CVM to be ready...");Date.now()-s<t;){try{let a=await Kt(n,{uuid:e});if(!a.success)r&&l.warn(`Failed to get CVM info: ${a.error.message}`);else{let c=a.data,m=c.status,u=c.in_progress;if(r){let f=Math.floor((Date.now()-s)/1e3);l.info(` [${f}s] status=${m}, in_progress=${u}`)}if(m==="running"&&!u){if(r){let f=Math.floor((Date.now()-s)/1e3);l.success(`CVM is ready (took ${f}s)`)}return}}}catch(a){r&&l.warn(`Error checking CVM status: ${a}`)}await new Promise(a=>setTimeout(a,i))}throw new Error(`Timeout waiting for CVM to be ready (${Math.floor(t/1e3)}s)`)}import{z as Ip}from"zod";var m6={name:"delete",description:"Delete a CVM",arguments:[{name:"app-id",description:"App ID of the CVM (leave empty for interactive selection)",required:!1,target:"appId"}],options:[{name:"force",shorthand:"f",description:"Skip confirmation prompt",type:"boolean",target:"force"},{name:"yes",shorthand:"y",description:"Alias for --force (skip confirmation prompt)",type:"boolean",target:"yes"}],examples:[{name:"Delete a CVM interactively",value:"phala cvms delete"},{name:"Delete a CVM without confirmation",value:"phala cvms delete app_123 --force"}]},u6=Ip.object({appId:Ip.string().optional(),force:Ip.boolean().default(!1),yes:Ip.boolean().default(!1)});async function y3(e,t){try{let r=await bt(e.appId);if(!e.force&&!e.yes){let{confirm:s}=await g3.prompt([{type:"confirm",name:"confirm",message:`Are you sure you want to delete CVM with App ID app_${r}? This action cannot be undone.`,default:!1}]);if(!s)return l.info("Deletion cancelled"),0}let o=l.startSpinner(`Deleting CVM app_${r}`),n=await j1(r);return o.stop(!0),n?(l.success(`CVM app_${r} deleted successfully`),0):(l.error(`Failed to delete CVM app_${r}`),1)}catch(r){return l.error("Failed to delete CVM"),F(r),1}}var p6=$({path:["cvms","delete"],meta:m6,schema:u6,handler:y3});import Ed from"chalk";import{z as Cd}from"zod";var f6={name:"get",description:"Get details of a CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],options:[ro],examples:[{name:"Show CVM details interactively",value:"phala cvms get"},{name:"Get CVM info for a specific App ID",value:"phala cvms get app_123"}]},l6=Cd.object({appId:Cd.string().optional(),json:Cd.boolean().default(!1)});async function b3(e,t){try{let r=await bt(e.appId),o=r?.replace(/^app_/,"")??"";if(!o)return l.error("No CVM App ID provided."),1;let n;e.json||(n=l.startSpinner(`Fetching CVM with App ID app_${o}`));let s=await pe(),i=await Kt(s,{app_id:o});if(n&&n.stop(!0),!i.success)throw new Error(i.error.message);let a=i.data;if(!a)return l.error(`CVM with App ID app_${r} not found`),1;if(l.break(),e.json)return t.stdout.write(`${JSON.stringify(a,null,2)}
174
- `),0;let c=a.status==="running"?Ed.green(a.status):a.status==="stopped"?Ed.red(a.status):Ed.yellow(a.status);return l.keyValueTable({Name:a.name,"App ID":`app_${a.app_id}`,Status:c,vCPU:a.vcpu,Memory:`${a.memory} MB`,"Disk Size":`${a.disk_size} GB`,"Dstack Image":a.base_image,"App URL":`${ye}/dashboard/cvms/app_${a.app_id}`}),0}catch(r){return l.error("Failed to get CVM details"),F(r),1}}var d6=$({path:["cvms","get"],meta:f6,schema:l6,handler:b3});import kd from"chalk";import{z as h6}from"zod";var g6={name:"list",aliases:["ls"],description:"List all CVMs",options:[ro],examples:[{name:"Display CVMs in table format",value:"phala cvms list"},{name:"Print CVMs as JSON",value:"phala cvms list --json"}]},y6=h6.object({json:h6.boolean().default(!1)});async function x3(e,t){try{let r;e.json||(r=l.startSpinner("Fetching CVMs"));let o=await pe(),n=await wi(o);if(r&&r.stop(!0),!n.success)throw new Error(n.error.message);let s=n.data.items??[];if(s.length===0)return l.info("No CVMs found"),0;if(e.json)return l.break(),t.stdout.write(`${JSON.stringify(s,null,2)}
175
- `),0;for(let i of s){let a=i,c=a.status==="running"?kd.green(a.status):a.status==="stopped"?kd.red(a.status):kd.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.error("Failed to list CVMs"),F(r),1}}var b6=$({path:["cvms","list"],meta:g6,schema:y6,handler:x3});import{z as w3}from"zod";var x6={name:"list-nodes",description:"List all available worker nodes."},w6=w3.object({});async function v3(e,t){try{let r=await pe(),o=await Pa(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(`
176
- 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"),F(r),1}}var v6=$({path:["cvms","list-nodes"],meta:x6,schema:w6,handler:v3});import k6 from"node:fs";import C3 from"node:path";import{z as _p}from"zod";var C6={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"}]},E6=_p.object({cvmId:_p.string().min(1,"CVM ID is required"),teepodId:_p.string().optional(),envFile:_p.string().optional()});function E3(e){return k6.readFileSync(e,"utf-8").split(`
177
- `).filter(r=>r.trim()!==""&&!r.trim().startsWith("#")).map(r=>{let[o,...n]=r.split("=");return{key:o.trim(),value:n.join("=").trim()}})}async function k3(e,t){try{let r=e.cvmId.replace(/-/g,""),o;if(e.envFile){let i=C3.resolve(process.cwd(),e.envFile);if(!k6.existsSync(i))throw new Error(`Environment file not found: ${i}`);let a=E3(i),c=await L1(r);l.info("Encrypting environment variables..."),o=await(0,cr.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 V1(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:
178
- phala cvms get ${s.app_id}`),0}catch(r){return l.error("Failed to create CVM replica"),F(r),1}}var S6=$({path:["cvms","replicate"],meta:C6,schema:E6,handler:k3});import mn from"chalk";import Id from"inquirer";async function no(e,t={}){let{maxRetries:r=100,retryDelayMs:o=3e3,spinner:n,logRetries:s=!0}=t,i;for(let c=0;c<=r;c++)try{return await e()}catch(m){i=m;let u=m;if((u.message?.includes("409")||u.status===409||u.message?.includes("Conflict"))&&c<r)n&&n.stop(!0),s&&l.warn(`CVM is busy, retrying in ${o}ms... (attempt ${c+1}/${r})`),await new Promise(p=>setTimeout(p,o));else throw m}let a=i;throw new Error(`Failed after ${r} retries due to conflicts: ${a?.message||String(i)}`)}import{z as cn}from"zod";var A6={name:"resize",description:"Resize resources for a CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],options:[{name:"vcpu",shorthand:"v",description:"Number of virtual CPUs",type:"string",target:"vcpu"},{name:"memory",shorthand:"m",description:"Memory size in MB",type:"string",target:"memory"},{name:"disk-size",shorthand:"d",description:"Disk size in GB",type:"string",target:"diskSize"},{name:"allow-restart",shorthand:"r",description:"Allow restart of the CVM if needed for resizing",type:"string",target:"allowRestart"},{name:"yes",shorthand:"y",description:"Automatically confirm the resize operation",type:"boolean",target:"yes"},{name:"json",description:"Output result in JSON format",type:"boolean",target:"json"}],examples:[{name:"Resize CVM interactively",value:"phala cvms resize"},{name:"Resize without confirmation",value:"phala cvms resize app_123 --vcpu 4 --memory 4096 --disk-size 120 --yes"}]},I6=cn.object({appId:cn.string().optional(),vcpu:cn.string().optional(),memory:cn.string().optional(),diskSize:cn.string().optional(),allowRestart:cn.string().optional(),yes:cn.boolean().default(!1),json:cn.boolean().default(!1)});function Sd(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 S3(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 Ad(e,t){return(await Id.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 A3(e,t){try{let r=await bt(e.appId),o=await Ci(r);if(!o)return l.error(`CVM with App ID app_${r} not found`),1;let n,s,i,a;try{n=Sd(e.vcpu,"--vcpu"),s=Sd(e.memory,"--memory"),i=Sd(e.diskSize,"--disk-size"),a=S3(e.allowRestart)}catch(c){return l.error(c instanceof Error?c.message:String(c)),1}if(e.json?(n===void 0&&(n=o.vcpu),s===void 0&&(s=o.memory),i===void 0&&(i=o.disk_size),a===void 0&&(a=!0)):(n===void 0&&(n=await Ad("Enter number of vCPUs:",o.vcpu)),s===void 0&&(s=await Ad("Enter memory in MB:",o.memory)),i===void 0&&(i=await Ad("Enter disk size in GB:",o.disk_size)),a===void 0&&(a=(await Id.prompt([{type:"confirm",name:"allowRestart",message:"Allow restart of the CVM if needed for resizing?",default:!1}])).allowRestart)),e.json)await no(()=>ld(r,n,s,i,a?1:0)),console.log(JSON.stringify({success:!0,app_id:r,vcpu:n,memory:s,disk_size:i,allow_restart:a}));else{if(l.keyValueTable({vCPUs:o.vcpu!==n?`${mn.red(o.vcpu)} -> ${mn.green(n)}`:o.vcpu,Memory:o.memory!==s?`${mn.red(o.memory)} MB -> ${mn.green(s)} MB`:o.memory,"Disk Size":o.disk_size!==i?`${mn.red(o.disk_size)} GB -> ${mn.green(i)} GB`:o.disk_size,"Allow Restart":a?mn.green("Yes"):mn.red("No")}),!e.yes){let{confirm:m}=await Id.prompt([{type:"confirm",name:"confirm",message:`Are you sure you want to resize CVM app_${r}?`,default:!1}]);if(!m)return l.info("Resize operation cancelled"),0}let c=l.startSpinner(`Resizing CVM with App ID app_${r}`);await no(()=>ld(r,n,s,i,a?1:0),{spinner:c}),c.stop(!0),l.break(),l.success(`Your CVM is being resized. You can check the dashboard for more details:
179
- ${ye}/dashboard/cvms/app_${r}`)}return 0}catch(r){return l.error("Failed to resize CVM"),F(r),1}}var _6=$({path:["cvms","resize"],meta:A6,schema:I6,handler:A3});import{z as T6}from"zod";var P6={name:"restart",description:"Restart a CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],examples:[{name:"Restart a specific CVM",value:"phala cvms restart app_123"}]},$6=T6.object({appId:T6.string().optional()});async function I3(e,t){try{let r=await bt(e.appId),o=await Ci(r);o.in_progress&&(l.warn("CVM is currently in progress (updating/restarting). Waiting for operation to complete..."),await Ap(o.vm_uuid,3e5,!0));let n=l.startSpinner(`Restarting CVM with App ID app_${r}`),s=await no(()=>H1(r),{spinner:n});return n.stop(!0),l.break(),l.keyValueTable({"CVM ID":s.id,Name:s.name,Status:s.status,"App ID":`app_${s.app_id}`,"App URL":s.app_url||`${ye}/dashboard/cvms/app_${s.app_id}`},{borderStyle:"rounded"}),l.break(),l.success(`Your CVM is being restarted. You can check the dashboard for more details:
180
- ${ye}/dashboard/cvms/app_${s.app_id}`),0}catch(r){return l.error("Failed to restart CVM"),F(r),1}}var R6=$({path:["cvms","restart"],meta:P6,schema:$6,handler:I3});import{z as B6}from"zod";var F6={name:"start",description:"Start a stopped CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],examples:[{name:"Start a specific CVM",value:"phala cvms start app_123"}]},M6=B6.object({appId:B6.string().optional()});async function _3(e,t){try{let r=await bt(e.appId),o=l.startSpinner(`Starting CVM with App ID app_${r}`),n=await no(()=>O1(r),{spinner:o});return o.stop(!0),l.break(),l.keyValueTable({"CVM ID":n.id,Name:n.name,Status:n.status,"App ID":`app_${n.app_id}`},{borderStyle:"rounded"}),l.break(),l.success(`Your CVM is being started. You can check the dashboard for more details:
181
- ${ye}/dashboard/cvms/app_${n.app_id}`),0}catch(r){return l.error("Failed to start CVM"),F(r),1}}var D6=$({path:["cvms","start"],meta:F6,schema:M6,handler:_3});import{z as N6}from"zod";var z6={name:"stop",description:"Stop a running CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],examples:[{name:"Stop a specific CVM",value:"phala cvms stop app_123"}]},L6=N6.object({appId:N6.string().optional()});async function T3(e,t){try{let r=await bt(e.appId),o=l.startSpinner(`Stopping CVM with App ID app_${r}`),n=await no(()=>U1(r),{spinner:o});return o.stop(!0),l.break(),l.keyValueTable({"CVM ID":n.id,Name:n.name,Status:n.status,"App ID":`app_${n.app_id}`},{borderStyle:"rounded"}),l.break(),l.success(`Your CVM is being stopped. You can check the dashboard for more details:
182
- ${ye}/dashboard/cvms/app_${n.app_id}`),0}catch(r){return l.error("Failed to stop CVM"),F(r),1}}var O6=$({path:["cvms","stop"],meta:z6,schema:L6,handler:T3});import P3 from"node:fs";import{FetchError as $3}from"ofetch";import{z as za}from"zod";var U6={name:"upgrade",description:'[DEPRECATED] Upgrade a CVM to a new version (use "phala deploy" instead)',arguments:[{name:"app-id",description:"CVM app ID to upgrade (optional)",required:!1,target:"appId"}],options:[{name:"compose",shorthand:"c",description:"Path to new Docker Compose file",type:"string",target:"compose"},{name:"env-file",shorthand:"e",description:"Path to environment file",type:"string",target:"envFile"},{name:"debug",description:"Enable debug mode",type:"boolean",target:"debug"}],examples:[{name:"Upgrade a CVM interactively",value:"phala cvms upgrade"},{name:"Upgrade using a compose file",value:"phala cvms upgrade app_123 --compose ./docker-compose.yml"}]},H6=za.object({appId:za.string().optional(),compose:za.string().optional(),envFile:za.string().optional(),debug:za.boolean().default(!1)});async function R3(e){if(e.compose)return e.compose;let r=Ei(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return Fr("Enter the path to your Docker Compose file:",r,"file")}async function B3(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.
183
- `);let r=await bt(e.appId),o=l.startSpinner(`Fetching current configuration for CVM app_${r}`),n=await Ci(r);if(o.stop(!0),!n)return l.error(`CVM with App ID app_${r} not found`),1;let s=await R3(e),i="";if(s)try{i=P3.readFileSync(s,"utf8")}catch(p){return l.error(`Failed to read Docker Compose file: ${p instanceof Error?p.message:String(p)}`),1}await Gn(),process.env.DSTACK_DOCKER_USERNAME&&process.env.DSTACK_DOCKER_PASSWORD?l.info("\u{1F510} Using private DockerHub registry credentials..."):process.env.DSTACK_AWS_ACCESS_KEY_ID&&process.env.DSTACK_AWS_SECRET_ACCESS_KEY&&process.env.DSTACK_AWS_REGION&&process.env.DSTACK_AWS_ECR_REGISTRY?l.info(`\u{1F510} Using private AWS ECR registry: ${process.env.DSTACK_AWS_ECR_REGISTRY}`):l.info("\u{1F510} Using public DockerHub registry...");let a,c=[];if(e.envFile)try{let p=Ma([],e.envFile);a=await(0,cr.encryptEnvVars)(p,n.encrypted_env_pubkey),c=p.map(d=>d.key)}catch(p){return l.error(`Failed to read environment file: ${p instanceof Error?p.message:String(p)}`),1}let m={compose_manifest:{docker_compose_file:i,manifest_version:1,runner:"docker-compose",version:"1.0.0",features:["kms","tproxy-net"],name:`app_${r}`,allowed_envs:c},encrypted_env:a,allow_restart:!0,env_keys:c},u=l.startSpinner(`Upgrading CVM app_${r}`),f=await W1(r,m);return f?(u.stop(!0),f.detail&&l.info(`Details: ${f.detail}`),l.break(),l.success(`Your CVM is being upgraded. You can check the dashboard for more details:
184
- ${ye}/dashboard/cvms/app_${r}`),0):(u.stop(!1),l.error("Failed to upgrade CVM"),1)}catch(r){if(l.error(`Failed to upgrade CVM: ${r instanceof Error?r.message:String(r)}`),r instanceof $3||r&&typeof r=="object"&&"status"in r&&"statusText"in r&&"data"in r){let n=r;l.error("=== HTTP Error Details ==="),l.error("Status:",n.status),l.error("Status Text:",n.statusText),l.error("URL:",n.request),l.error("Response Body:",JSON.stringify(n.data,null,2)),e.debug&&l.error("Full Error Object:",r)}else e.debug&&l.error("Full Error:",r);return 1}}var j6=$({path:["cvms","upgrade"],meta:U6,schema:H6,handler:B3});var _d={group:M1,commands:[X1,c6,p6,d6,b6,v6,S6,_6,R6,D6,O6,j6]};import{z as Se}from"zod";var G6={name:"deploy",description:"Create a new CVM with on-chain KMS in one step.",arguments:[],options:[...Kn,{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 ${Un}`,type:"string",target:"vcpu"},{name:"memory",description:`Memory with optional unit (optional, auto-matched if not specified), e.g., 2G, 1024MB, default is ${Hn}MB`,type:"string",target:"memory"},{name:"disk-size",description:`Disk size with optional unit (optional, auto-matched if not specified), e.g., 50G, 100GB, default is ${jn}GB`,type:"string",target:"diskSize"},{name:"image",description:"OS image version (optional, auto-selected if not specified)",type:"string",target:"image"},{name:"region",shorthand:"r",description:"Preferred region (e.g., us-west, eu-central). Optional - auto-selected if not specified.",type:"string",target:"region"},{name:"node-id",description:"Node ID (optional, auto-selected if not specified)",type:"string",target:"nodeId"},{name:"env-file",shorthand:"e",description:"Prompt for environment variables and save to file (optional)",type:"string",target:"envFile"},{name:"interactive",shorthand:"i",description:"Enable interactive mode for required parameters",type:"boolean",target:"interactive"},{name:"kms-id",description:"KMS ID to use.",type:"string",target:"kmsId"},{name:"uuid",description:"UUID of the CVM to upgrade",type:"string",target:"uuid"},{name:"custom-app-id",description:"Custom App ID to use.",type:"string",target:"customAppId"},{name:"pre-launch-script",description:"Path to pre-launch script",type:"string",target:"preLaunchScript"},{name:"private-key",description:"Private key for signing transactions.",type:"string",target:"privateKey"},{name:"rpc-url",description:"RPC URL for the blockchain.",type:"string",target:"rpcUrl"},{name:"wait",description:"Wait for CVM to complete deployment/update before returning (only applies to updates)",type:"boolean",target:"wait"}],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"}]},V6=Se.object({compose:Se.string().optional(),json:Se.boolean().default(!0),debug:Se.boolean().default(!1),apiKey:Se.string().optional(),name:Se.string().optional(),instanceType:Se.string().optional(),vcpu:Se.string().optional(),memory:Se.string().optional(),diskSize:Se.string().optional(),image:Se.string().optional(),region:Se.string().optional(),nodeId:Se.string().optional(),envFile:Se.string().optional(),interactive:Se.boolean().default(!1),kmsId:Se.string().optional(),uuid:Se.string().optional(),customAppId:Se.string().optional(),preLaunchScript:Se.string().optional(),privateKey:Se.string().optional(),rpcUrl:Se.string().optional(),wait:Se.boolean().default(!1)});import F3 from"node:path";function q6(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 K6(e){let t=q6(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 W6(e){let t=q6(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`);let o=250;if(r>o)throw new Error(`Maximum disk size is ${o}GB. Got: ${r}GB`);return r}import Pd from"dedent";import Td from"fs-extra";import $d from"inquirer";function M3(e,t){if(e instanceof Gl)return t.json?{success:!1,error_code:e.errorCode,message:e.message,details:e.structuredDetails,suggestions:e.suggestions,links:e.links}:Px(e);if(e&&typeof e=="object"&&"response"in e){let n=e.response?.data?.detail;if(n&&typeof n=="object"&&"error_code"in n){let{error_code:s,message:i,details:a,suggestions:c,links:m}=n;if(t.json)return{success:!1,error_code:s,message:i,details:a,suggestions:c,links:m};let u=`
179
+ `;ee.appendFileSync(i.logFilePath,u)}return c.pid&&u3(c.pid,e.verbose),i.background&&(c.unref(),e.verbose&&l.success("Simulator is running in the background")),await kd(),c}catch(t){throw l.error("Error running simulator:",t),new Error(`Failed to run simulator: ${t}`)}}async function La(){try{let e=za(),t=We.platforms[e];if(e==="darwin"||e==="linux"){let r=t.socketPath;return ee.existsSync(r)?new Promise(o=>{let n=vd.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=vd.createConnection({host:r,port:8090}).on("connect",()=>{s.end(),n(!0)}).on("error",()=>{n(!1)});setTimeout(()=>{s.end(),n(!1)},1e3)})}return!1}catch(e){return l.error("Error checking if simulator is running:",e),!1}}async function c6(){try{let e=Ip();if(!await La()&&!e)return l.info("Simulator is not running"),!0;let r=za(),o=!1;if(r==="win32")try{e?(l.info(`Stopping simulator process (PID: ${e})...`),process.kill(e,"SIGTERM")):so("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")):so("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=Cd();if(ee.existsSync(n))try{ee.unlinkSync(n)}catch(s){l.warn("Failed to remove PID file:",s)}return await Vn(),o&&l.success("Simulator stopped successfully"),o}catch(e){return l.error("Error stopping simulator:",e),!1}}function Ed(){let e=za(),t=We.platforms[e];return e==="win32"?"http://127.0.0.1:8090":`${t.socketPath||"/tmp/dstack.sock"}`}async function kd(e){try{let t=Ed(),r=e||t;await so(`export DSTACK_SIMULATOR_ENDPOINT=${r}`);let o=r.replace(/dstack\.sock$/,"tappd.sock");return await so(`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 Vn(){try{return await so("unset DSTACK_SIMULATOR_ENDPOINT"),await so("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 f6 from"inquirer";import{z as ur}from"zod";var m6={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 ${Hn}`,type:"string",target:"vcpu"},{name:"memory",description:`Memory in MB, default is ${jn}`,type:"string",target:"memory"},{name:"disk-size",description:`Disk size in GB, default is ${Gn}`,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"}]},u6=ur.object({name:ur.string().optional(),compose:ur.string().optional(),vcpu:ur.string().optional(),memory:ur.string().optional(),diskSize:ur.string().optional(),teepodId:ur.string().optional(),image:ur.string().optional(),envFile:ur.string().optional(),skipEnv:ur.boolean().default(!1),debug:ur.boolean().default(!1)});async function f3(e){if(e)return e;let{value:t}=await f6.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 l3(e){if(e)return e;let r=ki(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return await Dr("Enter the path to your Docker Compose file:",r,"file")}async function d3(e){if(e.envFile)return Na([],e.envFile);if(e.skipEnv)return l.info("Skipping environment variable prompt"),[];let{shouldSkip:t}=await f6.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 Dr("Enter the path to your environment file:",".env","file");return Na([],r)}function Sd(e,t){if(!e)return t;let r=Number(e);return Number.isFinite(r)?r:t}function h3(e,t){return!Number.isFinite(t)||t<=0?`Invalid ${e}: ${t}`:null}async function g3(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 y3(e,t){let r=e.images??[];return t?r.find(o=>o.name===t):r.find(o=>o.name===cd)}async function b3(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 f3(e.name),o=await l3(e.compose),n=p3.resolve(o);if(!p6.existsSync(n))return l.error(`Docker Compose file not found: ${n}`),1;let s=p6.readFileSync(n,"utf8");await Vn(),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 d3(e)}catch(A){return l.error(`Failed to read environment file: ${A instanceof Error?A.message:String(A)}`),1}let a=Sd(e.vcpu,Hn),c=Sd(e.memory,jn),m=Sd(e.diskSize,Gn);for(let[A,T]of[["number of vCPUs",a],["memory",c],["disk size",m]]){let I=h3(A,T);if(I)return l.error(I),1}let u=l.startSpinner("Fetching available TEEPods"),f=await e6(!0);u.stop(!0);let p=await g3(e.teepodId,f);if(!p)return l.error("Failed to find suitable TEEPod"),1;let d=y3(p,e.image);if(!d)return l.error(e.image?`Failed to find selected image: ${e.image}`:`Failed to find default image ${cd}`),1;let h={teepod_id:p.teepod_id,name:r,image:d.name,vcpu:a,memory:c,disk_size:m,compose_manifest:{docker_compose_file:s,docker_config:{url:"",username:"",password:""},features:["kms","tproxy-net"],kms_enabled:!0,manifest_version:2,name:r,public_logs:!0,public_sysinfo:!0,runner:"docker-compose",tproxy_enabled:!0},listed:!1},g=l.startSpinner("Getting public key from CVM"),b=await Y1(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,mr.encryptEnvVars)(i,b.app_env_encrypt_pubkey);y.stop(!0),e.debug&&(l.debug("Public key:",b.app_env_encrypt_pubkey),l.debug("Encrypted environment variables:",v),l.debug("Environment variables:",JSON.stringify(i)));let C=l.startSpinner("Creating CVM"),k=await X1({...h,encrypted_env:v,app_env_encrypt_pubkey:b.app_env_encrypt_pubkey,app_id_salt:b.app_id_salt});return C.stop(!0),k?(l.success("CVM created successfully"),l.break(),l.keyValueTable({"CVM ID":k.id,Name:k.name,Status:k.status,"App ID":`app_${k.app_id}`,"App URL":k.app_url||`${ge}/dashboard/cvms/app_${k.app_id}`},{borderStyle:"rounded"}),l.info(""),l.success(`Your CVM is being created. You can check its status with:
180
+ phala cvms get app_${k.app_id}`),0):(l.error("Failed to create CVM"),1)}catch(r){return l.error(`Failed to create CVM: ${r instanceof Error?r.message:String(r)}`),1}}var l6=$({path:["cvms","create"],meta:m6,schema:u6,handler:b3});import x3 from"inquirer";async function xt(e){if(!e){let t=await Sp();return t||void 0}return await kp(e)}async function _p(e,t=3e5){let r=cn(),o=bt({apiKey:r}),n=Date.now(),s=2e3;for(l.info("Waiting for CVM to be ready...");Date.now()-n<t;){try{let i=await Wt(o,{uuid:e});if(!i.success)l.warn(`Failed to get CVM info: ${i.error.message}`);else{let a=i.data,c=a.status,m=a.in_progress,u=Math.floor((Date.now()-n)/1e3);if(l.info(` [${u}s] status=${c}, in_progress=${m}`),c==="running"&&!m){let f=Math.floor((Date.now()-n)/1e3);l.success(`CVM is ready (took ${f}s)`);return}}}catch(i){l.warn(`Error checking CVM status: ${i}`)}await new Promise(i=>setTimeout(i,s))}throw new Error(`Timeout waiting for CVM to be ready (${Math.floor(t/1e3)}s)`)}import{z as Pp}from"zod";var d6={name:"delete",description:"Delete a CVM",arguments:[{name:"app-id",description:"App ID of the CVM (leave empty for interactive selection)",required:!1,target:"appId"}],options:[{name:"force",shorthand:"f",description:"Skip confirmation prompt",type:"boolean",target:"force"},{name:"yes",shorthand:"y",description:"Alias for --force (skip confirmation prompt)",type:"boolean",target:"yes"}],examples:[{name:"Delete a CVM interactively",value:"phala cvms delete"},{name:"Delete a CVM without confirmation",value:"phala cvms delete app_123 --force"}]},h6=Pp.object({appId:Pp.string().optional(),force:Pp.boolean().default(!1),yes:Pp.boolean().default(!1)});async function w3(e,t){try{let r=await xt(e.appId);if(!e.force&&!e.yes){let{confirm:s}=await x3.prompt([{type:"confirm",name:"confirm",message:`Are you sure you want to delete CVM with App ID app_${r}? This action cannot be undone.`,default:!1}]);if(!s)return l.info("Deletion cancelled"),0}let o=l.startSpinner(`Deleting CVM app_${r}`),n=await W1(r);return o.stop(!0),n?(l.success(`CVM app_${r} deleted successfully`),0):(l.error(`Failed to delete CVM app_${r}`),1)}catch(r){return l.error("Failed to delete CVM"),l.logDetailedError(r),1}}var g6=$({path:["cvms","delete"],meta:d6,schema:h6,handler:w3});import Id from"chalk";import{z as Ad}from"zod";var y6={name:"get",description:"Get details of a CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],options:[no],examples:[{name:"Show CVM details interactively",value:"phala cvms get"},{name:"Get CVM info for a specific App ID",value:"phala cvms get app_123"}]},b6=Ad.object({appId:Ad.string().optional(),json:Ad.boolean().default(!1)});async function v3(e,t){qe(e.json);try{let r=await xt(e.appId),o=r?.replace(/^app_/,"")??"";if(!o)return t.fail("No CVM App ID provided."),1;let n=l.startSpinner(`Fetching CVM with App ID app_${o}`),s=await ue(),i=await Wt(s,{app_id:o});if(n.stop(!0),!i.success)return t.fail(i.error.message),1;let a=i.data;if(!a)return t.fail(`CVM with App ID app_${r} not found`),1;if(e.json)return t.success(a),0;l.break();let c=a.status==="running"?Id.green(a.status):a.status==="stopped"?Id.red(a.status):Id.yellow(a.status);return l.keyValueTable({Name:a.name,"App ID":`app_${a.app_id}`,Status:c,vCPU:a.vcpu,Memory:`${a.memory} MB`,"Disk Size":`${a.disk_size} GB`,"Dstack Image":a.base_image,"App URL":`${ge}/dashboard/cvms/app_${a.app_id}`}),0}catch(r){return l.logDetailedError(r),t.fail(`Failed to get CVM details: ${r instanceof Error?r.message:String(r)}`),1}}var x6=$({path:["cvms","get"],meta:y6,schema:b6,handler:v3});import _d from"chalk";import{z as w6}from"zod";var v6={name:"list",aliases:["ls"],description:"List all CVMs",options:[no],examples:[{name:"Display CVMs in table format",value:"phala cvms list"},{name:"Print CVMs as JSON",value:"phala cvms list --json"}]},C6=w6.object({json:w6.boolean().default(!1)});async function C3(e,t){qe(e.json);try{let r=l.startSpinner("Fetching CVMs"),o=await ue(),n=await vi(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"?_d.green(a.status):a.status==="stopped"?_d.red(a.status):_d.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":`${ge}/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 ${ge}/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 E6=$({path:["cvms","list"],meta:v6,schema:C6,handler:C3});import{z as E3}from"zod";var k6={name:"list-nodes",description:"List all available worker nodes."},S6=E3.object({});async function k3(e,t){try{let r=await ue(),o=await $a(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 A6=$({path:["cvms","list-nodes"],meta:k6,schema:S6,handler:k3});import P6 from"node:fs";import S3 from"node:path";import{z as Tp}from"zod";var I6={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"}]},_6=Tp.object({cvmId:Tp.string().min(1,"CVM ID is required"),teepodId:Tp.string().optional(),envFile:Tp.string().optional()});function A3(e){return P6.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 I3(e,t){try{let r=e.cvmId.replace(/-/g,""),o;if(e.envFile){let i=S3.resolve(process.cwd(),e.envFile);if(!P6.existsSync(i))throw new Error(`Environment file not found: ${i}`);let a=A3(i),c=await G1(r);l.info("Encrypting environment variables..."),o=await(0,mr.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 Z1(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 T6=$({path:["cvms","replicate"],meta:I6,schema:_6,handler:I3});import un from"chalk";import $d from"inquirer";async function io(e,t={}){let{maxRetries:r=100,retryDelayMs:o=3e3,spinner:n,logRetries:s=!0}=t,i;for(let c=0;c<=r;c++)try{return await e()}catch(m){i=m;let u=m;if((u.message?.includes("409")||u.status===409||u.message?.includes("Conflict"))&&c<r)n&&n.stop(!0),s&&l.warn(`CVM is busy, retrying in ${o}ms... (attempt ${c+1}/${r})`),await new Promise(p=>setTimeout(p,o));else throw m}let a=i;throw new Error(`Failed after ${r} retries due to conflicts: ${a?.message||String(i)}`)}import{z as mn}from"zod";var $6={name:"resize",description:"Resize resources for a CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],options:[{name:"vcpu",shorthand:"v",description:"Number of virtual CPUs",type:"string",target:"vcpu"},{name:"memory",shorthand:"m",description:"Memory size in MB",type:"string",target:"memory"},{name:"disk-size",shorthand:"d",description:"Disk size in GB",type:"string",target:"diskSize"},{name:"allow-restart",shorthand:"r",description:"Allow restart of the CVM if needed for resizing",type:"string",target:"allowRestart"},{name:"yes",shorthand:"y",description:"Automatically confirm the resize operation",type:"boolean",target:"yes"},{name:"json",description:"Output result in JSON format",type:"boolean",target:"json"}],examples:[{name:"Resize CVM interactively",value:"phala cvms resize"},{name:"Resize without confirmation",value:"phala cvms resize app_123 --vcpu 4 --memory 4096 --disk-size 120 --yes"}]},R6=mn.object({appId:mn.string().optional(),vcpu:mn.string().optional(),memory:mn.string().optional(),diskSize:mn.string().optional(),allowRestart:mn.string().optional(),yes:mn.boolean().default(!1),json:mn.boolean().default(!1)});function Pd(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 _3(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 Td(e,t){return(await $d.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 P3(e,t){qe(e.json);try{let r=await xt(e.appId),o=await Ei(r);if(!o)return t.fail(`CVM with App ID app_${r} not found`),1;let n,s,i,a;try{n=Pd(e.vcpu,"--vcpu"),s=Pd(e.memory,"--memory"),i=Pd(e.diskSize,"--disk-size"),a=_3(e.allowRestart)}catch(c){return l.error(c instanceof Error?c.message:String(c)),1}if(Hp()?(n===void 0&&(n=await Td("Enter number of vCPUs:",o.vcpu)),s===void 0&&(s=await Td("Enter memory in MB:",o.memory)),i===void 0&&(i=await Td("Enter disk size in GB:",o.disk_size)),a===void 0&&(a=(await $d.prompt([{type:"confirm",name:"allowRestart",message:"Allow restart of the CVM if needed for resizing?",default:!1}])).allowRestart)):(n===void 0&&(n=o.vcpu),s===void 0&&(s=o.memory),i===void 0&&(i=o.disk_size),a===void 0&&(a=!0)),Hp()){if(l.keyValueTable({vCPUs:o.vcpu!==n?`${un.red(o.vcpu)} -> ${un.green(n)}`:o.vcpu,Memory:o.memory!==s?`${un.red(o.memory)} MB -> ${un.green(s)} MB`:o.memory,"Disk Size":o.disk_size!==i?`${un.red(o.disk_size)} GB -> ${un.green(i)} GB`:o.disk_size,"Allow Restart":a?un.green("Yes"):un.red("No")}),!e.yes){let{confirm:m}=await $d.prompt([{type:"confirm",name:"confirm",message:`Are you sure you want to resize CVM app_${r}?`,default:!1}]);if(!m)return l.info("Resize operation cancelled"),0}let c=l.startSpinner(`Resizing CVM with App ID app_${r}`);await io(()=>yd(r,n,s,i,a?1:0),{spinner:c}),c.stop(!0),l.break(),l.success(`Your CVM is being resized. You can check the dashboard for more details:
184
+ ${ge}/dashboard/cvms/app_${r}`)}else await io(()=>yd(r,n,s,i,a?1:0)),t.success({app_id:r,vcpu:n,memory:s,disk_size:i,allow_restart:a});return 0}catch(r){return l.error("Failed to resize CVM"),l.logDetailedError(r),t.fail(r instanceof Error?r.message:String(r)),1}}var B6=$({path:["cvms","resize"],meta:$6,schema:R6,handler:P3});import{z as F6}from"zod";var M6={name:"restart",description:"Restart a CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],examples:[{name:"Restart a specific CVM",value:"phala cvms restart app_123"}]},D6=F6.object({appId:F6.string().optional()});async function T3(e,t){try{let r=await xt(e.appId),o=await Ei(r);o.in_progress&&(l.warn("CVM is currently in progress (updating/restarting). Waiting for operation to complete..."),await _p(o.vm_uuid,3e5));let n=l.startSpinner(`Restarting CVM with App ID app_${r}`),s=await io(()=>K1(r),{spinner:n});return n.stop(!0),l.break(),l.keyValueTable({"CVM ID":s.id,Name:s.name,Status:s.status,"App ID":`app_${s.app_id}`,"App URL":s.app_url||`${ge}/dashboard/cvms/app_${s.app_id}`},{borderStyle:"rounded"}),l.break(),l.success(`Your CVM is being restarted. You can check the dashboard for more details:
185
+ ${ge}/dashboard/cvms/app_${s.app_id}`),0}catch(r){return l.error("Failed to restart CVM"),l.logDetailedError(r),1}}var N6=$({path:["cvms","restart"],meta:M6,schema:D6,handler:T3});import{z as z6}from"zod";var L6={name:"start",description:"Start a stopped CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],examples:[{name:"Start a specific CVM",value:"phala cvms start app_123"}]},O6=z6.object({appId:z6.string().optional()});async function $3(e,t){try{let r=await xt(e.appId),o=l.startSpinner(`Starting CVM with App ID app_${r}`),n=await io(()=>V1(r),{spinner:o});return o.stop(!0),l.break(),l.keyValueTable({"CVM ID":n.id,Name:n.name,Status:n.status,"App ID":`app_${n.app_id}`},{borderStyle:"rounded"}),l.break(),l.success(`Your CVM is being started. You can check the dashboard for more details:
186
+ ${ge}/dashboard/cvms/app_${n.app_id}`),0}catch(r){return l.error("Failed to start CVM"),l.logDetailedError(r),1}}var U6=$({path:["cvms","start"],meta:L6,schema:O6,handler:$3});import{z as H6}from"zod";var j6={name:"stop",description:"Stop a running CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],examples:[{name:"Stop a specific CVM",value:"phala cvms stop app_123"}]},G6=H6.object({appId:H6.string().optional()});async function R3(e,t){try{let r=await xt(e.appId),o=l.startSpinner(`Stopping CVM with App ID app_${r}`),n=await io(()=>q1(r),{spinner:o});return o.stop(!0),l.break(),l.keyValueTable({"CVM ID":n.id,Name:n.name,Status:n.status,"App ID":`app_${n.app_id}`},{borderStyle:"rounded"}),l.break(),l.success(`Your CVM is being stopped. You can check the dashboard for more details:
187
+ ${ge}/dashboard/cvms/app_${n.app_id}`),0}catch(r){return l.error("Failed to stop CVM"),l.logDetailedError(r),1}}var V6=$({path:["cvms","stop"],meta:j6,schema:G6,handler:R3});import B3 from"node:fs";import{z as Oa}from"zod";var q6={name:"upgrade",description:'[DEPRECATED] Upgrade a CVM to a new version (use "phala deploy" instead)',arguments:[{name:"app-id",description:"CVM app ID to upgrade (optional)",required:!1,target:"appId"}],options:[{name:"compose",shorthand:"c",description:"Path to new Docker Compose file",type:"string",target:"compose"},{name:"env-file",shorthand:"e",description:"Path to environment file",type:"string",target:"envFile"},{name:"debug",description:"Enable debug mode",type:"boolean",target:"debug"}],examples:[{name:"Upgrade a CVM interactively",value:"phala cvms upgrade"},{name:"Upgrade using a compose file",value:"phala cvms upgrade app_123 --compose ./docker-compose.yml"}]},K6=Oa.object({appId:Oa.string().optional(),compose:Oa.string().optional(),envFile:Oa.string().optional(),debug:Oa.boolean().default(!1)});async function F3(e){if(e.compose)return e.compose;let r=ki(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return Dr("Enter the path to your Docker Compose file:",r,"file")}async function M3(e,t){try{l.warn('\u26A0\uFE0F This command is deprecated. Please use "phala deploy" instead.'),l.warn(`\u26A0\uFE0F This legacy API will be maintained but may have limited support.
188
+ `);let r=await xt(e.appId),o=l.startSpinner(`Fetching current configuration for CVM app_${r}`),n=await Ei(r);if(o.stop(!0),!n)return l.error(`CVM with App ID app_${r} not found`),1;let s=await F3(e),i="";if(s)try{i=B3.readFileSync(s,"utf8")}catch(p){return l.error(`Failed to read Docker Compose file: ${p instanceof Error?p.message:String(p)}`),1}await Vn(),process.env.DSTACK_DOCKER_USERNAME&&process.env.DSTACK_DOCKER_PASSWORD?l.info("\u{1F510} Using private DockerHub registry credentials..."):process.env.DSTACK_AWS_ACCESS_KEY_ID&&process.env.DSTACK_AWS_SECRET_ACCESS_KEY&&process.env.DSTACK_AWS_REGION&&process.env.DSTACK_AWS_ECR_REGISTRY?l.info(`\u{1F510} Using private AWS ECR registry: ${process.env.DSTACK_AWS_ECR_REGISTRY}`):l.info("\u{1F510} Using public DockerHub registry...");let a,c=[];if(e.envFile)try{let p=Na([],e.envFile);a=await(0,mr.encryptEnvVars)(p,n.encrypted_env_pubkey),c=p.map(d=>d.key)}catch(p){return l.error(`Failed to read environment file: ${p instanceof Error?p.message:String(p)}`),1}let m={compose_manifest:{docker_compose_file:i,manifest_version:1,runner:"docker-compose",version:"1.0.0",features:["kms","tproxy-net"],name:`app_${r}`,allowed_envs:c},encrypted_env:a,allow_restart:!0,env_keys:c},u=l.startSpinner(`Upgrading CVM app_${r}`),f=await Q1(r,m);return f?(u.stop(!0),f.detail&&l.info(`Details: ${f.detail}`),l.break(),l.success(`Your CVM is being upgraded. You can check the dashboard for more details:
189
+ ${ge}/dashboard/cvms/app_${r}`),0):(u.stop(!1),l.error("Failed to upgrade CVM"),1)}catch(r){return l.error(`Failed to upgrade CVM: ${r instanceof Error?r.message:String(r)}`),e.debug&&l.error("Full Error:",r),1}}var W6=$({path:["cvms","upgrade"],meta:q6,schema:K6,handler:M3});var Rd={group:O1,commands:[o6,l6,g6,x6,E6,A6,T6,B6,N6,U6,V6,W6]};import{z as ke}from"zod";var J6={name:"deploy",description:"Create a new CVM with on-chain KMS in one step.",arguments:[],options:[...Wn,{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 ${Hn}`,type:"string",target:"vcpu"},{name:"memory",description:`Memory with optional unit (optional, auto-matched if not specified), e.g., 2G, 1024MB, default is ${jn}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 ${Gn}GB`,type:"string",target:"diskSize"},{name:"image",description:"OS image version (optional, auto-selected if not specified)",type:"string",target:"image"},{name:"region",shorthand:"r",description:"Preferred region (e.g., us-west, eu-central). Optional - auto-selected if not specified.",type:"string",target:"region"},{name:"node-id",description:"Node ID (optional, auto-selected if not specified)",type:"string",target:"nodeId"},{name:"env-file",shorthand:"e",description:"Prompt for environment variables and save to file (optional)",type:"string",target:"envFile"},{name:"interactive",shorthand:"i",description:"Enable interactive mode for required parameters",type:"boolean",target:"interactive"},{name:"kms-id",description:"KMS ID to use.",type:"string",target:"kmsId"},{name:"uuid",description:"UUID of the CVM to upgrade",type:"string",target:"uuid"},{name:"custom-app-id",description:"Custom App ID to use.",type:"string",target:"customAppId"},{name:"pre-launch-script",description:"Path to pre-launch script",type:"string",target:"preLaunchScript"},{name:"private-key",description:"Private key for signing transactions.",type:"string",target:"privateKey"},{name:"rpc-url",description:"RPC URL for the blockchain.",type:"string",target:"rpcUrl"},{name:"wait",description:"Wait for CVM to complete deployment/update before returning (only applies to updates)",type:"boolean",target:"wait"}],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"}]},Z6=ke.object({compose:ke.string().optional(),json:ke.boolean().default(!0),debug:ke.boolean().default(!1),apiKey:ke.string().optional(),name:ke.string().optional(),instanceType:ke.string().optional(),vcpu:ke.string().optional(),memory:ke.string().optional(),diskSize:ke.string().optional(),image:ke.string().optional(),region:ke.string().optional(),nodeId:ke.string().optional(),envFile:ke.string().optional(),interactive:ke.boolean().default(!1),kmsId:ke.string().optional(),uuid:ke.string().optional(),customAppId:ke.string().optional(),preLaunchScript:ke.string().optional(),privateKey:ke.string().optional(),rpcUrl:ke.string().optional(),wait:ke.boolean().default(!1)});import D3 from"node:path";function Y6(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 X6(e){let t=Y6(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 Q6(e){let t=Y6(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`);let o=250;if(r>o)throw new Error(`Maximum disk size is ${o}GB. Got: ${r}GB`);return r}import Fd from"dedent";import Bd from"fs-extra";import Md from"inquirer";function N3(e,t){if(e instanceof Wl)return t.json?{success:!1,error_code:e.errorCode,message:e.message,details:e.structuredDetails,suggestions:e.suggestions,links:e.links}:Mx(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=`
185
190
  Error [${s}]: ${i}
186
191
  `;if(a&&a.length>0){u+=`
187
192
  Details:
@@ -195,49 +200,45 @@ Learn more:
195
200
  `;for(let f of m)u+=` - ${f.label}: ${f.url}
196
201
  `}return u}}let r=e instanceof Error?e.message:String(e||"Unknown error");return t.json?{success:!1,error:r}:`
197
202
  Error: ${r}
198
- `}async function D3({apiKey:e,interactive:t}){if(!e&&!process.env.PHALA_CLOUD_API_KEY){if(t){let{apiKey:o}=await $d.prompt([{type:"password",name:"apiKey",message:"Enter your API key:",validate:n=>n.trim()?!0:"API key is required"}]);return yt({apiKey:o})}let r=sn();if(!r)throw new Error("API key is required. Please provide it via --api-key or PHALA_CLOUD_API_KEY environment variable");return yt({apiKey:r})}return e?yt({apiKey:e}):yt()}async function N3({dockerComposePath:e,interactive:t}){if(!e)if(t){let o=Ei(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");e=await Fr("Enter the path to your Docker Compose file:",o,"file")}else throw new Error(Pd(`
199
- Docker Compose file is required.
203
+ `}async function z3({apiKey:e,interactive:t}){if(!e&&!process.env.PHALA_CLOUD_API_KEY){if(t){let{apiKey:o}=await Md.prompt([{type:"password",name:"apiKey",message:"Enter your API key:",validate:n=>n.trim()?!0:"API key is required"}]);return bt({apiKey:o})}let r=cn();if(!r)throw new Error("API key is required. Please provide it via --api-key or PHALA_CLOUD_API_KEY environment variable");return bt({apiKey:r})}return e?bt({apiKey:e}):bt()}async function L3({dockerComposePath:e,interactive:t}){if(!e)if(t){let o=ki(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");e=await Dr("Enter the path to your Docker Compose file:",o,"file")}else throw new Error(Fd(`
204
+ Docker Compose file is required.
200
205
 
201
- Usage examples:
202
- phala deploy --node-id 1 docker-compose.yml
203
- phala deploy --node-id 6 --kms-id t16z-dev --private-key <your-private-key> --rpc-url <rpc-url> docker-compose.yml
206
+ Usage examples:
207
+ phala deploy --node-id 1 docker-compose.yml
208
+ phala deploy --node-id 6 --kms-id t16z-dev --private-key <your-private-key> --rpc-url <rpc-url> docker-compose.yml
204
209
 
205
- Minimal required parameters:
206
- --compose <path> Path to docker-compose.yml
210
+ Minimal required parameters:
211
+ --compose <path> Path to docker-compose.yml
207
212
 
208
- For on-chain KMS, also provide:
209
- --kms-id <id> KMS ID
210
- --private-key <key> Private key for deployment
213
+ For on-chain KMS, also provide:
214
+ --kms-id <id> KMS ID
215
+ --private-key <key> Private key for deployment
211
216
 
212
- Run with --interactive for guided setup
213
- `));if(!Td.existsSync(e))throw new Error(`Docker compose file not found: ${e}`);return Td.readFileSync(e,"utf8")}var z3=async(e,t)=>{let r=e.privateKey||process.env.PRIVATE_KEY;if(e.kmsId&&t&&!e.privateKey)if(e.interactive)r=(await $d.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},L3=async e=>{let t=e.name;if(!e.name){let r=F3.basename(process.cwd()).toLowerCase().replace(/[^a-z0-9_-]/g,"-");r.length<3&&(r=`${r}-cvm`);let o=r.slice(0,20);e.interactive?t=(await $d.prompt([{type:"input",name:"name",message:"Enter a name for the CVM:",default:o,validate:s=>s.trim()?s.trim().length>20?"CVM name must be less than 20 characters":s.trim().length<3?"CVM name must be at least 3 characters":/^[a-zA-Z0-9_-]+$/.test(s)?!0:"CVM name must contain only letters, numbers, underscores, and hyphens":"CVM name is required"}])).name:t=o}return t},O3=async e=>{let t,r=e.envFile;if(e.interactive&&(!e.envFile||r===!0)&&(r=await Fr("Enter the path to your environment file:",".env","file")),r&&r!==!0)try{let o=Td.readFileSync(r,{encoding:"utf8"});t=Jx(o)}catch(o){throw new Error(`Error reading environment file ${r}: ${o instanceof Error?o.message:String(o)}`)}return t};var U3=(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=K6(e.memory)),e.diskSize&&(n.disk_size=W6(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),n},H3=async(e,t,r,o,n,s)=>{let i=await L3(e),a=U3(e,i,t,r||[]);n.write(`Provisioning CVM ${i}...
214
- `);let c=await ql(o,a);if(!c.success){let d=M3(c.error,e);throw e.json?n.write(`${JSON.stringify(d,null,2)}
215
- `):s.write(String(d)),c.error}let m=c.data,u;if(e.kmsId&&!m.app_id){let d=await Jl(o);if(!d.success)throw new Error(`Failed to get KMS list: ${d.error.message}`);let g=d.data.items.find(P=>P.slug===e.kmsId||P.id===e.kmsId);if(!g||!g.chain_id)throw new Error(`KMS ${e.kmsId} not found or invalid`);let b=await z3(e,g.chain_id),y=await qx({chain:g.chain,rpcUrl:e.rpcUrl,kmsContractAddress:g.kms_contract_address,privateKey:b,deviceId:m.device_id,composeHash:m.compose_hash});if(!y.success)throw F(y,"Deploy App Auth"),new Error("Contract deployment failed");let v=y.data,C=await Zl(o,{app_id:v.appId,kms:g.slug});if(!C.success)throw new Error(`Failed to get app env encrypt pubkey: ${C.error.message}`);let k=C.data,A=await(0,cr.encryptEnvVars)(r,k.public_key);u=await pp(o,{app_id:v.appId,encrypted_env:A,compose_hash:m.compose_hash,kms_id:g.slug,contract_address:v.appAuthAddress,deployer_address:v.deployer})}else{let d=r&&r.length>0?await(0,cr.encryptEnvVars)(r,m.app_env_encrypt_pubkey):void 0;u=await pp(o,{app_id:m.app_id,encrypted_env:d,compose_hash:m.compose_hash,kms_id:e.kmsId})}if(!u.success)throw F(u.error,"Commit CVM Provision"),new Error(`Failed to commit CVM provision: ${u.error.message}`);let p=u.data;if(e?.json!==!1)n.write(`${JSON.stringify({success:!0,vm_uuid:p.vm_uuid,name:p.name,app_id:p.app_id,dashboard_url:`${ye}/dashboard/cvms/${p.vm_uuid}`},null,2)}
216
- `);else{let d=Pd`
217
+ Run with --interactive for guided setup
218
+ `));if(!Bd.existsSync(e))throw new Error(`Docker compose file not found: ${e}`);return Bd.readFileSync(e,"utf8")}var O3=async(e,t)=>{let r=e.privateKey||process.env.PRIVATE_KEY;if(e.kmsId&&t&&!e.privateKey)if(e.interactive)r=(await Md.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},U3=async e=>{let t=e.name;if(!e.name){let r=D3.basename(process.cwd()).toLowerCase().replace(/[^a-z0-9_-]/g,"-");r.length<3&&(r=`${r}-cvm`);let o=r.slice(0,20);e.interactive?t=(await Md.prompt([{type:"input",name:"name",message:"Enter a name for the CVM:",default:o,validate:s=>s.trim()?s.trim().length>20?"CVM name must be less than 20 characters":s.trim().length<3?"CVM name must be at least 3 characters":/^[a-zA-Z0-9_-]+$/.test(s)?!0:"CVM name must contain only letters, numbers, underscores, and hyphens":"CVM name is required"}])).name:t=o}return t},H3=async e=>{let t,r=e.envFile;if(e.interactive&&(!e.envFile||r===!0)&&(r=await Dr("Enter the path to your environment file:",".env","file")),r&&r!==!0)try{let o=Bd.readFileSync(r,{encoding:"utf8"});t=e1(o)}catch(o){throw new Error(`Error reading environment file ${r}: ${o instanceof Error?o.message:String(o)}`)}return t};var j3=(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=X6(e.memory)),e.diskSize&&(n.disk_size=Q6(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),n},G3=async(e,t,r,o,n,s)=>{let i=await U3(e),a=j3(e,i,t,r||[]);n.write(`Provisioning CVM ${i}...
219
+ `);let c=await Zl(o,a);if(!c.success){let d=N3(c.error,e);throw l.error("Error in provisioning CVM:",d),c.error}let m=c.data,u;if(e.kmsId&&!m.app_id){let d=await Ql(o);if(!d.success)throw new Error(`Failed to get KMS list: ${d.error.message}`);let g=d.data.items.find(T=>T.slug===e.kmsId||T.id===e.kmsId);if(!g||!g.chain_id)throw new Error(`KMS ${e.kmsId} not found or invalid`);let b=await O3(e,g.chain_id),y=await Yx({chain:g.chain,rpcUrl:e.rpcUrl,kmsContractAddress:g.kms_contract_address,privateKey:b,deviceId:m.device_id,composeHash:m.compose_hash});if(!y.success){l.logDetailedError(y,"Deploy App Auth");let T=typeof y=="object"&&y!==null?JSON.stringify(y):String(y);throw new Error(`Deployment contract failed: ${T}`)}let v=y.data,C=await ed(o,{app_id:v.appId,kms:g.slug});if(!C.success)throw l.logDetailedError(C.error,"Get App Env Encrypt PubKey"),new Error(`Failed to get app env encrypt pubkey: ${C.error.message}`);let k=C.data,A=await(0,mr.encryptEnvVars)(r,k.public_key);u=await lp(o,{app_id:v.appId,encrypted_env:A,compose_hash:m.compose_hash,kms_id:g.slug,contract_address:v.appAuthAddress,deployer_address:v.deployer})}else{let d=r&&r.length>0?await(0,mr.encryptEnvVars)(r,m.app_env_encrypt_pubkey):void 0;u=await lp(o,{app_id:m.app_id,encrypted_env:d,compose_hash:m.compose_hash,kms_id:e.kmsId})}if(!u.success)throw l.logDetailedError(u.error,"Commit CVM Provision"),new Error(`Failed to commit CVM provision: ${u.error.message}`);let p=u.data;if(e?.json!==!1)n.write(`${JSON.stringify({success:!0,vm_uuid:p.vm_uuid,name:p.name,app_id:p.app_id,dashboard_url:`${ge}/dashboard/cvms/${p.vm_uuid}`},null,2)}
220
+ `);else{let d=Fd`
217
221
  CVM created successfully!
218
222
 
219
223
  CVM ID: ${p.vm_uuid}
220
224
  Name: ${p.name}
221
225
  App ID: ${p.app_id}
222
- Dashboard URL: ${ye}/dashboard/cvms/${p.vm_uuid}
226
+ Dashboard URL: ${ge}/dashboard/cvms/${p.vm_uuid}
223
227
  `;n.write(`${d}
224
- `)}},j3=async(e,t,r,o,n)=>{let[s,i]=await Promise.all([Kt(o,{uuid:e.uuid}),$a(o,{uuid:e.uuid})]);if(!s.success)throw F(s.error,"Get CVM Info"),new Error(`Failed to get cvm info: ${s.error.message}`);if(!i.success)throw F(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&&(c.allowed_envs=r.map(h=>h.key)),n.write(`Preparing update for CVM ${e.uuid}...
225
- `);let m=await Kl(o,{uuid:e.uuid,app_compose:c});if(!m.success)throw F(m.error,"Provision CVM Compose File Update"),new Error(`Failed to provision cvm compose file: ${m.error.message}`);let u=m.data,f;if(a.kms_info?.chain_id){if(!e.privateKey)throw new Error("Private key is required for contract DstackApp");let h=await Wx({chain:a.kms_info?.chain,rpcUrl:e.rpcUrl,appId:a.app_id,composeHash:u.compose_hash,privateKey:e.privateKey});if(!h.success){F(h,"Add Compose Hash");let g=typeof h=="object"&&h!==null?JSON.stringify(h):String(h);throw new Error(`Failed to add compose hash: ${g}`)}}else if(r&&r.length>0){if(!a.encrypted_env_pubkey)throw new Error("CVM encrypted_env_pubkey is required for centralized KMS");f=await(0,cr.encryptEnvVars)(r,a.encrypted_env_pubkey)}let p={id:e.uuid,compose_hash:u.compose_hash,encrypted_env:f,env_keys:r?.length?r.map(h=>h.key):void 0},d=await Wl(o,p);if(!d.success)throw F(d.error,"Commit CVM Compose File Update"),new Error(`Failed to commit CVM compose file update: ${d.error.message}`);if(e.wait){e.json||n.write(`
226
- Waiting for update to complete...
227
- `);try{await Ap(e.uuid,3e5,!e.json)}catch(h){throw F(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)}
228
+ `)}},V3=async(e,t,r,o,n)=>{let[s,i]=await Promise.all([Wt(o,{uuid:e.uuid}),Ra(o,{uuid:e.uuid})]);if(!s.success)throw l.logDetailedError(s.error,"Get CVM Info"),new Error(`Failed to get cvm info: ${s.error.message}`);if(!i.success)throw l.logDetailedError(i.error,"Get CVM Compose File"),new Error(`Failed to get cvm compose file: ${i.error.message}`);let a=s.data,c=i.data;c.docker_compose_file=t,r&&(c.allowed_envs=r.map(h=>h.key)),l.info(`Preparing update for CVM ${e.uuid}...`);let m=await Yl(o,{uuid:e.uuid,app_compose:c});if(!m.success)throw l.logDetailedError(m.error,"Provision CVM Compose File Update"),new Error(`Failed to provision cvm compose file: ${m.error.message}`);let u=m.data,f;if(a.kms_info?.chain_id){if(!e.privateKey)throw new Error("Private key is required for contract DstackApp");let h=await Qx({chain:a.kms_info?.chain,rpcUrl:e.rpcUrl,appId:a.app_id,composeHash:u.compose_hash,privateKey:e.privateKey});if(!h.success){l.logDetailedError(h,"Add Compose Hash");let g=typeof h=="object"&&h!==null?JSON.stringify(h):String(h);throw new Error(`Failed to add compose hash: ${g}`)}}else if(r&&r.length>0){if(!a.encrypted_env_pubkey)throw new Error("CVM encrypted_env_pubkey is required for centralized KMS");f=await(0,mr.encryptEnvVars)(r,a.encrypted_env_pubkey)}let p={id:e.uuid,compose_hash:u.compose_hash,encrypted_env:f,env_keys:r?.length?r.map(h=>h.key):void 0},d=await Xl(o,p);if(!d.success)throw l.logDetailedError(d.error,"Commit CVM Compose File Update"),new Error(`Failed to commit CVM compose file update: ${d.error.message}`);if(e.wait){l.info("Waiting for update to complete...");try{await _p(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:`${ge}/dashboard/cvms/${e.uuid}`},null,2)}
228
229
  `):n.write(`CVM compose file updated successfully!
229
- `)};async function J6(e,t){try{let r=e.compose,o=await D3({apiKey:e.apiKey,interactive:e.interactive}),n=await N3({dockerComposePath:r,interactive:e.interactive}),s=await O3(e),i=fp(e.uuid)??t.projectConfig.cvm_id;!!i?await j3({...e,uuid:i},n,s,o,t.stdout):await H3(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)}
230
- `):t.stderr.write(`${Pd`${r instanceof Error?r.message:String(r)}`}
231
- `),r}}async function G3(e,t){try{return await J6(e,{stdout:t.stdout,stderr:t.stderr,projectConfig:t.projectConfig}),0}catch{return 1}}var Z6=$({path:["deploy"],meta:G6,schema:V6,handler:G3});import{z as uA}from"zod";var Y6={path:["docker"],meta:{name:"docker",description:"Login to Docker Hub and manage Docker images"}};import Y3 from"node:fs";import s5 from"node:path";import i5 from"inquirer";import{exec as V3,spawn as q3}from"node:child_process";import so from"node:fs";import e5 from"node:os";import La from"node:path";import{promisify as K3}from"node:util";import{execa as W3}from"execa";import J3 from"handlebars";import{INVALID as sne,ParseStatus as ine,ZodIssueCode as ane,ZodParsedType as cne,ZodType as mne,addIssueToContext as une,z as X6}from"zod";var Q6=X6.object({template:X6.string().min(1,"Template cannot be empty")});var Oa=K3(V3),t5=".phala-cloud/logs",Z3=".phala-cloud/compose",r5=10,xt=class{username;image;registry;constructor(t,r,o){this.image=t,this.username=r||"",this.registry=o||""}ensureLogsDir(){let t=La.resolve(t5);so.existsSync(t)||so.mkdirSync(t,{recursive:!0})}getLogFilePath(t,r){let o=new Date().toISOString().replace(/[:.]/g,"-");return La.resolve(t5,`${r||this.image}-${t}-${o}.log`)}getSystemArchitecture(){let t=e5.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=q3(t,r);this.ensureLogsDir();let c=this.getLogFilePath(o,n),m=so.createWriteStream(c,{flags:"a"}),u=[],f=(p,d=!1)=>{let h=p.toString().split(`
232
- `);m.write(p);for(let g of h)if(g.trim()){u.push(g),u.length>r5&&u.shift(),console.clear(),console.log(`Latest ${r5} lines (full log at ${c}):`),console.log("-".repeat(50));for(let b of u)d?console.error(b):console.log(b)}};a.stdout.on("data",p=>f(p)),a.stderr.on("data",p=>f(p,!0)),a.on("close",p=>{m.end(),p===0?(console.log(`
233
- Operation completed. Full log available at: ${c}`),s()):i(new Error(`Process exited with code ${p}. Check log file: ${c}`))}),a.on("error",p=>{m.end(),i(p)})})}setCredentials(t,r){this.username=t,r&&(this.registry=r)}async buildImage(t,r){try{let o=this.getSystemArchitecture(),n=`${this.username}/${this.image}:${r}`,s=l.startSpinner(`Building Docker image ${this.username}/${this.image}:${r}`);_t(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 to())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 W3("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=e5.homedir(),r=La.join(t,".docker","config.json");if(!so.existsSync(r))return!1;let o=JSON.parse(so.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"?i1:a1,s=Q6.parse({template:n}),i=La.resolve(Z3);so.existsSync(i)||(l.info(`Creating directory: ${i}`),so.mkdirSync(i,{recursive:!0}));let a=[];r&&(a=so.readFileSync(r,"utf-8").split(`
234
- `).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=J3.compile(s.template,{noEscape:!0})({imageName:c,envVars:a.map(p=>p.replace(/=.*/,`=\${${p.split("=")[0]}}`))}),f=La.join(i,`${t.replace(/.*\/+([\w-]+):.*$/g,"$1")}-tee-compose.yaml`);return so.writeFileSync(f,u),l.success(`Backup of docker compose file created at: ${f}`),f}async runComposeLocally(t,r){try{let o=l.startSpinner(`Running Docker Compose file at ${t}`);_t(t);let n=["-f",t,"up","-d"];return r&&(_t(r),n.splice(2,0,"--env-file",r)),await Oa(`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 Oa(`docker pull ${t}`),l.info("Starting simulator in background...");let{stdout:o}=await Oa(`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}`),wd(`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 Oa("docker stop tee-simulator"),await Gn(),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 Oa('docker images --format "{{.Repository}}:{{.Tag}}"'),o=(await to())?.username;return t.split(`
235
- `).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 Tp}from"zod";var o5={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"}]},n5=Tp.object({image:Tp.string().optional(),tag:Tp.string().optional(),file:Tp.string().default("Dockerfile")});async function X3(e,t){try{let r=await to();if(!r)return l.error('Docker information not found. Please login first with "phala docker login"'),1;let o=e.image;o||(o=(await i5.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 i5.prompt([{type:"input",name:"tag",message:"Enter the Docker image tag:",default:"latest",validate:m=>m.trim()?!0:"Tag is required"}])).tag);let s=s5.resolve(process.cwd(),e.file);if(!Y3.existsSync(s)){l.info(`Default Dockerfile not found at ${s}`);let c=await Fr("Enter the path to your Dockerfile:","Dockerfile","file");s=s5.resolve(process.cwd(),c)}return await new xt(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"),F(r),1}}var a5=$({path:["docker","build"],meta:o5,schema:n5,handler:X3});import Ha from"node:fs";import Pp from"node:path";import ja from"inquirer";import{z as Ua}from"zod";var c5={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"}]},m5=Ua.object({image:Ua.string().optional(),envFile:Ua.string().optional(),output:Ua.string().optional(),template:Ua.string().optional()});async function Q3(e){if(e)return e;let t=await xt.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 ja.prompt([{type:"list",name:"selectedImage",message:"Select an image to use in the compose file:",choices:r}]);return o}async function eA(e){if(e)return _t(e),e;let t=Pp.join(process.cwd(),".env");if(Ha.existsSync(t)){let{useDefault:o}=await ja.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(o)return t}let{envPath:r}=await ja.prompt([{type:"input",name:"envPath",message:"Enter path to environment variables file:",validate:o=>{try{return _t(o),!0}catch{return`File not found: ${o}`}}}]);return r}async function tA(e){let t=e??Pp.join(process.cwd(),"docker-compose.yml");if(Ha.existsSync(t)){let{confirmOverwrite:o}=await ja.prompt([{type:"confirm",name:"confirmOverwrite",message:`File ${t} already exists. Overwrite?`,default:!1}]);if(!o){let{customPath:n}=await ja.prompt([{type:"input",name:"customPath",message:"Enter alternative output path:",default:Pp.join(process.cwd(),"docker-generated-compose.yml")}]);t=n}}let r=Pp.dirname(t);return Ha.existsSync(r)||(l.info(`Creating directory: ${r}`),Ha.mkdirSync(r,{recursive:!0})),t}async function rA(e,t){try{let r=await to();if(!r||!r.username)throw new Error('Docker Hub username not found. Please login first with "phala docker login"');let o=await Q3(e.image),n=await eA(e.envFile),s=await tA(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 xt("",r.username,r.registry).buildComposeFile(o,n,e.template);return a!==s&&Ha.copyFileSync(a,s),l.success(`Docker Compose file generated successfully: ${s}`),0}catch(r){return l.error("Failed to generate Docker Compose file"),F(r),1}}var u5=$({path:["docker","generate"],meta:c5,schema:m5,handler:rA});import l5 from"prompts";import{z as $p}from"zod";var p5={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"}]},f5=$p.object({username:$p.string().optional(),password:$p.string().optional(),registry:$p.string().optional()});async function oA(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 l5({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 xt("",r,n);if(await s.login(r))return l.success(`${r} is logged in to Docker Hub`),await od({username:r,registry:n||null}),0;if(!o){let c=await l5({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 od({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"),F(r),1}}var d5=$({path:["docker","login"],meta:p5,schema:f5,handler:oA});import nA from"inquirer";import{z as h5}from"zod";var g5={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"}]},y5=h5.object({image:h5.string().optional()});async function sA(e){if(e)return e;let t=await xt.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 nA.prompt([{type:"list",name:"selectedImage",message:"Select an image to push:",choices:r}]);return o}async function iA(e,t){try{let r=await to();if(!r)throw new Error('Docker information not found. Please login first with "phala docker login"');let o=await sA(e.image);return await new xt("",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"),F(r),1}}var b5=$({path:["docker","push"],meta:g5,schema:y5,handler:iA});import v5 from"node:fs";import C5 from"node:path";import Bp from"inquirer";import{z as Rp}from"zod";var x5={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"}]},w5=Rp.object({compose:Rp.string().optional(),envFile:Rp.string().optional(),skipEnv:Rp.boolean().default(!0)});async function aA(e){if(e)return _t(e),e;let t=C5.join(process.cwd(),"docker-compose.yml");if(v5.existsSync(t)){let{useDefault:o}=await Bp.prompt([{type:"confirm",name:"useDefault",message:"Use docker-compose.yml in current directory?",default:!0}]);if(o)return t}let{composePath:r}=await Bp.prompt([{type:"input",name:"composePath",message:"Enter path to docker-compose.yml file:",validate:o=>{try{return _t(o),!0}catch{return"File not found"}}}]);return r}async function cA(e,t){if(t)return e;if(e)return _t(e),e;let r=C5.join(process.cwd(),".env");if(v5.existsSync(r)){let{useDefault:n}=await Bp.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(n)return r}let{envPath:o}=await Bp.prompt([{type:"input",name:"envPath",message:"Enter path to environment variables file:",validate:n=>{try{return _t(n),!0}catch{return`File not found: ${n}`}}}]);return o}async function mA(e,t){try{let r=await aA(e.compose),o=await cA(e.envFile,e.skipEnv),n=new xt("");return o?(l.info(`Validating env file: ${o}`),_t(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"),F(r),1}}var E5=$({path:["docker","run"],meta:x5,schema:w5,handler:mA});var pA={name:"docker",description:"Login to Docker Hub and manage Docker images"},fA=uA.object({});async function lA(e,t){return t.stdout.write(`Available docker subcommands: login, build, push, generate, run. Use 'phala docker <command> --help' for details.
236
- `),0}var dA=$({path:["docker"],meta:pA,schema:fA,handler:lA}),Rd={group:Y6,commands:[dA,d5,a5,b5,u5,E5]};import ki from"chalk";import hA from"open";import gA from"ora";import yA from"prompts";import{z as Fp}from"zod";var k5={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"}]},S5=Fp.object({apiKey:Fp.string().min(1,"API key cannot be empty").optional(),manual:Fp.boolean().optional(),noOpen:Fp.boolean().optional()});async function Bd(e){try{await hp(e);let t=await gp(e),r=await zn(t),o=r.data;if(!r.success||!o?.username)throw await an(),new Error("Invalid API key");return o}catch(t){throw await an(),t instanceof Error?t:new Error(String(t))}}async function bA(){let e,t=await yA({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 Bd(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 Bd(t.apiKey)),{apiKey:t.apiKey,user:e}}async function xA(e){let t=yt({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(ki.bold("To authenticate, visit:")),console.log(ki.cyan(s)),console.log(),console.log(ki.bold("And enter code:"),ki.yellow(n)),console.log(),!e.noOpen)try{await hA(s),console.log("Opening browser automatically...")}catch{console.warn("Could not open browser automatically. Please visit the URL above.")}let c=gA("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&&typeof u=="object"&&"data"in u&&u.data&&typeof u.data=="object"){let p=u.data.detail;if(p?.error==="authorization_pending")continue;throw p?.error==="expired_token"?(c.fail("Authorization expired"),new Error("Device authorization expired. Please try again.")):p?.error==="access_denied"?(c.fail("Authorization denied"),new Error("You denied the authorization request.")):(c.fail("Authorization failed"),new Error(`Authorization failed: ${p?.error||"unknown"}`))}throw u}}throw c.fail("Authorization timed out"),new Error("Authorization timed out. Please try again.")}async function wA(e,t){try{let r,o;if(e.apiKey)r=e.apiKey;else if(e.manual){let n=await bA();r=n.apiKey,o=n.user}else r=await xA({noOpen:e.noOpen});if(o||(o=await Bd(r)),!o)throw new Error("Failed to validate API key");return console.log(ki.green(`Welcome ${o.username}! API key validated and saved successfully`)),0}catch(r){return console.error(ki.red(`Failed to authenticate: ${r instanceof Error?r.message:String(r)}`)),1}}var A5=$({path:["login"],meta:k5,schema:S5,handler:wA});var I5={path:["nodes"],meta:{name:"nodes",description:"List and manage TEE nodes"}};import{z as _5}from"zod";var T5={name:"list",aliases:["ls"],description:"List all available worker nodes",options:[{name:"json",description:"Output in JSON format",type:"boolean"}]},Fd=_5.object({json:_5.boolean().optional().default(!1)});async function P5(e,t){try{let r=await pe(),o=await Pa(r);if(!o.success)throw new Error(o.error.message);let{nodes:n,kms_list:s}=o.data;if(e.json)return console.log(JSON.stringify({nodes:n,kms_list:s},null,2)),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 l.error(`Failed to list available nodes: ${r instanceof Error?r.message:String(r)}`),1}}var vA={name:"nodes",description:"List and manage TEE nodes"},$5=$({path:["nodes","list"],meta:T5,schema:Fd,handler:P5}),R5=$({path:["nodes"],meta:vA,schema:Fd,handler:P5});var Md={group:I5,commands:[R5,$5]};import{z as SA}from"zod";var B5={path:["simulator"],meta:{name:"simulator",description:"TEE simulator commands"}};import{z as Dd}from"zod";var F5={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"}]},M5=Dd.object({port:Dd.string().default("8090"),verbose:Dd.boolean().default(!1)});async function CA(e,t){try{return e6()||await t6(),await Na()?(l.success("TEE simulator is already running"),0):(await r6({verbose:e.verbose}),l.success("TEE simulator started successfully"),0)}catch(r){return l.error("Failed to start TEE simulator"),F(r),1}}var D5=$({path:["simulator","start"],meta:F5,schema:M5,handler:CA});import{z as EA}from"zod";var N5={name:"stop",description:"Stop the TEE simulator"},z5=EA.object({});async function kA(e,t){try{return await o6()?(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"),F(r),1}}var L5=$({path:["simulator","stop"],meta:N5,schema:z5,handler:kA});var AA={name:"simulator",description:"TEE simulator commands"},IA=SA.object({});async function _A(e,t){try{let r=await Na(),o=Sp();if(r&&o){let s=xd(),i=s.replace(/dstack\.sock$/,"tappd.sock");t.stdout.write(`\u2713 TEE simulator is running (PID: ${o})\\n`),t.stdout.write(`
230
+ `)};async function e5(e,t){qe(e.json||!1);try{let r=e.compose,o=await z3({apiKey:e.apiKey,interactive:e.interactive}),n=await L3({dockerComposePath:r,interactive:e.interactive}),s=await H3(e),i=dp(e.uuid)??t.projectConfig.cvm_id;!!i?await V3({...e,uuid:i},n,s,o,t.stdout):await G3(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)}
231
+ `):t.stderr.write(`${Fd`${r instanceof Error?r.message:String(r)}`}
232
+ `),r}}async function q3(e,t){try{return await e5(e,{stdout:t.stdout,stderr:t.stderr,projectConfig:t.projectConfig}),0}catch{return 1}}var t5=$({path:["deploy"],meta:J6,schema:Z6,handler:q3});import{z as fA}from"zod";var r5={path:["docker"],meta:{name:"docker",description:"Login to Docker Hub and manage Docker images"}};import Q3 from"node:fs";import u5 from"node:path";import p5 from"inquirer";import{exec as K3,spawn as W3}from"node:child_process";import ao from"node:fs";import s5 from"node:os";import Ua from"node:path";import{promisify as J3}from"node:util";import{execa as Z3}from"execa";import Y3 from"handlebars";import{INVALID as Qoe,ParseStatus as ene,ZodIssueCode as tne,ZodParsedType as rne,ZodType as one,addIssueToContext as nne,z as o5}from"zod";var n5=o5.object({template:o5.string().min(1,"Template cannot be empty")});var Ha=J3(K3),i5=".phala-cloud/logs",X3=".phala-cloud/compose",a5=10,wt=class{username;image;registry;constructor(t,r,o){this.image=t,this.username=r||"",this.registry=o||""}ensureLogsDir(){let t=Ua.resolve(i5);ao.existsSync(t)||ao.mkdirSync(t,{recursive:!0})}getLogFilePath(t,r){let o=new Date().toISOString().replace(/[:.]/g,"-");return Ua.resolve(i5,`${r||this.image}-${t}-${o}.log`)}getSystemArchitecture(){let t=s5.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=W3(t,r);this.ensureLogsDir();let c=this.getLogFilePath(o,n),m=ao.createWriteStream(c,{flags:"a"}),u=[],f=(p,d=!1)=>{let h=p.toString().split(`
233
+ `);m.write(p);for(let g of h)if(g.trim()){u.push(g),u.length>a5&&u.shift(),console.clear(),console.log(`Latest ${a5} lines (full log at ${c}):`),console.log("-".repeat(50));for(let b of u)d?console.error(b):console.log(b)}};a.stdout.on("data",p=>f(p)),a.stderr.on("data",p=>f(p,!0)),a.on("close",p=>{m.end(),p===0?(console.log(`
234
+ Operation completed. Full log available at: ${c}`),s()):i(new Error(`Process exited with code ${p}. Check log file: ${c}`))}),a.on("error",p=>{m.end(),i(p)})})}setCredentials(t,r){this.username=t,r&&(this.registry=r)}async buildImage(t,r){try{let o=this.getSystemArchitecture(),n=`${this.username}/${this.image}:${r}`,s=l.startSpinner(`Building Docker image ${this.username}/${this.image}:${r}`);Pt(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 oo())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 Z3("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=s5.homedir(),r=Ua.join(t,".docker","config.json");if(!ao.existsSync(r))return!1;let o=JSON.parse(ao.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"?p1:f1,s=n5.parse({template:n}),i=Ua.resolve(X3);ao.existsSync(i)||(l.info(`Creating directory: ${i}`),ao.mkdirSync(i,{recursive:!0}));let a=[];r&&(a=ao.readFileSync(r,"utf-8").split(`
235
+ `).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=Y3.compile(s.template,{noEscape:!0})({imageName:c,envVars:a.map(p=>p.replace(/=.*/,`=\${${p.split("=")[0]}}`))}),f=Ua.join(i,`${t.replace(/.*\/+([\w-]+):.*$/g,"$1")}-tee-compose.yaml`);return ao.writeFileSync(f,u),l.success(`Backup of docker compose file created at: ${f}`),f}async runComposeLocally(t,r){try{let o=l.startSpinner(`Running Docker Compose file at ${t}`);Pt(t);let n=["-f",t,"up","-d"];return r&&(Pt(r),n.splice(2,0,"--env-file",r)),await Ha(`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 Ha(`docker pull ${t}`),l.info("Starting simulator in background...");let{stdout:o}=await Ha(`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}`),kd(`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 Ha("docker stop tee-simulator"),await Vn(),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 Ha('docker images --format "{{.Repository}}:{{.Tag}}"'),o=(await oo())?.username;return t.split(`
236
+ `).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 $p}from"zod";var c5={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"}]},m5=$p.object({image:$p.string().optional(),tag:$p.string().optional(),file:$p.string().default("Dockerfile")});async function eA(e,t){try{let r=await oo();if(!r)return l.error('Docker information not found. Please login first with "phala docker login"'),1;let o=e.image;o||(o=(await p5.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 p5.prompt([{type:"input",name:"tag",message:"Enter the Docker image tag:",default:"latest",validate:m=>m.trim()?!0:"Tag is required"}])).tag);let s=u5.resolve(process.cwd(),e.file);if(!Q3.existsSync(s)){l.info(`Default Dockerfile not found at ${s}`);let c=await Dr("Enter the path to your Dockerfile:","Dockerfile","file");s=u5.resolve(process.cwd(),c)}return await new wt(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 f5=$({path:["docker","build"],meta:c5,schema:m5,handler:eA});import Ga from"node:fs";import Rp from"node:path";import Va from"inquirer";import{z as ja}from"zod";var l5={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"}]},d5=ja.object({image:ja.string().optional(),envFile:ja.string().optional(),output:ja.string().optional(),template:ja.string().optional()});async function tA(e){if(e)return e;let t=await wt.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 Va.prompt([{type:"list",name:"selectedImage",message:"Select an image to use in the compose file:",choices:r}]);return o}async function rA(e){if(e)return Pt(e),e;let t=Rp.join(process.cwd(),".env");if(Ga.existsSync(t)){let{useDefault:o}=await Va.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(o)return t}let{envPath:r}=await Va.prompt([{type:"input",name:"envPath",message:"Enter path to environment variables file:",validate:o=>{try{return Pt(o),!0}catch{return`File not found: ${o}`}}}]);return r}async function oA(e){let t=e??Rp.join(process.cwd(),"docker-compose.yml");if(Ga.existsSync(t)){let{confirmOverwrite:o}=await Va.prompt([{type:"confirm",name:"confirmOverwrite",message:`File ${t} already exists. Overwrite?`,default:!1}]);if(!o){let{customPath:n}=await Va.prompt([{type:"input",name:"customPath",message:"Enter alternative output path:",default:Rp.join(process.cwd(),"docker-generated-compose.yml")}]);t=n}}let r=Rp.dirname(t);return Ga.existsSync(r)||(l.info(`Creating directory: ${r}`),Ga.mkdirSync(r,{recursive:!0})),t}async function nA(e,t){try{let r=await oo();if(!r||!r.username)throw new Error('Docker Hub username not found. Please login first with "phala docker login"');let o=await tA(e.image),n=await rA(e.envFile),s=await oA(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 wt("",r.username,r.registry).buildComposeFile(o,n,e.template);return a!==s&&Ga.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 h5=$({path:["docker","generate"],meta:l5,schema:d5,handler:nA});import b5 from"prompts";import{z as Bp}from"zod";var g5={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"}]},y5=Bp.object({username:Bp.string().optional(),password:Bp.string().optional(),registry:Bp.string().optional()});async function sA(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 b5({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 wt("",r,n);if(await s.login(r))return l.success(`${r} is logged in to Docker Hub`),await ad({username:r,registry:n||null}),0;if(!o){let c=await b5({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 ad({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 x5=$({path:["docker","login"],meta:g5,schema:y5,handler:sA});import iA from"inquirer";import{z as w5}from"zod";var v5={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"}]},C5=w5.object({image:w5.string().optional()});async function aA(e){if(e)return e;let t=await wt.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 iA.prompt([{type:"list",name:"selectedImage",message:"Select an image to push:",choices:r}]);return o}async function cA(e,t){try{let r=await oo();if(!r)throw new Error('Docker information not found. Please login first with "phala docker login"');let o=await aA(e.image);return await new wt("",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 E5=$({path:["docker","push"],meta:v5,schema:C5,handler:cA});import A5 from"node:fs";import I5 from"node:path";import Mp from"inquirer";import{z as Fp}from"zod";var k5={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"}]},S5=Fp.object({compose:Fp.string().optional(),envFile:Fp.string().optional(),skipEnv:Fp.boolean().default(!0)});async function mA(e){if(e)return Pt(e),e;let t=I5.join(process.cwd(),"docker-compose.yml");if(A5.existsSync(t)){let{useDefault:o}=await Mp.prompt([{type:"confirm",name:"useDefault",message:"Use docker-compose.yml in current directory?",default:!0}]);if(o)return t}let{composePath:r}=await Mp.prompt([{type:"input",name:"composePath",message:"Enter path to docker-compose.yml file:",validate:o=>{try{return Pt(o),!0}catch{return"File not found"}}}]);return r}async function uA(e,t){if(t)return e;if(e)return Pt(e),e;let r=I5.join(process.cwd(),".env");if(A5.existsSync(r)){let{useDefault:n}=await Mp.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(n)return r}let{envPath:o}=await Mp.prompt([{type:"input",name:"envPath",message:"Enter path to environment variables file:",validate:n=>{try{return Pt(n),!0}catch{return`File not found: ${n}`}}}]);return o}async function pA(e,t){try{let r=await mA(e.compose),o=await uA(e.envFile,e.skipEnv),n=new wt("");return o?(l.info(`Validating env file: ${o}`),Pt(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 _5=$({path:["docker","run"],meta:k5,schema:S5,handler:pA});var lA={name:"docker",description:"Login to Docker Hub and manage Docker images"},dA=fA.object({});async function hA(e,t){return t.stdout.write(`Available docker subcommands: login, build, push, generate, run. Use 'phala docker <command> --help' for details.
237
+ `),0}var gA=$({path:["docker"],meta:lA,schema:dA,handler:hA}),Dd={group:r5,commands:[gA,x5,f5,E5,h5,_5]};import Si from"chalk";import yA from"open";import bA from"ora";import xA from"prompts";import{z as Dp}from"zod";var P5={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"}]},T5=Dp.object({apiKey:Dp.string().min(1,"API key cannot be empty").optional(),manual:Dp.boolean().optional(),noOpen:Dp.boolean().optional()});async function Nd(e){try{await yp(e);let t=await bp(e),r=await Ln(t),o=r.data;if(!r.success||!o?.username)throw await Mr(),new Error("Invalid API key");return o}catch(t){throw await Mr(),t instanceof Error?t:new Error(String(t))}}async function wA(){let e,t=await xA({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 vA(e){let t=bt({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(Si.bold("To authenticate, visit:")),console.log(Si.cyan(s)),console.log(),console.log(Si.bold("And enter code:"),Si.yellow(n)),console.log(),!e.noOpen)try{await yA(s),console.log("Opening browser automatically...")}catch{console.warn("Could not open browser automatically. Please visit the URL above.")}let c=bA("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&&typeof u=="object"&&"data"in u&&u.data&&typeof u.data=="object"){let p=u.data.detail;if(p?.error==="authorization_pending")continue;throw p?.error==="expired_token"?(c.fail("Authorization expired"),new Error("Device authorization expired. Please try again.")):p?.error==="access_denied"?(c.fail("Authorization denied"),new Error("You denied the authorization request.")):(c.fail("Authorization failed"),new Error(`Authorization failed: ${p?.error||"unknown"}`))}throw u}}throw c.fail("Authorization timed out"),new Error("Authorization timed out. Please try again.")}async function CA(e,t){try{let r,o;if(e.apiKey)r=e.apiKey;else if(e.manual){let n=await wA();r=n.apiKey,o=n.user}else r=await vA({noOpen:e.noOpen});if(o||(o=await Nd(r)),!o)throw new Error("Failed to validate API key");return console.log(Si.green(`Welcome ${o.username}! API key validated and saved successfully`)),0}catch(r){return console.error(Si.red(`Failed to authenticate: ${r instanceof Error?r.message:String(r)}`)),1}}var $5=$({path:["login"],meta:P5,schema:T5,handler:CA});import{z as EA}from"zod";var R5={name:"logout",description:"Remove the stored API key"},B5=EA.object({});async function kA(e,t){try{return await Mr(),l.success("API key removed successfully"),0}catch(r){return l.error("Failed to remove API key"),l.logDetailedError(r),1}}var F5=$({path:["logout"],meta:R5,schema:B5,handler:kA});var M5={path:["nodes"],meta:{name:"nodes",description:"List and manage TEE nodes"}};import{z as D5}from"zod";var N5={name:"list",aliases:["ls"],description:"List all available worker nodes",options:[{name:"json",description:"Output in JSON format",type:"boolean"}]},zd=D5.object({json:D5.boolean().optional().default(!1)});async function z5(e,t){qe(e.json);try{let r=await ue(),o=await $a(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 SA={name:"nodes",description:"List and manage TEE nodes"},L5=$({path:["nodes","list"],meta:N5,schema:zd,handler:z5}),O5=$({path:["nodes"],meta:SA,schema:zd,handler:z5});var Ld={group:M5,commands:[O5,L5]};import{z as PA}from"zod";var U5={path:["simulator"],meta:{name:"simulator",description:"TEE simulator commands"}};import{z as Od}from"zod";var H5={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"}]},j5=Od.object({port:Od.string().default("8090"),verbose:Od.boolean().default(!1)});async function AA(e,t){try{return s6()||await i6(),await La()?(l.success("TEE simulator is already running"),0):(await a6({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 G5=$({path:["simulator","start"],meta:H5,schema:j5,handler:AA});import{z as IA}from"zod";var V5={name:"stop",description:"Stop the TEE simulator"},q5=IA.object({});async function _A(e,t){try{return await c6()?(l.success("TEE simulator stopped successfully"),0):(l.error("Failed to stop TEE simulator"),1)}catch(r){return l.error("Failed to stop TEE simulator"),l.logDetailedError(r),1}}var K5=$({path:["simulator","stop"],meta:V5,schema:q5,handler:_A});var TA={name:"simulator",description:"TEE simulator commands"},$A=PA.object({});async function RA(e,t){try{let r=await La(),o=Ip();if(r&&o){let s=Ed(),i=s.replace(/dstack\.sock$/,"tappd.sock");t.stdout.write(`\u2713 TEE simulator is running (PID: ${o})\\n`),t.stdout.write(`
237
238
  Set these environment variables to use the simulator:
238
239
  `),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
239
240
  `),t.stdout.write(`To start the simulator, run:
240
- `),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 TA=$({path:["simulator"],meta:AA,schema:IA,handler:_A}),Nd={group:B5,commands:[TA,D5,L5]};import{z as Si}from"zod";import{readFileSync as BA}from"node:fs";import{dirname as FA,join as MA}from"node:path";import{fileURLToPath as DA}from"node:url";function O5(e,t,r){switch(t){case"bash":return PA(e,r);case"zsh":return $A(e,r);case"fish":return RA(e,r)}}function PA(e,t){let r=t?`
241
+ `),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 BA=$({path:["simulator"],meta:TA,schema:$A,handler:RA}),Ud={group:U5,commands:[BA,G5,K5]};import{z as Ai}from"zod";import{readFileSync as NA}from"node:fs";import{dirname as zA,join as LA}from"node:path";import{fileURLToPath as OA}from"node:url";function W5(e,t,r){switch(t){case"bash":return FA(e,r);case"zsh":return MA(e,r);case"fish":return DA(e,r)}}function FA(e,t){let r=t?`
241
242
  # Version check (once per day)
242
243
  local completion_version="${t}"
243
244
  local check_file=~/."${e}"/completion-check
@@ -274,7 +275,7 @@ ${r}
274
275
  }
275
276
 
276
277
  complete -F _${e}_completions ${e}
277
- `.trim()}function $A(e,t){let r=t?`
278
+ `.trim()}function MA(e,t){let r=t?`
278
279
  # Version check (once per day)
279
280
  local completion_version="${t}"
280
281
  local check_file=~/."${e}"/completion-check
@@ -319,7 +320,7 @@ ${r}
319
320
  }
320
321
 
321
322
  _${e}
322
- `.trim()}function RA(e,t){let r=t?`
323
+ `.trim()}function DA(e,t){let r=t?`
323
324
  # Version check (once per day)
324
325
  set -l completion_version "${t}"
325
326
  set -l check_file ~/."${e}"/completion-check
@@ -352,10 +353,10 @@ ${r}
352
353
  end
353
354
 
354
355
  complete -c ${e} -f -a "(__${e}_complete)"
355
- `.trim()}function NA(){try{let e=DA(import.meta.url),t=FA(e),r=MA(t,"../package.json");return JSON.parse(BA(r,"utf-8")).version}catch{return"unknown"}}var zA={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}]},LA=Si.object({line:Si.string(),fragment:Si.string()});async function OA(e,t){return t.stdout.write(`
356
- `),0}var Hie=$({path:["__complete"],meta:zA,schema:LA,handler:OA}),UA={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"}]},HA=Si.object({shell:Si.enum(["bash","zsh","fish"]).optional(),fig:Si.boolean().optional()});async function jA(e,t){if(e.fig)return t.stdout.write(`Fig spec generation requires registry access. See fig-spec.ts for implementation.
357
- `),0;let r=e.shell||GA();if(!r)return t.stderr.write(`Could not detect shell. Please specify with --shell (bash, zsh, or fish)
358
- `),1;let o=NA(),n=O5("phala",r,o);switch(t.stdout.write(`# Add this to your shell configuration file:
356
+ `.trim()}function UA(){try{let e=OA(import.meta.url),t=zA(e),r=LA(t,"../package.json");return JSON.parse(NA(r,"utf-8")).version}catch{return"unknown"}}var HA={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}]},jA=Ai.object({line:Ai.string(),fragment:Ai.string()});async function GA(e,t){return t.stdout.write(`
357
+ `),0}var Die=$({path:["__complete"],meta:HA,schema:jA,handler:GA}),VA={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"}]},qA=Ai.object({shell:Ai.enum(["bash","zsh","fish"]).optional(),fig:Ai.boolean().optional()});async function KA(e,t){if(e.fig)return t.stdout.write(`Fig spec generation requires registry access. See fig-spec.ts for implementation.
358
+ `),0;let r=e.shell||WA();if(!r)return t.stderr.write(`Could not detect shell. Please specify with --shell (bash, zsh, or fish)
359
+ `),1;let o=UA(),n=W5("phala",r,o);switch(t.stdout.write(`# Add this to your shell configuration file:
359
360
 
360
361
  `),t.stdout.write(`${n}
361
362
 
@@ -368,8 +369,8 @@ complete -c ${e} -f -a "(__${e}_complete)"
368
369
  `),t.stdout.write(`# source ~/.zshrc
369
370
  `);break;case"fish":t.stdout.write(`# For fish, run:
370
371
  `),t.stdout.write(`# phala completion --shell fish > ~/.config/fish/completions/phala.fish
371
- `);break}return 0}function GA(){let e=process.env.SHELL||"";return e.includes("bash")?"bash":e.includes("zsh")?"zsh":e.includes("fish")?"fish":null}var U5=$({path:["completion"],meta:UA,schema:HA,handler:jA});import{spawn as VA}from"node:child_process";import{existsSync as G5}from"node:fs";import{homedir as Ga}from"node:os";import{join as Va}from"node:path";import V5 from"chalk";import{z as Vn}from"zod";var H5={name:"ssh",description:"Connect to a CVM via SSH",arguments:[{name:"cvm-id",description:"CVM ID (app_id or UUID). 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 (default: 443)",type:"string",target:"port"},{name:"gateway-domain",shorthand:"g",description:"Gateway domain (default: from API)",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 app_id from phala.toml",value:"phala ssh"},{name:"Connect to a CVM by ID",value:"phala ssh app_123"},{name:"Connect with custom SSH key",value:"phala ssh app_123 -i ~/.ssh/custom_key"},{name:"Connect with custom port",value:"phala ssh app_123 -p 16185"},{name:"Connect with custom gateway domain",value:"phala ssh app_123 -g dstack-dev-v05x.phatfn.xyz -p 16185"},{name:"Connect with custom timeout",value:"phala ssh app_123 -t 60"},{name:"Connect with verbose output",value:"phala ssh app_123 -v"}]},j5=Vn.object({cvmId:Vn.string().optional(),identity:Vn.string().optional(),port:Vn.string().default("443"),gatewayDomain:Vn.string().optional(),timeout:Vn.string().default("30"),verbose:Vn.boolean().default(!1)});async function qA(e,t){try{let r=fp(e.cvmId)??t.projectConfig.cvm_id;if(!r)return l.error(`No CVM ID provided. Either pass a CVM ID as argument or configure it in phala.toml.
372
- Supported fields: id, uuid, app_id, or instance_id`),1;let n=await(await pe()).getCvmInfo({id:r});if(!n.gateway_domain&&!e.gatewayDomain)return l.error("CVM is not registered on any gateway."),1;if(n.status!=="running")return l.error(`CVM is not running (current status: ${V5.yellow(n.status)})`),l.info("Please start the CVM first using: phala cvms start"),1;let s=e.gatewayDomain??n.gateway_domain,i=n.app_id,a=e.port,c=e.identity;if(c){if(c.startsWith("~")&&(c=Va(Ga(),c.slice(1))),!G5(c))return l.error(`SSH key file not found: ${c}`),1}else{let h=[Va(Ga(),".ssh","id_rsa"),Va(Ga(),".ssh","id_ed25519"),Va(Ga(),".ssh","id_ecdsa"),Va(Ga(),".ssh","id_dsa")];for(let g of h)if(G5(g)){c=g;break}c||l.warn("No default SSH key found. SSH will use ssh-agent or prompt for password.")}let m=`${i}-22.${s}`,u="root",f=e.verbose?"openssl s_client -quiet -connect %h:%p":"openssl s_client -quiet -connect %h:%p 2>/dev/null";e.verbose&&l.info(`Connecting to ${V5.cyan(m)}...`);let p=["-o",`ProxyCommand=${f}`,"-o","StrictHostKeyChecking=no","-o","UserKnownHostsFile=/dev/null","-o","LogLevel=ERROR","-o",`ConnectTimeout=${e.timeout}`,"-p",a];if(c&&p.push("-i",c),e.verbose){p.unshift("-v");let h=p.indexOf("LogLevel=ERROR");h>0&&p.splice(h-1,2)}p.push(`${u}@${m}`);let d=VA("ssh",p,{stdio:"inherit"});return d.on("error",h=>{l.break(),l.error(`SSH connection failed: ${h.message}`)}),new Promise(h=>{d.on("close",g=>{l.break(),g===0?(l.success("Connection closed"),h(0)):(l.error(`Connection failed with code ${g}`),h(g??1))})})}catch(r){return l.error("Failed to connect via SSH"),F(r),1}}var q5=$({path:["ssh"],meta:H5,schema:j5,handler:qA});var YA=ZA(import.meta.url),XA=WA(YA),QA=JA(XA,"../package.json"),K5=JSON.parse(KA(QA,"utf-8")),eI=`v${K5.version}`,Ve=new lp;Ve.registerCommand(h1);Ve.registerCommand(Z6);Ve.registerCommand(A5);Ve.registerCommand(U5);Ve.registerCommand(q5);Ve.registerGroup(cd.group);for(let e of cd.commands)Ve.registerCommand(e);Ve.registerGroup(fd.group);for(let e of fd.commands)Ve.registerCommand(e);Ve.registerGroup(_d.group);for(let e of _d.commands)Ve.registerCommand(e);Ve.registerGroup(Rd.group);for(let e of Rd.commands)Ve.registerCommand(e);Ve.registerGroup(Md.group);for(let e of Md.commands)Ve.registerCommand(e);Ve.registerGroup(Nd.group);for(let e of Nd.commands)Ve.registerCommand(e);process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function tI(){let e=await t1({registry:Ve,argv:process.argv.slice(2),executableName:K5.name??"phala",version:eI,cwd:process.cwd(),env:process.env,stdout:process.stdout,stderr:process.stderr,stdin:process.stdin});process.exit(e)}tI().catch(e=>{console.error("An error occurred:",e),process.exit(1)});
372
+ `);break}return 0}function WA(){let e=process.env.SHELL||"";return e.includes("bash")?"bash":e.includes("zsh")?"zsh":e.includes("fish")?"fish":null}var J5=$({path:["completion"],meta:VA,schema:qA,handler:KA});import{spawn as JA}from"node:child_process";import{existsSync as X5}from"node:fs";import{homedir as qa}from"node:os";import{join as Ka}from"node:path";import Q5 from"chalk";import{z as qn}from"zod";var Z5={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 (default: 443)",type:"string",target:"port"},{name:"gateway-domain",shorthand:"g",description:"Gateway domain (default: from API)",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 app_id from phala.toml",value:"phala ssh"},{name:"Connect to a CVM by ID",value:"phala ssh app_123"},{name:"Connect with custom SSH key",value:"phala ssh app_123 -i ~/.ssh/custom_key"},{name:"Connect with custom port",value:"phala ssh app_123 -p 16185"},{name:"Connect with custom gateway domain",value:"phala ssh app_123 -g dstack-dev-v05x.phatfn.xyz -p 16185"},{name:"Connect with custom timeout",value:"phala ssh app_123 -t 60"},{name:"Connect with verbose output",value:"phala ssh app_123 -v"}]},Y5=qn.object({cvmId:qn.string().optional(),identity:qn.string().optional(),port:qn.string().default("443"),gatewayDomain:qn.string().optional(),timeout:qn.string().default("30"),verbose:qn.boolean().default(!1)});async function ZA(e,t){try{let r=dp(e.cvmId)??t.projectConfig.cvm_id;if(!r)return l.error(`No CVM ID provided. Either pass a CVM ID as argument or configure it in phala.toml.
373
+ Supported fields: id, uuid, app_id, or instance_id`),1;let n=await(await ue()).getCvmInfo({id:r});if(!n.gateway_domain&&!e.gatewayDomain)return l.error("CVM is not registered on any gateway."),1;if(n.status!=="running")return l.error(`CVM is not running (current status: ${Q5.yellow(n.status)})`),l.info("Please start the CVM first using: phala cvms start"),1;let s=e.gatewayDomain??n.gateway_domain,i=n.app_id,a=e.port,c=e.identity;if(c){if(c.startsWith("~")&&(c=Ka(qa(),c.slice(1))),!X5(c))return l.error(`SSH key file not found: ${c}`),1}else{let h=[Ka(qa(),".ssh","id_rsa"),Ka(qa(),".ssh","id_ed25519"),Ka(qa(),".ssh","id_ecdsa"),Ka(qa(),".ssh","id_dsa")];for(let g of h)if(X5(g)){c=g;break}c||l.warn("No default SSH key found. SSH will use ssh-agent or prompt for password.")}let m=`${i}-22.${s}`,u="root",f=e.verbose?"openssl s_client -quiet -connect %h:%p":"openssl s_client -quiet -connect %h:%p 2>/dev/null";e.verbose&&l.info(`Connecting to ${Q5.cyan(m)}...`);let p=["-o",`ProxyCommand=${f}`,"-o","StrictHostKeyChecking=no","-o","UserKnownHostsFile=/dev/null","-o","LogLevel=ERROR","-o",`ConnectTimeout=${e.timeout}`,"-p",a];if(c&&p.push("-i",c),e.verbose){p.unshift("-v");let h=p.indexOf("LogLevel=ERROR");h>0&&p.splice(h-1,2)}p.push(`${u}@${m}`);let d=JA("ssh",p,{stdio:"inherit"});return d.on("error",h=>{l.break(),l.error(`SSH connection failed: ${h.message}`)}),new Promise(h=>{d.on("close",g=>{l.break(),g===0?(l.success("Connection closed"),h(0)):(l.error(`Connection failed with code ${g}`),h(g??1))})})}catch(r){return l.error("Failed to connect via SSH"),r instanceof Error?l.error(r.message):l.error(String(r)),1}}var ew=$({path:["ssh"],meta:Z5,schema:Y5,handler:ZA});var tI=eI(import.meta.url),rI=XA(tI),oI=QA(rI,"../package.json"),tw=JSON.parse(YA(oI,"utf-8")),nI=`v${tw.version}`,De=new hp;De.registerCommand(w1);De.registerCommand(t5);De.registerCommand($5);De.registerCommand(F5);De.registerCommand(J5);De.registerCommand(ew);De.registerGroup(fd.group);for(let e of fd.commands)De.registerCommand(e);De.registerGroup(gd.group);for(let e of gd.commands)De.registerCommand(e);De.registerGroup(Rd.group);for(let e of Rd.commands)De.registerCommand(e);De.registerGroup(Dd.group);for(let e of Dd.commands)De.registerCommand(e);De.registerGroup(Ld.group);for(let e of Ld.commands)De.registerCommand(e);De.registerGroup(Ud.group);for(let e of Ud.commands)De.registerCommand(e);process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function sI(){let e=await i1({registry:De,argv:process.argv.slice(2),executableName:tw.name??"phala",version:nI,cwd:process.cwd(),env:process.env,stdout:process.stdout,stderr:process.stderr,stdin:process.stdin});process.exit(e)}sI().catch(e=>{console.error("An error occurred:",e),process.exit(1)});
373
374
  /*! Bundled license information:
374
375
 
375
376
  @noble/hashes/esm/utils.js: