phala 1.1.0-beta.8 → 1.1.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,110 +1,110 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module';const require = createRequire(import.meta.url);
3
- var r5=Object.create;var Lp=Object.defineProperty;var o5=Object.getOwnPropertyDescriptor;var n5=Object.getOwnPropertyNames;var s5=Object.getPrototypeOf,i5=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),Op=(e,t)=>{for(var r in t)Lp(e,r,{get:t[r],enumerable:!0})},a5=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of n5(t))!i5.call(e,n)&&n!==r&&Lp(e,n,{get:()=>t[n],enumerable:!(o=o5(t,n))||o.enumerable});return e};var Ii=(e,t,r)=>(r=e!=null?r5(s5(e)):{},a5(t||!e||!e.__esModule?Lp(r,"default",{value:e,enumerable:!0}):r,e));var Zd=ct((vI,Jd)=>{var Jn=1e3,Zn=Jn*60,Yn=Zn*60,pn=Yn*24,g5=pn*7,y5=pn*365.25;Jd.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return b5(e);if(r==="number"&&isFinite(e))return t.long?w5(e):x5(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function b5(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*y5;case"weeks":case"week":case"w":return r*g5;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 x5(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 w5(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 Gp=ct((CI,Yd)=>{function v5(e){r.debug=r,r.default=r,r.coerce=c,r.disable=i,r.enable=n,r.enabled=a,r.humanize=Zd(),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,g;function h(...b){if(!h.enabled)return;let y=h,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 h.namespace=u,h.useColors=r.useColors(),h.color=r.selectColor(u),h.extend=o,h.destroy=r.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(d!==r.namespaces&&(d=r.namespaces,g=r.enabled(u)),g),set:b=>{p=b}}),typeof r.init=="function"&&r.init(h),h}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,g=-1,h=0;for(;p<u.length;)if(d<f.length&&(f[d]===u[p]||f[d]==="*"))f[d]==="*"?(g=d,h=p,d++):(p++,d++);else if(g!==-1)d=g+1,h++,p=h;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}Yd.exports=v5});var Xd=ct((ut,Ya)=>{ut.formatArgs=E5;ut.save=k5;ut.load=S5;ut.useColors=C5;ut.storage=A5();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 C5(){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 E5(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 k5(e){try{e?ut.storage.setItem("debug",e):ut.storage.removeItem("debug")}catch{}}function S5(){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 A5(){try{return localStorage}catch{}}Ya.exports=Gp()(ut);var{formatters:I5}=Ya.exports;I5.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var e0=ct((EI,Qd)=>{"use strict";Qd.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 o0=ct((kI,r0)=>{"use strict";var _5=zr("os"),t0=zr("tty"),$t=e0(),{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 Vp(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function qp(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=_5.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in Ne)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(o=>o in Ne)||Ne.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Ne)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ne.TEAMCITY_VERSION)?1:0;if(Ne.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ne){let o=parseInt((Ne.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ne.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ne.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ne.TERM)||"COLORTERM"in Ne?1:r}function P5(e){let t=qp(e,e&&e.isTTY);return Vp(t)}r0.exports={supportsColor:P5,stdout:Vp(qp(!0,t0.isatty(1))),stderr:Vp(qp(!0,t0.isatty(2)))}});var s0=ct((ze,Qa)=>{var T5=zr("tty"),Xa=zr("util");ze.init=N5;ze.log=F5;ze.formatArgs=R5;ze.save=M5;ze.load=D5;ze.useColors=$5;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=o0();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 $5(){return"colors"in ze.inspectOpts?!!ze.inspectOpts.colors:T5.isatty(process.stderr.fd)}function R5(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 f5=Object.create;var Gp=Object.defineProperty;var l5=Object.getOwnPropertyDescriptor;var d5=Object.getOwnPropertyNames;var h5=Object.getPrototypeOf,g5=Object.prototype.hasOwnProperty;var Lr=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var S=(e,t)=>()=>(e&&(t=e(e=0)),t);var mt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Vp=(e,t)=>{for(var r in t)Gp(e,r,{get:t[r],enumerable:!0})},y5=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of d5(t))!g5.call(e,n)&&n!==r&&Gp(e,n,{get:()=>t[n],enumerable:!(o=l5(t,n))||o.enumerable});return e};var Ti=(e,t,r)=>(r=e!=null?f5(h5(e)):{},y5(t||!e||!e.__esModule?Gp(r,"default",{value:e,enumerable:!0}):r,e));var t0=mt((LA,e0)=>{var Xn=1e3,Qn=Xn*60,es=Qn*60,dn=es*24,I5=dn*7,A5=dn*365.25;e0.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return _5(e);if(r==="number"&&isFinite(e))return t.long?T5(e):P5(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function _5(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*A5;case"weeks":case"week":case"w":return r*I5;case"days":case"day":case"d":return r*dn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*es;case"minutes":case"minute":case"mins":case"min":case"m":return r*Qn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Xn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function P5(e){var t=Math.abs(e);return t>=dn?Math.round(e/dn)+"d":t>=es?Math.round(e/es)+"h":t>=Qn?Math.round(e/Qn)+"m":t>=Xn?Math.round(e/Xn)+"s":e+"ms"}function T5(e){var t=Math.abs(e);return t>=dn?tc(e,t,dn,"day"):t>=es?tc(e,t,es,"hour"):t>=Qn?tc(e,t,Qn,"minute"):t>=Xn?tc(e,t,Xn,"second"):e+" ms"}function tc(e,t,r,o){var n=t>=r*1.5;return Math.round(e/r)+" "+o+(n?"s":"")}});var Jp=mt((OA,r0)=>{function $5(e){r.debug=r,r.default=r,r.coerce=c,r.disable=i,r.enable=n,r.enabled=a,r.humanize=t0(),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,g;function h(...b){if(!h.enabled)return;let y=h,w=Number(new Date),C=w-(f||w);y.diff=C,y.prev=f,y.curr=w,f=w,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,A)=>{if(T==="%%")return"%";k++;let B=r.formatters[A];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 h.namespace=u,h.useColors=r.useColors(),h.color=r.selectColor(u),h.extend=o,h.destroy=r.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(d!==r.namespaces&&(d=r.namespaces,g=r.enabled(u)),g),set:b=>{p=b}}),typeof r.init=="function"&&r.init(h),h}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,g=-1,h=0;for(;p<u.length;)if(d<f.length&&(f[d]===u[p]||f[d]==="*"))f[d]==="*"?(g=d,h=p,d++):(p++,d++);else if(g!==-1)d=g+1,h++,p=h;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}r0.exports=$5});var o0=mt((pt,rc)=>{pt.formatArgs=B5;pt.save=F5;pt.load=M5;pt.useColors=R5;pt.storage=D5();pt.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();pt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function R5(){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 B5(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+rc.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,o=0;e[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(r++,n==="%c"&&(o=r))}),e.splice(o,0,t)}pt.log=console.debug||console.log||(()=>{});function F5(e){try{e?pt.storage.setItem("debug",e):pt.storage.removeItem("debug")}catch{}}function M5(){let e;try{e=pt.storage.getItem("debug")||pt.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function D5(){try{return localStorage}catch{}}rc.exports=Jp()(pt);var{formatters:N5}=rc.exports;N5.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var s0=mt((UA,n0)=>{"use strict";n0.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 c0=mt((HA,a0)=>{"use strict";var z5=Lr("os"),i0=Lr("tty"),Rt=s0(),{env:ze}=process,po;Rt("no-color")||Rt("no-colors")||Rt("color=false")||Rt("color=never")?po=0:(Rt("color")||Rt("colors")||Rt("color=true")||Rt("color=always"))&&(po=1);"FORCE_COLOR"in ze&&(ze.FORCE_COLOR==="true"?po=1:ze.FORCE_COLOR==="false"?po=0:po=ze.FORCE_COLOR.length===0?1:Math.min(parseInt(ze.FORCE_COLOR,10),3));function Zp(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Yp(e,t){if(po===0)return 0;if(Rt("color=16m")||Rt("color=full")||Rt("color=truecolor"))return 3;if(Rt("color=256"))return 2;if(e&&!t&&po===void 0)return 0;let r=po||0;if(ze.TERM==="dumb")return r;if(process.platform==="win32"){let o=z5.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in ze)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(o=>o in ze)||ze.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in ze)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ze.TEAMCITY_VERSION)?1:0;if(ze.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ze){let o=parseInt((ze.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ze.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ze.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ze.TERM)||"COLORTERM"in ze?1:r}function L5(e){let t=Yp(e,e&&e.isTTY);return Zp(t)}a0.exports={supportsColor:L5,stdout:Zp(Yp(!0,i0.isatty(1))),stderr:Zp(Yp(!0,i0.isatty(2)))}});var u0=mt((Le,nc)=>{var O5=Lr("tty"),oc=Lr("util");Le.init=K5;Le.log=G5;Le.formatArgs=H5;Le.save=V5;Le.load=q5;Le.useColors=U5;Le.destroy=oc.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Le.colors=[6,2,3,4,5,1];try{let e=c0();e&&(e.stderr||e).level>=2&&(Le.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{}Le.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 U5(){return"colors"in Le.inspectOpts?!!Le.inspectOpts.colors:O5.isatty(process.stderr.fd)}function H5(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+"+Qa.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=B5()+t+" "+e[0]}function B5(){return ze.inspectOpts.hideDate?"":new Date().toISOString()+" "}function F5(...e){return process.stderr.write(Xa.formatWithOptions(ze.inspectOpts,...e)+`
6
- `)}function M5(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function D5(){return process.env.DEBUG}function N5(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=Gp()(ze);var{formatters:n0}=Qa.exports;n0.o=function(e){return this.inspectOpts.colors=this.useColors,Xa.inspect(e,this.inspectOpts).split(`
7
- `).map(t=>t.trim()).join(" ")};n0.O=function(e){return this.inspectOpts.colors=this.useColors,Xa.inspect(e,this.inspectOpts)}});var i0=ct((SI,Kp)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Kp.exports=Xd():Kp.exports=s0()});var Wp,c0=S(()=>{Wp="2.38.6"});function m0(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?m0(e.cause,t):t?null:e}var Jp,x,H=S(()=>{c0();Jp={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${Wp}`},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=Jp.getDocsUrl?.({...r,docsPath:n}),i=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...o?[`Details: ${o}`]:[],...Jp.version?[`Version: ${Jp.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=Wp}walk(t){return m0(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}):z5(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 z5(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+=L5[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=O5.encode(e);return Y(r,t)}var L5,O5,F=S(()=>{Pi();nc();Re();L5=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));O5=new TextEncoder});function Bt(e,t={}){return typeof e=="number"||typeof e=="bigint"?j5(e,t):typeof e=="boolean"?H5(e,t):ae(e)?Be(e,t):Xt(e,t)}function H5(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 u0(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=u0(o.charCodeAt(a++)),m=u0(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 j5(e,t){let r=E(e,t);return Be(r)}function Xt(e,t={}){let r=U5.encode(e);return typeof t.size=="number"?(pt(r,{size:t.size}),po(r,{dir:"right",size:t.size})):r}var U5,Or,Oe=S(()=>{H();vt();nc();Re();F();U5=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 Zp(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=q5(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=V5[e.type]),typeof e.value<"u"&&(r.value=E(e.value)),r}function q5(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 V5,fo=S(()=>{F();V5={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,Qp=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):K5(e)}function K5(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,ef=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(W5);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var W5,cc=S(()=>{ef();W5={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new 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,g0,uc=S(()=>{mc={gwei:9,wei:18},g0={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 tf=S(()=>{});function os(e,t="wei"){return pc(e,mc[t])}var fc=S(()=>{uc();tf()});function Fe(e,t="wei"){return pc(e,g0[t])}var ns=S(()=>{uc();tf()});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 Y5(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function rf(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function gn(e,...t){if(!Y5(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 b0(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 Q5(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]=Q5(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 X5,of,ps,Cc=S(()=>{X5=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();of=X5?e=>e:ev;ps=class{}});function ov(e,t=!1){return t?{h:Number(e&kc),l:Number(e>>v0&kc)}:{h:Number(e>>v0&kc)|0,l:Number(e&kc)|0}}function C0(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,v0,E0,k0,S0,A0,I0=S(()=>{kc=BigInt(4294967295),v0=BigInt(32);E0=(e,t,r)=>e<<r|t>>>32-r,k0=(e,t,r)=>t<<r|e>>>32-r,S0=(e,t,r)=>t<<r-32|e>>>64-r,A0=(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=B0(m,u,1)^r[a],p=F0(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=D0[i],c=B0(n,s,a),m=F0(n,s,a),u=M0[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,M0,D0,N0,z0,fv,lv,B0,F0,Oi,hv,Bc,nf=S(()=>{I0();Cc();av=BigInt(0),Li=BigInt(1),cv=BigInt(2),mv=BigInt(7),uv=BigInt(256),pv=BigInt(113),M0=[],D0=[],N0=[];for(let e=0,t=Li,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],M0.push(2*(5*o+r)),D0.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);N0.push(n)}z0=C0(N0,!0),fv=z0[0],lv=z0[1],B0=(e,t,r)=>r>32?S0(e,t,r):E0(e,t,r),F0=(e,t,r)=>r>32?A0(e,t,r):k0(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,rf(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=b0(this.state)}clone(){return this._cloneInto()}keccak(){of(this.state32),dv(this.state32,this.rounds),of(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 rf(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(()=>{nf();vt();Oe();F()});function jr(e,t){if(sf.has(`${e}.${t}`))return sf.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 sf.set(`${e}.${t}`,s),s}function Es(e,t){if(!X(e,{strict:!1}))throw new oe({address:e});return jr(e,t)}var sf,yo=S(()=>{tr();Oe();Nt();Cs();Et();sf=new Dt(8192)});function X(e,t){let{strict:r=!0}=t??{},o=`${e}.${r}`;if(af.has(o))return af.get(o);let n=(()=>gv.test(e)?e.toLowerCase()===e?!0:r?jr(e)===e:!0:!1)();return af.set(o,n),n}var gv,af,Et=S(()=>{Cs();yo();gv=/^0x[a-fA-F0-9]{40}$/,af=new Dt(8192)});function zt(e,t,r,{strict:o}={}){return ae(e,{strict:!1})?Fc(e,t,r,{strict:o}):cf(e,t,r,{strict:o})}function L0(e,t){if(typeof t=="number"&&t>0&&t>Z(e)-1)throw new Ti({offset:t,position:"start",size:Z(e)})}function O0(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 cf(e,t,r,{strict:o}={}){L0(e,t);let n=e.slice(t,r);return o&&O0(n,t,r),n}function Fc(e,t,r,{strict:o}={}){L0(e,t);let n=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return o&&O0(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 W0,Lc,J0,Oc=S(()=>{W0={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"},J0={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 Z0(e){return _v(e)}var _v,Y0=S(()=>{Oe();Nt();_v=e=>ne(Bt(e))});var X0,Q0=S(()=>{X0="1.1.0"});var le,Ts=S(()=>{Q0();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@${X0}`].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 uf,pf,Qc,Wi=S(()=>{uf=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,pf=/^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(eh.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(eh,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 eh,th=S(()=>{Wi();eh=/^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 ff=S(()=>{th()});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 rh=S(()=>{ff()});function nh(e){return oh.test(e)}function sh(e){return kt(oh,e)}function ah(e){return ih.test(e)}function ch(e){return kt(ih,e)}function uh(e){return mh.test(e)}function ph(e){return kt(mh,e)}function xo(e){return fh.test(e)}function lh(e){return kt(fh,e)}function hh(e){return dh.test(e)}function gh(e){return kt(dh,e)}function bh(e){return yh.test(e)}function xh(e){return kt(yh,e)}function wh(e){return Pv.test(e)}var oh,ih,mh,fh,dh,yh,Pv,lf,vh,tm,$s=S(()=>{Wi();oh=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;ih=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;mh=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;fh=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;dh=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;yh=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;Pv=/^receive\(\) external payable$/;lf=new Set(["memory","indexed","storage","calldata"]),vh=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,df=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,Ch=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,Eh=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 kh(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,Sh=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(uh(e))return Tv(e,t);if(ah(e))return $v(e,t);if(nh(e))return Rv(e,t);if(hh(e))return Bv(e,t);if(bh(e))return Fv(e);if(wh(e))return{type:"receive",stateMutability:"payable"};throw new lm({signature:e})}function Tv(e,t={}){let r=ph(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=ch(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:vh,structs:t,type:"event"}));return{name:r.name,type:"event",inputs:n}}function Rv(e,t={}){let r=sh(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=gh(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=xh(e);if(!t)throw new dr({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}function nr(e,t){let r=kh(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 g=0;g<d;g++)p.push(nr(f[g],{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"&&!hf(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 hf(e){return e==="address"||e==="bool"||e==="function"||e==="string"||uf.test(e)||pf.test(e)}function Lv(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||uf.test(e)||pf.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();df();Eh();Sh();$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=lh(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 g=m[p].trim();if(!g)continue;let h=nr(g,{type:"struct"});u.push(h)}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]=Ah(c,t)}return o}function Ah(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:Ah(t[u]??[],t,new Set([...r,u]))})}else if(hf(u))o.push(i);else throw new om({type:u})}}return o}var Uv,bm=S(()=>{Wi();sm();fm();df();Ch();$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 Ih=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 _h=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:lf}))}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:lf,structs:r}))}}if(t.length===0)throw new im({params:e});return t}var Ph=S(()=>{fm();$s();bm();Rs();Rs()});var Zi=S(()=>{rh();ff();Ih();_h();Ph()});function $h(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 Rh=S(()=>{H()});var Bh,Fh=S(()=>{Zi();Rh();Bh=e=>{let t=(()=>typeof e=="string"?e:wn(e))();return $h(t)}});function Cm(e){return Z0(Bh(e))}var gf=S(()=>{Y0();Fh()});var hr,Fs=S(()=>{bo();gf();hr=e=>zt(Cm(e),0,4)});function Mh(e,t={}){typeof t.size<"u"&&pt(e,{size:t.size});let r=Y(e,t);return ie(r,t)}function Dh(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 Nh(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 zh=S(()=>{Pi();ln();Re();F()});var Lh,Em,yf=S(()=>{Lh=/^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=xf(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(bf({param:e[o],value:t[o]}));return r}function bf({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 xf(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=bf({param:r,value:e[i]});a.dynamic&&(n=!0),s.push(a)}if(o||n){let i=xf(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=bf({param:s,value:e[i]});o.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?xf(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();yf()});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(cf(t,-20))),32]}function Yv(e,t,{length:r,staticPosition:o}){if(!r){let i=gr(e.readBytes(wf)),a=o+i,c=a+Oh;e.setPosition(a);let m=gr(e.readBytes(Oh)),u=Yi(t),f=0,p=[];for(let d=0;d<m;++d){e.setPosition(c+(u?d*32:f));let[g,h]=Ms(e,t,{staticPosition:c});f+=h,p.push(g)}return e.setPosition(o+32),[p,32]}if(Yi(t)){let i=gr(e.readBytes(wf)),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[Dh(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?Mh(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(wf)),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=Nh(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 Oh,wf,Xi=S(()=>{we();yo();cc();Rt();bo();ln();zh();Oe();F();qr();Oh=32,wf=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,J0].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 vf=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 Cf({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 Uh=S(()=>{Ze()});var wo,Qi=S(()=>{gf();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?Ef(m,f):!1})){if(i&&"inputs"in i&&i.inputs){let m=Hh(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 Ef(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)=>Ef(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=>Ef(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function Hh(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 Hh(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 jh(e){return e.reduce((t,{slot:r,value:o})=>`${t} ${r}: ${o}
35
- `,"")}function Gh(e){return e.reduce((t,{address:r,...o})=>{let n=`${t} ${r}:
5
+ `+s),e.push(n+"m+"+nc.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=j5()+t+" "+e[0]}function j5(){return Le.inspectOpts.hideDate?"":new Date().toISOString()+" "}function G5(...e){return process.stderr.write(oc.formatWithOptions(Le.inspectOpts,...e)+`
6
+ `)}function V5(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function q5(){return process.env.DEBUG}function K5(e){e.inspectOpts={};let t=Object.keys(Le.inspectOpts);for(let r=0;r<t.length;r++)e.inspectOpts[t[r]]=Le.inspectOpts[t[r]]}nc.exports=Jp()(Le);var{formatters:m0}=nc.exports;m0.o=function(e){return this.inspectOpts.colors=this.useColors,oc.inspect(e,this.inspectOpts).split(`
7
+ `).map(t=>t.trim()).join(" ")};m0.O=function(e){return this.inspectOpts.colors=this.useColors,oc.inspect(e,this.inspectOpts)}});var p0=mt((jA,Xp)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Xp.exports=o0():Xp.exports=u0()});var Qp,l0=S(()=>{Qp="2.38.6"});function d0(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?d0(e.cause,t):t?null:e}var ef,x,H=S(()=>{l0();ef={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${Qp}`},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=ef.getDocsUrl?.({...r,docsPath:n}),i=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...o?[`Details: ${o}`]:[],...ef.version?[`Version: ${ef.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=Qp}walk(t){return d0(this,t)}}});var ts,sc,ic,ac,Ri=S(()=>{H();ts=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"})}},sc=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"})}},ic=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"})}},ac=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 Ct=S(()=>{});function Z(e){return ce(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Bt=S(()=>{Ct()});function Oe(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 gn=S(()=>{});var Bi,Fi,Mi,cc=S(()=>{H();Bi=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"})}},Fi=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"})}},Mi=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 fo(e,{dir:t,size:r=32}={}){return typeof e=="string"?Or(e,{dir:t,size:r}):W5(e,{dir:t,size:r})}function Or(e,{dir:t,size:r=32}={}){if(r===null)return e;let o=e.replace("0x","");if(o.length>r*2)throw new Fi({size:Math.ceil(o.length/2),targetSize:r,type:"hex"});return`0x${o[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function W5(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new Fi({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 mc=S(()=>{cc()});function se(e,t={}){return typeof e=="number"||typeof e=="bigint"?E(e,t):typeof e=="string"?Xt(e,t):typeof e=="boolean"?uc(e,t):Y(e,t)}function uc(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(ft(r,{size:t.size}),fo(r,{size:t.size})):r}function Y(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=J5[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(ft(o,{size:t.size}),fo(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 ts({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?fo(a,{size:o}):a}function Xt(e,t={}){let r=Z5.encode(e);return Y(r,t)}var J5,Z5,F=S(()=>{Ri();mc();Fe();J5=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));Z5=new TextEncoder});function Ft(e,t={}){return typeof e=="number"||typeof e=="bigint"?Q5(e,t):typeof e=="boolean"?X5(e,t):ce(e)?Me(e,t):Qt(e,t)}function X5(e,t={}){let r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(ft(r,{size:t.size}),fo(r,{size:t.size})):r}function h0(e){if(e>=Ur.zero&&e<=Ur.nine)return e-Ur.zero;if(e>=Ur.A&&e<=Ur.F)return e-(Ur.A-10);if(e>=Ur.a&&e<=Ur.f)return e-(Ur.a-10)}function Me(e,t={}){let r=e;t.size&&(ft(r,{size:t.size}),r=fo(r,{dir:"right",size:t.size}));let o=r.slice(2);o.length%2&&(o=`0${o}`);let n=o.length/2,s=new Uint8Array(n);for(let i=0,a=0;i<n;i++){let c=h0(o.charCodeAt(a++)),m=h0(o.charCodeAt(a++));if(c===void 0||m===void 0)throw new x(`Invalid byte sequence ("${o[a-2]}${o[a-1]}" in "${o}").`);s[i]=c*16+m}return s}function Q5(e,t){let r=E(e,t);return Me(r)}function Qt(e,t={}){let r=Y5.encode(e);return typeof t.size=="number"?(ft(r,{size:t.size}),fo(r,{dir:"right",size:t.size})):r}var Y5,Ur,Ue=S(()=>{H();Ct();mc();Fe();F();Y5=new TextEncoder;Ur={zero:48,nine:57,A:65,F:70,a:97,f:102}});function ft(e,{size:t}){if(Z(e)>t)throw new ac({givenSize:Z(e),maxSize:t})}function ie(e,t={}){let{signed:r}=t;t.size&&ft(e,{size:t.size});let o=BigInt(e);if(!r)return o;let n=(e.length-2)/2,s=(1n<<BigInt(n)*8n-1n)-1n;return o<=s?o:o-BigInt(`0x${"f".padStart(n*2,"f")}`)-1n}function tf(e,t={}){let r=e;if(t.size&&(ft(r,{size:t.size}),r=Oe(r)),Oe(r)==="0x00")return!1;if(Oe(r)==="0x01")return!0;throw new ic(r)}function ye(e,t={}){return Number(ie(e,t))}var Fe=S(()=>{Ri();Bt();gn()});function rs(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 pc=S(()=>{});function lt(e,t){let r={};return typeof e.authorizationList<"u"&&(r.authorizationList=rv(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=tv[e.type]),typeof e.value<"u"&&(r.value=E(e.value)),r}function rv(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 tv,lo=S(()=>{F();tv={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"}});var 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,IP,AP,_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,e4,t4,r4,o4,n4,s4,i4,a4,c4,m4,u4,p4,f4,l4,d4,h4,g4,y4,b4,x4,w4,os,nf=S(()=>{F_=2n**(8n-1n)-1n,M_=2n**(16n-1n)-1n,D_=2n**(24n-1n)-1n,N_=2n**(32n-1n)-1n,z_=2n**(40n-1n)-1n,L_=2n**(48n-1n)-1n,O_=2n**(56n-1n)-1n,U_=2n**(64n-1n)-1n,H_=2n**(72n-1n)-1n,j_=2n**(80n-1n)-1n,G_=2n**(88n-1n)-1n,V_=2n**(96n-1n)-1n,q_=2n**(104n-1n)-1n,K_=2n**(112n-1n)-1n,W_=2n**(120n-1n)-1n,J_=2n**(128n-1n)-1n,Z_=2n**(136n-1n)-1n,Y_=2n**(144n-1n)-1n,X_=2n**(152n-1n)-1n,Q_=2n**(160n-1n)-1n,eP=2n**(168n-1n)-1n,tP=2n**(176n-1n)-1n,rP=2n**(184n-1n)-1n,oP=2n**(192n-1n)-1n,nP=2n**(200n-1n)-1n,sP=2n**(208n-1n)-1n,iP=2n**(216n-1n)-1n,aP=2n**(224n-1n)-1n,cP=2n**(232n-1n)-1n,mP=2n**(240n-1n)-1n,uP=2n**(248n-1n)-1n,pP=2n**(256n-1n)-1n,fP=-(2n**(8n-1n)),lP=-(2n**(16n-1n)),dP=-(2n**(24n-1n)),hP=-(2n**(32n-1n)),gP=-(2n**(40n-1n)),yP=-(2n**(48n-1n)),bP=-(2n**(56n-1n)),xP=-(2n**(64n-1n)),wP=-(2n**(72n-1n)),vP=-(2n**(80n-1n)),CP=-(2n**(88n-1n)),EP=-(2n**(96n-1n)),kP=-(2n**(104n-1n)),SP=-(2n**(112n-1n)),IP=-(2n**(120n-1n)),AP=-(2n**(128n-1n)),_P=-(2n**(136n-1n)),PP=-(2n**(144n-1n)),TP=-(2n**(152n-1n)),$P=-(2n**(160n-1n)),RP=-(2n**(168n-1n)),BP=-(2n**(176n-1n)),FP=-(2n**(184n-1n)),MP=-(2n**(192n-1n)),DP=-(2n**(200n-1n)),NP=-(2n**(208n-1n)),zP=-(2n**(216n-1n)),LP=-(2n**(224n-1n)),OP=-(2n**(232n-1n)),UP=-(2n**(240n-1n)),HP=-(2n**(248n-1n)),jP=-(2n**(256n-1n)),GP=2n**8n-1n,VP=2n**16n-1n,qP=2n**24n-1n,KP=2n**32n-1n,WP=2n**40n-1n,JP=2n**48n-1n,ZP=2n**56n-1n,YP=2n**64n-1n,XP=2n**72n-1n,QP=2n**80n-1n,e4=2n**88n-1n,t4=2n**96n-1n,r4=2n**104n-1n,o4=2n**112n-1n,n4=2n**120n-1n,s4=2n**128n-1n,i4=2n**136n-1n,a4=2n**144n-1n,c4=2n**152n-1n,m4=2n**160n-1n,u4=2n**168n-1n,p4=2n**176n-1n,f4=2n**184n-1n,l4=2n**192n-1n,d4=2n**200n-1n,h4=2n**208n-1n,g4=2n**216n-1n,y4=2n**224n-1n,b4=2n**232n-1n,x4=2n**240n-1n,w4=2n**248n-1n,os=2n**256n-1n});function Pe(e){return typeof e[0]=="string"?He(e):ov(e)}function ov(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 He(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}var nt=S(()=>{});var zi,ns,fc,sf=S(()=>{H();zi=class extends x{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}},ns=class extends x{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}},fc=class extends x{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function ss(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(nv);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var nv,lc=S(()=>{sf();nv={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 fc({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new ns({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new zi({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 zi({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 dc,v0,hc=S(()=>{dc={gwei:9,wei:18},v0={ether:-9,wei:9}});function gc(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 af=S(()=>{});function is(e,t="wei"){return gc(e,dc[t])}var yc=S(()=>{hc();af()});function De(e,t="wei"){return gc(e,v0[t])}var as=S(()=>{hc();af()});function bn(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 bc,xc,wc,vc,Cc,cs,ms,us,Ec,Et=S(()=>{yc();as();H();bc=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"})}},xc=class extends x{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}},wc=class extends x{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",bn(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"})}},vc=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"})}},Cc=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=bn({chain:n&&`${n?.name} (id: ${n?.id})`,from:r?.address,to:f,value:typeof p<"u"&&`${is(p)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${De(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${De(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${De(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}},cs=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"})}},ms=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"})}},us=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}},Ec=class extends x{constructor({hash:t}){super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}});function av(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function cf(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function xn(e,...t){if(!av(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 hs(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 kc(e,t){xn(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function E0(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function ho(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Sc(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function tr(e,t){return e<<32-t|e>>>t}function mv(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function uv(e){for(let t=0;t<e.length;t++)e[t]=mv(e[t]);return e}function pv(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Li(e){return typeof e=="string"&&(e=pv(e)),xn(e),e}function Ic(e){let t=o=>e().update(Li(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}var cv,mf,ds,Ac=S(()=>{cv=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();mf=cv?e=>e:uv;ds=class{}});function lv(e,t=!1){return t?{h:Number(e&Pc),l:Number(e>>I0&Pc)}:{h:Number(e>>I0&Pc)|0,l:Number(e&Pc)|0}}function A0(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}=lv(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var Pc,I0,_0,P0,T0,$0,R0=S(()=>{Pc=BigInt(4294967295),I0=BigInt(32);_0=(e,t,r)=>e<<r|t>>>32-r,P0=(e,t,r)=>t<<r|e>>>32-r,T0=(e,t,r)=>t<<r-32|e>>>64-r,$0=(e,t,r)=>e<<r-32|t>>>64-r});var oe,rr=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 wn,Dc,Nc,Oi,vn,Ui=S(()=>{H();wn=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"})}},Dc=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"})}},Nc=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"})}},Oi=class extends x{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}},vn=class extends x{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}});var jr,Mt,ys,bs,xs,ws,vs,Cs,Es,ks,lr,Dt,yo=S(()=>{as();H();jr=class extends x{constructor({cause:t,message:r}={}){let o=r?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${o?`with reason: ${o}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}};Object.defineProperty(jr,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(jr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});Mt=class extends x{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${De(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}};Object.defineProperty(Mt,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});ys=class extends x{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${De(r)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}};Object.defineProperty(ys,"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/});bs=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(bs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});xs=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(xs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});ws=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(ws,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});vs=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(vs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});Cs=class extends x{constructor({cause:t,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:t,name:"IntrinsicGasTooHighError"})}};Object.defineProperty(Cs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});Es=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(Es,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});ks=class extends x{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}};Object.defineProperty(ks,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});lr=class extends x{constructor({cause:t,maxPriorityFeePerGas:r,maxFeePerGas:o}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${De(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${o?` = ${De(o)} gwei`:""}).`].join(`
14
+ `),{cause:t,name:"TipAboveFeeCapError"})}};Object.defineProperty(lr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});Dt=class extends x{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}});var Nt,Ss=S(()=>{Nt=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 kv(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=z0(m,u,1)^r[a],p=L0(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=U0[i],c=z0(n,s,a),m=L0(n,s,a),u=O0[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]^=Cv[o],e[1]^=Ev[o]}ho(r)}var yv,Hi,bv,xv,wv,vv,O0,U0,H0,j0,Cv,Ev,z0,L0,ji,Sv,zc,uf=S(()=>{R0();Ac();yv=BigInt(0),Hi=BigInt(1),bv=BigInt(2),xv=BigInt(7),wv=BigInt(256),vv=BigInt(113),O0=[],U0=[],H0=[];for(let e=0,t=Hi,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],O0.push(2*(5*o+r)),U0.push((e+1)*(e+2)/2%64);let n=yv;for(let s=0;s<7;s++)t=(t<<Hi^(t>>xv)*vv)%wv,t&bv&&(n^=Hi<<(Hi<<BigInt(s))-Hi);H0.push(n)}j0=A0(H0,!0),Cv=j0[0],Ev=j0[1],z0=(e,t,r)=>r>32?T0(e,t,r):_0(e,t,r),L0=(e,t,r)=>r>32?$0(e,t,r):P0(e,t,r);ji=class extends ds{constructor(t,r,o,n=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=r,this.outputLen=o,this.enableXOF=n,this.rounds=s,cf(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=E0(this.state)}clone(){return this._cloneInto()}keccak(){mf(this.state32),kv(this.state32,this.rounds),mf(this.state32),this.posOut=0,this.pos=0}update(t){hs(this),t=Li(t),xn(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){hs(this,!1),xn(t),this.finish();let r=this.state,{blockLen:o}=this;for(let n=0,s=t.length;n<s;){this.posOut>=o&&this.keccak();let i=Math.min(o-this.posOut,s-n);t.set(r.subarray(this.posOut,this.posOut+i),n),this.posOut+=i,n+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return cf(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(kc(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,ho(this.state)}_cloneInto(t){let{blockLen:r,suffix:o,outputLen:n,rounds:s,enableXOF:i}=this;return t||(t=new ji(r,o,n,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=o,t.outputLen=n,t.enableXOF=i,t.destroyed=this.destroyed,t}},Sv=(e,t,r)=>Ic(()=>new ji(t,e,r)),zc=(()=>Sv(1,136,256/8))()});function ne(e,t){let r=t||"hex",o=zc(ce(e,{strict:!1})?Ft(e):e);return r==="bytes"?o:se(o)}var zt=S(()=>{uf();Ct();Ue();F()});function Gr(e,t){if(pf.has(`${e}.${t}`))return pf.get(`${e}.${t}`);let r=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),o=ne(Qt(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 pf.set(`${e}.${t}`,s),s}function Is(e,t){if(!X(e,{strict:!1}))throw new oe({address:e});return Gr(e,t)}var pf,bo=S(()=>{rr();Ue();zt();Ss();kt();pf=new Nt(8192)});function X(e,t){let{strict:r=!0}=t??{},o=`${e}.${r}`;if(ff.has(o))return ff.get(o);let n=(()=>Iv.test(e)?e.toLowerCase()===e?!0:r?Gr(e)===e:!0:!1)();return ff.set(o,n),n}var Iv,ff,kt=S(()=>{Ss();bo();Iv=/^0x[a-fA-F0-9]{40}$/,ff=new Nt(8192)});function Lt(e,t,r,{strict:o}={}){return ce(e,{strict:!1})?Lc(e,t,r,{strict:o}):lf(e,t,r,{strict:o})}function G0(e,t){if(typeof t=="number"&&t>0&&t>Z(e)-1)throw new Bi({offset:t,position:"start",size:Z(e)})}function V0(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Z(e)!==r-t)throw new Bi({offset:r,position:"end",size:Z(e)})}function lf(e,t,r,{strict:o}={}){G0(e,t);let n=e.slice(t,r);return o&&V0(n,t,r),n}function Lc(e,t,r,{strict:o}={}){G0(e,t);let n=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return o&&V0(n,t,r),n}var xo=S(()=>{cc();Ct();Bt()});function Ot({blockNumber:e,chain:t,contract:r}){let o=t?.contracts?.[r];if(!o)throw new wn({chain:t,contract:{name:r}});if(e&&o.blockCreated&&o.blockCreated>e)throw new wn({blockNumber:e,chain:t,contract:{name:r,blockCreated:o.blockCreated}});return o.address}var Cn=S(()=>{Ui()});function j(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}var xe=S(()=>{});var Q0,Gc,eh,Vc=S(()=>{Q0={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."},Gc={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},eh={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"}});function Ne(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new qc(e.type);return`${e.name}(${Ki(e.inputs,{includeName:t})})`}function Ki(e,{includeName:t=!1}={}){return e?e.map(r=>Nv(r,{includeName:t})).join(t?", ":","):""}function Nv(e,{includeName:t}){return e.type.startsWith("tuple")?`(${Ki(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}var Vr=S(()=>{we()});var Kc,Wi,_s,Ht,Wc,Jc,Zc,Yc,Ji,Ps,Xc,Ts,Zi,or,$s,Qc,em,tm,nr,dr,rm,om,Rs,qc,we=S(()=>{Vr();Bt();H();Kc=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"})}},Wi=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"})}},_s=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: (${Ki(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}},Ht=class extends x{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}},Wc=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"})}},Jc=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"})}},Zc=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"})}},Yc=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"})}},Ji=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"})}},Ps=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}},Xc=class extends x{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}},Ts=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"})}},Zi=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"})}},or=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"})}},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"})}},em=class extends x{constructor(t,r){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${Ne(t.abiItem)}\`, and`,`\`${r.type}\` in \`${Ne(r.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}},tm=class extends x{constructor({expectedSize:t,givenSize:r}){super(`Expected bytes${t}, got bytes${r}.`,{name:"BytesSizeMismatchError"})}},nr=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: (${Ki(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}},dr=class extends x{constructor({abiItem:t,param:r}){super([`Expected a topic for indexed event parameter${r.name?` "${r.name}"`:""} on event "${Ne(t,{includeName:!0})}".`].join(`
29
+ `),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t}},rm=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"})}},om=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"})}},Rs=class extends x{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
32
+ `),{name:"InvalidArrayError"})}},qc=class extends x{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
33
+ `),{name:"InvalidDefinitionTypeError"})}}});function th(e){return zv(e)}var zv,rh=S(()=>{Ue();zt();zv=e=>ne(Ft(e))});var oh,nh=S(()=>{oh="1.1.0"});var le,Bs=S(()=>{nh();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@${oh}`].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 St(e,t){return e.exec(t)?.groups}var hf,gf,nm,Yi=S(()=>{hf=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,gf=/^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)?$/,nm=/^\(.+?\).*?$/});function sm(e){let t=e.type;if(sh.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+=sm(s),n<r-1&&(t+=", ")}let o=St(sh,e.type);return t+=`)${o?.array??""}`,sm({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var sh,ih=S(()=>{Yi();sh=/^tuple(?<array>(\[(\d*)\])*)$/});function qr(e){let t="",r=e.length;for(let o=0;o<r;o++){let n=e[o];t+=sm(n),o!==r-1&&(t+=", ")}return t}var yf=S(()=>{ih()});function En(e){return e.type==="function"?`function ${e.name}(${qr(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${qr(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${qr(e.inputs)})`:e.type==="error"?`error ${e.name}(${qr(e.inputs)})`:e.type==="constructor"?`constructor(${qr(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}var ah=S(()=>{yf()});function mh(e){return ch.test(e)}function uh(e){return St(ch,e)}function fh(e){return ph.test(e)}function lh(e){return St(ph,e)}function hh(e){return dh.test(e)}function gh(e){return St(dh,e)}function wo(e){return yh.test(e)}function bh(e){return St(yh,e)}function wh(e){return xh.test(e)}function vh(e){return St(xh,e)}function Eh(e){return Ch.test(e)}function kh(e){return St(Ch,e)}function Sh(e){return Lv.test(e)}var ch,ph,dh,yh,xh,Ch,Lv,bf,Ih,im,Fs=S(()=>{Yi();ch=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;ph=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;dh=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;yh=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;xh=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;Ch=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;Lv=/^receive\(\) external payable$/;bf=new Set(["memory","indexed","storage","calldata"]),Ih=new Set(["indexed"]),im=new Set(["calldata","memory","storage"])});var am,cm,mm,um=S(()=>{Bs();am=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"})}},cm=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"})}},mm=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 pm,fm,lm,dm,hm,gm,ym=S(()=>{Bs();pm=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"})}},fm=class extends le{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},lm=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"})}},dm=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"})}},hm=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"})}},gm=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 hr,bm,xm,xf=S(()=>{Bs();hr=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"})}},bm=class extends le{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},xm=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 wm,Ah=S(()=>{Bs();wm=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 vm,_h=S(()=>{Bs();vm=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 Ph(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 Cm,Th=S(()=>{Cm=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 Xi(e,t={}){if(hh(e))return Ov(e,t);if(fh(e))return Uv(e,t);if(mh(e))return Hv(e,t);if(wh(e))return jv(e,t);if(Eh(e))return Gv(e);if(Sh(e))return{type:"receive",stateMutability:"payable"};throw new bm({signature:e})}function Ov(e,t={}){let r=gh(e);if(!r)throw new hr({signature:e,type:"function"});let o=dt(r.parameters),n=[],s=o.length;for(let a=0;a<s;a++)n.push(sr(o[a],{modifiers:im,structs:t,type:"function"}));let i=[];if(r.returns){let a=dt(r.returns),c=a.length;for(let m=0;m<c;m++)i.push(sr(a[m],{modifiers:im,structs:t,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:n,outputs:i}}function Uv(e,t={}){let r=lh(e);if(!r)throw new hr({signature:e,type:"event"});let o=dt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(sr(o[i],{modifiers:Ih,structs:t,type:"event"}));return{name:r.name,type:"event",inputs:n}}function Hv(e,t={}){let r=uh(e);if(!r)throw new hr({signature:e,type:"error"});let o=dt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(sr(o[i],{structs:t,type:"error"}));return{name:r.name,type:"error",inputs:n}}function jv(e,t={}){let r=vh(e);if(!r)throw new hr({signature:e,type:"constructor"});let o=dt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(sr(o[i],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:n}}function Gv(e){let t=kh(e);if(!t)throw new hr({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}function sr(e,t){let r=Ph(e,t?.type,t?.structs);if(Cm.has(r))return Cm.get(r);let o=nm.test(e),n=St(o?qv:Vv,e);if(!n)throw new fm({param:e});if(n.name&&Jv(n.name))throw new lm({param:e,name:n.name});let s=n.name?{name:n.name}:{},i=n.modifier==="indexed"?{indexed:!0}:{},a=t?.structs??{},c,m={};if(o){c="tuple";let f=dt(n.type),p=[],d=f.length;for(let g=0;g<d;g++)p.push(sr(f[g],{structs:a}));m={components:p}}else if(n.type in a)c="tuple",m={components:a[n.type]};else if(Kv.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,t?.type!=="struct"&&!wf(c))throw new mm({type:c});if(n.modifier){if(!t?.modifiers?.has?.(n.modifier))throw new dm({param:e,type:t?.type,modifier:n.modifier});if(im.has(n.modifier)&&!Zv(c,!!n.array))throw new hm({param:e,type:t?.type,modifier:n.modifier})}let u={type:`${c}${n.array??""}`,...s,...i,...m};return Cm.set(r,u),u}function dt(e,t=[],r="",o=0){let n=e.trim().length;for(let s=0;s<n;s++){let i=e[s],a=e.slice(s+1);switch(i){case",":return o===0?dt(a,[...t,r.trim()]):dt(a,t,`${r}${i}`,o);case"(":return dt(a,t,`${r}${i}`,o+1);case")":return dt(a,t,`${r}${i}`,o-1);default:return dt(a,t,`${r}${i}`,o)}}if(r==="")return t;if(o!==0)throw new vm({current:r,depth:o});return t.push(r.trim()),t}function wf(e){return e==="address"||e==="bool"||e==="function"||e==="string"||hf.test(e)||gf.test(e)}function Jv(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||hf.test(e)||gf.test(e)||Wv.test(e)}function Zv(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}var Vv,qv,Kv,Wv,Ms=S(()=>{Yi();um();ym();xf();_h();Th();Fs();Vv=/^(?<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$_]*))?$/,qv=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Kv=/^u?int$/;Wv=/^(?: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 Ds(e){let t={},r=e.length;for(let i=0;i<r;i++){let a=e[i];if(!wo(a))continue;let c=bh(a);if(!c)throw new hr({signature:a,type:"struct"});let m=c.properties.split(";"),u=[],f=m.length;for(let p=0;p<f;p++){let g=m[p].trim();if(!g)continue;let h=sr(g,{type:"struct"});u.push(h)}if(!u.length)throw new xm({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]=$h(c,t)}return o}function $h(e,t,r=new Set){let o=[],n=e.length;for(let s=0;s<n;s++){let i=e[s];if(nm.test(i.type))o.push(i);else{let c=St(Yv,i.type);if(!c?.type)throw new gm({abiParameter:i});let{array:m,type:u}=c;if(u in t){if(r.has(u))throw new wm({type:u});o.push({...i,type:`tuple${m??""}`,components:$h(t[u]??[],t,new Set([...r,u]))})}else if(wf(u))o.push(i);else throw new cm({type:u})}}return o}var Yv,Em=S(()=>{Yi();um();ym();xf();Ah();Fs();Ms();Yv=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/});function km(e){let t=Ds(e),r=[],o=e.length;for(let n=0;n<o;n++){let s=e[n];wo(s)||r.push(Xi(s,t))}return r}var Rh=S(()=>{Fs();Em();Ms()});function Sm(e){let t;if(typeof e=="string")t=Xi(e);else{let r=Ds(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(!wo(s)){t=Xi(s,r);break}}}if(!t)throw new am({signature:e});return t}var Bh=S(()=>{um();Fs();Em();Ms()});function Im(e){let t=[];if(typeof e=="string"){let r=dt(e),o=r.length;for(let n=0;n<o;n++)t.push(sr(r[n],{modifiers:bf}))}else{let r=Ds(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(wo(s))continue;let i=dt(s),a=i.length;for(let c=0;c<a;c++)t.push(sr(i[c],{modifiers:bf,structs:r}))}}if(t.length===0)throw new pm({params:e});return t}var Fh=S(()=>{ym();Fs();Em();Ms();Ms()});var Qi=S(()=>{ah();yf();Rh();Bh();Fh()});function Dh(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 Nh=S(()=>{H()});var zh,Lh=S(()=>{Qi();Nh();zh=e=>{let t=(()=>typeof e=="string"?e:En(e))();return Dh(t)}});function Am(e){return th(zh(e))}var vf=S(()=>{rh();Lh()});var gr,Ns=S(()=>{xo();vf();gr=e=>Lt(Am(e),0,4)});function Oh(e,t={}){typeof t.size<"u"&&ft(e,{size:t.size});let r=Y(e,t);return ie(r,t)}function Uh(e,t={}){let r=e;if(typeof t.size<"u"&&(ft(r,{size:t.size}),r=Oe(r)),r.length>1||r[0]>1)throw new sc(r);return!!r[0]}function yr(e,t={}){typeof t.size<"u"&&ft(e,{size:t.size});let r=Y(e,t);return ye(r,t)}function Hh(e,t={}){let r=e;return typeof t.size<"u"&&(ft(r,{size:t.size}),r=Oe(r,{dir:"right"})),new TextDecoder().decode(r)}var jh=S(()=>{Ri();gn();Fe();F()});var Gh,_m,Cf=S(()=>{Gh=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,_m=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/});function st(e,t){if(e.length!==t.length)throw new Zc({expectedLength:e.length,givenLength:t.length});let r=Xv({params:e,values:t}),o=kf(r);return o.length===0?"0x":o}function Xv({params:e,values:t}){let r=[];for(let o=0;o<e.length;o++)r.push(Ef({param:e[o],value:t[o]}));return r}function Ef({param:e,value:t}){let r=Pm(e.type);if(r){let[o,n]=r;return e2(t,{length:o,param:{...e,type:n}})}if(e.type==="tuple")return s2(t,{param:e});if(e.type==="address")return Qv(t);if(e.type==="bool")return r2(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){let o=e.type.startsWith("int"),[,,n="256"]=_m.exec(e.type)??[];return o2(t,{signed:o,size:Number(n)})}if(e.type.startsWith("bytes"))return t2(t,{param:e});if(e.type==="string")return n2(t);throw new rm(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function kf(e){let t=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?t+=32:t+=Z(a)}let r=[],o=[],n=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?(r.push(E(t+n,{size:32})),o.push(a),n+=Z(a)):r.push(a)}return Pe([...r,...o])}function Qv(e){if(!X(e))throw new oe({address:e});return{dynamic:!1,encoded:Or(e.toLowerCase())}}function e2(e,{length:t,param:r}){let o=t===null;if(!Array.isArray(e))throw new Rs(e);if(!o&&e.length!==t)throw new Wc({expectedLength:t,givenLength:e.length,type:`${r.type}[${t}]`});let n=!1,s=[];for(let i=0;i<e.length;i++){let a=Ef({param:r,value:e[i]});a.dynamic&&(n=!0),s.push(a)}if(o||n){let i=kf(s);if(o){let a=E(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?Pe([a,i]):a}}if(n)return{dynamic:!0,encoded:i}}return{dynamic:!1,encoded:Pe(s.map(({encoded:i})=>i))}}function t2(e,{param:t}){let[,r]=t.type.split("bytes"),o=Z(e);if(!r){let n=e;return o%32!==0&&(n=Or(n,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Pe([Or(E(o,{size:32})),n])}}if(o!==Number.parseInt(r,10))throw new Jc({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:Or(e,{dir:"right"})}}function r2(e){if(typeof e!="boolean")throw new x(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Or(uc(e))}}function o2(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 ts({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 n2(e){let t=Xt(e),r=Math.ceil(Z(t)/32),o=[];for(let n=0;n<r;n++)o.push(Or(Lt(t,n*32,(n+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Pe([Or(E(Z(t),{size:32})),...o])}}function s2(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=Ef({param:s,value:e[i]});o.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?kf(o):Pe(o.map(({encoded:n})=>n))}}function Pm(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var Kr=S(()=>{we();rr();H();Ri();kt();nt();mc();Bt();xo();F();Cf()});function Wr(e,t){let r=typeof t=="string"?Me(t):t,o=ss(r);if(Z(r)===0&&e.length>0)throw new Ht;if(Z(t)&&Z(t)<32)throw new _s({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]=zs(o,a,{staticPosition:0});n+=m,s.push(c)}return s}function zs(e,t,{staticPosition:r}){let o=Pm(t.type);if(o){let[n,s]=o;return a2(e,{...t,type:s},{length:n,staticPosition:r})}if(t.type==="tuple")return p2(e,t,{staticPosition:r});if(t.type==="address")return i2(e);if(t.type==="bool")return c2(e);if(t.type.startsWith("bytes"))return m2(e,t,{staticPosition:r});if(t.type.startsWith("uint")||t.type.startsWith("int"))return u2(e,t);if(t.type==="string")return f2(e,{staticPosition:r});throw new om(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function i2(e){let t=e.readBytes(32);return[Gr(Y(lf(t,-20))),32]}function a2(e,t,{length:r,staticPosition:o}){if(!r){let i=yr(e.readBytes(Sf)),a=o+i,c=a+Vh;e.setPosition(a);let m=yr(e.readBytes(Vh)),u=ea(t),f=0,p=[];for(let d=0;d<m;++d){e.setPosition(c+(u?d*32:f));let[g,h]=zs(e,t,{staticPosition:c});f+=h,p.push(g)}return e.setPosition(o+32),[p,32]}if(ea(t)){let i=yr(e.readBytes(Sf)),a=o+i,c=[];for(let m=0;m<r;++m){e.setPosition(a+m*32);let[u]=zs(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]=zs(e,t,{staticPosition:o+n});n+=c,s.push(a)}return[s,n]}function c2(e){return[Uh(e.readBytes(32),{size:32}),32]}function m2(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=yr(e.readBytes(32));e.setPosition(r+i);let a=yr(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 u2(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?Oh(n,{signed:r}):yr(n,{signed:r}),32]}function p2(e,t,{staticPosition:r}){let o=t.components.length===0||t.components.some(({name:i})=>!i),n=o?[]:{},s=0;if(ea(t)){let i=yr(e.readBytes(Sf)),a=r+i;for(let c=0;c<t.components.length;++c){let m=t.components[c];e.setPosition(a+s);let[u,f]=zs(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]=zs(e,a,{staticPosition:r});n[o?i:a?.name]=c,s+=m}return[n,s]}function f2(e,{staticPosition:t}){let r=yr(e.readBytes(32)),o=t+r;e.setPosition(o);let n=yr(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=Hh(Oe(s));return e.setPosition(t+32),[i,32]}function ea(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(ea);let r=Pm(e.type);return!!(r&&ea({...e,type:r[1]}))}var Vh,Sf,ta=S(()=>{we();bo();lc();Bt();xo();gn();jh();Ue();F();Kr();Vh=32,Sf=32});function Tm(e){let{abi:t,data:r}=e,o=Lt(r,0,4);if(o==="0x")throw new Ht;let s=[...t||[],Gc,eh].find(i=>i.type==="error"&&o===gr(Ne(i)));if(!s)throw new Ps(o,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:s,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Wr(s.inputs,Lt(r,4)):void 0,errorName:s.name}}var If=S(()=>{Vc();we();xo();Ns();ta();Vr()});var W,Ye=S(()=>{W=(e,t,r)=>JSON.stringify(e,(o,n)=>{let s=typeof n=="bigint"?n.toString():n;return typeof t=="function"?t(o,s):s},r)});function Af({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 qh=S(()=>{Ye()});var vo,ra=S(()=>{vf();vo=Am});function ht(e){let{abi:t,args:r=[],name:o}=e,n=ce(o,{strict:!1}),s=t.filter(a=>n?a.type==="function"?gr(a)===o:a.type==="event"?vo(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?_f(m,f):!1})){if(i&&"inputs"in i&&i.inputs){let m=Kh(a.inputs,i.inputs,r);if(m)throw new em({abiItem:a,type:m[0]},{abiItem:i,type:m[1]})}i=a}}return i||s[0]}function _f(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)=>_f(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=>_f(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function Kh(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 Kh(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 Co=S(()=>{we();Ct();kt();ra();Ns()});function Wh(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+=jh(o.state)),o.stateDiff&&(n+=` stateDiff:
41
- `,n+=jh(o.stateDiff)),n},` State Override:
42
- `).slice(0,-1)}var Am,Im,kf=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 Vh,vn,_m=S(()=>{Vh=e=>e,vn=e=>e});var Ds,Ns,Cn,Pm,Tm,yr,Co=S(()=>{xe();Oc();vf();Gr();Uh();vo();fc();ns();we();H();kf();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 g=r?j(r):void 0,h=hn({from:g?.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&&(h+=`
43
- ${Gh(d)}`),super(t.shortMessage,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",h].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?Cf({abiItem:c,args:o,includeFunctionName:!1,includeName:!1}):void 0,u=c?Me(c,{includeName:!0}):void 0,f=hn({address:n&&Vh(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=W0[d]}else{let d=u?Me(u,{includeName:!0}):void 0,g=u&&p?Cf({abiItem:u,args:p,includeFunctionName:!1,includeName:!1}):void 0;a=[d?`Error: ${d}`:"",g&&g!=="()"?` ${[...Array(f?.length??0).keys()].map(()=>" ").join("")}${g}`:""]}}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 Sf=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();Qp();tr();go();Ct();Et()});function Jh(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:Wh});n=s}if(n.type!=="function")throw new rr(void 0,{docsPath:Wh});return{abi:[n],functionName:hr(Me(n))}}var Wh,Zh=S(()=>{we();Fs();Gr();vo();Wh="/docs/contract/encodeFunctionData"});function pe(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 St=S(()=>{ot();qr();Zh()});function eg(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=eg(o)),n!==void 0){if(i.state)throw new Im;i.stateDiff=eg(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();kf();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:If});s=a}if(s.type!=="function")throw new rr(void 0,{docsPath:If});if(!s.outputs)throw new _s(s.name,{docsPath:If});let i=Kr(s.outputs,n);if(i&&i.length>1)return i;if(i&&i.length===1)return i[0]}var If,qo=S(()=>{we();Xi();vo();If="/docs/contract/decodeFunctionResult"});var ig,ag=S(()=>{ig="0.1.1"});function cg(){return ig}var mg=S(()=>{ag()});function ug(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?ug(e.cause,t):t?null:e}var R,yt=S(()=>{mg();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@${cg()}`}),this.cause=r.cause,this.details=o,this.docs=i,this.docsPath=n,this.shortMessage=t}walk(t){return ug(this,t)}}});function Ks(e,t){if(Vt(e)>t)throw new Vm({givenSize:Vt(e),maxSize:t})}function pg(e,t){if(typeof t=="number"&&t>0&&t>Vt(e)-1)throw new oa({offset:t,position:"start",size:Vt(e)})}function fg(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 _f(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 lg(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 Pf(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,dg=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 hg(e,t){if(typeof t=="number"&&t>0&&t>de(e)-1)throw new na({offset:t,position:"start",size:de(e)})}function gg(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 Tf(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 yg(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 $f=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 xg(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=_f(n.charCodeAt(c++)),u=_f(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 wg(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 lg(e,{dir:"right",size:t})}function Vt(e){return e.length}function vg(e,t,r,o={}){let{strict:n}=o;pg(e,t);let s=e.slice(t,r);return n&&fg(s,t,r),s}function Cg(e,t={}){let{size:r}=t;typeof r<"u"&&Ks(e,r);let o=Ae(e,t);return Ff(o,t)}function Eg(e,t={}){let{size:r}=t,o=e;if(typeof r<"u"&&(Ks(o,r),o=Bf(o)),o.length>1||o[0]>1)throw new Rf(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 kg(e,t={}){let{size:r}=t,o=e;return typeof r<"u"&&(Ks(o,r),o=h2(o)),u2.decode(o)}function Bf(e){return Pf(e,{dir:"left"})}function h2(e){return Pf(e,{dir:"right"})}function Sg(e){try{return f2(e),!0}catch{return!1}}var u2,p2,Rf,Js,Vm,oa,qm,Ko=S(()=>{yt();je();dg();$f();sa();u2=new TextDecoder,p2=new TextEncoder;Rf=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 Tf(e,{dir:"left",size:t})}function Sr(e,t){return Tf(e,{dir:"right",size:t})}function he(e,t,r,o={}){let{strict:n}=o;hg(e,t);let s=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return n&&gg(s,t,r),s}function de(e){return Math.ceil((e.length-2)/2)}function Mf(e){return yg(e,{dir:"left"})}function Ff(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:Ff(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();$f();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 Ag(e){return{address:e.address,amount:Q(e.amount),index:Q(e.index),validatorIndex:Q(e.validatorIndex)}}var Ig=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(Ag)}}}var Df=S(()=>{je();Ig()});var An,tu,Pg,ru,Tg,Nf,zf,Lf,Of,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"}]}],Pg=[{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=[...Pg,{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"}]}],Tg=[...Pg,{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"}]}],Nf=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],zf=[{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"}]}],Lf=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],Of=[{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 $g,Rg=S(()=>{$g="0x82ad56cb"});var ou,Bg,Fg,Qs,ca=S(()=>{ou="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",Bg="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",Fg="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:Uf});if(!("inputs"in n))throw new Vi({docsPath:Uf});if(!n.inputs||n.inputs.length===0)throw new Vi({docsPath:Uf});let s=nt(n.inputs,r);return Ue([o,s])}var Uf,nu=S(()=>{we();ot();qr();Uf="/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:g}=u[d];g?.([p[d],p])}}).catch(p=>{for(let d=0;d<u.length;d++){let{reject:g}=u[d];g?.(p)}})},i=()=>Hf.delete(t),a=()=>c().map(({args:u})=>u),c=()=>Hf.get(t)||[],m=u=>Hf.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 Hf,jf=S(()=>{su();Hf=new Map});var au,cu,mu,Mg=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 Dg(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 Ng=S(()=>{we();bo();Fs();Xi();Gr()});function Vf(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:Gf});n=c}if(n.type!=="error")throw new qi(void 0,{docsPath:Gf});let s=Me(n),i=hr(s),a="0x";if(o&&o.length>0){if(!n.inputs)throw new qc(n.name,{docsPath:Gf});a=nt(n.inputs,o)}return Ue([i,a])}var Gf,zg=S(()=>{we();ot();Fs();qr();Gr();vo();Gf="/docs/contract/encodeErrorResult"});function Lg(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:qf});n=i}if(n.type!=="function")throw new rr(void 0,{docsPath:qf});if(!n.outputs)throw new _s(n.name,{docsPath:qf});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 qf,Og=S(()=>{we();qr();vo();qf="/docs/contract/encodeFunctionResult"});async function Kf(e){let{data:t,ccipRequest:r}=e,{args:[o]}=Dg({abi:tu,data:t}),n=[],s=[];return await Promise.all(o.map(async(i,a)=>{try{s[a]=i.urls.includes(Qr)?await Kf({data:i.data,ccipRequest:r}):await r(i),n[a]=!1}catch(c){n[a]=!0,s[a]=w2(c)}})),Lg({abi:tu,functionName:"query",result:[n,s]})}function w2(e){return e.name==="HttpRequestError"&&e.status?Vf({abi:tu,errorName:"HttpError",args:[e.status,e.shortMessage]}):Vf({abi:[Lc],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}var Qr,ma=S(()=>{Jo();Oc();Ng();zg();Og();Qr="x-batch-gateway:true"});var jg={};Op(jg,{ccipRequest:()=>Hg,offchainLookup:()=>C2,offchainLookupAbiItem:()=>Ug,offchainLookupSignature:()=>v2});async function C2(e,{blockNumber:t,blockTag:r,data:o,to:n}){let{args:s}=Sm({data:o,abi:[Ug]}),[i,a,c,m,u]=s,{ccipRead:f}=e,p=f&&typeof f?.request=="function"?f.request:Hg;try{if(!Gt(n,i))throw new mu({sender:i,to:n});let d=a.includes(Qr)?await Kf({data:c,ccipRequest:p}):await p({data:c,sender:i,urls:a}),{data:g}=await Ar(e,{blockNumber:t,blockTag:r,data:_e([m,nt([{type:"bytes"},{type:"bytes"}],[d,u])]),to:n});return g}catch(d){throw new au({callbackSelector:m,cause:d,data:o,extraData:u,sender:i,urls:a})}}async function Hg({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,Ug,Gg=S(()=>{ti();Mg();En();vf();qr();kn();ot();vt();ma();Ze();v2="0x556f1830",Ug={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:g,gasPrice:h,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?Vg({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:g,gasPrice:h,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(()=>(Gg(),jg));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($g)||!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(h){return h.reduce((y,{data:v})=>y+(v.length-2),0)>r*2},fn:async h=>{let b=h.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:Vg({code:Qs,data:y})}:{to:m,data:y}},f]});return gt({abi:An,args:[b],functionName:"aggregate3",data:v||"0x"})}}),[{returnData:d,success:g}]=await p({data:a,to:c});if(!g)throw new yr({data:d});return d==="0x"?{data:void 0}:{data:d}}function Vg(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:Bg,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();Df();xe();Jo();Rg();ca();H();zi();Co();qo();nu();St();xn();F();Sf();Ls();fo();jf();Om();Zr()});var zl=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 Dl=zr("@noble/curves/ed25519"),Nl=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=Dl.x25519.utils.randomPrivateKey(),n=Dl.x25519.getPublicKey(o),s=ZC(t),i=Dl.x25519.getSharedSecret(o,s),a=await Nl.default.subtle.importKey("raw",i,{name:"AES-GCM",length:256},!0,["encrypt"]),c=Nl.default.getRandomValues(new Uint8Array(12)),m=await Nl.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 Ub=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 Ll(e){return e==null?e:Array.isArray(e)?e.map(Ll):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=Ll(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=Ll(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 mx=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=rx;O.fromBig=Ul;O.split=Hb;var ap=BigInt(2**32-1),Ol=BigInt(32);function Ul(e,t=!1){return t?{h:Number(e&ap),l:Number(e>>Ol&ap)}:{h:Number(e>>Ol&ap)|0,l:Number(e&ap)|0}}function Hb(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}=Ul(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var jb=(e,t)=>BigInt(e>>>0)<<Ol|BigInt(t>>>0);O.toBig=jb;var Gb=(e,t,r)=>e>>>r;O.shrSH=Gb;var Vb=(e,t,r)=>e<<32-r|t>>>r;O.shrSL=Vb;var qb=(e,t,r)=>e>>>r|t<<32-r;O.rotrSH=qb;var Kb=(e,t,r)=>e<<32-r|t>>>r;O.rotrSL=Kb;var Wb=(e,t,r)=>e<<64-r|t>>>r-32;O.rotrBH=Wb;var Jb=(e,t,r)=>e>>>r-32|t<<64-r;O.rotrBL=Jb;var Zb=(e,t)=>t;O.rotr32H=Zb;var Yb=(e,t)=>e;O.rotr32L=Yb;var Xb=(e,t,r)=>e<<r|t>>>32-r;O.rotlSH=Xb;var Qb=(e,t,r)=>t<<r|e>>>32-r;O.rotlSL=Qb;var ex=(e,t,r)=>t<<r-32|e>>>64-r;O.rotlBH=ex;var tx=(e,t,r)=>e<<r-32|t>>>64-r;O.rotlBL=tx;function rx(e,t,r,o){let n=(t>>>0)+(o>>>0);return{h:e+r+(n/2**32|0)|0,l:n|0}}var ox=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);O.add3L=ox;var nx=(e,t,r,o)=>t+r+o+(e/2**32|0)|0;O.add3H=nx;var sx=(e,t,r,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0);O.add4L=sx;var ix=(e,t,r,o,n)=>t+r+o+n+(e/2**32|0)|0;O.add4H=ix;var ax=(e,t,r,o,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0)+(n>>>0);O.add5L=ax;var cx=(e,t,r,o,n,s)=>t+r+o+n+s+(e/2**32|0)|0;O.add5H=cx;var n8={fromBig:Ul,split:Hb,toBig:jb,shrSH:Gb,shrSL:Vb,rotrSH:qb,rotrSL:Kb,rotrBH:Wb,rotrBL:Jb,rotr32H:Zb,rotr32L:Yb,rotlSH:Xb,rotlSL:Qb,rotlBH:ex,rotlBL:tx,add:rx,add3L:ox,add3H:nx,add4L:sx,add4H:ix,add5H:cx,add5L:ax};O.default=n8});var ux=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 bx=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=fx;D.anumber=Hl;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=Gl;D.byteSwap32=lx;D.bytesToHex=h8;D.hexToBytes=g8;D.asyncLoop=b8;D.utf8ToBytes=Vl;D.bytesToUtf8=x8;D.toBytes=mp;D.kdfInputToBytes=w8;D.concatBytes=v8;D.checkOpts=C8;D.createHasher=hx;D.createOptHasher=gx;D.createXOFer=yx;D.randomBytes=E8;var di=ux();function fx(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Hl(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function hi(e,...t){if(!fx(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");Hl(e.outputLen),Hl(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 Gl(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}D.swap8IfBE=D.isLE?e=>e:e=>Gl(e);D.byteSwapIfBE=D.swap8IfBE;function lx(e){for(let t=0;t<e.length;t++)e[t]=Gl(e[t]);return e}D.swap32IfBE=D.isLE?e=>e:lx;var dx=(()=>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),dx)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 px(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(dx)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=px(e.charCodeAt(s)),a=px(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 Vl(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=Vl(e)),hi(e),e}function w8(e){return typeof e=="string"&&(e=Vl(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 jl=class{};D.Hash=jl;function hx(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 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}function yx(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=hx;D.wrapConstructorWithOpts=gx;D.wrapXOFConstructorWithOpts=yx;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 Ix=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=Sx;var _a=mx(),tt=bx(),k8=BigInt(0),Ia=BigInt(1),S8=BigInt(2),A8=BigInt(7),I8=BigInt(256),_8=BigInt(113),vx=[],Cx=[],Ex=[];for(let e=0,t=Ia,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],vx.push(2*(5*o+r)),Cx.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);Ex.push(n)}var kx=(0,_a.split)(Ex,!0),P8=kx[0],T8=kx[1],xx=(e,t,r)=>r>32?(0,_a.rotlBH)(e,t,r):(0,_a.rotlSH)(e,t,r),wx=(e,t,r)=>r>32?(0,_a.rotlBL)(e,t,r):(0,_a.rotlSL)(e,t,r);function Sx(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=xx(m,u,1)^r[a],p=wx(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=Cx[i],c=xx(n,s,a),m=wx(n,s,a),u=vx[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),Sx(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 Ax=(e,t,r)=>(0,tt.createXOFer)((o={})=>new Dn(t,e,o.dkLen===void 0?r:o.dkLen,!0));fe.shake128=(()=>Ax(31,168,128/8))();fe.shake256=(()=>Ax(31,136,256/8))()});var _x=ct(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});ql.verifyEnvEncryptPublicKey=B8;var $8=Ix(),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 jd(e){return e===void 0?[]:Array.isArray(e)?[...e]:[e]}function Gd(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 f5 from"arg";var c5={name:"help",shorthand:"h",description:"Show help information for the current command",type:"boolean",target:"help"},m5={name:"version",shorthand:"v",description:"Show CLI version",type:"boolean",target:"version"};var u5={name:"api-token",description:"API token used for authentication",type:"string",target:"apiToken",aliases:["api-key"],argumentName:"token"},Kn=[c5,m5],Wn=[u5];import Vd from"arg";function qd(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=p5(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 jd(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]=Vd.flag(()=>!0),o.set(c,{option:n,canonicalKey:s,target:i,negatedKey:c})}}return{spec:t,descriptors:r,negatedLookup:o}}function p5(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 Vd.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=qd(o),{permissive:s=!1,stopAtPositional:i=!1}=r,a=f5(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(` ${Up(n).padEnd(24)}${n.description??""}`.trimEnd());return o.join(`
48
- `)}function Kd(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(` ${Up(m).padEnd(24)}${m.description??""}`.trimEnd());return s.join(`
49
- `)}function Wd(e){let{executableName:t,definition:r,registry:o}=e,s=[l5({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=h5(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(` ${Up(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 l5({executableName:e,definition:t}){let r=[e,...t.path],n=(t.meta.arguments??[]).map(c=>d5(c)).join(" "),i=(t.meta.options?.length??0)>0?" [options]":"",a=n?` ${n}`:"";return`Usage: ${r.join(" ")}${i}${a}`}function d5(e){let t=`<${e.name}>`;return e.variadic?`${t}...`:e.required===!1?`[${t}]`:t}function h5(e){return e.variadic?`<${e.name}...>`:e.required===!1?`<${e.name}>?`:`<${e.name}>`}function Up(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 Hp=!1;function qe(e){Hp=e}function mt(){return Hp}function jp(){return!Hp}import BS from"node:path";import od from"fs-extra";import FS from"@iarna/toml";import{z as dp}from"zod";var Bx=Ii(i0(),1);import{ofetch as F8}from"ofetch";function a0(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 Yp={"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?Yp[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=G5(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 p0=Qn("transaction",dn);function G5(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 f0=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 Xp={"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?Xp[e.status]:null,type:e.type?Yp[e.type]||e.type:null};return e.blobGasPrice&&(r.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(r.blobGasUsed=BigInt(e.blobGasUsed)),r}var l0=Qn("transactionReceipt",Fi);H();cc();Oe();F();function Qt(e,t="hex"){let r=d0(e),o=rs(new Uint8Array(r.length));return r.encode(o),t==="hex"?Y(o.bytes):o.bytes}function d0(e){return Array.isArray(e)?J5(e.map(t=>d0(t))):Z5(e)}function J5(e){let t=e.reduce((n,s)=>n+s.length,0),r=h0(t);return{length:(()=>t<=55?1+t:1+r+t)(),encode(n){t<=55?n.pushByte(192+t):(n.pushByte(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 Z5(e){let t=typeof e=="string"?Be(e):e,r=h0(t.length);return{length:(()=>t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length)(),encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(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 h0(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new x("Length is too large.")}Ct();F();function y0(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 x0(e,t,r){return e&t^~e&r}function w0(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],g=er(p,7)^er(p,18)^p>>>3,h=er(d,17)^er(d,19)^d>>>10;ho[f]=h+ho[f-7]+g+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+x0(a,c,m)+nv[f]+ho[f]|0,h=(er(o,2)^er(o,13)^er(o,22))+w0(o,n,s)|0;u=m,m=c,c=a,a=i+d|0,i=s,s=n,n=o,o=d+h|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 _0=vc(()=>new Sc);var P0=_0;vt();Oe();F();function T0(e,t){let r=t||"hex",o=P0(ae(e,{strict:!1})?Bt(e):e);return r==="bytes"?o:se(o)}function $0(e){let{commitment:t,version:r=1}=e,o=e.to??(typeof t=="string"?"hex":"bytes"),n=T0(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($0({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 R0(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??R0({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();Qp();tr();H();zi();go();Et();Rt();bo();Re();function U0(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 H0(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 j0(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 G0(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;U0(e);let p=Ui(u),d=y0(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;H0(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 g=Ui(u),h=[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",g,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([h,b,y,v]):Qt(h)])}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;j0(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;G0(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 V0={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}};Re();var q0={block:f0({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:p0({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:l0({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 K0={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 mf={blockTime:2e3,contracts:V0,formatters:q0,serializers:K0};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({...mf,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:{...mf.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 Tx}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 $x}from"zod";import{z as rt}from"zod";import{z as Kx}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 qh="/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:qh});n=c}if(n.type!=="event")throw new Ki(void 0,{docsPath:qh});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)=>Kh({param:u,value:m[f][d]})):typeof m[f]<"u"&&m[f]!==null?Kh({param:u,value:m[f]}):null)??[])}return[i,...a]}function Kh({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(g=>"data"in g)||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 Xh({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),g=Yh(d);return new o.Signature(ie(m),ie(u)).addRecoveryBit(g)}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=Yh(a);return o.Signature.fromCompact(i.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function Yh(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 Xh({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 Qh(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 tg(e,t){return Af(e,t)}async function Af(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 rg(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 Af(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"],og=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 g(){return d||(d=await _(e,Qe,"getBlock")({blockTag:"latest"}),d)}let h;async function b(){return h||(n?n.id:typeof t.chainId<"u"?t.chainId:(h=await _(e,ht,"getChainId")({}),h))}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=og.get(e.uid);typeof y>"u"&&(y=typeof(await g())?.baseFeePerGas=="bigint",og.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 g(),{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 g(),{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:g,maxFeePerBlobGas:h,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:g,maxFeePerBlobGas:h,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 Qh(i,{...t,account:n,chain:e.chain})}}async function ng(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();ef();Rt();Qi();Xi();Gr();var sg="/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:sg});let c=t.find(h=>h.type==="event"&&i===wo(Me(h)));if(!(c&&"name"in c)||c.type!=="event")throw new Is(i,{docsPath:sg});let{name:m,inputs:u}=c,f=u?.some(h=>!("name"in h&&h.name)),p=f?[]:{},d=u.map((h,b)=>[h,b]).filter(([h])=>"indexed"in h&&h.indexed);for(let h=0;h<d.length;h++){let[b,y]=d[h],v=a[h];if(!v)throw new lr({abiItem:c,param:b});p[f?y:b.name||y]=i2({param:b,value:v})}let g=u.filter(h=>!("indexed"in h&&h.indexed));if(g.length>0){if(r&&r!=="0x")try{let h=Kr(g,r);if(h)if(f)for(let b=0;b<u.length;b++)p[b]=p[b]??h.shift();else for(let b=0;b<g.length;b++)p[g[b].name]=h[b]}catch(h){if(s)throw h instanceof Ss||h instanceof ts?new or({abiItem:c,data:r,params:g,size:Z(r)}):h}else if(s)throw new or({abiItem:c,data:"0x",params:g,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(h=>Cr({abi:[h],eventName:h.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(g=>Je(g));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 qg(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 Wf=new Map,Kg=new Map,I2=0;function et(e,t,r){let o=++I2,n=()=>Wf.get(e)||[],s=()=>{let u=n();Wf.set(e,u.filter(f=>f.id!==o))},i=()=>{let u=n();if(!u.some(p=>p.id===o))return;let f=Kg.get(e);if(u.length===1&&f){let p=f();p instanceof Promise&&p.catch(()=>{})}s()},a=n();if(Wf.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"&&Kg.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 Wg(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 Jg(e,{cacheKey:t,cacheTime:r=Number.POSITIVE_INFINITY}){let o=Wg(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 Jg(()=>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 Zg(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 Jf=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:g,value:h,...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:g,value:h},"sendTransaction"),I=Jf.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=>(Jf.set(e.uid,!0),U)).catch(U=>{let G=U;throw G.name==="MethodNotFoundRpcError"||G.name==="MethodNotSupportedRpcError"?(Jf.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:g,value:h,...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,g=pe({abi:i,args:m,functionName:f});try{return await _(r,o,n)({data:`${g}${u?u.replace("0x",""):""}`,to:c,account:d,...p})}catch(h){throw At(h,{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 Zf="0x5792579257925792579257925792579257925792579257925792579257925792",Yf=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,g=d.abi?pe({abi:d.abi,functionName:d.functionName,args:d.args}):d.data;return{data:d.dataSuffix&&g?_e([g,d.dataSuffix]):g,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 g=[];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});g.push(v),i>0&&await new Promise(C=>setTimeout(C,i))}let h=await Promise.allSettled(g);if(h.every(y=>y.status==="rejected"))throw h[0].reason;let b=h.map(y=>y.status==="fulfilled"?y.value:Yf);return{id:_e([...b,E(n.id,{size:32}),Zf])}}throw ri(p,{...t,account:u,chain:t.chain})}}async function fu(e,t){async function r(u){if(u.endsWith(Zf.slice(2))){let p=Le(Fc(u,-64,-32)),d=Fc(u,0,-64).slice(2).match(/.{1,64}/g),g=await Promise.all(d.map(b=>Yf.slice(2)!==b?e.request({method:"eth_getTransactionReceipt",params:[`0x${b}`]},{dedupe:!0}):void 0)),h=(()=>g.some(b=>b===null)?100:g.every(b=>b?.status==="0x1")?200:g.every(b=>b?.status==="0x0")?500:600)();return{atomic:!1,chainId:ye(p),receipts:g.filter(Boolean),status:h,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:Xp[u.status]}))??[],statusCode:m,status:c,version:i}}async function lu(e,t){let{id:r,pollingInterval:o=e.pollingInterval,status:n=({statusCode:h})=>h===200||h>=300,retryCount:s=4,retryDelay:i=({count:h})=>~~(1<<h)*200,timeout:a=6e4,throwOnFailure:c=!1}=t,m=W(["waitForCallsStatus",e.uid,r]),{promise:u,resolve:f,reject:p}=ei(),d,g=et(m,{resolve:f,reject:p},h=>{let b=qt(async()=>{let y=v=>{clearTimeout(d),b(),v(),g()};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(()=>h.resolve(v))}catch(v){y(()=>h.reject(v))}},{interval:o,emitOnBegin:!0});return b});return d=a?setTimeout(()=>{g(),clearTimeout(d),p(new Xf({id:r}))},a):void 0,await u}var Xf=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:g,value:h}=e.transport({chain:r,pollingInterval:u}),b={...d,...h},y={account:p,batch:t,cacheTime:f,ccipRead:o,chain:r,key:n,name:s,pollingInterval:u,request:g,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 Yg(e){return`[${e.slice(2)}]`}Oe();F();Nt();function Xg(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(Yg(Xg(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 Qg(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:zf,functionName:"addr",args:f}),d={address:m,abi:ru,functionName:"resolveWithGateways",args:[se(si(s)),p,i??[Qr]],blockNumber:r,blockTag:o},h=await _(e,Pe,"readContract")(d);if(h[0]==="0x")return null;let b=gt({abi:zf,args:f,functionName:"addr",data:h[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 ey(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Qf({uri:e,gatewayUrls:t}){let r=B2.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};let o=ey(t?.ipfs,"https://ipfs.io"),n=ey(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 el(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 ty({gatewayUrls:e,uri:t}){try{let r=await fetch(t).then(n=>n.json());return await vu({gatewayUrls:e,uri:el(r)})}catch{throw new ii({uri:t})}}async function vu({gatewayUrls:e,uri:t}){let{uri:r,isOnChain:o}=Qf({uri:t,gatewayUrls:e});if(o||await M2(r))return r;throw new ii({uri:t})}function ry(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 oy(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 ny(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=ry(r),n=await oy(e,{nft:o}),{uri:s,isOnChain:i,isEncoded:a}=Qf({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:el(u),gatewayUrls:t})}let c=o.tokenID;return o.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),ty({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:Nf,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 g=gt({abi:Nf,functionName:"text",data:d[0]});return g===""?null:g}catch(f){if(a)throw f;if(ni(f))return null;throw f}}async function sy(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 ny(e,{record:c,gatewayUrls:o})}catch{return null}}Jo();xn();ma();async function iy(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:Tg,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 ay(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();Sf();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,...g}=t,h=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(g,{format:v}),account:h,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:h,chain:e.chain})}}async function cy(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 my(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 uy(e){let t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}Re();F();async function py(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 fy(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 ly(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 dy(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 ly(i)}async function hy(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 gy({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 yy(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 by(e,t={}){return async(r,o={})=>{let{dedupe:n=!1,methods:s,retryDelay:i=150,retryCount:a=3,uid:c}={...t,...o},{method:m}=r;if(s?.exclude?.includes(m))throw new 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 yy(()=>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 xy(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 tl=L2();function wy(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 xy(async({signal:g})=>{let h={...c,body:Array.isArray(o)?W(o.map(C=>({jsonrpc:"2.0",id:C.id??tl.take(),...C}))):W({jsonrpc:"2.0",id:o.id??tl.take(),...o}),headers:{"Content-Type":"application/json",...m},method:u||"POST",signal:f||(a>0?g:null)},b=new Request(e,h),y=await s?.(b,h)??{...h,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(g){if(p.ok)throw g;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 vy=`Ethereum Signed Message:
52
- `;ot();Rt();F();function Cy(e){let t=(()=>typeof e=="string"?Yt(e):typeof e.raw=="string"?e.raw:Y(e.raw))(),r=Yt(`${vy}${Z(t)}`);return _e([r,t])}function ai(e,t){return ne(Cy(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();yf();Ze();function Ey(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[h,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(Lh);if(d){let[h,b]=d;if(b&&Z(f)!==Number.parseInt(b,10))throw new Zc({expectedSize:Number.parseInt(b,10),givenSize:Z(f)})}let g=n[u];g&&(O2(u),s(g,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(ky({data:r,primaryType:o,types:n})),ne(_e(s))}function U2({domain:e,types:t}){return ky({data:e,primaryType:"EIP712Domain",types:t})}function ky({data:e,primaryType:t,types:r}){let o=Sy({data:e,primaryType:t,types:r});return ne(o)}function Sy({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]=Iy({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=Ay({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 Ay({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])Ay({primaryType:s.type,types:t},r);return r}function Iy({types:e,name:t,type:r,value:o}){if(e[r]!==void 0)return[{type:"bytes32"},ne(Sy({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=>Iy({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={};Op(xa,{InvalidWrappedSignatureError:()=>Wu,assert:()=>Ju,from:()=>SC,magicBytes:()=>Il,suffixParameters:()=>_l,unwrap:()=>Wy,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();nf();Ko();je();function Tn(e,t={}){let{as:r=typeof e=="string"?"Hex":"Bytes"}=t,o=Bc(xg(e));return r==="Bytes"?o:Ae(o)}Ko();yt();je();sa();function _y(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 sl});return}if(r===!0||typeof n=="bigint"&&typeof s>"u"){if(o!==3&&o!==2)throw new Du({prefix:o,cause:new nl});return}throw new ol({publicKey:e})}function Py(e){let t=(()=>{if(aa(e))return Ty(e);if(Sg(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 _y(t),t}function q2(e){return Ty(Ae(e))}function Ty(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new il({publicKey:e});if(e.length===130){let o=BigInt(he(e,0,32)),n=BigInt(he(e,32,64));return{prefix:4,x:o,y:n}}if(e.length===132){let o=Number(he(e,0,1)),n=BigInt(he(e,1,33)),s=BigInt(he(e,33,65));return{prefix:o,x:n,y:s}}let t=Number(he(e,0,1)),r=BigInt(he(e,1,33));return{prefix:t,x:r}}function al(e,t={}){_y(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 ol=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"})}},nl=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"})}},sl=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"})}},il=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 cl});if(r){if(e.toLowerCase()===e)return;if(zu(e)!==e)throw new Nu({address:e,cause:new ml})}}function zu(e){if(Mu.has(e))return Mu.get(e);$n(e,{strict:!1});let t=e.substring(2).toLowerCase(),r=Tn(wg(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 Ry(e,t={}){let r=Tn(`0x${al(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"})}},cl=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"})}},ml=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 By=/^(.*)\[([0-9]*)\]$/,Fy=/^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,ul=2n**256n-1n;function Rn(e,t,r){let{checksumAddress:o,staticPosition:n}=r,s=ll(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 Dy=32,pl=32;function J2(e,t={}){let{checksum:r=!1}=t,o=e.readBytes(32);return[(s=>r?zu(s):s)(Ae(vg(o,-20))),32]}function Z2(e,t,r){let{checksumAddress:o,length:n,staticPosition:s}=r;if(!n){let c=kr(e.readBytes(pl)),m=s+c,u=m+Dy;e.setPosition(m);let f=kr(e.readBytes(Dy)),p=la(t),d=0,g=[];for(let h=0;h<f;++h){e.setPosition(u+(p?h*32:d));let[b,y]=Rn(e,t,{checksumAddress:o,staticPosition:u});d+=y,g.push(b)}return e.setPosition(s+32),[g,32]}if(la(t)){let c=kr(e.readBytes(pl)),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[Eg(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?Cg(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(pl)),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=kg(Bf(s));return e.setPosition(t+32),[i,32]}function Ny({checksumAddress:e,parameters:t,values:r}){let o=[];for(let n=0;n<t.length;n++)o.push(fl({checksumAddress:e,parameter:t[n],value:r[n]}));return o}function fl({checksumAddress:e=!1,parameter:t,value:r}){let o=t,n=ll(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=fl({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=fl({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 ll(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=ll(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 hl({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new dl({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"})}},dl=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"})}},hl=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 bl;if(Vt(s)&&Vt(s)<32)throw new yl({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=Ny({checksumAddress:o,parameters:e,values:t}),s=Hu(n);return s.length===0?"0x":s}function gl(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(gl.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(Fy);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(By);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})(gl||(gl={}));function ga(e){return Array.isArray(e)&&typeof e[0]=="string"?vm(e):typeof e=="string"?vm(e):e}var yl=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"})}},bl=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=Oy(e),n=qu(new Uint8Array(o.length));return o.encode(n),r==="Hex"?Ae(n.bytes):n.bytes}function Ly(e,t={}){let{as:r="Hex"}=t;return pC(e,{as:r})}function Oy(e){return Array.isArray(e)?fC(e.map(t=>Oy(t))):lC(e)}function fC(e){let t=e.reduce((n,s)=>n+s.length,0),r=Uy(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=Uy(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 Uy(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 El(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>ul)throw new wl({value:e.r});if(e.s<0n||e.s>ul)throw new vl({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new ba({value:e.yParity})}function hC(e){return Hy(Ae(e))}function Hy(e){if(e.length!==130&&e.length!==132)throw new xl({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 Al(n)}catch{throw new ba({value:n})}})();return typeof o>"u"?{r:t,s:r}:{r:t,s:r,yParity:o}}function kl(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return Sl(e)}function Sl(e){let t=(()=>typeof e=="string"?Hy(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 El(t),t}function gC(e){return{r:e.r,s:e.s,yParity:Al(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=Al(r)),typeof o!="number")throw new ba({value:e.yParity});return o})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function jy(e){let{r:t,s:r,yParity:o}=e;return[o?"0x01":"0x",t===0n?"0x":Mf(Q(t)),r===0n?"0x":Mf(Q(r))]}function Al(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 Cl({value:e})}var xl=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"})}},wl=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"})}},vl=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"})}},Cl=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 Vy(e,t={}){return typeof e.chainId=="string"?bC(e):{...e,...t.signature}}function bC(e){let{address:t,chainId:r,nonce:o}=e,n=kl(e);return{address:t,chainId:Number(r),nonce:BigInt(o),...n}}function qy(e){return xC(e,{presign:!0})}function xC(e,t={}){let{presign:r}=t;return Tn(be("0x05",Ly(wC(r?{address:e.address,chainId:e.chainId,nonce:e.nonce}:e))))}function wC(e){let{address:t,chainId:r,nonce:o}=e,n=kl(e);return[r?Q(r):"0x",t,o?Q(o):"0x",...n?jy(n):[]]}yt();je();import{secp256k1 as CC}from"@noble/curves/secp256k1";je();function Ky(e){return Ry(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 Py(a)}var Il="0x8010801080108010801080108010801080108010801080108010801080108010",_l=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)!==Il)throw new Wu(e)}else El(e.authorization)}function SC(e){return typeof e=="string"?Wy(e):e}function Wy(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(_l,r);return{authorization:Vy({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=Ky({payload:qy(e.authorization),signature:Sl(e.authorization)}),n=en(_l,[{...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,Il)}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 Jy(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 Jy(e,mc[t])}function _C(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function Zy(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 Yy(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 Zy(a)}F();async function Xy(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 Qy(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 eb(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=[[]],g=0,h=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});h+=(I.length-2)/2,u>0&&h>u&&d[g].length>0&&(g++,h=(I.length-2)/2,d[g]=[]),d[g]=[...d[g],{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[g]=[...d[g],{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}Df();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,g=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)}),h=p.stateOverrides?Os(p.stateOverrides):void 0;c.push({blockOverrides:d,calls:g,stateOverrides:h})}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((g,h)=>{let{abi:b,args:y,functionName:v,to:C}=n[d].calls[h],k=g.error?.data??g.returnData,A=BigInt(g.gasUsed),T=g.logs?.map(M=>Je(M)),I=g.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(g.error?.data==="0x"?M=new Ut:g.error&&(M=new yr(g.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 Pl(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 Pl(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"?$l(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=Pl(m.inputs,a.inputs,o);if(f)throw new Tl({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 $l(...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 Tl=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 rb(...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 ob(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 sb(...e){let[t,r=[]]=(()=>{if(Array.isArray(e[0])){let[m,u,f]=e;return[nb(m,u,{args:f}),f]}let[a,c]=e;return[a,c]})(),{overloads:o}=t,n=o?nb([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 nb(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 $l(e)}xe();var ib="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",ar="0x0000000000000000000000000000000000000000";ca();H();St();var MC="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function ab(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?rb(ob("constructor(bytes, bytes)"),{bytecode:ou,args:[MC,sb(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],[g,h,,b,y,v,C,k]=i?p:[],{calls:A,...T}=d,I=A.slice(0,-1)??[],B=g?.calls??[],N=h?.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:ib,decimals:18,symbol:"ETH"}:{address:f[z-1],decimals:mo||co?Number(co??1):void 0,symbol:me??void 0})();Tt.some(zp=>zp.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={};Op(Ca,{InvalidWrappedSignatureError:()=>ep,assert:()=>Bl,from:()=>zC,magicBytes:()=>Rl,universalSignatureValidatorAbi:()=>NC,universalSignatureValidatorBytecode:()=>DC,unwrap:()=>cb,validate:()=>OC,wrap:()=>LC});yt();je();var Rl="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 Bl(e){if(he(e,-32)!==Rl)throw new ep(e)}function zC(e){return typeof e=="string"?cb(e):e}function cb(e){Bl(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]),Rl)}function OC(e){try{return Bl(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 gy({address:r,authorization:p}))throw new eo;let g=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:Lf,functionName:"isValidSignature",args:[s,m]})}]]});if(g[g.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:Of,functionName:"isValidSig",args:[r,s,m]}),...c}:{data:In({abi:Of,args:[r,s,m],bytecode:Fg}),...c},{data:f}=await _(e,Ar,"call")(u).catch(p=>{throw p instanceof Ds?new eo:p});if(Zp(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:Lf,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 mb(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 ub(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 g=c+1n;g<d;g++)p.onBlockNumber(g,c),c=g}(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,g=()=>d=!1;return(async()=>{try{let h=(()=>{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 h.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)}});g=b,d||g()}catch(h){n?.(h)}})(),()=>g()})})()}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,g=!1,h,b,{promise:y,resolve:v,reject:C}=ei(),k=c?setTimeout(()=>{b?.(),h?.(),C(new bc({hash:n}))},c):void 0;return h=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),h?.();return}b=_(e,rp,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(T){let I=N=>{clearTimeout(k),b?.(),N(),h?.()},B=T;if(!g)try{if(d){if(o>1&&(!d.blockNumber||B-d.blockNumber+1n<o))return;I(()=>A.resolve(d));return}if(r&&!f&&(g=!0,await Pn(async()=>{f=await _(e,ui,"getTransaction")({hash:n}),f.blockNumber&&(B=f.blockNumber)},{delay:a,retryCount:i}),g=!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){g=!1;return}try{p=f,g=!0;let M=await Pn(()=>_(e,Qe,"getBlock")({blockNumber:B,includeTransactions:!0}),{delay:a,retryCount:i,shouldRetry:({error:V})=>V instanceof Us});g=!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 pb(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 g=W(["watchBlocks",e.uid,t,r,o,u,c]);return et(g,{onBlock:n,onError:s},h=>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});h.onBlock(v,f),f=v}}(f?.number==null||t==="pending"&&b?.number==null||b.number!==null&&b.number>f.number)&&(h.onBlock(b,f),f=b)}catch(b){h.onError?.(b)}},{emitOnBegin:o,interval:c}))})():(()=>{let g=!0,h=!0,b=()=>g=!1;return(async()=>{try{o&&_(e,Qe,"getBlock")({blockTag:t,includeTransactions:u}).then(C=>{g&&h&&(n(C,void 0),h=!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(!g)return;let k=await _(e,Qe,"getBlock")({blockNumber:C.result?.number,includeTransactions:u}).catch(()=>{});g&&(n(k,f),h=!1,f=k)},onError(C){s?.(C)}});b=v,g||b()}catch(y){s?.(y)}})(),()=>b()})()}we();zs();Ze();function fb(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 lb(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(g){throw p(),g}let d=await _(e,Zo,"getFilterChanges")({filter:f});if(d.length===0)return;if(t)u.onTransactions(d);else for(let g of d)u.onTransactions([g])}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 db(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 hb(e){let{address:t,domain:r,message:o,nonce:n,scheme:s,time:i=new Date}=e;if(r&&o.domain!==r||n&&o.nonce!==n||s&&o.scheme!==s||o.expirationTime&&i>=o.expirationTime||o.notBefore&&i<o.notBefore)return!1;try{if(!o.address||!X(o.address,{strict:!1})||t&&!Gt(o.address,t))return!1}catch{return!1}return!0}async function gb(e,t){let{address:r,domain:o,message:n,nonce:s,scheme:i,signature:a,time:c=new Date,...m}=t,u=db(n);if(!u.address||!hb({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 yb(e){return{call:t=>Ar(e,t),createAccessList:t=>Eu(e,t),createBlockFilter:()=>cy(e),createContractEventFilter:t=>Mm(e,t),createEventFilter:t=>ku(e,t),createPendingTransactionFilter:()=>Su(e),estimateContractGas:t=>ng(e,t),estimateGas:t=>Gs(e,t),getBalance:t=>my(e,t),getBlobBaseFee:()=>uy(e),getBlock:t=>Qe(e,t),getBlockNumber:t=>Ir(e,t),getBlockTransactionCount:t=>py(e,t),getBytecode:t=>fa(e,t),getChainId:()=>ht(e),getCode:t=>fa(e,t),getContractEvents:t=>Gm(e,t),getEip712Domain:t=>fy(e,t),getEnsAddress:t=>Qg(e,t),getEnsAvatar:t=>sy(e,t),getEnsName:t=>iy(e,t),getEnsResolver:t=>ay(e,t),getEnsText:t=>Cu(e,t),getFeeHistory:t=>dy(e,t),estimateFeesPerGas:t=>rg(e,t),getFilterChanges:t=>Zo(e,t),getFilterLogs:t=>hy(e,t),getGasPrice:()=>Hs(e),getLogs:t=>qs(e,t),getProof:t=>Yy(e,t),estimateMaxPriorityFeePerGas:t=>tg(e,t),getStorageAt:t=>Xy(e,t),getTransaction:t=>ui(e,t),getTransactionConfirmations:t=>Qy(e,t),getTransactionCount:t=>js(e,t),getTransactionReceipt:t=>pi(e,t),multicall:t=>eb(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=>ab(e,t),simulateContract:t=>qg(e,t),verifyHash:t=>rn(e,t),verifyMessage:t=>mb(e,t),verifySiweMessage:t=>gb(e,t),verifyTypedData:t=>ub(e,t),uninstallFilter:t=>Yo(e,t),waitForTransactionReceipt:t=>op(e,t),watchBlocks:t=>pb(e,t),watchBlockNumber:t=>rp(e,t),watchContractEvent:t=>Zg(e,t),watchEvent:t=>fb(e,t),watchPendingTransactions:t=>lb(e,t)}}function Mn(e){let{key:t="public",name:r="Public Client"}=e;return yu({...e,key:t,name:r,type:"publicClient"}).extend(yb)}F();async function bb(e,{chain:t}){let{id:r,name:o,nativeCurrency:n,rpcUrls:s,blockExplorers:i}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:E(r),chainName:o,nativeCurrency:n,rpcUrls:s.default.http,blockExplorerUrls:i?Object.values(i).map(({url:a})=>a):void 0}]},{dedupe:!0,retryCount:0})}nu();function xb(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 wb(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 vb(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 Cb(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 Eb(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>Es(r))}async function kb(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function Sb(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 Fl=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:g,throwOnReceiptRevert:h,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=Fl.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=>(Fl.set(e.uid,!0),Ve)).catch(Ve=>{let Tt=Ve;throw Tt.name==="MethodNotFoundRpcError"||Tt.name==="MethodNotSupportedRpcError"?(Fl.set(e.uid,!1),Ie):Tt});throw Ie}})(),V=await _(e,op,"waitForTransactionReceipt")({checkReplacement:!1,hash:G,pollingInterval:g,timeout:C});if(h&&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:h})}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 Ab(e,t){let{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}xe();async function Ib(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 _b(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 Pb(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 Tb(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=Ey({domain:o,message:n,primaryType:s,types:a});return e.request({method:"eth_signTypedData_v4",params:[i.address,c]},{retryCount:0})}F();async function $b(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:E(t)}]},{retryCount:0})}async function Rb(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}async function Bb(e,t){return _n.internal(e,sp,"sendTransactionSync",t)}function Fb(e){return{addChain:t=>bb(e,t),deployContract:t=>xb(e,t),getAddresses:()=>wb(e),getCallsStatus:t=>fu(e,t),getCapabilities:t=>vb(e,t),getChainId:()=>ht(e),getPermissions:()=>Cb(e),prepareAuthorization:t=>np(e,t),prepareTransactionRequest:t=>Er(e,t),requestAddresses:()=>Eb(e),requestPermissions:t=>kb(e,t),sendCalls:t=>pu(e,t),sendCallsSync:t=>Sb(e,t),sendRawTransaction:t=>oi(e,t),sendRawTransactionSync:t=>li(e,t),sendTransaction:t=>Xo(e,t),sendTransactionSync:t=>sp(e,t),showCallsStatus:t=>Ab(e,t),signAuthorization:t=>Ib(e,t),signMessage:t=>_b(e,t),signTransaction:t=>Pb(e,t),signTypedData:t=>Tb(e,t),switchChain:t=>$b(e,t),waitForCallsStatus:t=>lu(e,t),watchAsset:t=>Rb(e,t),writeContract:t=>_n(e,t),writeContractSync:t=>Bb(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(Fb)}function Mb({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:by(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"})}};jf();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:g})=>{let{batchSize:h=1e3,wait:b=0}=typeof r=="object"?r:{},y=t.retryCount??d,v=g??t.timeout??1e4,C=e||p?.rpcUrls.default.http[0];if(!C)throw new ip;let k=wy(C,{fetchFn:o,fetchOptions:n,onRequest:c,onResponse:m,timeout:v});return Mb({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>h},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 Db(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 Ml=!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(Ml,{strict:!1})?Be(Ml):Ml}),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 Nb(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 zb({message:e,privateKey:t}){return await _r({hash:ai(e),privateKey:t,to:"hex"})}Nt();async function Lb(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 Ob(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{...Db({address:n,nonceManager:r,async sign({hash:i}){return _r({hash:i,privateKey:e,to:"hex"})},async signAuthorization(i){return Nb({...i,privateKey:e})},async signMessage({message:i}){return zb({message:i,privateKey:e})},async signTransaction(i,{serializer:a}={}){return Lb({privateKey:e,transaction:i,serializer:a})},async signTypedData(i){return Ob({...i,privateKey:e})}}),publicKey:o,source:"privateKey"}}var YY=Ii(zl(),1);import{z as ve}from"zod";var mr=Ii(zl(),1),_S=Ii(Ub(),1),PS=Ii(_x(),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)}},Kl=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}},Fx=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 Mx(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}=Mx(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 Jl(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}=Mx(o);return new D8(i,{...a,validationErrors:c})}return s==="auth"?new N8(i,a):s==="business"?new Fx(i,a):s==="server"?new z8(i,a):new L8(i,a)}var Jl=class extends Fx{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 Dx(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,Bx.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 Px(e,t,r,o){let n=[];r.forEach((a,c)=>{n.push(`${c}: ${a}`)});let s=n.join(`
40
+ `,n+=Wh(o.state)),o.stateDiff&&(n+=` stateDiff:
41
+ `,n+=Wh(o.stateDiff)),n},` State Override:
42
+ `).slice(0,-1)}var $m,Rm,Pf=S(()=>{H();$m=class extends x{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}},Rm=class extends x{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}});var Zh,kn,Bm=S(()=>{Zh=e=>e,kn=e=>e});var Ls,Os,Sn,Fm,Mm,br,Eo=S(()=>{xe();Vc();If();Vr();qh();Co();yc();as();we();H();Pf();Et();Bm();Ls=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 g=r?j(r):void 0,h=bn({from:g?.address,to:f,value:typeof p<"u"&&`${is(p)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${De(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${De(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${De(m)} gwei`,nonce:u});d&&(h+=`
43
+ ${Jh(d)}`),super(t.shortMessage,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",h].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}},Os=class extends x{constructor(t,{abi:r,args:o,contractAddress:n,docsPath:s,functionName:i,sender:a}){let c=ht({abi:r,args:o,name:i}),m=c?Af({abiItem:c,args:o,includeFunctionName:!1,includeName:!1}):void 0,u=c?Ne(c,{includeName:!0}):void 0,f=bn({address:n&&Zh(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}},Sn=class extends x{constructor({abi:t,data:r,functionName:o,message:n}){let s,i,a,c;if(r&&r!=="0x")try{i=Tm({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=Q0[d]}else{let d=u?Ne(u,{includeName:!0}):void 0,g=u&&p?Af({abiItem:u,args:p,includeFunctionName:!1,includeName:!1}):void 0;a=[d?`Error: ${d}`:"",g&&g!=="()"?` ${[...Array(f?.length??0).keys()].map(()=>" ").join("")}${g}`:""]}}catch(u){s=u}else n&&(c=n);let m;s instanceof Ps&&(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}},Fm=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"})}},Mm=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"})}},br=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 jt,ko,oa,In=S(()=>{Ye();H();Bm();jt=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: ${kn(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}},ko=class extends x{constructor({body:t,error:r,url:o}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${kn(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}},oa=class extends x{constructor({body:t,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${kn(r)}`,`Request body: ${W(t)}`],name:"TimeoutError"})}}});var l2,Xe,it,So,Io,Ao,_o,ir,Gt,Po,To,$o,xr,Jr,Ro,Zr,Bo,Fo,Mo,Do,No,wr,zo,Lo,Oo,Uo,Ho,vr,Dm,Us=S(()=>{H();In();l2=-1,Xe=class extends x{constructor(t,{code:r,docsPath:o,metaMessages:n,name:s,shortMessage:i}){super(i,{cause:t,docsPath:o,metaMessages:n||t?.metaMessages,name:s||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=s||t.name,this.code=t instanceof ko?t.code:r??l2}},it=class extends Xe{constructor(t,r){super(t,r),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r.data}},So=class extends Xe{constructor(t){super(t,{code:So.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}};Object.defineProperty(So,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});Io=class extends Xe{constructor(t){super(t,{code:Io.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}};Object.defineProperty(Io,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});Ao=class extends Xe{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});_o=class extends Xe{constructor(t){super(t,{code:_o.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
45
+ `)})}};Object.defineProperty(_o,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});ir=class extends Xe{constructor(t){super(t,{code:ir.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}};Object.defineProperty(ir,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});Gt=class extends Xe{constructor(t){super(t,{code:Gt.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
46
+ `)})}};Object.defineProperty(Gt,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});Po=class extends Xe{constructor(t){super(t,{code:Po.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}};Object.defineProperty(Po,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});To=class extends Xe{constructor(t){super(t,{code:To.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}};Object.defineProperty(To,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});$o=class extends Xe{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});xr=class extends Xe{constructor(t,{method:r}={}){super(t,{code:xr.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}};Object.defineProperty(xr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});Jr=class extends Xe{constructor(t){super(t,{code:Jr.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}};Object.defineProperty(Jr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});Ro=class extends Xe{constructor(t){super(t,{code:Ro.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}};Object.defineProperty(Ro,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});Zr=class extends it{constructor(t){super(t,{code:Zr.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}};Object.defineProperty(Zr,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});Bo=class extends it{constructor(t){super(t,{code:Bo.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}};Object.defineProperty(Bo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});Fo=class extends it{constructor(t,{method:r}={}){super(t,{code:Fo.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}};Object.defineProperty(Fo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});Mo=class extends it{constructor(t){super(t,{code:Mo.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}};Object.defineProperty(Mo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});Do=class extends it{constructor(t){super(t,{code:Do.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}};Object.defineProperty(Do,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});No=class extends it{constructor(t){super(t,{code:No.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}};Object.defineProperty(No,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});wr=class extends it{constructor(t){super(t,{code:wr.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}};Object.defineProperty(wr,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});zo=class extends it{constructor(t){super(t,{code:zo.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}};Object.defineProperty(zo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});Lo=class extends it{constructor(t){super(t,{code:Lo.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}};Object.defineProperty(Lo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});Oo=class extends it{constructor(t){super(t,{code:Oo.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}};Object.defineProperty(Oo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});Uo=class extends it{constructor(t){super(t,{code:Uo.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}};Object.defineProperty(Uo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});Ho=class extends it{constructor(t){super(t,{code:Ho.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}};Object.defineProperty(Ho,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});vr=class extends it{constructor(t){super(t,{code:vr.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}};Object.defineProperty(vr,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});Dm=class extends Xe{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}});function jo(e,t){let r=(e.details||"").toLowerCase(),o=e instanceof x?e.walk(n=>n?.code===jr.code):e;return o instanceof x?new jr({cause:e,message:o.details}):jr.nodeMessage.test(r)?new jr({cause:e,message:e.details}):Mt.nodeMessage.test(r)?new Mt({cause:e,maxFeePerGas:t?.maxFeePerGas}):ys.nodeMessage.test(r)?new ys({cause:e,maxFeePerGas:t?.maxFeePerGas}):bs.nodeMessage.test(r)?new bs({cause:e,nonce:t?.nonce}):xs.nodeMessage.test(r)?new xs({cause:e,nonce:t?.nonce}):ws.nodeMessage.test(r)?new ws({cause:e,nonce:t?.nonce}):vs.nodeMessage.test(r)?new vs({cause:e}):Cs.nodeMessage.test(r)?new Cs({cause:e,gas:t?.gas}):Es.nodeMessage.test(r)?new Es({cause:e,gas:t?.gas}):ks.nodeMessage.test(r)?new ks({cause:e}):lr.nodeMessage.test(r)?new lr({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Dt({cause:e})}var na=S(()=>{H();yo()});function Nm(e,{docsPath:t,...r}){let o=(()=>{let n=jo(e,r);return n instanceof Dt?e:n})();return new Ls(o,{docsPath:t,...r})}var Tf=S(()=>{Eo();yo();na()});function Cr(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 Hs=S(()=>{});function Qe(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 bc;if(o&&o>os)throw new Mt({maxFeePerGas:o});if(n&&o&&n>o)throw new lr({maxFeePerGas:o,maxPriorityFeePerGas:n})}var Yr=S(()=>{xe();nf();rr();yo();Et();kt()});function eg(e){let{abi:t,args:r,functionName:o}=e,n=t[0];if(o){let s=ht({abi:t,args:r,name:o});if(!s)throw new or(o,{docsPath:Qh});n=s}if(n.type!=="function")throw new or(void 0,{docsPath:Qh});return{abi:[n],functionName:gr(Ne(n))}}var Qh,tg=S(()=>{we();Ns();Vr();Co();Qh="/docs/contract/encodeFunctionData"});function pe(e){let{args:t}=e,{abi:r,functionName:o}=(()=>e.abi.length===1&&e.functionName?.startsWith("0x")?e:eg(e))(),n=r[0],s=o,i="inputs"in n&&n.inputs?st(n.inputs,t??[]):void 0;return He([s,i??"0x"])}var It=S(()=>{nt();Kr();tg()});function sg(e){if(!(!e||e.length===0))return e.reduce((t,{slot:r,value:o})=>{if(r.length!==66)throw new Mi({size:r.length,targetSize:66,type:"hex"});if(o.length!==66)throw new Mi({size:o.length,targetSize:66,type:"hex"});return t[r]=o,t},{})}function h2(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=sg(o)),n!==void 0){if(i.state)throw new Rm;i.stateDiff=sg(n)}return i}function js(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 $m({address:r});t[r]=h2(o)}return t}var Vm=S(()=>{rr();cc();Pf();kt();F()});function Vt(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 An=S(()=>{rr();kt()});function yt(e){let{abi:t,args:r,functionName:o,data:n}=e,s=t[0];if(o){let a=ht({abi:t,args:r,name:o});if(!a)throw new or(o,{docsPath:Rf});s=a}if(s.type!=="function")throw new or(void 0,{docsPath:Rf});if(!s.outputs)throw new $s(s.name,{docsPath:Rf});let i=Wr(s.outputs,n);if(i&&i.length>1)return i;if(i&&i.length===1)return i[0]}var Rf,Ko=S(()=>{we();ta();Co();Rf="/docs/contract/decodeFunctionResult"});var pg,fg=S(()=>{pg="0.1.1"});function lg(){return pg}var dg=S(()=>{fg()});function hg(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?hg(e.cause,t):t?null:e}var R,bt=S(()=>{dg();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@${lg()}`}),this.cause=r.cause,this.details=o,this.docs=i,this.docsPath=n,this.shortMessage=t}walk(t){return hg(this,t)}}});function Zs(e,t){if(qt(e)>t)throw new Zm({givenSize:qt(e),maxSize:t})}function gg(e,t){if(typeof t=="number"&&t>0&&t>qt(e)-1)throw new ia({offset:t,position:"start",size:qt(e)})}function yg(e,t,r){if(typeof t=="number"&&typeof r=="number"&&qt(e)!==r-t)throw new ia({offset:r,position:"end",size:qt(e)})}function Bf(e){if(e>=Xr.zero&&e<=Xr.nine)return e-Xr.zero;if(e>=Xr.A&&e<=Xr.F)return e-(Xr.A-10);if(e>=Xr.a&&e<=Xr.f)return e-(Xr.a-10)}function bg(e,t={}){let{dir:r,size:o=32}=t;if(o===0)return e;if(e.length>o)throw new Ym({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 Ff(e,t={}){let{dir:r="left"}=t,o=e,n=0;for(let s=0;s<o.length-1&&o[r==="left"?s:o.length-s-1].toString()==="0";s++)n++;return o=r==="left"?o.slice(n):o.slice(0,o.length-n),o}var Xr,xg=S(()=>{Wo();Xr={zero:48,nine:57,A:65,F:70,a:97,f:102}});function Ys(e,t){if(de(e)>t)throw new Xm({givenSize:de(e),maxSize:t})}function wg(e,t){if(typeof t=="number"&&t>0&&t>de(e)-1)throw new aa({offset:t,position:"start",size:de(e)})}function vg(e,t,r){if(typeof t=="number"&&typeof r=="number"&&de(e)!==r-t)throw new aa({offset:r,position:"end",size:de(e)})}function Mf(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 Cg(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 Df=S(()=>{Ge()});function Jo(e,t,r){return JSON.stringify(e,(o,n)=>typeof t=="function"?t(o,n):typeof n=="bigint"?n.toString()+x2:n,r)}var x2,ca=S(()=>{x2="#__bigint"});import{equalBytes as P7}from"@noble/curves/abstract/utils";function C2(e){if(!(e instanceof Uint8Array)){if(!e)throw new Xs(e);if(typeof e!="object")throw new Xs(e);if(!("BYTES_PER_ELEMENT"in e))throw new Xs(e);if(e.BYTES_PER_ELEMENT!==1||e.constructor.name!=="Uint8Array")throw new Xs(e)}}function kg(e){return e instanceof Uint8Array?e:typeof e=="string"?Qs(e):E2(e)}function E2(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Qs(e,t={}){let{size:r}=t,o=e;r&&(Ys(e,r),o=Ir(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=Bf(n.charCodeAt(c++)),u=Bf(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 Sg(e,t={}){let{size:r}=t,o=v2.encode(e);return typeof r=="number"?(Zs(o,r),k2(o,r)):o}function k2(e,t){return bg(e,{dir:"right",size:t})}function qt(e){return e.length}function Ig(e,t,r,o={}){let{strict:n}=o;gg(e,t);let s=e.slice(t,r);return n&&yg(s,t,r),s}function Ag(e,t={}){let{size:r}=t;typeof r<"u"&&Zs(e,r);let o=Ae(e,t);return Lf(o,t)}function _g(e,t={}){let{size:r}=t,o=e;if(typeof r<"u"&&(Zs(o,r),o=zf(o)),o.length>1||o[0]>1)throw new Nf(o);return!!o[0]}function Sr(e,t={}){let{size:r}=t;typeof r<"u"&&Zs(e,r);let o=Ae(e,t);return tu(o,t)}function Pg(e,t={}){let{size:r}=t,o=e;return typeof r<"u"&&(Zs(o,r),o=S2(o)),w2.decode(o)}function zf(e){return Ff(e,{dir:"left"})}function S2(e){return Ff(e,{dir:"right"})}function Tg(e){try{return C2(e),!0}catch{return!1}}var w2,v2,Nf,Xs,Zm,ia,Ym,Wo=S(()=>{bt();Ge();xg();Df();ca();w2=new TextDecoder,v2=new TextEncoder;Nf=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"})}},Xs=class extends R{constructor(t){super(`Value \`${typeof t=="object"?Jo(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"})}},Zm=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"})}},ia=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"})}},Ym=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 $7}from"@noble/curves/abstract/utils";function _2(e,t={}){let{strict:r=!1}=t;if(!e)throw new ru(e);if(typeof e!="string")throw new ru(e);if(r&&!/^0x[0-9a-fA-F]*$/.test(e))throw new ou(e);if(!e.startsWith("0x"))throw new ou(e)}function be(...e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}function ei(e){return e instanceof Uint8Array?Ae(e):Array.isArray(e)?Ae(new Uint8Array(e)):e}function nu(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(Ys(r,t.size),Qr(r,t.size)):r}function Ae(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=A2[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(Ys(o,t.size),Ir(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 ma({max:s?`${s}${m}`:void 0,min:`${i}${m}`,signed:r,size:o,value:`${e}${m}`})}let c=`0x${(r&&n<0?(1n<<BigInt(o*8))+BigInt(n):n).toString(16)}`;return o?Qr(c,o):c}function ti(e,t={}){return Ae(I2.encode(e),t)}function Qr(e,t){return Mf(e,{dir:"left",size:t})}function Ir(e,t){return Mf(e,{dir:"right",size:t})}function he(e,t,r,o={}){let{strict:n}=o;wg(e,t);let s=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return n&&vg(s,t,r),s}function de(e){return Math.ceil((e.length-2)/2)}function Of(e){return Cg(e,{dir:"left"})}function Lf(e,t={}){let{signed:r}=t;t.size&&Ys(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 tu(e,t={}){let{signed:r,size:o}=t;return Number(!r&&!o?e:Lf(e,t))}function ua(e,t={}){let{strict:r=!1}=t;try{return _2(e,{strict:r}),!0}catch{return!1}}var I2,A2,ma,ru,ou,Xm,aa,Qm,Ge=S(()=>{bt();Df();ca();I2=new TextEncoder,A2=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));ma=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"})}},ru=class extends R{constructor(t){super(`Value \`${typeof t=="object"?Jo(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"})}},ou=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"})}},Xm=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"})}},aa=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 $g(e){return{address:e.address,amount:Q(e.amount),index:Q(e.index),validatorIndex:Q(e.validatorIndex)}}var Rg=S(()=>{Ge()});function su(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($g)}}}var Uf=S(()=>{Ge();Rg()});var Pn,iu,Fg,au,Mg,Hf,jf,Gf,Vf,Zo=S(()=>{Pn=[{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"}],iu=[{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"}]}],Fg=[{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"}],au=[...Fg,{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"}]}],Mg=[...Fg,{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"}]}],Hf=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],jf=[{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"}]}],Gf=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],Vf=[{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 Dg,Ng=S(()=>{Dg="0x82ad56cb"});var cu,zg,Lg,ri,pa=S(()=>{cu="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",zg="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",Lg="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",ri="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033"});function Tn(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 Kc({docsPath:qf});if(!("inputs"in n))throw new Wi({docsPath:qf});if(!n.inputs||n.inputs.length===0)throw new Wi({docsPath:qf});let s=st(n.inputs,r);return He([o,s])}var qf,mu=S(()=>{we();nt();Kr();qf="/docs/contract/encodeDeployData"});function oi(){let e=()=>{},t=()=>{};return{promise:new Promise((o,n)=>{e=o,t=n}),resolve:e,reject:t}}var uu=S(()=>{});function pu({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:g}=u[d];g?.([p[d],p])}}).catch(p=>{for(let d=0;d<u.length;d++){let{reject:g}=u[d];g?.(p)}})},i=()=>Kf.delete(t),a=()=>c().map(({args:u})=>u),c=()=>Kf.get(t)||[],m=u=>Kf.set(t,[...c(),u]);return{flush:i,async schedule(u){let{promise:f,resolve:p,reject:d}=oi();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 Kf,Wf=S(()=>{uu();Kf=new Map});var fu,lu,du,Og=S(()=>{Ye();H();Bm();fu=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=>` ${kn(a)}`)],` Sender: ${s}`,` Data: ${o}`,` Callback selector: ${t}`,` Extra data: ${n}`].flat(),name:"OffchainLookupError"})}},lu=class extends x{constructor({result:t,url:r}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${kn(r)}`,`Response: ${W(t)}`],name:"OffchainLookupResponseMalformedError"})}},du=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 Ug(e){let{abi:t,data:r}=e,o=Lt(r,0,4),n=t.find(s=>s.type==="function"&&o===gr(Ne(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?Wr(n.inputs,Lt(r,4)):void 0}}var Hg=S(()=>{we();xo();Ns();ta();Vr()});function Zf(e){let{abi:t,errorName:r,args:o}=e,n=t[0];if(r){let c=ht({abi:t,args:o,name:r});if(!c)throw new Ji(r,{docsPath:Jf});n=c}if(n.type!=="error")throw new Ji(void 0,{docsPath:Jf});let s=Ne(n),i=gr(s),a="0x";if(o&&o.length>0){if(!n.inputs)throw new Yc(n.name,{docsPath:Jf});a=st(n.inputs,o)}return He([i,a])}var Jf,jg=S(()=>{we();nt();Ns();Kr();Vr();Co();Jf="/docs/contract/encodeErrorResult"});function Gg(e){let{abi:t,functionName:r,result:o}=e,n=t[0];if(r){let i=ht({abi:t,name:r});if(!i)throw new or(r,{docsPath:Yf});n=i}if(n.type!=="function")throw new or(void 0,{docsPath:Yf});if(!n.outputs)throw new $s(n.name,{docsPath:Yf});let s=(()=>{if(n.outputs.length===0)return[];if(n.outputs.length===1)return[o];if(Array.isArray(o))return o;throw new Rs(o)})();return st(n.outputs,s)}var Yf,Vg=S(()=>{we();Kr();Co();Yf="/docs/contract/encodeFunctionResult"});async function Xf(e){let{data:t,ccipRequest:r}=e,{args:[o]}=Ug({abi:iu,data:t}),n=[],s=[];return await Promise.all(o.map(async(i,a)=>{try{s[a]=i.urls.includes(eo)?await Xf({data:i.data,ccipRequest:r}):await r(i),n[a]=!1}catch(c){n[a]=!0,s[a]=T2(c)}})),Gg({abi:iu,functionName:"query",result:[n,s]})}function T2(e){return e.name==="HttpRequestError"&&e.status?Zf({abi:iu,errorName:"HttpError",args:[e.status,e.shortMessage]}):Zf({abi:[Gc],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}var eo,fa=S(()=>{Zo();Vc();Hg();jg();Vg();eo="x-batch-gateway:true"});var Wg={};Vp(Wg,{ccipRequest:()=>Kg,offchainLookup:()=>R2,offchainLookupAbiItem:()=>qg,offchainLookupSignature:()=>$2});async function R2(e,{blockNumber:t,blockTag:r,data:o,to:n}){let{args:s}=Tm({data:o,abi:[qg]}),[i,a,c,m,u]=s,{ccipRead:f}=e,p=f&&typeof f?.request=="function"?f.request:Kg;try{if(!Vt(n,i))throw new du({sender:i,to:n});let d=a.includes(eo)?await Xf({data:c,ccipRequest:p}):await p({data:c,sender:i,urls:a}),{data:g}=await Ar(e,{blockNumber:t,blockTag:r,data:Pe([m,st([{type:"bytes"},{type:"bytes"}],[d,u])]),to:n});return g}catch(d){throw new fu({callbackSelector:m,cause:d,data:o,extraData:u,sender:i,urls:a})}}async function Kg({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 jt({body:a,details:u?.error?W(u.error):m.statusText,headers:m.headers,status:m.status,url:s});continue}if(!ce(u)){o=new lu({result:u,url:s});continue}return u}catch(m){o=new jt({body:a,details:m.message,url:s})}}throw o}var $2,qg,Jg=S(()=>{ni();Og();In();If();Kr();An();nt();Ct();fa();Ye();$2="0x556f1830",qg={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:g,gasPrice:h,maxFeePerBlobGas:b,maxFeePerGas:y,maxPriorityFeePerGas:w,nonce:C,to:k,value:I,stateOverride:T,...A}=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?Zg({code:u,data:f}):M?M2({data:f,factory:p,factoryData:d,to:k}):f)();try{Qe(t);let me=(typeof s=="bigint"?E(s):void 0)||i,_e=m?su(m):void 0,qe=js(T),$t=e.chain?.formatters?.transactionRequest?.format,Ie=($t||lt)({...Cr(A,{format:$t}),accessList:a,account:B,authorizationList:o,blobs:c,data:G,gas:g,gasPrice:h,maxFeePerBlobGas:b,maxFeePerGas:y,maxPriorityFeePerGas:w,nonce:C,to:U?void 0:k,value:I},"call");if(n&&B2({request:Ie})&&!qe&&!_e)try{return await F2(e,{...Ie,blockNumber:s,blockTag:i})}catch(ue){if(!(ue instanceof Oi)&&!(ue instanceof wn))throw ue}let fr=(()=>{let ue=[Ie,me];return qe&&_e?[...ue,qe,_e]:qe?[...ue,qe]:_e?[...ue,{},_e]:ue})(),mo=await e.request({method:"eth_call",params:fr});return mo==="0x"?{data:void 0}:{data:mo}}catch(V){let me=D2(V),{offchainLookup:_e,offchainLookupSignature:qe}=await Promise.resolve().then(()=>(Jg(),Wg));if(e.ccipRead!==!1&&me?.slice(0,10)===qe&&k)return{data:await _e(e,{data:me,to:k})};throw U&&me?.slice(0,10)==="0x101bb98d"?new Mm({factory:p}):Nm(V,{...t,account:B,chain:e.chain})}}function B2({request:e}){let{data:t,to:r,...o}=e;return!(!t||t.startsWith(Dg)||!r||Object.values(o).filter(n=>typeof n<"u").length>0)}async function F2(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 Ot({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Oi})(),f=(typeof s=="bigint"?E(s):void 0)||i,{schedule:p}=pu({id:`${e.uid}.${f}`,wait:n,shouldSplitBatch(h){return h.reduce((y,{data:w})=>y+(w.length-2),0)>r*2},fn:async h=>{let b=h.map(C=>({allowFailure:!0,callData:C.data,target:C.to})),y=pe({abi:Pn,args:[b],functionName:"aggregate3"}),w=await e.request({method:"eth_call",params:[{...m===null?{data:Zg({code:ri,data:y})}:{to:m,data:y}},f]});return yt({abi:Pn,args:[b],functionName:"aggregate3",data:w||"0x"})}}),[{returnData:d,success:g}]=await p({data:a,to:c});if(!g)throw new br({data:d});return d==="0x"?{data:void 0}:{data:d}}function Zg(e){let{code:t,data:r}=e;return Tn({abi:km(["constructor(bytes, bytes)"]),bytecode:cu,args:[t,r]})}function M2(e){let{data:t,factory:r,factoryData:o,to:n}=e;return Tn({abi:km(["constructor(address, bytes, address, bytes)"]),bytecode:zg,args:[n,t,r,o]})}function D2(e){if(!(e instanceof x))return;let t=e.walk();return typeof t?.data=="object"?t.data?.data:t.data}var ni=S(()=>{Qi();Uf();xe();Zo();Ng();pa();H();Ui();Eo();Ko();mu();It();Cn();F();Tf();Hs();lo();Wf();Vm();Yr()});var jl=mt(_a=>{"use strict";var s8=_a&&_a.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(_a,"__esModule",{value:!0});_a.encryptEnvVars=c8;var Ul=Lr("@noble/curves/ed25519"),Hl=s8(Lr("crypto"));function i8(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 a8(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}async function c8(e,t){let r=JSON.stringify({env:e}),o=Ul.x25519.utils.randomPrivateKey(),n=Ul.x25519.getPublicKey(o),s=i8(t),i=Ul.x25519.getSharedSecret(o,s),a=await Hl.default.subtle.importKey("raw",i,{name:"AES-GCM",length:256},!0,["encrypt"]),c=Hl.default.getRandomValues(new Uint8Array(12)),m=await Hl.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),a8(u)}});var qb=mt(Pa=>{"use strict";var m8=Pa&&Pa.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Pa,"__esModule",{value:!0});Pa.getComposeHash=l8;var u8=m8(Lr("crypto"));function Gl(e){return e==null?e:Array.isArray(e)?e.map(Gl):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=Gl(o),t},{}):e}function p8(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 f8(e){let t=Gl(e);return JSON.stringify(t,(r,o)=>typeof o=="number"&&(isNaN(o)||!isFinite(o))?null:o)}function l8(e,t=!1){t&&(e=p8(e));let r=f8(e);return u8.default.createHash("sha256").update(r,"utf8").digest("hex")}});var dx=mt(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.toBig=O.shrSL=O.shrSH=O.rotrSL=O.rotrSH=O.rotrBL=O.rotrBH=O.rotr32L=O.rotr32H=O.rotlSL=O.rotlSH=O.rotlBL=O.rotlBH=O.add5L=O.add5H=O.add4L=O.add4H=O.add3L=O.add3H=void 0;O.add=ax;O.fromBig=ql;O.split=Kb;var fp=BigInt(2**32-1),Vl=BigInt(32);function ql(e,t=!1){return t?{h:Number(e&fp),l:Number(e>>Vl&fp)}:{h:Number(e>>Vl&fp)|0,l:Number(e&fp)|0}}function Kb(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}=ql(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var Wb=(e,t)=>BigInt(e>>>0)<<Vl|BigInt(t>>>0);O.toBig=Wb;var Jb=(e,t,r)=>e>>>r;O.shrSH=Jb;var Zb=(e,t,r)=>e<<32-r|t>>>r;O.shrSL=Zb;var Yb=(e,t,r)=>e>>>r|t<<32-r;O.rotrSH=Yb;var Xb=(e,t,r)=>e<<32-r|t>>>r;O.rotrSL=Xb;var Qb=(e,t,r)=>e<<64-r|t>>>r-32;O.rotrBH=Qb;var ex=(e,t,r)=>e>>>r-32|t<<64-r;O.rotrBL=ex;var tx=(e,t)=>t;O.rotr32H=tx;var rx=(e,t)=>e;O.rotr32L=rx;var ox=(e,t,r)=>e<<r|t>>>32-r;O.rotlSH=ox;var nx=(e,t,r)=>t<<r|e>>>32-r;O.rotlSL=nx;var sx=(e,t,r)=>t<<r-32|e>>>64-r;O.rotlBH=sx;var ix=(e,t,r)=>e<<r-32|t>>>64-r;O.rotlBL=ix;function ax(e,t,r,o){let n=(t>>>0)+(o>>>0);return{h:e+r+(n/2**32|0)|0,l:n|0}}var cx=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);O.add3L=cx;var mx=(e,t,r,o)=>t+r+o+(e/2**32|0)|0;O.add3H=mx;var ux=(e,t,r,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0);O.add4L=ux;var px=(e,t,r,o,n)=>t+r+o+n+(e/2**32|0)|0;O.add4H=px;var fx=(e,t,r,o,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0)+(n>>>0);O.add5L=fx;var lx=(e,t,r,o,n,s)=>t+r+o+n+s+(e/2**32|0)|0;O.add5H=lx;var d8={fromBig:ql,split:Kb,toBig:Wb,shrSH:Jb,shrSL:Zb,rotrSH:Yb,rotrSL:Xb,rotrBH:Qb,rotrBL:ex,rotr32H:tx,rotr32L:rx,rotlSH:ox,rotlSL:nx,rotlBH:sx,rotlBL:ix,add:ax,add3L:cx,add3H:mx,add4L:ux,add4H:px,add5H:lx,add5L:fx};O.default=d8});var hx=mt(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});lp.crypto=void 0;var nn=Lr("node:crypto");lp.crypto=nn&&typeof nn=="object"&&"webcrypto"in nn?nn.webcrypto:nn&&typeof nn=="object"&&"randomBytes"in nn?nn:void 0});var Ex=mt(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.wrapXOFConstructorWithOpts=D.wrapConstructorWithOpts=D.wrapConstructor=D.Hash=D.nextTick=D.swap32IfBE=D.byteSwapIfBE=D.swap8IfBE=D.isLE=void 0;D.isBytes=yx;D.anumber=Kl;D.abytes=bi;D.ahash=h8;D.aexists=g8;D.aoutput=y8;D.u8=b8;D.u32=x8;D.clean=w8;D.createView=v8;D.rotr=C8;D.rotl=E8;D.byteSwap=Jl;D.byteSwap32=bx;D.bytesToHex=S8;D.hexToBytes=I8;D.asyncLoop=_8;D.utf8ToBytes=Zl;D.bytesToUtf8=P8;D.toBytes=dp;D.kdfInputToBytes=T8;D.concatBytes=$8;D.checkOpts=R8;D.createHasher=wx;D.createOptHasher=vx;D.createXOFer=Cx;D.randomBytes=B8;var yi=hx();function yx(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Kl(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function bi(e,...t){if(!yx(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 h8(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Kl(e.outputLen),Kl(e.blockLen)}function g8(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 y8(e,t){bi(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function b8(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function x8(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function w8(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function v8(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function C8(e,t){return e<<32-t|e>>>t}function E8(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 bx(e){for(let t=0;t<e.length;t++)e[t]=Jl(e[t]);return e}D.swap32IfBE=D.isLE?e=>e:bx;var xx=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),k8=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function S8(e){if(bi(e),xx)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=k8[e[r]];return t}var oo={_0:48,_9:57,A:65,F:70,a:97,f:102};function gx(e){if(e>=oo._0&&e<=oo._9)return e-oo._0;if(e>=oo.A&&e<=oo.F)return e-(oo.A-10);if(e>=oo.a&&e<=oo.f)return e-(oo.a-10)}function I8(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(xx)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=gx(e.charCodeAt(s)),a=gx(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 A8=async()=>{};D.nextTick=A8;async function _8(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 Zl(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function P8(e){return new TextDecoder().decode(e)}function dp(e){return typeof e=="string"&&(e=Zl(e)),bi(e),e}function T8(e){return typeof e=="string"&&(e=Zl(e)),bi(e),e}function $8(...e){let t=0;for(let o=0;o<e.length;o++){let n=e[o];bi(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 R8(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 Wl=class{};D.Hash=Wl;function wx(e){let t=o=>e().update(dp(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function vx(e){let t=(o,n)=>e(n).update(dp(o)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=o=>e(o),t}function Cx(e){let t=(o,n)=>e(n).update(dp(o)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=o=>e(o),t}D.wrapConstructor=wx;D.wrapConstructorWithOpts=vx;D.wrapXOFConstructorWithOpts=Cx;function B8(e=32){if(yi.crypto&&typeof yi.crypto.getRandomValues=="function")return yi.crypto.getRandomValues(new Uint8Array(e));if(yi.crypto&&typeof yi.crypto.randomBytes=="function")return Uint8Array.from(yi.crypto.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}});var Rx=mt(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.shake256=fe.shake128=fe.keccak_512=fe.keccak_384=fe.keccak_256=fe.keccak_224=fe.sha3_512=fe.sha3_384=fe.sha3_256=fe.sha3_224=fe.Keccak=void 0;fe.keccakP=Tx;var $a=dx(),rt=Ex(),F8=BigInt(0),Ta=BigInt(1),M8=BigInt(2),D8=BigInt(7),N8=BigInt(256),z8=BigInt(113),Ix=[],Ax=[],_x=[];for(let e=0,t=Ta,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],Ix.push(2*(5*o+r)),Ax.push((e+1)*(e+2)/2%64);let n=F8;for(let s=0;s<7;s++)t=(t<<Ta^(t>>D8)*z8)%N8,t&M8&&(n^=Ta<<(Ta<<BigInt(s))-Ta);_x.push(n)}var Px=(0,$a.split)(_x,!0),L8=Px[0],O8=Px[1],kx=(e,t,r)=>r>32?(0,$a.rotlBH)(e,t,r):(0,$a.rotlSH)(e,t,r),Sx=(e,t,r)=>r>32?(0,$a.rotlBL)(e,t,r):(0,$a.rotlSL)(e,t,r);function Tx(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=kx(m,u,1)^r[a],p=Sx(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=Ax[i],c=kx(n,s,a),m=Sx(n,s,a),u=Ix[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]^=L8[o],e[1]^=O8[o]}(0,rt.clean)(r)}var Ln=class extends rt.Hash{constructor(t,r,o,n=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=r,this.outputLen=o,this.enableXOF=n,this.rounds=s,(0,rt.anumber)(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=(0,rt.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,rt.swap32IfBE)(this.state32),Tx(this.state32,this.rounds),(0,rt.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(t){(0,rt.aexists)(this),t=(0,rt.toBytes)(t),(0,rt.abytes)(t);let{blockLen:r,state:o}=this,n=t.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);for(let a=0;a<i;a++)o[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:o,blockLen:n}=this;t[o]^=r,r&128&&o===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){(0,rt.aexists)(this,!1),(0,rt.abytes)(t),this.finish();let r=this.state,{blockLen:o}=this;for(let n=0,s=t.length;n<s;){this.posOut>=o&&this.keccak();let i=Math.min(o-this.posOut,s-n);t.set(r.subarray(this.posOut,this.posOut+i),n),this.posOut+=i,n+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return(0,rt.anumber)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,rt.aoutput)(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,rt.clean)(this.state)}_cloneInto(t){let{blockLen:r,suffix:o,outputLen:n,rounds:s,enableXOF:i}=this;return t||(t=new Ln(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=Ln;var sn=(e,t,r)=>(0,rt.createHasher)(()=>new Ln(t,e,r));fe.sha3_224=(()=>sn(6,144,224/8))();fe.sha3_256=(()=>sn(6,136,256/8))();fe.sha3_384=(()=>sn(6,104,384/8))();fe.sha3_512=(()=>sn(6,72,512/8))();fe.keccak_224=(()=>sn(1,144,224/8))();fe.keccak_256=(()=>sn(1,136,256/8))();fe.keccak_384=(()=>sn(1,104,384/8))();fe.keccak_512=(()=>sn(1,72,512/8))();var $x=(e,t,r)=>(0,rt.createXOFer)((o={})=>new Ln(t,e,o.dkLen===void 0?r:o.dkLen,!0));fe.shake128=(()=>$x(31,168,128/8))();fe.shake256=(()=>$x(31,136,256/8))()});var Bx=mt(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});Yl.verifyEnvEncryptPublicKey=j8;var U8=Rx(),H8=Lr("@noble/curves/secp256k1");function j8(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,U8.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=H8.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 hA}from"node:fs";import{dirname as gA,join as yA}from"node:path";import{fileURLToPath as bA}from"node:url";import{ZodError as e3}from"zod";import Da from"chalk";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 Wd(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??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 C5 from"arg";var b5={name:"help",shorthand:"h",description:"Show help information for the current command",type:"boolean",target:"help"},x5={name:"version",shorthand:"v",description:"Show CLI version",type:"boolean",target:"version"};var w5={name:"api-token",description:"API token used for authentication",type:"string",target:"apiToken",aliases:["api-key"],argumentName:"token"},Zn=[b5,x5],Yn=[w5];import Zd from"arg";function Yd(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=v5(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 Wd(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]=Zd.flag(()=>!0),o.set(c,{option:n,canonicalKey:s,target:i,negatedKey:c})}}return{spec:t,descriptors:r,negatedLookup:o}}function v5(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 Zd.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=[...Zn,...t?[...t]:[]],n=Yd(o),{permissive:s=!1,stopAtPositional:i=!1}=r,a=C5(n.spec,{argv:e,permissive:s,stopAtPositional:i}),{_:c,...m}=a;return{positionals:c??[],flags:m,flagConfig:n}}function ec(e){let{registry:t,executableName:r}=e,o=[];o.push(`Usage: ${r} <command> [options]`),o.push(""),o.push("Available commands:");for(let n of t.getChildren()){let s=n.command?.meta.description??n.group?.meta.description??"",i=n.name??"";o.push(` ${i.padEnd(18)}${s}`.trimEnd())}o.push(""),o.push("Global options:");for(let n of Zn)o.push(` ${qp(n).padEnd(24)}${n.description??""}`.trimEnd());return o.join(`
48
+ `)}function Xd(e){let{registry:t,executableName:r,groupPath:o}=e,n=t.getNode(o);if(!n?.group)return ec({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 Zn)s.push(` ${qp(m).padEnd(24)}${m.description??""}`.trimEnd());return s.join(`
49
+ `)}function Qd(e){let{executableName:t,definition:r,registry:o}=e,s=[E5({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=S5(m);s.push(` ${u.padEnd(18)}${m.description??""}`.trimEnd())}}let a=[...Zn,...r.meta.options??[]];if(a.length>0){s.push(""),s.push("Options:");for(let m of a)m.hidden||s.push(` ${qp(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 E5({executableName:e,definition:t}){let r=[e,...t.path],n=(t.meta.arguments??[]).map(c=>k5(c)).join(" "),i=(t.meta.options?.length??0)>0?" [options]":"",a=n?` ${n}`:"";return`Usage: ${r.join(" ")}${i}${a}`}function k5(e){let t=`<${e.name}>`;return e.variadic?`${t}...`:e.required===!1?`[${t}]`:t}function S5(e){return e.variadic?`<${e.name}...>`:e.required===!1?`<${e.name}>?`:`<${e.name}>`}function qp(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 Kp=!1;function Ke(e){Kp=e}function ut(){return Kp}function Wp(){return!Kp}import JS from"node:path";import cd from"fs-extra";import ZS from"@iarna/toml";import{z as xp}from"zod";var zx=Ti(p0(),1);import{ofetch as G8}from"ofetch";function f0(e){return{all:e=e||new Map,on:function(t,r){var o=e.get(t);o?o.push(r):e.set(t,[r])},off:function(t,r){var o=e.get(t);o&&(r?o.splice(o.indexOf(r)>>>0,1):e.set(t,[]))},emit:function(t,r){var o=e.get(t);o&&o.slice().map(function(n){n(r)}),(o=e.get("*"))&&o.slice().map(function(n){n(t,r)})}}}import{z as Ve}from"zod";import{z as an}from"zod";import{z as K}from"zod";import{z as cn}from"zod";function hn(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}pc();Fe();pc();var rf={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function yn(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?rf[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=ev(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 g0=rs("transaction",yn);function ev(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 Di(e,t){let r=(e.transactions??[]).map(o=>typeof o=="string"?o:yn(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 y0=rs("block",Di);function Ze(e,{args:t,eventName:r}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...r?{args:t,eventName:r}:{}}}Fe();pc();var of={"0x0":"reverted","0x1":"success"};function Ni(e,t){let r={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(o=>Ze(o)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?ye(e.transactionIndex):null,status:e.status?of[e.status]:null,type:e.type?rf[e.type]||e.type:null};return e.blobGasPrice&&(r.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(r.blobGasUsed=BigInt(e.blobGasUsed)),r}var b0=rs("transactionReceipt",Ni);H();lc();Ue();F();function er(e,t="hex"){let r=x0(e),o=ss(new Uint8Array(r.length));return r.encode(o),t==="hex"?Y(o.bytes):o.bytes}function x0(e){return Array.isArray(e)?sv(e.map(t=>x0(t))):iv(e)}function sv(e){let t=e.reduce((n,s)=>n+s.length,0),r=w0(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 iv(e){let t=typeof e=="string"?Me(e):e,r=w0(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 w0(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.")}Et();F();function C0(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",...ps({},s)])}return t}Ue();F();function fs(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=>Me(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))}Ue();F();function ls(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=>Me(i)):e.blobs,n=typeof e.commitments[0]=="string"?e.commitments.map(i=>Me(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();Ac();function fv(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 k0(e,t,r){return e&t^~e&r}function S0(e,t,r){return e&t^e&r^t&r}var _c=class extends ds{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=Sc(this.buffer)}update(t){hs(this),t=Li(t),xn(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=Sc(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){hs(this),kc(t,this),this.finished=!0;let{buffer:r,view:o,blockLen:n,isLE:s}=this,{pos:i}=this;r[i++]=128,ho(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(o,0),i=0);for(let f=i;f<n;f++)r[f]=0;fv(o,n-8,BigInt(this.length*8),s),this.process(o,0);let a=Sc(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()}},Hr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Ac();var dv=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]),go=new Uint32Array(64),Tc=class extends _c{constructor(t=32){super(64,t,8,!1),this.A=Hr[0]|0,this.B=Hr[1]|0,this.C=Hr[2]|0,this.D=Hr[3]|0,this.E=Hr[4]|0,this.F=Hr[5]|0,this.G=Hr[6]|0,this.H=Hr[7]|0}get(){let{A:t,B:r,C:o,D:n,E:s,F:i,G:a,H:c}=this;return[t,r,o,n,s,i,a,c]}set(t,r,o,n,s,i,a,c){this.A=t|0,this.B=r|0,this.C=o|0,this.D=n|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let f=0;f<16;f++,r+=4)go[f]=t.getUint32(r,!1);for(let f=16;f<64;f++){let p=go[f-15],d=go[f-2],g=tr(p,7)^tr(p,18)^p>>>3,h=tr(d,17)^tr(d,19)^d>>>10;go[f]=h+go[f-7]+g+go[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=tr(a,6)^tr(a,11)^tr(a,25),d=u+p+k0(a,c,m)+dv[f]+go[f]|0,h=(tr(o,2)^tr(o,13)^tr(o,22))+S0(o,n,s)|0;u=m,m=c,c=a,a=i+d|0,i=s,s=n,n=o,o=d+h|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(){ho(go)}destroy(){this.set(0,0,0,0,0,0,0,0),ho(this.buffer)}};var B0=Ic(()=>new Tc);var F0=B0;Ct();Ue();F();function M0(e,t){let r=t||"hex",o=F0(ce(e,{strict:!1})?Ft(e):e);return r==="bytes"?o:se(o)}function D0(e){let{commitment:t,version:r=1}=e,o=e.to??(typeof t=="string"?"hex":"bytes"),n=M0(t,"bytes");return n.set([r],0),o==="bytes"?n:Y(n)}function $c(e){let{commitments:t,version:r}=e,o=e.to??(typeof t[0]=="string"?"hex":"bytes"),n=[];for(let s of t)n.push(D0({commitment:s,to:o,version:r}));return n}H();var Rc=class extends x{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}},gs=class extends x{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}},Bc=class extends x{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}},Fc=class extends x{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${1}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}};lc();Bt();Ue();F();function N0(e){let t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?Me(e.data):e.data,o=Z(r);if(!o)throw new gs;if(o>761855)throw new Rc({maxSize:761855,size:o});let n=[],s=!0,i=0;for(;s;){let a=ss(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 Mc(e){let{data:t,kzg:r,to:o}=e,n=e.blobs??N0({data:t,to:o}),s=e.commitments??fs({blobs:n,kzg:r,to:o}),i=e.proofs??ls({blobs:n,commitments:s,kzg:r,to:o}),a=[];for(let c=0;c<n.length;c++)a.push({blob:n[c],commitment:s[c],proof:i[c]});return a}nt();gn();F();nf();rr();H();Ui();yo();kt();Bt();xo();Fe();function q0(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 vn({chainId:o})}Oc(e)}function K0(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new gs;for(let r of t){let o=Z(r),n=ye(Lt(r,0,1));if(o!==32)throw new Bc({hash:r,size:o});if(n!==1)throw new Fc({hash:r,version:n})}}Oc(e)}function Oc(e){let{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:o,to:n}=e;if(t<=0)throw new vn({chainId:t});if(n&&!X(n))throw new oe({address:n});if(o&&o>os)throw new Mt({maxFeePerGas:o});if(r&&o&&r>o)throw new lr({maxFeePerGas:o,maxPriorityFeePerGas:r})}function W0(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(t<=0)throw new vn({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>os)throw new Mt({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 vn({chainId:t});if(r||n)throw new x("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(o&&o>os)throw new Mt({maxFeePerGas:o})}Et();function Uc(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 wc({transaction:e})}rr();Et();kt();function Gi(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 vc({storageKey:n[s]});if(!X(o,{strict:!1}))throw new oe({address:o});t.push([o,n])}return t}function Hc(e,t){let r=Uc(e);return r==="eip1559"?Pv(e,t):r==="eip2930"?Tv(e,t):r==="eip4844"?_v(e,t):r==="eip7702"?Av(e,t):$v(e,t)}function Av(e,t){let{authorizationList:r,chainId:o,gas:n,nonce:s,to:i,value:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:f}=e;q0(e);let p=Gi(u),d=C0(r);return He(["0x04",er([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,...ps(e,t)])])}function _v(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:f}=e;K0(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,I=fs({blobs:C,kzg:k});if(typeof p>"u"&&(p=$c({commitments:I})),typeof d>"u"){let T=ls({blobs:C,commitments:I,kzg:k});d=Mc({blobs:C,commitments:I,proofs:T})}}let g=Gi(u),h=[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",g,a?E(a):"0x",p??[],...ps(e,t)],b=[],y=[],w=[];if(d)for(let C=0;C<d.length;C++){let{blob:k,commitment:I,proof:T}=d[C];b.push(k),y.push(I),w.push(T)}return He(["0x03",d?er([h,b,y,w]):er(h)])}function Pv(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:m,data:u}=e;Oc(e);let f=Gi(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,...ps(e,t)];return He(["0x02",er(p)])}function Tv(e,t){let{chainId:r,gas:o,data:n,nonce:s,to:i,value:a,accessList:c,gasPrice:m}=e;W0(e);let u=Gi(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,...ps(e,t)];return He(["0x01",er(f)])}function $v(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 xc({v:t.v});return d})(),f=Oe(t.r),p=Oe(t.s);m=[...m,E(u),f==="0x00"?"0x":f,p==="0x00"?"0x":p]}else r>0&&(m=[...m,E(r),"0x","0x"]);return er(m)}function ps(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=Oe(r.r),i=Oe(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 Z0={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}};Fe();var Y0={block:y0({format(e){return{transactions:e.transactions?.map(r=>{if(typeof r=="string")return r;let o=yn(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:g0({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:b0({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}}})};rr();kt();nt();F();function Rv(e,t){return Fv(e)?Bv(e):Hc(e,t)}var X0={transaction:Rv};function Bv(e){Mv(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 He(["0x7e",er(m)])}function Fv(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function Mv(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 df={blockTime:2e3,contracts:Z0,formatters:Y0,serializers:X0};var jc=hn({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 Vi=1,qi=hn({...df,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:{...df.contracts,disputeGameFactory:{[Vi]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[Vi]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[Vi]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[Vi]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:Vi}),Dv=hn({...qi,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://mainnet-preconf.base.org"]}}});Ui();function As({chain:e,currentChainId:t}){if(!e)throw new Nc;if(t!==e.id)throw new Dc({chain:e,currentChainId:t})}H();var je=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"})}},Ut=class extends x{constructor({docsPath:t,metaMessages:r,type:o}){super(`Account type "${o}" is not supported.`,{docsPath:t,metaMessages:r,name:"AccountTypeNotSupportedError"})}};var zm=hn({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 Pt}from"zod";import{z as P}from"zod";import{z as Ra}from"zod";import{z as Wt}from"zod";import{z as q}from"zod";import{z as J}from"zod";import{z as at}from"zod";import jE from"crypto";import{z as Br}from"zod";import{z as mr}from"zod";import{z as ke}from"zod";import{z as Mx}from"zod";import{z as Fr}from"zod";import{z as Ci}from"zod";import{z as On}from"zod";import{z as Pk}from"zod";import{z as Bk}from"zod";import{z as te}from"zod";import{z as $r}from"zod";import{z as Wk}from"zod";import{z as Ce}from"zod";import{z as L}from"zod";import{z as vi}from"zod";import{z as Dx}from"zod";import{z as ot}from"zod";import{z as Xx}from"zod";import{z as Tr}from"zod";import{z as $e}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 Lm=class extends x{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}};Ue();zt();ra();Kr();Vr();Co();var Yh="/docs/contract/encodeEventTopics";function Er(e){let{abi:t,eventName:r,args:o}=e,n=t[0];if(r){let c=ht({abi:t,name:r});if(!c)throw new Zi(r,{docsPath:Yh});n=c}if(n.type!=="event")throw new Zi(void 0,{docsPath:Yh});let s=Ne(n),i=vo(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)=>Xh({param:u,value:m[f][d]})):typeof m[f]<"u"&&m[f]!==null?Xh({param:u,value:m[f]}):null)??[])}return[i,...a]}function Xh({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return ne(Ft(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new Lm(e.type);return st([e],[t])}F();function Go(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 Om(e,t){let{address:r,abi:o,args:n,eventName:s,fromBlock:i,strict:a,toBlock:c}=t,m=Go(e,{method:"eth_newFilter"}),u=s?Er({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();It();we();H();Eo();In();Us();var d2=3;function At(e,{abi:t,address:r,args:o,docsPath:n,functionName:s,sender:i}){let a=e instanceof br?e:e instanceof x?e.walk(g=>"data"in g)||e.walk():{},{code:c,data:m,details:u,message:f,shortMessage:p}=a,d=(()=>e instanceof Ht?new Fm({functionName:s}):[d2,ir.code].includes(c)&&(m||u||f||p)?new Sn({abi:t,data:typeof m=="object"?m.data:m,functionName:s,message:a instanceof ko?u:p??f}):e)();return new Os(d,{abi:t,args:o,contractAddress:r,docsPath:n,functionName:s,sender:i})}xe();H();bo();zt();function Um(e){let t=ne(`0x${e.substring(4)}`).substring(26);return Gr(`0x${t}`)}Ct();Bt();Fe();F();async function og({hash:e,signature:t}){let r=ce(e)?e:se(e),{secp256k1:o}=await import("@noble/curves/secp256k1");return`0x${(()=>{if(typeof t=="object"&&"r"in t&&"s"in t){let{r:m,s:u,v:f,yParity:p}=t,d=Number(p??f),g=rg(d);return new o.Signature(ie(m),ie(u)).addRecoveryBit(g)}let i=ce(t)?t:se(t);if(Z(i)!==65)throw new Error("invalid signature length");let a=ye(`0x${i.slice(130)}`),c=rg(a);return o.Signature.fromCompact(i.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function rg(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 Hm({hash:e,signature:t}){return Um(await og({hash:e,signature:t}))}nt();Ue();F();zt();function jm(e){let{chainId:t,nonce:r,to:o}=e,n=e.contractAddress??e.address,s=ne(He(["0x05",er([t?E(t):"0x",n,r?E(r):"0x"])]));return o==="bytes"?Me(s):s}async function Vo(e){let{authorization:t,signature:r}=e;return Hm({hash:jm(t),signature:r??t})}F();yc();as();H();Et();var Gm=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=bn({from:r?.address,to:f,value:typeof p<"u"&&`${is(p)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${De(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${De(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${De(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}};yo();na();function ng(e,{docsPath:t,...r}){let o=(()=>{let n=jo(e,r);return n instanceof Dt?e:n})();return new Gm(o,{docsPath:t,...r})}Hs();lo();Vm();Yr();xe();as();H();var qm=class extends x{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}},qo=class extends x{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}},Km=class extends x{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${De(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};Fe();H();var Gs=class extends x{constructor({blockHash:t,blockNumber:r}){let o="Block";t&&(o=`Block at hash "${t}"`),r&&(o=`Block at number "${r}"`),super(`${o} could not be found.`,{name:"BlockNotFoundError"})}};F();async function et(e,{blockHash:t,blockNumber:r,blockTag:o=e.experimental_blockTag??"latest",includeTransactions:n}={}){let s=n??!1,i=r!==void 0?E(r):void 0,a=null;if(t?a=await e.request({method:"eth_getBlockByHash",params:[t,s]},{dedupe:!0}):a=await e.request({method:"eth_getBlockByNumber",params:[i||o,s]},{dedupe:!!i}),!a)throw new Gs({blockHash:t,blockNumber:r});return(e.chain?.formatters?.block?.format||Di)(a,"getBlock")}async function Vs(e){let t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function ig(e,t){return $f(e,t)}async function $f(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,et,"getBlock")({}),c=await s({block:a,client:e,request:n});if(c===null)throw new Error;return c}if(typeof s<"u")return s;let i=await e.request({method:"eth_maxPriorityFeePerGas"});return ie(i)}catch{let[s,i]=await Promise.all([r?Promise.resolve(r):_(e,et,"getBlock")({}),_(e,Vs,"getGasPrice")({})]);if(typeof s.baseFeePerGas!="bigint")throw new qo;let a=i-s.baseFeePerGas;return a<0n?0n:a}}async function ag(e,t){return Wm(e,t)}async function Wm(e,t){let{block:r,chain:o=e.chain,request:n,type:s="eip1559"}=t||{},i=await(async()=>typeof o?.fees?.baseFeeMultiplier=="function"?o.fees.baseFeeMultiplier({block:r,client:e,request:n}):o?.fees?.baseFeeMultiplier??1.2)();if(i<1)throw new qm;let c=10**(i.toString().split(".")[1]?.length??0),m=p=>p*BigInt(Math.ceil(i*c))/BigInt(c),u=r||await _(e,et,"getBlock")({});if(typeof o?.fees?.estimateFeesPerGas=="function"){let p=await o.fees.estimateFeesPerGas({block:r,client:e,multiply:m,request:n,type:s});if(p!==null)return p}if(s==="eip1559"){if(typeof u.baseFeePerGas!="bigint")throw new qo;let p=typeof n?.maxPriorityFeePerGas=="bigint"?n.maxPriorityFeePerGas:await $f(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,Vs,"getGasPrice")({}))}}Fe();F();async function qs(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)}Yr();Fe();async function gt(e){let t=await e.request({method:"eth_chainId"},{dedupe:!0});return ye(t)}var sa=["blobVersionedHashes","chainId","fees","gas","nonce","type"],cg=new Map;async function kr(e,t){let{account:r=e.account,blobs:o,chain:n,gas:s,kzg:i,nonce:a,nonceManager:c,parameters:m=sa,type:u}=t,f=r&&j(r),p={...t,...f?{from:f?.address}:{}},d;async function g(){return d||(d=await _(e,et,"getBlock")({blockTag:"latest"}),d)}let h;async function b(){return h||(n?n.id:typeof t.chainId<"u"?t.chainId:(h=await _(e,gt,"getChainId")({}),h))}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,qs,"getTransactionCount")({address:f.address,blockTag:"pending"});if((m.includes("blobVersionedHashes")||m.includes("sidecars"))&&o&&i){let y=fs({blobs:o,kzg:i});if(m.includes("blobVersionedHashes")){let w=$c({commitments:y,to:"hex"});p.blobVersionedHashes=w}if(m.includes("sidecars")){let w=ls({blobs:o,commitments:y,kzg:i}),C=Mc({blobs:o,commitments:y,proofs:w,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=Uc(p)}catch{let y=cg.get(e.uid);typeof y>"u"&&(y=typeof(await g())?.baseFeePerGas=="bigint",cg.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 g(),{maxFeePerGas:w,maxPriorityFeePerGas:C}=await Wm(e,{block:y,chain:n,request:p});if(typeof t.maxPriorityFeePerGas>"u"&&t.maxFeePerGas&&t.maxFeePerGas<C)throw new Km({maxPriorityFeePerGas:C});p.maxPriorityFeePerGas=C,p.maxFeePerGas=w}}else{if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")throw new qo;if(typeof t.gasPrice>"u"){let y=await g(),{gasPrice:w}=await Wm(e,{block:y,chain:n,request:p,type:"legacy"});p.gasPrice=w}}return m.includes("gas")&&typeof s>"u"&&(p.gas=await _(e,Ks,"estimateGas")({...p,account:f,prepare:f?.type==="local"?[]:["blobVersionedHashes"]})),Qe(p),delete p.parameters,p}async function Ks(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:g,maxFeePerBlobGas:h,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:w,value:C,stateOverride:k,...I}=o?await kr(e,{...t,parameters:s}):t,A=(typeof u=="bigint"?E(u):void 0)||f,B=js(k),N=await(async()=>{if(I.to)return I.to;if(a&&a.length>0)return await Vo({authorization:a[0]}).catch(()=>{throw new x("`to` is required. Could not infer from `authorizationList`")})})();Qe(t);let M=e.chain?.formatters?.transactionRequest?.format,G=(M||lt)({...Cr(I,{format:M}),account:n,accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,data:p,gas:d,gasPrice:g,maxFeePerBlobGas:h,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:w,to:N,value:C},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:B?[G,A??e.experimental_blockTag??"latest",B]:A?[G,A]:[G]}))}catch(i){throw ng(i,{...t,account:n,chain:e.chain})}}async function mg(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,Ks,"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})}}Co();we();An();Ue();zt();ra();we();sf();Bt();ra();ta();Vr();var ug="/docs/contract/decodeEventLog";function Ws(e){let{abi:t,data:r,strict:o,topics:n}=e,s=o??!0,[i,...a]=n;if(!i)throw new Xc({docsPath:ug});let c=t.find(h=>h.type==="event"&&i===vo(Ne(h)));if(!(c&&"name"in c)||c.type!=="event")throw new Ts(i,{docsPath:ug});let{name:m,inputs:u}=c,f=u?.some(h=>!("name"in h&&h.name)),p=f?[]:{},d=u.map((h,b)=>[h,b]).filter(([h])=>"indexed"in h&&h.indexed);for(let h=0;h<d.length;h++){let[b,y]=d[h],w=a[h];if(!w)throw new dr({abiItem:c,param:b});p[f?y:b.name||y]=g2({param:b,value:w})}let g=u.filter(h=>!("indexed"in h&&h.indexed));if(g.length>0){if(r&&r!=="0x")try{let h=Wr(g,r);if(h)if(f)for(let b=0;b<u.length;b++)p[b]=p[b]??h.shift();else for(let b=0;b<g.length;b++)p[g[b].name]=h[b]}catch(h){if(s)throw h instanceof _s||h instanceof ns?new nr({abiItem:c,data:r,params:g,size:Z(r)}):h}else if(s)throw new nr({abiItem:c,data:"0x",params:g,size:0})}return{eventName:m,args:Object.values(p).length>0?p:void 0}}function g2({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Wr([e],t)||[])[0]}function ar(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]===vo(m));if(!a)return null;let c=Ws({...i,abi:[a],strict:n});return s&&!s.includes(c.eventName)||!y2({args:c.args,inputs:a.inputs,matchArgs:r})?null:{...c,...i}}catch(a){let c,m;if(a instanceof Ts)return null;if(a instanceof nr||a instanceof dr){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 y2(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"?Vt(i,a):s.type==="string"||s.type==="bytes"?ne(Ft(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 Js(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(h=>Er({abi:[h],eventName:h.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(g=>Ze(g));return u?ar({abi:u,args:a,logs:d,strict:m}):d}async function Jm(e,t){let{abi:r,address:o,args:n,blockHash:s,eventName:i,fromBlock:a,toBlock:c,strict:m}=t,u=i?ht({abi:r,name:i}):void 0,f=u?void 0:r.filter(p=>p.type==="event");return _(e,Js,"getLogs")({address:o,args:n,blockHash:s,event:u,events:f,fromBlock:a,toBlock:c,strict:m})}Ko();It();ni();async function Te(e,t){let{abi:r,address:o,args:n,functionName:s,...i}=t,a=pe({abi:r,args:n,functionName:s});try{let{data:c}=await _(e,Ar,"call")({...i,data:a,to:o});return yt({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();Ko();It();ni();async function Yg(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=yt({abi:r,args:n,functionName:i,data:u||"0x"}),p=r.filter(d=>"name"in d&&d.name===t.functionName);return{result:f,request:{abi:p,address:o,args:n,dataSuffix:s,functionName:i,...a,account:c}}}catch(u){throw At(u,{abi:r,address:o,args:n,docsPath:"/docs/contract/simulateContract",functionName:i,sender:c?.address})}}we();Us();var Qf=new Map,Xg=new Map,N2=0;function tt(e,t,r){let o=++N2,n=()=>Qf.get(e)||[],s=()=>{let u=n();Qf.set(e,u.filter(f=>f.id!==o))},i=()=>{let u=n();if(!u.some(p=>p.id===o))return;let f=Xg.get(e);if(u.length===1&&f){let p=f();p instanceof Promise&&p.catch(()=>{})}s()},a=n();if(Qf.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"&&Xg.set(e,m),i}async function la(e){return new Promise(t=>setTimeout(t,e))}function Kt(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 la(c);let m=async()=>{n&&(await e({unpoll:s}),await la(o),m())};m()})(),s}Ye();var z2=new Map,L2=new Map;function Qg(e){let t=(n,s)=>({clear:()=>s.delete(n),get:()=>s.get(n),set:i=>s.set(n,i)}),r=t(e,z2),o=t(e,L2);return{clear:()=>{r.clear(),o.clear()},promise:r,response:o}}async function ey(e,{cacheKey:t,cacheTime:r=Number.POSITIVE_INFINITY}){let o=Qg(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 O2=e=>`blockNumber.${e}`;async function _r(e,{cacheTime:t=e.cacheTime}={}){let r=await ey(()=>e.request({method:"eth_blockNumber"}),{cacheKey:O2(e.uid),cacheTime:t});return BigInt(r)}async function Yo(e,{filter:t}){let r="strict"in t&&t.strict,o=await t.request({method:"eth_getFilterChanges",params:[t.id]});if(typeof o[0]=="string")return o;let n=o.map(s=>Ze(s));return!("abi"in t)||!t.abi?n:ar({abi:t.abi,logs:n,strict:r})}async function Xo(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function ty(e,t){let{abi:r,address:o,args:n,batch:s=!0,eventName:i,fromBlock:a,onError:c,onLogs:m,poll:u,pollingInterval:f=e.pollingInterval,strict:p}=t;return(()=>typeof u<"u"?u:typeof a=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))()?(()=>{let b=p??!1,y=W(["watchContractEvent",o,n,s,e.uid,i,f,b,a]);return tt(y,{onLogs:m,onError:c},w=>{let C;a!==void 0&&(C=a-1n);let k,I=!1,T=Kt(async()=>{if(!I){try{k=await _(e,Om,"createContractEventFilter")({abi:r,address:o,args:n,eventName:i,strict:b,fromBlock:a})}catch{}I=!0;return}try{let A;if(k)A=await _(e,Yo,"getFilterChanges")({filter:k});else{let B=await _(e,_r,"getBlockNumber")({});C&&C<B?A=await _(e,Jm,"getContractEvents")({abi:r,address:o,args:n,eventName:i,fromBlock:C+1n,toBlock:B,strict:b}):A=[],C=B}if(A.length===0)return;if(s)w.onLogs(A);else for(let B of A)w.onLogs([B])}catch(A){k&&A instanceof Gt&&(I=!1),w.onError?.(A)}},{emitOnBegin:!0,interval:f});return async()=>{k&&await _(e,Xo,"uninstallFilter")({filter:k}),T()}})})():(()=>{let b=p??!1,y=W(["watchContractEvent",o,n,s,e.uid,i,f,b]),w=!0,C=()=>w=!1;return tt(y,{onLogs:m,onError:c},k=>((async()=>{try{let I=(()=>{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?Er({abi:r,eventName:i,args:n}):[],{unsubscribe:A}=await I.subscribe({params:["logs",{address:o,topics:T}],onData(B){if(!w)return;let N=B.result;try{let{eventName:M,args:U}=Ws({abi:r,data:N.data,topics:N.topics,strict:p}),G=Ze(N,{args:U,eventName:M});k.onLogs([G])}catch(M){let U,G;if(M instanceof nr||M instanceof dr){if(p)return;U=M.abiItem.name,G=M.abiItem.inputs?.some(me=>!("name"in me&&me.name))}let V=Ze(N,{args:G?[]:{},eventName:U});k.onLogs([V])}},onError(B){k.onError?.(B)}});C=A,w||C()}catch(I){c?.(I)}})(),()=>C()))})()}xe();It();xe();H();yo();Et();na();function si(e,{docsPath:t,...r}){let o=(()=>{let n=jo(e,r);return n instanceof Dt?e:n})();return new Cc(o,{docsPath:t,...r})}Hs();lo();Ss();Yr();async function ii(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}var el=new Nt(128);async function Qo(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:g,value:h,...b}=t;if(typeof r>"u")throw new je({docsPath:"/docs/actions/wallet/sendTransaction"});let y=r?j(r):null;try{Qe(t);let w=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await Vo({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,gt,"getChainId")({}),As({currentChainId:C,chain:o}));let k=e.chain?.formatters?.transactionRequest?.format,T=(k||lt)({...Cr(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:w,type:g,value:h},"sendTransaction"),A=el.get(e.uid),B=A?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:B,params:[T]},{retryCount:0})}catch(N){if(A===!1)throw N;let M=N;if(M.name==="InvalidInputRpcError"||M.name==="InvalidParamsRpcError"||M.name==="MethodNotFoundRpcError"||M.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[T]},{retryCount:0}).then(U=>(el.set(e.uid,!0),U)).catch(U=>{let G=U;throw G.name==="MethodNotFoundRpcError"||G.name==="MethodNotSupportedRpcError"?(el.set(e.uid,!1),M):G});throw M}}if(y?.type==="local"){let C=await _(e,kr,"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:[...sa,"sidecars"],type:g,value:h,...b,to:w}),k=o?.serializers?.transaction,I=await y.signTransaction(C,{serializer:k});return await _(e,ii,"sendRawTransaction")({serializedTransaction:I})}throw y?.type==="smart"?new Ut({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Ut({docsPath:"/docs/actions/wallet/sendTransaction",type:y?.type})}catch(w){throw w instanceof Ut?w:si(w,{...t,account:y,chain:t.chain||void 0})}}async function $n(e,t){return $n.internal(e,Qo,"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 je({docsPath:"/docs/contract/writeContract"});let d=a?j(a):null,g=pe({abi:i,args:m,functionName:f});try{return await _(r,o,n)({data:`${g}${u?u.replace("0x",""):""}`,to:c,account:d,...p})}catch(h){throw At(h,{abi:i,address:c,args:m,docsPath:"/docs/contract/writeContract",functionName:f,sender:d?.address})}}e.internal=t})($n||($n={}));H();H();var hu=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}};uu();function Rn(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 la(u),i({count:a+1})};try{let m=await e();n(m)}catch(m){if(a<r&&await o({count:a,error:m}))return c({error:m});s(m)}};i()})}Ye();xo();gn();Fe();xe();H();Us();It();nt();Fe();F();var tl="0x5792579257925792579257925792579257925792579257925792579257925792",rl=E(0,{size:32});async function gu(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,g=d.abi?pe({abi:d.abi,functionName:d.functionName,args:d.args}):d.data;return{data:d.dataSuffix&&g?Pe([g,d.dataSuffix]):g,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(w=>!w.optional)){let w="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new wr(new x(w,{details:w}))}if(a&&f.length>1){let y="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new vr(new x(y,{details:y}))}let g=[];for(let y of f){let w=Qo(e,{account:u,chain:n,data:y.data,to:y.to,value:y.value?ie(y.value):void 0});g.push(w),i>0&&await new Promise(C=>setTimeout(C,i))}let h=await Promise.allSettled(g);if(h.every(y=>y.status==="rejected"))throw h[0].reason;let b=h.map(y=>y.status==="fulfilled"?y.value:rl);return{id:Pe([...b,E(n.id,{size:32}),tl])}}throw si(p,{...t,account:u,chain:t.chain})}}async function yu(e,t){async function r(u){if(u.endsWith(tl.slice(2))){let p=Oe(Lc(u,-64,-32)),d=Lc(u,0,-64).slice(2).match(/.{1,64}/g),g=await Promise.all(d.map(b=>rl.slice(2)!==b?e.request({method:"eth_getTransactionReceipt",params:[`0x${b}`]},{dedupe:!0}):void 0)),h=(()=>g.some(b=>b===null)?100:g.every(b=>b?.status==="0x1")?200:g.every(b=>b?.status==="0x0")?500:600)();return{atomic:!1,chainId:ye(p),receipts:g.filter(Boolean),status:h,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:of[u.status]}))??[],statusCode:m,status:c,version:i}}async function bu(e,t){let{id:r,pollingInterval:o=e.pollingInterval,status:n=({statusCode:h})=>h===200||h>=300,retryCount:s=4,retryDelay:i=({count:h})=>~~(1<<h)*200,timeout:a=6e4,throwOnFailure:c=!1}=t,m=W(["waitForCallsStatus",e.uid,r]),{promise:u,resolve:f,reject:p}=oi(),d,g=tt(m,{resolve:f,reject:p},h=>{let b=Kt(async()=>{let y=w=>{clearTimeout(d),b(),w(),g()};try{let w=await Rn(async()=>{let C=await _(e,yu,"getCallsStatus")({id:r});if(c&&C.status==="failure")throw new hu(C);return C},{retryCount:s,delay:i});if(!n(w))return;y(()=>h.resolve(w))}catch(w){y(()=>h.reject(w))}},{interval:o,emitOnBegin:!0});return b});return d=a?setTimeout(()=>{g(),clearTimeout(d),p(new ol({id:r}))},a):void 0,await u}var ol=class extends x{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}};xe();var xu=256,wu;function vu(e=11){if(!wu||xu+e>256*2){wu="",xu=0;for(let t=0;t<256;t++)wu+=(256+Math.random()*256|0).toString(16).substring(1)}return wu.substring(xu,xu+++e)}function Cu(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:g,value:h}=e.transport({chain:r,pollingInterval:u}),b={...d,...h},y={account:p,batch:t,cacheTime:f,ccipRead:o,chain:r,key:n,name:s,pollingInterval:u,request:g,transport:b,type:i,uid:vu(),...a?{experimental_blockTag:a}:{}};function w(C){return k=>{let I=k(C);for(let A in y)delete I[A];let T={...C,...I};return Object.assign(T,{extend:w(T)})}}return Object.assign(y,{extend:w(y)})}Zo();Ko();It();Cn();gn();F();H();Eo();function ai(e){if(!(e instanceof x))return!1;let t=e.walk(r=>r instanceof Sn);return t instanceof Sn?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}fa();nt();Ue();F();zt();Ct();function Eu(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 da(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=Eu(r[o]),s=n?Ft(n):ne(Qt(r[o]),"bytes");t=ne(Pe([t,s]),"bytes")}return Y(t)}Ue();function ry(e){return`[${e.slice(2)}]`}Ue();F();zt();function oy(e){let t=new Uint8Array(32).fill(0);return e?Eu(e)||ne(Qt(e)):Y(t)}function ci(e){let t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);let r=new Uint8Array(Qt(t).byteLength+2),o=0,n=t.split(".");for(let s=0;s<n.length;s++){let i=Qt(n[s]);i.byteLength>255&&(i=Qt(ry(oy(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 ny(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 Ot({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c?.ensTlds;if(u&&!u.some(p=>s.endsWith(p)))return null;let f=(()=>n!=null?[da(s),BigInt(n)]:[da(s)])();try{let p=pe({abi:jf,functionName:"addr",args:f}),d={address:m,abi:au,functionName:"resolveWithGateways",args:[se(ci(s)),p,i??[eo]],blockNumber:r,blockTag:o},h=await _(e,Te,"readContract")(d);if(h[0]==="0x")return null;let b=yt({abi:jf,args:f,functionName:"addr",data:h[0]});return b==="0x"||Oe(b)==="0x00"?null:b}catch(p){if(a)throw p;if(ai(p))return null;throw p}}H();var ku=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"})}},en=class extends x{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}},mi=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"})}},Su=class extends x{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}};var U2=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,H2=/^(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>\/.*)?$/,j2=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,G2=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function V2(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 sy(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function nl({uri:e,gatewayUrls:t}){let r=j2.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};let o=sy(t?.ipfs,"https://ipfs.io"),n=sy(t?.arweave,"https://arweave.net"),s=e.match(U2),{protocol:i,subpath:a,target:c,subtarget:m=""}=s?.groups||{},u=i==="ipns:/"||a==="ipns/",f=i==="ipfs:/"||a==="ipfs/"||H2.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(G2,"");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 mi({uri:e})}function sl(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new ku({data:e});return e.image||e.image_url||e.image_data}async function iy({gatewayUrls:e,uri:t}){try{let r=await fetch(t).then(n=>n.json());return await Iu({gatewayUrls:e,uri:sl(r)})}catch{throw new mi({uri:t})}}async function Iu({gatewayUrls:e,uri:t}){let{uri:r,isOnChain:o}=nl({uri:t,gatewayUrls:e});if(o||await V2(r))return r;throw new mi({uri:t})}function ay(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 en({reason:"Only EIP-155 supported"});if(!i)throw new en({reason:"Chain ID not found"});if(!c)throw new en({reason:"Contract address not found"});if(!n)throw new en({reason:"Token ID not found"});if(!a)throw new en({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i,10),namespace:a.toLowerCase(),contractAddress:c,tokenID:n}}async function cy(e,{nft:t}){if(t.namespace==="erc721")return Te(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if(t.namespace==="erc1155")return Te(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new Su({namespace:t.namespace})}async function my(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?q2(e,{gatewayUrls:t,record:r}):Iu({uri:r,gatewayUrls:t})}async function q2(e,{gatewayUrls:t,record:r}){let o=ay(r),n=await cy(e,{nft:o}),{uri:s,isOnChain:i,isEncoded:a}=nl({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 Iu({uri:sl(u),gatewayUrls:t})}let c=o.tokenID;return o.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),iy({gatewayUrls:t,uri:s.replace(/(?:0x)?{id}/,c)})}Zo();Ko();It();Cn();F();fa();async function Au(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 Ot({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:au,args:[se(ci(s)),pe({abi:Hf,functionName:"text",args:[da(s),n]}),i??[eo]],functionName:"resolveWithGateways",blockNumber:r,blockTag:o},d=await _(e,Te,"readContract")(f);if(d[0]==="0x")return null;let g=yt({abi:Hf,functionName:"text",data:d[0]});return g===""?null:g}catch(f){if(a)throw f;if(ai(f))return null;throw f}}async function uy(e,{blockNumber:t,blockTag:r,assetGatewayUrls:o,name:n,gatewayUrls:s,strict:i,universalResolverAddress:a}){let c=await _(e,Au,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:n,universalResolverAddress:a,gatewayUrls:s,strict:i});if(!c)return null;try{return await my(e,{record:c,gatewayUrls:o})}catch{return null}}Zo();Cn();fa();async function py(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 Ot({blockNumber:o,chain:c,contract:"ensUniversalResolver"})})();try{let u={address:m,abi:Mg,args:[r,s,i??[eo]],functionName:"reverseWithGateways",blockNumber:o,blockTag:n},f=_(e,Te,"readContract"),[p]=await f(u);return p||null}catch(u){if(a)throw u;if(ai(u))return null;throw u}}Cn();F();async function fy(e,t){let{blockNumber:r,blockTag:o,name:n}=t,{chain:s}=e,i=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!s)throw new Error("client chain not configured. universalResolverAddress is required.");return Ot({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,Te,"readContract")({address:i,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[se(ci(n))],blockNumber:r,blockTag:o});return c}ni();xe();F();Tf();Hs();lo();Yr();async function _u(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,...g}=t,h=r?j(r):void 0;try{Qe(t);let y=(typeof o=="bigint"?E(o):void 0)||n,w=e.chain?.formatters?.transactionRequest?.format,k=(w||lt)({...Cr(g,{format:w}),account:h,blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:m,maxFeePerGas:u,maxPriorityFeePerGas:f,to:p,value:d},"createAccessList"),I=await e.request({method:"eth_createAccessList",params:[k,y]});return{accessList:I.accessList,gasUsed:BigInt(I.gasUsed)}}catch(b){throw Nm(b,{...t,account:h,chain:e.chain})}}async function ly(e){let t=Go(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}F();async function Pu(e,{address:t,args:r,event:o,events:n,fromBlock:s,strict:i,toBlock:a}={}){let c=n??(o?[o]:void 0),m=Go(e,{method:"eth_newFilter"}),u=[];c&&(u=[c.flatMap(d=>Er({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 Tu(e){let t=Go(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}F();async function dy(e,{address:t,blockNumber:r,blockTag:o=e.experimental_blockTag??"latest"}){let n=typeof r=="bigint"?E(r):void 0,s=await e.request({method:"eth_getBalance",params:[t,n||o]});return BigInt(s)}async function hy(e){let t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}Fe();F();async function gy(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 ha(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 $u=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 yy(e,t){let{address:r,factory:o,factoryData:n}=t;try{let[s,i,a,c,m,u,f]=await _(e,Te,"readContract")({abi:K2,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 $u({address:r}):i}}var K2=[{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 by(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 xy(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 by(i)}async function wy(e,{filter:t}){let r=t.strict??!1,n=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(s=>Ze(s));return t.abi?ar({abi:t.abi,logs:n,strict:r}):n}F();bo();An();async function vy({address:e,authorization:t,signature:r}){return Vt(Is(e),await Vo({authorization:t,signature:r}))}H();In();Us();F();Ss();var Ru=new Nt(8192);function Cy(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(Ru.get(r))return Ru.get(r);let o=e().finally(()=>Ru.delete(r));return Ru.set(r,o),o}Ye();function Ey(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 xr(new Error("method not supported"),{method:m});if(s?.include&&!s.include.includes(m))throw new xr(new Error("method not supported"),{method:m});let u=n?Xt(`${c}.${W(r)}`):void 0;return Cy(()=>Rn(async()=>{try{return await e(r)}catch(f){let p=f;switch(p.code){case So.code:throw new So(p);case Io.code:throw new Io(p);case Ao.code:throw new Ao(p,{method:r.method});case _o.code:throw new _o(p);case ir.code:throw new ir(p);case Gt.code:throw new Gt(p);case Po.code:throw new Po(p);case To.code:throw new To(p);case $o.code:throw new $o(p);case xr.code:throw new xr(p,{method:r.method});case Jr.code:throw new Jr(p);case Ro.code:throw new Ro(p);case Zr.code:throw new Zr(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 No.code:throw new No(p);case wr.code:throw new wr(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 Ho.code:throw new Ho(p);case vr.code:throw new vr(p);case 5e3:throw new Zr(p);default:throw f instanceof x?f:new Dm(p)}}},{delay:({count:f,error:p})=>{if(p&&p instanceof jt){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})=>W2(f)}),{enabled:n,id:u})}}function W2(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===Jr.code||e.code===ir.code:e instanceof jt&&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}Fe();F();In();function ky(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:o}){return new Promise((n,s)=>{(async()=>{let i;try{let a=new AbortController;r>0&&(i=setTimeout(()=>{o?a.abort():s(t)},r)),n(await e({signal:a?.signal||null}))}catch(a){a?.name==="AbortError"&&s(t),s(a)}finally{clearTimeout(i)}})()})}Ye();function J2(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var il=J2();function Sy(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 ky(async({signal:g})=>{let h={...c,body:Array.isArray(o)?W(o.map(C=>({jsonrpc:"2.0",id:C.id??il.take(),...C}))):W({jsonrpc:"2.0",id:o.id??il.take(),...o}),headers:{"Content-Type":"application/json",...m},method:u||"POST",signal:f||(a>0?g:null)},b=new Request(e,h),y=await s?.(b,h)??{...h,url:e};return await n(y.url??e,y)},{errorInstance:new oa({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(g){if(p.ok)throw g;d={error:d}}}if(!p.ok)throw new jt({body:o,details:W(d.error)||p.statusText,headers:p.headers,status:p.status,url:e});return d}catch(p){throw p instanceof jt||p instanceof oa?p:new jt({body:o,cause:p,url:e})}}}}zt();var Iy=`Ethereum Signed Message:
52
+ `;nt();Bt();F();function Ay(e){let t=(()=>typeof e=="string"?Xt(e):typeof e.raw=="string"?e.raw:Y(e.raw))(),r=Xt(`${Iy}${Z(t)}`);return Pe([r,t])}function ui(e,t){return ne(Ay(e),t)}Kr();nt();F();zt();we();rr();Ye();H();var Bu=class extends x{constructor({domain:t}){super(`Invalid domain "${W(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}},Fu=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`."]})}},Mu=class extends x{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}};kt();Bt();F();Cf();Ye();function _y(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 Du(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(_m);if(p&&(typeof f=="number"||typeof f=="bigint")){let[h,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(Gh);if(d){let[h,b]=d;if(b&&Z(f)!==Number.parseInt(b,10))throw new tm({expectedSize:Number.parseInt(b,10),givenSize:Z(f)})}let g=n[u];g&&(Z2(u),s(g,f))}};if(n.EIP712Domain&&t){if(typeof t!="object")throw new Bu({domain:t});s(n.EIP712Domain,t)}if(o!=="EIP712Domain")if(n[o])s(n[o],r);else throw new Fu({primaryType:o,types:n})}function Nu({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 Z2(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new Mu({type:e})}function zu(e){let{domain:t={},message:r,primaryType:o}=e,n={EIP712Domain:Nu({domain:t}),...e.types};Du({domain:t,message:r,primaryType:o,types:n});let s=["0x1901"];return t&&s.push(Y2({domain:t,types:n})),o!=="EIP712Domain"&&s.push(Py({data:r,primaryType:o,types:n})),ne(Pe(s))}function Y2({domain:e,types:t}){return Py({data:e,primaryType:"EIP712Domain",types:t})}function Py({data:e,primaryType:t,types:r}){let o=Ty({data:e,primaryType:t,types:r});return ne(o)}function Ty({data:e,primaryType:t,types:r}){let o=[{type:"bytes32"}],n=[X2({primaryType:t,types:r})];for(let s of r[t]){let[i,a]=Ry({types:r,name:s.name,type:s.type,value:e[s.name]});o.push(i),n.push(a)}return st(o,n)}function X2({primaryType:e,types:t}){let r=se(Q2({primaryType:e,types:t}));return ne(r)}function Q2({primaryType:e,types:t}){let r="",o=$y({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 $y({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])$y({primaryType:s.type,types:t},r);return r}function Ry({types:e,name:t,type:r,value:o}){if(e[r]!==void 0)return[{type:"bytes32"},ne(Ty({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=>Ry({name:t,type:n,types:e,value:i}));return[{type:"bytes32"},ne(st(s.map(([i])=>i),s.map(([,i])=>i)))]}return[{type:r},o]}var Ca={};Vp(Ca,{InvalidWrappedSignatureError:()=>Qu,assert:()=>ep,from:()=>MC,magicBytes:()=>Rl,suffixParameters:()=>Bl,unwrap:()=>Qy,validate:()=>NC,wrap:()=>DC});Qi();Wo();var Lu=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 eC={checksum:new Lu(8192)},Ou=eC.checksum;bt();uf();Wo();Ge();function Bn(e,t={}){let{as:r=typeof e=="string"?"Hex":"Bytes"}=t,o=zc(kg(e));return r==="Bytes"?o:Ae(o)}Wo();bt();Ge();ca();function By(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 Uu({prefix:o,cause:new ul});return}if(r===!0||typeof n=="bigint"&&typeof s>"u"){if(o!==3&&o!==2)throw new Uu({prefix:o,cause:new ml});return}throw new cl({publicKey:e})}function Fy(e){let t=(()=>{if(ua(e))return My(e);if(Tg(e))return rC(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 By(t),t}function rC(e){return My(Ae(e))}function My(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new pl({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 fl(e,t={}){By(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 cl=class extends R{constructor({publicKey:t}){super(`Value \`${Jo(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"})}},Uu=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"})}},ml=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"})}},ul=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"})}},pl=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(ei(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};var oC=/^0x[a-fA-F0-9]{40}$/;function Fn(e,t={}){let{strict:r=!0}=t;if(!oC.test(e))throw new Hu({address:e,cause:new ll});if(r){if(e.toLowerCase()===e)return;if(ju(e)!==e)throw new Hu({address:e,cause:new dl})}}function ju(e){if(Ou.has(e))return Ou.get(e);Fn(e,{strict:!1});let t=e.substring(2).toLowerCase(),r=Bn(Sg(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 Ou.set(e,n),n}function nC(e,t={}){let{checksum:r=!1}=t;return Fn(e),r?ju(e):e}function Ny(e,t={}){let r=Bn(`0x${fl(e).slice(4)}`).substring(26);return nC(`0x${r}`,t)}function Gu(e,t={}){let{strict:r=!0}=t??{};try{return Fn(e,{strict:r}),!0}catch{return!1}}var Hu=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"})}},ll=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"})}},dl=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"})}};Wo();bt();Ge();Wo();bt();Ge();var zy=/^(.*)\[([0-9]*)\]$/,Ly=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,qu=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,BH=2n**(8n-1n)-1n,FH=2n**(16n-1n)-1n,MH=2n**(24n-1n)-1n,DH=2n**(32n-1n)-1n,NH=2n**(40n-1n)-1n,zH=2n**(48n-1n)-1n,LH=2n**(56n-1n)-1n,OH=2n**(64n-1n)-1n,UH=2n**(72n-1n)-1n,HH=2n**(80n-1n)-1n,jH=2n**(88n-1n)-1n,GH=2n**(96n-1n)-1n,VH=2n**(104n-1n)-1n,qH=2n**(112n-1n)-1n,KH=2n**(120n-1n)-1n,WH=2n**(128n-1n)-1n,JH=2n**(136n-1n)-1n,ZH=2n**(144n-1n)-1n,YH=2n**(152n-1n)-1n,XH=2n**(160n-1n)-1n,QH=2n**(168n-1n)-1n,ej=2n**(176n-1n)-1n,tj=2n**(184n-1n)-1n,rj=2n**(192n-1n)-1n,oj=2n**(200n-1n)-1n,nj=2n**(208n-1n)-1n,sj=2n**(216n-1n)-1n,ij=2n**(224n-1n)-1n,aj=2n**(232n-1n)-1n,cj=2n**(240n-1n)-1n,mj=2n**(248n-1n)-1n,uj=2n**(256n-1n)-1n,pj=-(2n**(8n-1n)),fj=-(2n**(16n-1n)),lj=-(2n**(24n-1n)),dj=-(2n**(32n-1n)),hj=-(2n**(40n-1n)),gj=-(2n**(48n-1n)),yj=-(2n**(56n-1n)),bj=-(2n**(64n-1n)),xj=-(2n**(72n-1n)),wj=-(2n**(80n-1n)),vj=-(2n**(88n-1n)),Cj=-(2n**(96n-1n)),Ej=-(2n**(104n-1n)),kj=-(2n**(112n-1n)),Sj=-(2n**(120n-1n)),Ij=-(2n**(128n-1n)),Aj=-(2n**(136n-1n)),_j=-(2n**(144n-1n)),Pj=-(2n**(152n-1n)),Tj=-(2n**(160n-1n)),$j=-(2n**(168n-1n)),Rj=-(2n**(176n-1n)),Bj=-(2n**(184n-1n)),Fj=-(2n**(192n-1n)),Mj=-(2n**(200n-1n)),Dj=-(2n**(208n-1n)),Nj=-(2n**(216n-1n)),zj=-(2n**(224n-1n)),Lj=-(2n**(232n-1n)),Oj=-(2n**(240n-1n)),Uj=-(2n**(248n-1n)),Hj=-(2n**(256n-1n)),jj=2n**8n-1n,Gj=2n**16n-1n,Vj=2n**24n-1n,qj=2n**32n-1n,Kj=2n**40n-1n,Wj=2n**48n-1n,Jj=2n**56n-1n,Zj=2n**64n-1n,Yj=2n**72n-1n,Xj=2n**80n-1n,Qj=2n**88n-1n,eG=2n**96n-1n,tG=2n**104n-1n,rG=2n**112n-1n,oG=2n**120n-1n,nG=2n**128n-1n,sG=2n**136n-1n,iG=2n**144n-1n,aG=2n**152n-1n,cG=2n**160n-1n,mG=2n**168n-1n,uG=2n**176n-1n,pG=2n**184n-1n,fG=2n**192n-1n,lG=2n**200n-1n,dG=2n**208n-1n,hG=2n**216n-1n,gG=2n**224n-1n,yG=2n**232n-1n,bG=2n**240n-1n,xG=2n**248n-1n,hl=2n**256n-1n;function Mn(e,t,r){let{checksumAddress:o,staticPosition:n}=r,s=bl(t.type);if(s){let[i,a]=s;return iC(e,{...t,type:a},{checksumAddress:o,length:i,staticPosition:n})}if(t.type==="tuple")return uC(e,t,{checksumAddress:o,staticPosition:n});if(t.type==="address")return sC(e,{checksum:o});if(t.type==="bool")return aC(e);if(t.type.startsWith("bytes"))return cC(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return mC(e,t);if(t.type==="string")return pC(e,{staticPosition:n});throw new pi(t.type)}var Uy=32,gl=32;function sC(e,t={}){let{checksum:r=!1}=t,o=e.readBytes(32);return[(s=>r?ju(s):s)(Ae(Ig(o,-20))),32]}function iC(e,t,r){let{checksumAddress:o,length:n,staticPosition:s}=r;if(!n){let c=Sr(e.readBytes(gl)),m=s+c,u=m+Uy;e.setPosition(m);let f=Sr(e.readBytes(Uy)),p=ga(t),d=0,g=[];for(let h=0;h<f;++h){e.setPosition(u+(p?h*32:d));let[b,y]=Mn(e,t,{checksumAddress:o,staticPosition:u});d+=y,g.push(b)}return e.setPosition(s+32),[g,32]}if(ga(t)){let c=Sr(e.readBytes(gl)),m=s+c,u=[];for(let f=0;f<n;++f){e.setPosition(m+f*32);let[p]=Mn(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]=Mn(e,t,{checksumAddress:o,staticPosition:s+i});i+=u,a.push(m)}return[a,i]}function aC(e){return[_g(e.readBytes(32),{size:32}),32]}function cC(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=Sr(e.readBytes(32));e.setPosition(r+i);let a=Sr(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[Ae(c),32]}return[Ae(e.readBytes(Number.parseInt(n,10),32)),32]}function mC(e,t){let r=t.type.startsWith("int"),o=Number.parseInt(t.type.split("int")[1]||"256",10),n=e.readBytes(32);return[o>48?Ag(n,{signed:r}):Sr(n,{signed:r}),32]}function uC(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(ga(t)){let c=Sr(e.readBytes(gl)),m=n+c;for(let u=0;u<t.components.length;++u){let f=t.components[u];e.setPosition(m+a);let[p,d]=Mn(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]=Mn(e,m,{checksumAddress:o,staticPosition:n});i[s?c:m?.name]=u,a+=f}return[i,a]}function pC(e,{staticPosition:t}){let r=Sr(e.readBytes(32)),o=t+r;e.setPosition(o);let n=Sr(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=Pg(zf(s));return e.setPosition(t+32),[i,32]}function Hy({checksumAddress:e,parameters:t,values:r}){let o=[];for(let n=0;n<t.length;n++)o.push(yl({checksumAddress:e,parameter:t[n],value:r[n]}));return o}function yl({checksumAddress:e=!1,parameter:t,value:r}){let o=t,n=bl(o.type);if(n){let[s,i]=n;return lC(r,{checksumAddress:e,length:s,parameter:{...o,type:i}})}if(o.type==="tuple")return bC(r,{checksumAddress:e,parameter:o});if(o.type==="address")return fC(r,{checksum:e});if(o.type==="bool")return hC(r);if(o.type.startsWith("uint")||o.type.startsWith("int")){let s=o.type.startsWith("int"),[,,i="256"]=qu.exec(o.type)??[];return gC(r,{signed:s,size:Number(i)})}if(o.type.startsWith("bytes"))return dC(r,{type:o.type});if(o.type==="string")return yC(r);throw new pi(o.type)}function Ku(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 fC(e,t){let{checksum:r=!1}=t;return Fn(e,{strict:r}),{dynamic:!1,encoded:Qr(e.toLowerCase())}}function lC(e,t){let{checksumAddress:r,length:o,parameter:n}=t,s=o===null;if(!Array.isArray(e))throw new Ju(e);if(!s&&e.length!==o)throw new Wu({expectedLength:o,givenLength:e.length,type:`${n.type}[${o}]`});let i=!1,a=[];for(let c=0;c<e.length;c++){let m=yl({checksumAddress:r,parameter:n,value:e[c]});m.dynamic&&(i=!0),a.push(m)}if(s||i){let c=Ku(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 dC(e,{type:t}){let[,r]=t.split("bytes"),o=de(e);if(!r){let n=e;return o%32!==0&&(n=Ir(n,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:be(Qr(Q(o,{size:32})),n)}}if(o!==Number.parseInt(r,10))throw new ya({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:Ir(e)}}function hC(e){if(typeof e!="boolean")throw new R(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Qr(nu(e))}}function gC(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 ma({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 yC(e){let t=ti(e),r=Math.ceil(de(t)/32),o=[];for(let n=0;n<r;n++)o.push(Ir(he(t,n*32,(n+1)*32)));return{dynamic:!0,encoded:be(Ir(Q(de(t),{size:32})),...o)}}function bC(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=yl({checksumAddress:r,parameter:a,value:e[c]});s.push(m),m.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Ku(s):be(...s.map(({encoded:i})=>i))}}function bl(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function ga(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(ga);let r=bl(e.type);return!!(r&&ga({...e,type:r[1]}))}bt();var wC={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 wl({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new xl({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Zu({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 Zu({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 Yu(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(wC);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var Zu=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"})}},xl=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"})}},wl=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 fi(e,t,r={}){let{as:o="Array",checksumAddress:n=!1}=r,s=typeof t=="string"?Qs(t):t,i=Yu(s);if(qt(s)===0&&e.length>0)throw new El;if(qt(s)&&qt(s)<32)throw new Cl({data:typeof t=="string"?t:Ae(t),parameters:e,size:qt(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]=Mn(i,u,{checksumAddress:n,staticPosition:0});a+=p,o==="Array"?c.push(f):c[u.name??m]=f}return c}function tn(e,t,r){let{checksumAddress:o=!1}=r??{};if(e.length!==t.length)throw new Xu({expectedLength:e.length,givenLength:t.length});let n=Hy({checksumAddress:o,parameters:e,values:t}),s=Ku(n);return s.length===0?"0x":s}function vl(e,t){if(e.length!==t.length)throw new Xu({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(vl.encode(n,s))}return be(...r)}(function(e){function t(r,o,n=!1){if(r==="address"){let c=o;return Fn(c),Qr(c.toLowerCase(),n?32:0)}if(r==="string")return ti(o);if(r==="bytes")return o;if(r==="bool")return Qr(nu(o),n?32:1);let s=r.match(qu);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(Ly);if(i){let[c,m]=i;if(Number.parseInt(m,10)!==(o.length-2)/2)throw new ya({expectedSize:Number.parseInt(m,10),value:o});return Ir(o,n?32:0)}let a=r.match(zy);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 pi(r)}e.encode=t})(vl||(vl={}));function xa(e){return Array.isArray(e)&&typeof e[0]=="string"?Im(e):typeof e=="string"?Im(e):e}var Cl=class extends R{constructor({data:t,parameters:r,size:o}){super(`Data size of ${o} bytes is too small for given parameters.`,{metaMessages:[`Params: (${qr(r)})`,`Data: ${t} (${o} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}},El=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"})}},Wu=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"})}},ya=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"})}},Xu=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"})}},Ju=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"})}},pi=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"})}};Ge();Wo();bt();Ge();function vC(e,t){let{as:r}=t,o=Vy(e),n=Yu(new Uint8Array(o.length));return o.encode(n),r==="Hex"?Ae(n.bytes):n.bytes}function Gy(e,t={}){let{as:r="Hex"}=t;return vC(e,{as:r})}function Vy(e){return Array.isArray(e)?CC(e.map(t=>Vy(t))):EC(e)}function CC(e){let t=e.reduce((n,s)=>n+s.length,0),r=qy(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 EC(e){let t=typeof e=="string"?Qs(e):e,r=qy(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 qy(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";bt();Ge();ca();function _l(e,t={}){let{recovered:r}=t;if(typeof e.r>"u")throw new wa({signature:e});if(typeof e.s>"u")throw new wa({signature:e});if(r&&typeof e.yParity>"u")throw new wa({signature:e});if(e.r<0n||e.r>hl)throw new Sl({value:e.r});if(e.s<0n||e.s>hl)throw new Il({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new va({value:e.yParity})}function SC(e){return Ky(Ae(e))}function Ky(e){if(e.length!==130&&e.length!==132)throw new kl({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 $l(n)}catch{throw new va({value:n})}})();return typeof o>"u"?{r:t,s:r}:{r:t,s:r,yParity:o}}function Pl(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return Tl(e)}function Tl(e){let t=(()=>typeof e=="string"?Ky(e):e instanceof Uint8Array?SC(e):typeof e.r=="string"?AC(e):e.v?IC(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}})();return _l(t),t}function IC(e){return{r:e.r,s:e.s,yParity:$l(e.v)}}function AC(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=$l(r)),typeof o!="number")throw new va({value:e.yParity});return o})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Wy(e){let{r:t,s:r,yParity:o}=e;return[o?"0x01":"0x",t===0n?"0x":Of(Q(t)),r===0n?"0x":Of(Q(r))]}function $l(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 Al({value:e})}var kl=class extends R{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${de(ei(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}},wa=class extends R{constructor({signature:t}){super(`Signature \`${Jo(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}},Sl=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"})}},Il=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"})}},va=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"})}},Al=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 Zy(e,t={}){return typeof e.chainId=="string"?_C(e):{...e,...t.signature}}function _C(e){let{address:t,chainId:r,nonce:o}=e,n=Pl(e);return{address:t,chainId:Number(r),nonce:BigInt(o),...n}}function Yy(e){return PC(e,{presign:!0})}function PC(e,t={}){let{presign:r}=t;return Bn(be("0x05",Gy(TC(r?{address:e.address,chainId:e.chainId,nonce:e.nonce}:e))))}function TC(e){let{address:t,chainId:r,nonce:o}=e,n=Pl(e);return[r?Q(r):"0x",t,o?Q(o):"0x",...n?Wy(n):[]]}bt();Ge();import{secp256k1 as RC}from"@noble/curves/secp256k1";Ge();function Xy(e){return Ny(BC(e))}function BC(e){let{payload:t,signature:r}=e,{r:o,s:n,yParity:s}=r,a=new RC.Signature(BigInt(o),BigInt(n)).addRecoveryBit(s).recoverPublicKey(ei(t).substring(2));return Fy(a)}var Rl="0x8010801080108010801080108010801080108010801080108010801080108010",Bl=xa("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function ep(e){if(typeof e=="string"){if(he(e,-32)!==Rl)throw new Qu(e)}else _l(e.authorization)}function MC(e){return typeof e=="string"?Qy(e):e}function Qy(e){ep(e);let t=tu(he(e,-64,-32)),r=he(e,-t-64,-64),o=he(e,0,-t-64),[n,s,i]=fi(Bl,r);return{authorization:Zy({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 DC(e){let{data:t,signature:r}=e;ep(e);let o=Xy({payload:Yy(e.authorization),signature:Tl(e.authorization)}),n=tn(Bl,[{...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,Rl)}function NC(e){try{return ep(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"})}};hc();H();var tp=class extends x{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}};function eb(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new tp({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 Dn(e,t="wei"){return eb(e,dc[t])}function zC(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function tb(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?ye(e.nonce):void 0,storageProof:e.storageProof?zC(e.storageProof):void 0}}async function rb(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 tb(a)}F();async function ob(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]})}Et();F();async function li(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 cs({blockHash:t,blockNumber:r,blockTag:i,hash:n,index:s});return(e.chain?.formatters?.transaction?.format||yn)(c,"getTransaction")}async function nb(e,{hash:t,transactionReceipt:r}){let[o,n]=await Promise.all([_(e,_r,"getBlockNumber")({}),t?_(e,li,"getTransaction")({hash:t}):void 0]),s=r?.blockNumber||n?.blockNumber;return s?o-s+1n:0n}Et();async function di(e,{hash:t}){let r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new ms({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||Ni)(r,"getTransactionReceipt")}Zo();pa();we();H();Eo();Ko();It();Cn();async function sb(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 Ot({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),d=[[]],g=0,h=0;for(let w=0;w<m.length;w++){let{abi:C,address:k,args:I,functionName:T}=m[w];try{let A=pe({abi:C,args:I,functionName:T});h+=(A.length-2)/2,u>0&&h>u&&d[g].length>0&&(g++,h=(A.length-2)/2,d[g]=[]),d[g]=[...d[g],{allowFailure:!0,callData:A,target:k}]}catch(A){let B=At(A,{abi:C,address:k,args:I,docsPath:"/docs/contract/multicall",functionName:T,sender:r});if(!n)throw B;d[g]=[...d[g],{allowFailure:!0,callData:"0x",target:k}]}}let b=await Promise.allSettled(d.map(w=>_(e,Te,"readContract")({...p===null?{code:ri}:{address:p},abi:Pn,account:r,args:[w],authorizationList:o,blockNumber:s,blockOverrides:i,blockTag:a,functionName:"aggregate3",stateOverride:c}))),y=[];for(let w=0;w<b.length;w++){let C=b[w];if(C.status==="rejected"){if(!n)throw C.reason;for(let I=0;I<d[w].length;I++)y.push({status:"failure",error:C.reason,result:void 0});continue}let k=C.value;for(let I=0;I<k.length;I++){let{returnData:T,success:A}=k[I],{callData:B}=d[w][I],{abi:N,address:M,functionName:U,args:G}=m[y.length];try{if(B==="0x")throw new Ht;if(!A)throw new br({data:T});let V=yt({abi:N,args:G,data:T,functionName:U});y.push(n?{result:V,status:"success"}:V)}catch(V){let me=At(V,{abi:N,address:M,args:G,docsPath:"/docs/contract/multicall",functionName:U});if(!n)throw me;y.push({error:me,result:void 0,status:"failure"})}}}if(y.length!==m.length)throw new x("multicall results mismatch");return y}Uf();xe();we();Eo();yo();Ko();It();nt();F();na();lo();Vm();Yr();async function Ea(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?su(p.blockOverrides):void 0,g=p.calls.map(b=>{let y=b,w=y.account?j(y.account):void 0,C=y.abi?pe(y):y.data,k={...y,account:w,data:y.dataSuffix?Pe([C||"0x",y.dataSuffix]):C,from:y.from??w?.address};return Qe(k),lt(k)}),h=p.stateOverrides?js(p.stateOverrides):void 0;c.push({blockOverrides:d,calls:g,stateOverrides:h})}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)=>({...Di(p),calls:p.calls.map((g,h)=>{let{abi:b,args:y,functionName:w,to:C}=n[d].calls[h],k=g.error?.data??g.returnData,I=BigInt(g.gasUsed),T=g.logs?.map(M=>Ze(M)),A=g.status==="0x1"?"success":"failure",B=b&&A==="success"&&k!=="0x"?yt({abi:b,data:k,functionName:w}):null,N=(()=>{if(A==="success")return;let M;if(g.error?.data==="0x"?M=new Ht:g.error&&(M=new br(g.error)),!!M)return At(M,{abi:b??[],address:C??"0x",args:y,functionName:w??"<unknown>"})})();return{data:k,gasUsed:I,logs:T,status:A,...A==="success"?{result:B}:{error:N}}})}))}catch(c){let m=c,u=jo(m,{});throw u instanceof Dt?m:u}}Qi();bt();Ge();bt();function op(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 rp(e,t){let r=typeof e,o=t.type;switch(o){case"address":return Gu(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)=>rp(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=>rp(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function Fl(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 Fl(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")?Gu(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?Gu(r[o],{strict:!1}):!1)())return i}}function np(e,t={}){let{prepare:r=!0}=t,o=(()=>Array.isArray(e)?Sm(e):typeof e=="string"?Sm(e):e)();return{...o,...r?{hash:hi(o)}:{}}}function ka(e,t,r){let{args:o=[],prepare:n=!0}=r??{},s=ua(t,{strict:!1}),i=e.filter(m=>s?m.type==="function"||m.type==="error"?Dl(m)===he(t,0,4):m.type==="event"?hi(m)===t:!1:"name"in m&&m.name===t);if(i.length===0)throw new rn({name:t});if(i.length===1)return{...i[0],...n?{hash:hi(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:hi(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?rp(f,d):!1})){if(a&&"inputs"in a&&a.inputs){let f=Fl(m.inputs,a.inputs,o);if(f)throw new Ml({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 rn({name:t});return{...c,...n?{hash:hi(c)}:{}}}function Dl(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return ka(r,o)}return e[0]})();return he(hi(t),0,4)}function OC(...e){let t=(()=>{if(Array.isArray(e[0])){let[o,n]=e;return ka(o,n)}return e[0]})(),r=(()=>typeof t=="string"?t:En(t))();return op(r)}function hi(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return ka(r,o)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:Bn(ti(OC(t)))}var Ml=class extends R{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${op(En(t.abiItem))}\`, and`,`\`${r.type}\` in \`${op(En(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"})}},rn=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"})}};Ge();function ab(...e){let[t,r]=(()=>{if(Array.isArray(e[0])){let[s,i]=e;return[UC(s),i]}return e})(),{bytecode:o,args:n}=r;return be(o,t.inputs?.length&&n?.length?tn(t.inputs,n):"0x")}function cb(e){return np(e)}function UC(e){let t=e.find(r=>r.type==="constructor");if(!t)throw new rn({name:"constructor"});return t}Ge();function ub(...e){let[t,r=[]]=(()=>{if(Array.isArray(e[0])){let[m,u,f]=e;return[mb(m,u,{args:f}),f]}let[a,c]=e;return[a,c]})(),{overloads:o}=t,n=o?mb([t,...o],t.name,{args:r}):t,s=jC(n),i=r.length>0?tn(n.inputs,r):void 0;return i?be(s,i):s}function Nn(e,t={}){return np(e,t)}function mb(e,t,r){let o=ka(e,t,r);if(o.type!=="function")throw new rn({name:t,type:"function"});return o}function jC(e){return Dl(e)}xe();var pb="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",cr="0x0000000000000000000000000000000000000000";pa();H();It();var VC="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function fb(e,t){let{blockNumber:r,blockTag:o,calls:n,stateOverrides:s,traceAssetChanges:i,traceTransfers:a,validation:c}=t,m=t.account?j(t.account):void 0;if(i&&!m)throw new x("`account` is required when `traceAssetChanges` is true");let u=m?ab(cb("constructor(bytes, bytes)"),{bytecode:cu,args:[VC,ub(Nn("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:Ie}=await _u(e,{account:m.address,...z,data:z.abi?pe(z):z.data});return Ie.map(({address:fr,storageKeys:mo})=>mo.length>0?fr:null)})).then(z=>z.flat().filter(Boolean)):[],p=await Ea(e,{blockNumber:r,blockTag:o,blocks:[...i?[{calls:[{data:u}],stateOverrides:s},{calls:f.map((z,Ie)=>({abi:[Nn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:z,from:cr,nonce:Ie})),stateOverrides:[{address:cr,nonce:0}]}]:[],{calls:[...n,{}].map(z=>({...z,from:m?.address})),stateOverrides:s},...i?[{calls:[{data:u}]},{calls:f.map((z,Ie)=>({abi:[Nn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:z,from:cr,nonce:Ie})),stateOverrides:[{address:cr,nonce:0}]},{calls:f.map((z,Ie)=>({to:z,abi:[Nn("function decimals() returns (uint256)")],functionName:"decimals",from:cr,nonce:Ie})),stateOverrides:[{address:cr,nonce:0}]},{calls:f.map((z,Ie)=>({to:z,abi:[Nn("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:cr,nonce:Ie})),stateOverrides:[{address:cr,nonce:0}]},{calls:f.map((z,Ie)=>({to:z,abi:[Nn("function symbol() returns (string)")],functionName:"symbol",from:cr,nonce:Ie})),stateOverrides:[{address:cr,nonce:0}]}]:[]],traceTransfers:a,validation:c}),d=i?p[2]:p[0],[g,h,,b,y,w,C,k]=i?p:[],{calls:I,...T}=d,A=I.slice(0,-1)??[],B=g?.calls??[],N=h?.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),me=(w?.calls??[]).map(z=>z.status==="success"?z.result:null),_e=(k?.calls??[]).map(z=>z.status==="success"?z.result:null),qe=(C?.calls??[]).map(z=>z.status==="success"?z.result:null),$t=[];for(let[z,Ie]of V.entries()){let fr=M[z];if(typeof Ie!="bigint"||typeof fr!="bigint")continue;let mo=me[z-1],ue=_e[z-1],uo=qe[z-1],Yt=(()=>z===0?{address:pb,decimals:18,symbol:"ETH"}:{address:f[z-1],decimals:uo||mo?Number(mo??1):void 0,symbol:ue??void 0})();$t.some(jp=>jp.token.address===Yt.address)||$t.push({token:Yt,value:{pre:fr,post:Ie,diff:Ie-fr}})}return{assetChanges:$t,block:T,results:A}}var Sa={};Vp(Sa,{InvalidWrappedSignatureError:()=>sp,assert:()=>zl,from:()=>WC,magicBytes:()=>Nl,universalSignatureValidatorAbi:()=>KC,universalSignatureValidatorBytecode:()=>qC,unwrap:()=>lb,validate:()=>ZC,wrap:()=>JC});bt();Ge();var Nl="0x6492649264926492649264926492649264926492649264926492649264926492",qC="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",KC=[{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 zl(e){if(he(e,-32)!==Nl)throw new sp(e)}function WC(e){return typeof e=="string"?lb(e):e}function lb(e){zl(e);let[t,r,o]=fi(xa("address, bytes, bytes"),e);return{data:r,signature:o,to:t}}function JC(e){let{data:t,signature:r,to:o}=e;return be(tn(xa("address, bytes, bytes"),[o,t,r]),Nl)}function ZC(e){try{return zl(e),!0}catch{return!1}}var sp=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"})}};Zo();pa();Eo();mu();It();bo();An();nt();Ct();Fe();F();Fe();Ue();import{secp256k1 as YC}from"@noble/curves/secp256k1";function ip({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 YC.Signature(ie(e),ie(t)).toCompactHex()}${s===0?"1b":"1c"}`;return r==="hex"?i:Me(i)}ni();async function on(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?ip(a):Y(a)})();try{return Ca.validate(i)?await XC(e,{...t,multicallAddress:s,signature:i}):await QC(e,{...t,verifierAddress:n,signature:i})}catch(a){try{if(Vt(Is(r),await Hm({hash:o,signature:i})))return!0}catch{}if(a instanceof to)return!1;throw a}}async function XC(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,multicallAddress:i}=t,{authorization:a,data:c,signature:m,to:u}=Ca.unwrap(t.signature);if(await ha(e,{address:r,blockNumber:o,blockTag:n})===He(["0xef0100",a.address]))return await e8(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 vy({address:r,authorization:p}))throw new to;let g=await _(e,Te,"readContract")({...i?{address:i}:{code:ri},authorizationList:[p],abi:Pn,blockNumber:o,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:u??r,callData:c}]:[],{allowFailure:!0,target:r,callData:pe({abi:Gf,functionName:"isValidSignature",args:[s,m]})}]]});if(g[g.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new to}async function QC(e,t){let{address:r,factory:o,factoryData:n,hash:s,signature:i,verifierAddress:a,...c}=t,m=await(async()=>!o&&!n||Sa.validate(i)?i:Sa.wrap({data:n,signature:i,to:o}))(),u=a?{to:a,data:pe({abi:Vf,functionName:"isValidSig",args:[r,s,m]}),...c}:{data:Tn({abi:Vf,args:[r,s,m],bytecode:Lg}),...c},{data:f}=await _(e,Ar,"call")(u).catch(p=>{throw p instanceof Ls?new to:p});if(tf(f??"0x0"))return!0;throw new to}async function e8(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,signature:i}=t;if((await _(e,Te,"readContract")({address:r,abi:Gf,args:[s,i],blockNumber:o,blockTag:n,functionName:"isValidSignature"}).catch(c=>{throw c instanceof Os?new to:c})).startsWith("0x1626ba7e"))return!0;throw new to}var to=class extends Error{};async function db(e,{address:t,message:r,factory:o,factoryData:n,signature:s,...i}){let a=ui(r);return on(e,{address:t,factory:o,factoryData:n,hash:a,signature:s,...i})}async function hb(e,t){let{address:r,factory:o,factoryData:n,signature:s,message:i,primaryType:a,types:c,domain:m,...u}=t,f=zu({message:i,primaryType:a,types:c,domain:m});return on(e,{address:r,factory:o,factoryData:n,hash:f,signature:s,...u})}Et();uu();Ye();Fe();Ye();function ap(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:o,onError:n,poll:s,pollingInterval:i=e.pollingInterval}){let a=(()=>typeof s<"u"?s:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))(),c;return a?(()=>{let f=W(["watchBlockNumber",e.uid,t,r,i]);return tt(f,{onBlockNumber:o,onError:n},p=>Kt(async()=>{try{let d=await _(e,_r,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(d===c)return;if(d-c>1&&r)for(let g=c+1n;g<d;g++)p.onBlockNumber(g,c),c=g}(c===void 0||d>c)&&(p.onBlockNumber(d,c),c=d)}catch(d){p.onError?.(d)}},{emitOnBegin:t,interval:i}))})():(()=>{let f=W(["watchBlockNumber",e.uid,t,r]);return tt(f,{onBlockNumber:o,onError:n},p=>{let d=!0,g=()=>d=!1;return(async()=>{try{let h=(()=>{if(e.transport.type==="fallback"){let y=e.transport.transports.find(w=>w.config.type==="webSocket"||w.config.type==="ipc");return y?y.value:e.transport}return e.transport})(),{unsubscribe:b}=await h.subscribe({params:["newHeads"],onData(y){if(!d)return;let w=ie(y.result?.number);p.onBlockNumber(w,c),c=w},onError(y){p.onError?.(y)}});g=b,d||g()}catch(h){n?.(h)}})(),()=>g()})})()}async function cp(e,t){let{checkReplacement:r=!0,confirmations:o=1,hash:n,onReplaced:s,retryCount:i=6,retryDelay:a=({count:I})=>~~(1<<I)*200,timeout:c=18e4}=t,m=W(["waitForTransactionReceipt",e.uid,n]),u=(()=>t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval)(),f,p,d,g=!1,h,b,{promise:y,resolve:w,reject:C}=oi(),k=c?setTimeout(()=>{b?.(),h?.(),C(new Ec({hash:n}))},c):void 0;return h=tt(m,{onReplaced:s,resolve:w,reject:C},async I=>{if(d=await _(e,di,"getTransactionReceipt")({hash:n}).catch(()=>{}),d&&o<=1){clearTimeout(k),I.resolve(d),h?.();return}b=_(e,ap,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(T){let A=N=>{clearTimeout(k),b?.(),N(),h?.()},B=T;if(!g)try{if(d){if(o>1&&(!d.blockNumber||B-d.blockNumber+1n<o))return;A(()=>I.resolve(d));return}if(r&&!f&&(g=!0,await Rn(async()=>{f=await _(e,li,"getTransaction")({hash:n}),f.blockNumber&&(B=f.blockNumber)},{delay:a,retryCount:i}),g=!1),d=await _(e,di,"getTransactionReceipt")({hash:n}),o>1&&(!d.blockNumber||B-d.blockNumber+1n<o))return;A(()=>I.resolve(d))}catch(N){if(N instanceof cs||N instanceof ms){if(!f){g=!1;return}try{p=f,g=!0;let M=await Rn(()=>_(e,et,"getBlock")({blockNumber:B,includeTransactions:!0}),{delay:a,retryCount:i,shouldRetry:({error:V})=>V instanceof Gs});g=!1;let U=M.transactions.find(({from:V,nonce:me})=>V===p.from&&me===p.nonce);if(!U||(d=await _(e,di,"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"),A(()=>{I.onReplaced?.({reason:G,replacedTransaction:p,transaction:U,transactionReceipt:d}),I.resolve(d)})}catch(M){A(()=>I.reject(M))}}else A(()=>I.reject(N))}}})}),y}Ye();function gb(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 g=W(["watchBlocks",e.uid,t,r,o,u,c]);return tt(g,{onBlock:n,onError:s},h=>Kt(async()=>{try{let b=await _(e,et,"getBlock")({blockTag:t,includeTransactions:u});if(b.number!==null&&f?.number!=null){if(b.number===f.number)return;if(b.number-f.number>1&&r)for(let y=f?.number+1n;y<b.number;y++){let w=await _(e,et,"getBlock")({blockNumber:y,includeTransactions:u});h.onBlock(w,f),f=w}}(f?.number==null||t==="pending"&&b?.number==null||b.number!==null&&b.number>f.number)&&(h.onBlock(b,f),f=b)}catch(b){h.onError?.(b)}},{emitOnBegin:o,interval:c}))})():(()=>{let g=!0,h=!0,b=()=>g=!1;return(async()=>{try{o&&_(e,et,"getBlock")({blockTag:t,includeTransactions:u}).then(C=>{g&&h&&(n(C,void 0),h=!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:w}=await y.subscribe({params:["newHeads"],async onData(C){if(!g)return;let k=await _(e,et,"getBlock")({blockNumber:C.result?.number,includeTransactions:u}).catch(()=>{});g&&(n(k,f),h=!1,f=k)},onError(C){s?.(C)}});b=w,g||b()}catch(y){s?.(y)}})(),()=>b()})()}we();Us();Ye();function yb(e,{address:t,args:r,batch:o=!0,event:n,events:s,fromBlock:i,onError:a,onLogs:c,poll:m,pollingInterval:u=e.pollingInterval,strict:f}){let p=(()=>typeof m<"u"?m:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))(),d=f??!1;return p?(()=>{let b=W(["watchEvent",t,r,o,e.uid,n,u,i]);return tt(b,{onLogs:c,onError:a},y=>{let w;i!==void 0&&(w=i-1n);let C,k=!1,I=Kt(async()=>{if(!k){try{C=await _(e,Pu,"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,Yo,"getFilterChanges")({filter:C});else{let A=await _(e,_r,"getBlockNumber")({});w&&w!==A?T=await _(e,Js,"getLogs")({address:t,args:r,event:n,events:s,fromBlock:w+1n,toBlock:A}):T=[],w=A}if(T.length===0)return;if(o)y.onLogs(T);else for(let A of T)y.onLogs([A])}catch(T){C&&T instanceof Gt&&(k=!1),y.onError?.(T)}},{emitOnBegin:!0,interval:u});return async()=>{C&&await _(e,Xo,"uninstallFilter")({filter:C}),I()}})})():(()=>{let b=!0,y=()=>b=!1;return(async()=>{try{let w=(()=>{if(e.transport.type==="fallback"){let T=e.transport.transports.find(A=>A.config.type==="webSocket"||A.config.type==="ipc");return T?T.value:e.transport}return e.transport})(),C=s??(n?[n]:void 0),k=[];C&&(k=[C.flatMap(A=>Er({abi:[A],eventName:A.name,args:r}))],n&&(k=k[0]));let{unsubscribe:I}=await w.subscribe({params:["logs",{address:t,topics:k}],onData(T){if(!b)return;let A=T.result;try{let{eventName:B,args:N}=Ws({abi:C??[],data:A.data,topics:A.topics,strict:d}),M=Ze(A,{args:N,eventName:B});c([M])}catch(B){let N,M;if(B instanceof nr||B instanceof dr){if(f)return;N=B.abiItem.name,M=B.abiItem.inputs?.some(G=>!("name"in G&&G.name))}let U=Ze(A,{args:M?[]:{},eventName:N});c([U])}},onError(T){a?.(T)}});y=I,b||y()}catch(w){a?.(w)}})(),()=>y()})()}Ye();function bb(e,{batch:t=!0,onError:r,onTransactions:o,poll:n,pollingInterval:s=e.pollingInterval}){return(typeof n<"u"?n:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{let m=W(["watchPendingTransactions",e.uid,t,s]);return tt(m,{onTransactions:o,onError:r},u=>{let f,p=Kt(async()=>{try{if(!f)try{f=await _(e,Tu,"createPendingTransactionFilter")({});return}catch(g){throw p(),g}let d=await _(e,Yo,"getFilterChanges")({filter:f});if(d.length===0)return;if(t)u.onTransactions(d);else for(let g of d)u.onTransactions([g])}catch(d){u.onError?.(d)}},{emitOnBegin:!0,interval:s});return async()=>{f&&await _(e,Xo,"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 xb(e){let{scheme:t,statement:r,...o}=e.match(t8)?.groups??{},{chainId:n,expirationTime:s,issuedAt:i,notBefore:a,requestId:c,...m}=e.match(r8)?.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 t8=/^(?:(?<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)?/,r8=/(?: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>.+))?/;kt();An();function wb(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&&!Vt(o.address,t))return!1}catch{return!1}return!0}async function vb(e,t){let{address:r,domain:o,message:n,nonce:s,scheme:i,signature:a,time:c=new Date,...m}=t,u=xb(n);if(!u.address||!wb({address:r,domain:o,message:u,nonce:s,scheme:i,time:c}))return!1;let p=ui(n);return on(e,{address:u.address,hash:p,signature:a,...m})}Et();async function gi(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||Ni)(n);if(i.status==="reverted"&&r)throw new us({receipt:i});return i}function Cb(e){return{call:t=>Ar(e,t),createAccessList:t=>_u(e,t),createBlockFilter:()=>ly(e),createContractEventFilter:t=>Om(e,t),createEventFilter:t=>Pu(e,t),createPendingTransactionFilter:()=>Tu(e),estimateContractGas:t=>mg(e,t),estimateGas:t=>Ks(e,t),getBalance:t=>dy(e,t),getBlobBaseFee:()=>hy(e),getBlock:t=>et(e,t),getBlockNumber:t=>_r(e,t),getBlockTransactionCount:t=>gy(e,t),getBytecode:t=>ha(e,t),getChainId:()=>gt(e),getCode:t=>ha(e,t),getContractEvents:t=>Jm(e,t),getEip712Domain:t=>yy(e,t),getEnsAddress:t=>ny(e,t),getEnsAvatar:t=>uy(e,t),getEnsName:t=>py(e,t),getEnsResolver:t=>fy(e,t),getEnsText:t=>Au(e,t),getFeeHistory:t=>xy(e,t),estimateFeesPerGas:t=>ag(e,t),getFilterChanges:t=>Yo(e,t),getFilterLogs:t=>wy(e,t),getGasPrice:()=>Vs(e),getLogs:t=>Js(e,t),getProof:t=>rb(e,t),estimateMaxPriorityFeePerGas:t=>ig(e,t),getStorageAt:t=>ob(e,t),getTransaction:t=>li(e,t),getTransactionConfirmations:t=>nb(e,t),getTransactionCount:t=>qs(e,t),getTransactionReceipt:t=>di(e,t),multicall:t=>sb(e,t),prepareTransactionRequest:t=>kr(e,t),readContract:t=>Te(e,t),sendRawTransaction:t=>ii(e,t),sendRawTransactionSync:t=>gi(e,t),simulate:t=>Ea(e,t),simulateBlocks:t=>Ea(e,t),simulateCalls:t=>fb(e,t),simulateContract:t=>Yg(e,t),verifyHash:t=>on(e,t),verifyMessage:t=>db(e,t),verifySiweMessage:t=>vb(e,t),verifyTypedData:t=>hb(e,t),uninstallFilter:t=>Xo(e,t),waitForTransactionReceipt:t=>cp(e,t),watchBlocks:t=>gb(e,t),watchBlockNumber:t=>ap(e,t),watchContractEvent:t=>ty(e,t),watchEvent:t=>yb(e,t),watchPendingTransactions:t=>bb(e,t)}}function zn(e){let{key:t="public",name:r="Public Client"}=e;return Cu({...e,key:t,name:r,type:"publicClient"}).extend(Cb)}F();async function Eb(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})}mu();function kb(e,t){let{abi:r,args:o,bytecode:n,...s}=t,i=Tn({abi:r,args:o,bytecode:n});return Qo(e,{...s,...s.authorizationList?{to:null}:{},data:i})}bo();async function Sb(e){return e.account?.type==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>Gr(r))}xe();F();async function Ib(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 Ab(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}xe();An();async function mp(e,t){let{account:r=e.account,chainId:o,nonce:n}=t;if(!r)throw new je({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,gt,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await _(e,qs,"getTransactionCount")({address:s.address,blockTag:"pending"}),(i==="self"||i?.address&&Vt(i.address,s.address))&&(a.nonce+=1)),a}bo();async function _b(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>Is(r))}async function Pb(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function Tb(e,t){let{chain:r=e.chain}=t,o=t.timeout??Math.max((r?.blockTime??0)*3,5e3),n=await gu(e,t);return await bu(e,{...t,id:n.id,timeout:o})}xe();H();Et();Hs();lo();Ss();Yr();var Ll=new Nt(128);async function up(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:g,throwOnReceiptRevert:h,type:b,value:y,...w}=t,C=t.timeout??Math.max((o?.blockTime??0)*3,5e3);if(typeof r>"u")throw new je({docsPath:"/docs/actions/wallet/sendTransactionSync"});let k=r?j(r):null;try{Qe(t);let I=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await Vo({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,gt,"getChainId")({}),As({currentChainId:T,chain:o}));let A=e.chain?.formatters?.transactionRequest?.format,N=(A||lt)({...Cr(w,{format:A}),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:I,type:b,value:y},"sendTransaction"),M=Ll.get(e.uid),U=M?"wallet_sendTransaction":"eth_sendTransaction",G=await(async()=>{try{return await e.request({method:U,params:[N]},{retryCount:0})}catch(me){if(M===!1)throw me;let _e=me;if(_e.name==="InvalidInputRpcError"||_e.name==="InvalidParamsRpcError"||_e.name==="MethodNotFoundRpcError"||_e.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[N]},{retryCount:0}).then(qe=>(Ll.set(e.uid,!0),qe)).catch(qe=>{let $t=qe;throw $t.name==="MethodNotFoundRpcError"||$t.name==="MethodNotSupportedRpcError"?(Ll.set(e.uid,!1),_e):$t});throw _e}})(),V=await _(e,cp,"waitForTransactionReceipt")({checkReplacement:!1,hash:G,pollingInterval:g,timeout:C});if(h&&V.status==="reverted")throw new us({receipt:V});return V}if(k?.type==="local"){let T=await _(e,kr,"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:[...sa,"sidecars"],type:b,value:y,...w,to:I}),A=o?.serializers?.transaction,B=await k.signTransaction(T,{serializer:A});return await _(e,gi,"sendRawTransactionSync")({serializedTransaction:B,throwOnReceiptRevert:h})}throw k?.type==="smart"?new Ut({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Ut({docsPath:"/docs/actions/wallet/sendTransactionSync",type:k?.type})}catch(I){throw I instanceof Ut?I:si(I,{...t,account:k,chain:t.chain||void 0})}}async function $b(e,t){let{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}xe();async function Rb(e,t){let{account:r=e.account}=t;if(!r)throw new je({docsPath:"/docs/eip7702/signAuthorization"});let o=j(r);if(!o.signAuthorization)throw new Ut({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:o.type});let n=await mp(e,t);return o.signAuthorization(n)}xe();F();async function Bb(e,{account:t=e.account,message:r}){if(!t)throw new je({docsPath:"/docs/actions/wallet/signMessage"});let o=j(t);if(o.signMessage)return o.signMessage({message:r});let n=(()=>typeof r=="string"?Xt(r):r.raw instanceof Uint8Array?se(r.raw):r.raw)();return e.request({method:"personal_sign",params:[n,o.address]},{retryCount:0})}xe();F();lo();Yr();async function Fb(e,t){let{account:r=e.account,chain:o=e.chain,...n}=t;if(!r)throw new je({docsPath:"/docs/actions/wallet/signTransaction"});let s=j(r);Qe({account:s,...t});let i=await _(e,gt,"getChainId")({});o!==null&&As({currentChainId:i,chain:o});let c=(o?.formatters||e.chain?.formatters)?.transactionRequest?.format||lt;return s.signTransaction?s.signTransaction({...n,chainId:i},{serializer:e.chain?.serializers?.transaction}):await e.request({method:"eth_signTransaction",params:[{...c({...n,account:s},"signTransaction"),chainId:E(i),from:s.address}]},{retryCount:0})}xe();async function Mb(e,t){let{account:r=e.account,domain:o,message:n,primaryType:s}=t;if(!r)throw new je({docsPath:"/docs/actions/wallet/signTypedData"});let i=j(r),a={EIP712Domain:Nu({domain:o}),...t.types};if(Du({domain:o,message:n,primaryType:s,types:a}),i.signTypedData)return i.signTypedData({domain:o,message:n,primaryType:s,types:a});let c=_y({domain:o,message:n,primaryType:s,types:a});return e.request({method:"eth_signTypedData_v4",params:[i.address,c]},{retryCount:0})}F();async function Db(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:E(t)}]},{retryCount:0})}async function Nb(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}async function zb(e,t){return $n.internal(e,up,"sendTransactionSync",t)}function Lb(e){return{addChain:t=>Eb(e,t),deployContract:t=>kb(e,t),getAddresses:()=>Sb(e),getCallsStatus:t=>yu(e,t),getCapabilities:t=>Ib(e,t),getChainId:()=>gt(e),getPermissions:()=>Ab(e),prepareAuthorization:t=>mp(e,t),prepareTransactionRequest:t=>kr(e,t),requestAddresses:()=>_b(e),requestPermissions:t=>Pb(e,t),sendCalls:t=>gu(e,t),sendCallsSync:t=>Tb(e,t),sendRawTransaction:t=>ii(e,t),sendRawTransactionSync:t=>gi(e,t),sendTransaction:t=>Qo(e,t),sendTransactionSync:t=>up(e,t),showCallsStatus:t=>$b(e,t),signAuthorization:t=>Rb(e,t),signMessage:t=>Bb(e,t),signTransaction:t=>Fb(e,t),signTypedData:t=>Mb(e,t),switchChain:t=>Db(e,t),waitForCallsStatus:t=>bu(e,t),watchAsset:t=>Nb(e,t),writeContract:t=>$n(e,t),writeContractSync:t=>zb(e,t)}}function Ia(e){let{key:t="wallet",name:r="Wallet Client",transport:o}=e;return Cu({...e,key:t,name:r,transport:o,type:"walletClient"}).extend(Lb)}function Ob({key:e,methods:t,name:r,request:o,retryCount:n=3,retryDelay:s=150,timeout:i,type:a},c){let m=vu();return{config:{key:e,methods:t,name:r,request:o,retryCount:n,retryDelay:s,timeout:i,type:a},request:Ey(o,{methods:t,retryCount:n,retryDelay:s,uid:m}),value:c}}In();H();var pp=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"})}};Wf();function ro(e,t={}){let{batch:r,fetchFn:o,fetchOptions:n,key:s="http",methods:i,name:a="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:m,retryDelay:u,raw:f}=t;return({chain:p,retryCount:d,timeout:g})=>{let{batchSize:h=1e3,wait:b=0}=typeof r=="object"?r:{},y=t.retryCount??d,w=g??t.timeout??1e4,C=e||p?.rpcUrls.default.http[0];if(!C)throw new pp;let k=Sy(C,{fetchFn:o,fetchOptions:n,onRequest:c,onResponse:m,timeout:w});return Ob({key:s,methods:i,name:a,async request({method:I,params:T}){let A={method:I,params:T},{schedule:B}=pu({id:C,wait:b,shouldSplitBatch(G){return G.length>h},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(A);if(f)return{error:M,result:U};if(M)throw new ko({body:A,error:M,url:C});return U},retryCount:y,retryDelay:u,timeout:w,type:"http"},{fetchOptions:n,url:C})}}Ct();F();import{secp256k1 as n8}from"@noble/curves/secp256k1";rr();kt();function Ub(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"}}Ct();Ue();F();import{secp256k1 as o8}from"@noble/curves/secp256k1";var Ol=!1;async function Pr({hash:e,privateKey:t,to:r="object"}){let{r:o,s:n,recovery:s}=o8.sign(e.slice(2),t.slice(2),{lowS:!0,extraEntropy:ce(Ol,{strict:!1})?Me(Ol):Ol}),i={r:E(o,{size:32}),s:E(n,{size:32}),v:s?28n:27n,yParity:s};return(()=>r==="bytes"||r==="hex"?ip({...i,to:r}):i)()}async function Hb(e){let{chainId:t,nonce:r,privateKey:o,to:n="object"}=e,s=e.contractAddress??e.address,i=await Pr({hash:jm({address:s,chainId:t,nonce:r}),privateKey:o,to:n});return n==="object"?{address:s,chainId:t,nonce:r,...i}:i}async function jb({message:e,privateKey:t}){return await Pr({hash:ui(e),privateKey:t,to:"hex"})}zt();async function Gb(e){let{privateKey:t,transaction:r,serializer:o=Hc}=e,n=(()=>r.type==="eip4844"?{...r,sidecars:!1}:r)(),s=await Pr({hash:ne(await o(n)),privateKey:t});return await o(r,s)}async function Vb(e){let{privateKey:t,...r}=e;return await Pr({hash:zu(r),privateKey:t,to:"hex"})}function Aa(e,t={}){let{nonceManager:r}=t,o=se(n8.getPublicKey(e.slice(2),!1)),n=Um(o);return{...Ub({address:n,nonceManager:r,async sign({hash:i}){return Pr({hash:i,privateKey:e,to:"hex"})},async signAuthorization(i){return Hb({...i,privateKey:e})},async signMessage({message:i}){return jb({message:i,privateKey:e})},async signTransaction(i,{serializer:a}={}){return Gb({privateKey:e,transaction:i,serializer:a})},async signTypedData(i){return Vb({...i,privateKey:e})}}),publicKey:o,source:"privateKey"}}var gX=Ti(jl(),1);import{z as ve}from"zod";var ur=Ti(jl(),1),GS=Ti(qb(),1),VS=Ti(Bx(),1);import{z as wi}from"zod";var V8=Ve.object({detail:Ve.union([Ve.string(),Ve.array(Ve.object({msg:Ve.string(),type:Ve.string().optional(),ctx:Ve.record(Ve.unknown()).optional(),loc:Ve.array(Ve.union([Ve.string(),Ve.number()])).optional(),input:Ve.unknown().optional()}).passthrough()),Ve.record(Ve.unknown())]).optional(),type:Ve.string().optional(),code:Ve.string().optional()}),mn=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)}},Xl=class hp extends mn{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=V8.safeParse(t.data);return r.success?new hp(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 hp(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 hp(t.message,{request:r??void 0,detail:t.message})}},q8=class extends mn{constructor(e,t){super(e,t),this.isValidationError=!0,this.validationErrors=t.validationErrors}},K8=class extends mn{constructor(){super(...arguments),this.isAuthError=!0}},Lx=class extends mn{constructor(){super(...arguments),this.isBusinessError=!0}},W8=class extends mn{constructor(){super(...arguments),this.isServerError=!0}},J8=class extends mn{constructor(){super(...arguments),this.isUnknownError=!0}};function Z8(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 Ox(e){if(!Array.isArray(e))return{errors:[],message:typeof e=="string"?e:"Validation error"};let t=e.map((n,s)=>{let i=Z8(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 Y8(e){return e===422?"validation":e===401||e===403?"auth":e>=400&&e<500?"business":e>=500?"server":"unknown"}function X8(e,t,r){if(e===422&&Array.isArray(t)){let{message:o}=Ox(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 Q8(e){let t=e.status??0,r=e.statusText??"Unknown Error",o=e.detail,n=eE(o);if(n)return new ed(n.message,{status:t,statusText:r,detail:o,errorCode:n.error_code,structuredDetails:n.details,suggestions:n.suggestions,links:n.links});let s=Y8(t),i=X8(t,o,e.message),a={status:t,statusText:r,detail:o};if(s==="validation"&&Array.isArray(o)){let{errors:c}=Ox(o);return new q8(i,{...a,validationErrors:c})}return s==="auth"?new K8(i,a):s==="business"?new Lx(i,a):s==="server"?new W8(i,a):new J8(i,a)}var ed=class extends Lx{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 eE(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 Ux(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 Ba=["2025-05-31","2025-10-28"],xi=(0,zx.default)("phala::api-client");function tE(e){return Object.entries(e).map(([t,r])=>` -H "${t}: ${r}"`).join(`
56
+ `)}function rE(e){return e?` -d '${(typeof e=="string"?e:JSON.stringify(e,null,2)).replace(/'/g,"\\'")}'`:""}function Fx(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 K8=class{constructor(e={}){this.emitter=a0();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",g=typeof f=="string"?f:f.url,h=g.startsWith("http")?g:`${n}${g}`,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} "${h}"`,V8(b),p.body?q8(p.body):""].filter(Boolean).join(`
60
- `);gi(`
59
+ `)}var oE=class{constructor(e={}){this.emitter=f0();let t={...e,apiKey:e.apiKey||process?.env?.PHALA_CLOUD_API_KEY,baseURL:e.baseURL||process?.env?.PHALA_CLOUD_API_PREFIX||"https://cloud-api.phala.network/api/v1"},r=t.version&&Ba.includes(t.version)?t.version:Ba[Ba.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=G8.create({baseURL:n,timeout:s||3e4,headers:u,...a?{credentials:"include"}:{},...m,onRequest({request:f,options:p}){if(xi.enabled){let d=p.method||"GET",g=typeof f=="string"?f:f.url,h=g.startsWith("http")?g:`${n}${g}`,b={};p.headers&&typeof p.headers=="object"&&Object.entries(p.headers).forEach(([w,C])=>{typeof C=="string"&&(b[w]=C)});let y=[`> curl -X ${d} "${h}"`,tE(b),p.body?rE(p.body):""].filter(Boolean).join(`
60
+ `);xi(`
61
61
  === REQUEST ===
62
62
  %s
63
- `,y)}},onResponse({request:f,response:p,options:d}){if(gi.enabled){let g=d.method||"GET",h=typeof f=="string"?f:f.url;gi(`
63
+ `,y)}},onResponse({request:f,response:p,options:d}){if(xi.enabled){let g=d.method||"GET",h=typeof f=="string"?f:f.url;xi(`
64
64
  === RESPONSE [%s %s] (%dms) ===
65
65
  %s
66
- `,g,h,p.headers.get("x-response-time")||"?",Px(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 g=d.method||"GET",h=typeof f=="string"?f:f.url;gi(`
66
+ `,g,h,p.headers.get("x-response-time")||"?",Fx(p.status,p.statusText,p.headers,p._data))}},onResponseError:({request:f,response:p,options:d})=>{if(console.warn(`HTTP ${p.status}: ${p.url}`),xi.enabled){let g=d.method||"GET",h=typeof f=="string"?f:f.url;xi(`
67
67
  === ERROR RESPONSE [%s %s] ===
68
68
  %s
69
- `,g,h,Px(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?Kl.fromFetchError(e):e instanceof Error?Kl.fromError(e):new Kl("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 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"))throw new Error("Invalid schema: must be a Zod schema object, false, or undefined")}function zx(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 Lx(e,t){function r(i,a){return o(i,a)}async function o(i,a){Nx(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=zx(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){Nx(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=zx(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}=Lx(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}=Lx(rE,async e=>await e.get("/teepods/available")),Ox=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(Ox),total:Ee.number()}).strict(),sE=Ee.object({result:Ee.array(nE)}).strict(),iE=Ee.object({items:Ee.array(Ox),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}`)}),Ux=_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(Ux),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(Ux,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()}),Zl=P.object({id:P.number(),name:P.string(),region_identifier:P.string().nullable().optional()}),Hx=P.object({app:P.string(),instance:P.string()}),wE=P.object({hosted:bE,name:P.string(),managed_user:xE.nullable(),node:Zl.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(Hx)}),jx=P.object({id:P.number(),name:P.string(),status:P.string(),in_progress:P.boolean().optional().default(!1),teepod_id:P.number().nullable(),teepod:Zl.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(Hx).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:Zl.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;else if(e.app_id)t=e.app_id;else if(e.instance_id)t=e.instance_id;else throw new Error("No valid identifier provided");let r=/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i,o=/^[0-9a-f]{40}$/i,n;return r.test(t)?n=t.replace(/-/g,""):o.test(t)?n=`app_${t}`:n=t,{cvmId:n}}),CE=$e,{action:EE,safeAction:Wt}=re(jx,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:Yl}=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)),Gx=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 Wl(e){return e==null?e:Array.isArray(e)?e.map(Wl):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=Wl(o),t},{}):e}function Vx(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 qx(e){let t=Wl(e),r=JSON.stringify(t,null,4);return r=r.replace(/": /g,'":'),r}function FE(e){let t=Vx(e),r=qx(t);return BE.createHash("sha256").update(r,"utf8").digest("hex")}function ME(e){let t=e;return{...e,getHash:()=>FE(t),toString:()=>qx(Vx(t))}}var DE=Gx.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:Gx,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:Xl}=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:Ql}=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=Tx.object({kms_id:Tx.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:ed}=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:td}=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:$x.boolean(),public_logs:$x.boolean()})),{action:eS,safeAction:tS}=re(jx,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})}),Rx=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:Rx.nullable(),dev:Rx.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:Kx.string().min(1,"OS image name is required")})),{action:cS,safeAction:mS}=re(Kx.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:Yl,commitCvmProvision:RE,safeCommitCvmProvision:lp,getCvmComposeFile:zE,safeGetCvmComposeFile:Ra,provisionCvmComposeFileUpdate:UE,safeProvisionCvmComposeFileUpdate:Xl,commitCvmComposeFileUpdate:GE,safeCommitCvmComposeFileUpdate:Ql,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:ed,getAppEnvEncryptPubKey:QE,safeGetAppEnvEncryptPubKey:td,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 Wx=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 Wx(`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 Wx(`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 Jx(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 rd(){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:g,onError:h,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)g?.(v);else{let k=new $r("Transaction failed on-chain",y,v);throw h?.(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}),h?.(v,e.hash),v}}}}async function Zx(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 rd().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(g=>setTimeout(g,f)),f=Math.min(f*c,a)}throw u}var Yx=[{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:Yx,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:g,timeout:h=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=rd();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:g?Bn(g):Bn("0.001")},mo=await Jx(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,zp=Number(mo.details.balance)/1e18;throw new Error(`Not enough ETH. Need ${Zt}, have ${zp.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:Yx,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 Zx(z,G,[],{timeout:h,confirmations:1,onSubmitted:C,onConfirmed:k,signal:y},b):await V.execute(z,G,[],{timeout:h,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 Xx(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 Qx=[{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:Qx,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:g,onTransactionConfirmed:h,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=rd();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 Jx(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:Qx,functionName:"addComposeHash",args:[pp(i)],account:V.walletClient.account||V.address,chain:o||null}),M=f?await Zx(N,I,[],{timeout:u,confirmations:1,onSubmitted:g,onConfirmed:h,signal:p},f):await B.execute(N,I,[],{timeout:u,confirmations:1,onSubmitted:g,onConfirmed:h,signal:p}),U=kS(M.receipt,pp(i),T,s);return t?.schema===!1?U:(t?.schema||ES).parse(U)}async function e1(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 t1(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 r1(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[g,h]of Object.entries(e)){c=Math.max(c,g.length);let b=String(h??"");m=Math.max(m,b.length)}let u=4,f=1,p=s-u-f;if(c+m>p){let g=c/(c+m);c=Math.floor(p*g),m=p-c}let d=c+m+u+f;r!=="none"&&console.log(a.topLeft+a.horizontal.repeat(d-2)+a.topRight);for(let[g,h]of Object.entries(e)){let b=g,y=String(h??""),v=r1(b,c),C=r1(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}
69
+ `,g,h,Fx(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?Xl.fromFetchError(e):e instanceof Error?Xl.fromError(e):new Xl("Unknown error occurred",{detail:"Unknown error occurred"})}emitError(e){let t=Q8(e);return this.emitter.emit("error",t),t}async safeRequest(e){try{return{success:!0,data:await e()}}catch(t){if(t instanceof mn)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 nE(e={}){return new oE(e)}function Hx(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 jx(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 Gx(e,t){function r(i,a){return o(i,a)}async function o(i,a){Hx(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=jx(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){Hx(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=jx(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 sE=an.object({username:an.string(),email:an.string(),credits:an.number(),granted_credits:an.number(),avatar:an.string(),team_name:an.string(),team_tier:an.string()}).passthrough(),{action:iE,safeAction:Un}=Gx(sE,async e=>await e.get("/auth/me")),aE={[zm.id]:zm,[qi.id]:qi,[jc.id]:jc},cE=cn.object({id:cn.string(),slug:cn.string().nullable(),url:cn.string(),version:cn.string(),chain_id:cn.number().nullable(),kms_contract_address:cn.string().nullable().transform(e=>e),gateway_app_id:cn.string().nullable().transform(e=>e)}).passthrough(),Hn=cE.transform(e=>{if(e.chain_id!=null){let t=aE[e.chain_id];if(t)return{...e,chain:t}}return e}),mE=K.object({name:K.string(),is_dev:K.boolean(),version:K.union([K.tuple([K.number(),K.number(),K.number()]),K.tuple([K.number(),K.number(),K.number(),K.number()])]),os_image_hash:K.string().nullable().optional()}).passthrough(),uE=K.object({teepod_id:K.number(),name:K.string(),listed:K.boolean(),resource_score:K.number(),remaining_vcpu:K.number(),remaining_memory:K.number(),remaining_cvm_slots:K.number(),images:K.array(mE),support_onchain_kms:K.boolean().optional(),fmspc:K.string().nullable().optional(),device_id:K.string().nullable().optional(),region_identifier:K.string().nullable().optional(),default_kms:K.string().nullable().optional(),kms_list:K.array(K.string()).default([])}).passthrough(),pE=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(),fE=K.object({tier:K.string(),capacity:pE,nodes:K.array(uE),kms_list:K.array(Hn)}).passthrough(),{action:lE,safeAction:Fa}=Gx(fE,async e=>await e.get("/teepods/available")),Vx=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(),dE=Ee.object({name:Ee.string(),items:Ee.array(Vx),total:Ee.number()}).strict(),hE=Ee.object({result:Ee.array(dE)}).strict(),gE=Ee.object({items:Ee.array(Vx),total:Ee.number(),family:Ee.string()}).strict(),yE=Ee.object({family:Ee.string()}).strict(),{action:bE,safeAction:xE}=re(hE,async e=>await e.get("/instance-types")),{action:wE,safeAction:vE}=re(gE,async(e,t)=>{let r=yE.parse(t);return await e.get(`/instance-types/${r.family}`)}),qx=Pt.object({id:Pt.string(),name:Pt.string(),slug:Pt.string().nullable(),tier:Pt.string(),role:Pt.string(),created_at:Pt.string()}).passthrough(),CE=Pt.object({has_more:Pt.boolean(),next_cursor:Pt.string().nullable(),total:Pt.number().nullable()}).passthrough(),EE=Pt.object({data:Pt.array(qx),pagination:CE}).passthrough(),{action:kE,safeAction:SE}=re(EE,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:IE,safeAction:AE}=re(qx,async(e,t)=>await e.get(`/workspaces/${t}`)),_E=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()}),PE=P.object({id:P.number(),username:P.string()}),td=P.object({id:P.number(),name:P.string(),region_identifier:P.string().nullable().optional()}),Kx=P.object({app:P.string(),instance:P.string()}),TE=P.object({hosted:_E,name:P.string(),managed_user:PE.nullable(),node:td.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:Hn.nullable(),vcpu:P.number().nullable(),memory:P.number().nullable(),disk_size:P.number().nullable(),gateway_domain:P.string().nullable(),public_urls:P.array(Kx)}),Wx=P.object({id:P.number(),name:P.string(),status:P.string(),in_progress:P.boolean().optional().default(!1),teepod_id:P.number().nullable(),teepod:td.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:Hn.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(Kx).optional().default([]),gateway_domain:P.string().optional().nullable()}),yp=P.object({id:P.number(),name:P.string(),status:P.string(),teepod_id:P.number(),teepod:td.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()}),jn=Ra.object({id:Ra.string().optional(),uuid:Ra.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:Ra.string().optional(),instance_id:Ra.string().optional()}),Gn=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"}),$E=Gn(jn),Re=$E.transform(e=>{let t;if(e.id)t=e.id;else if(e.uuid)t=e.uuid;else if(e.app_id)t=e.app_id;else if(e.instance_id)t=e.instance_id;else throw new Error("No valid identifier provided");let r=/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i,o=/^[0-9a-f]{40}$/i,n;return r.test(t)?n=t.replace(/-/g,""):o.test(t)?n=`app_${t}`:n=t,{cvmId:n}}),RE=Re,{action:BE,safeAction:Jt}=re(Wx,async(e,t)=>{let{cvmId:r}=RE.parse(t);return await e.get(`/cvms/${r}`)}),FE=Wt.object({page:Wt.number().int().min(1).optional(),page_size:Wt.number().int().min(1).optional(),node_id:Wt.number().int().min(1).optional(),teepod_id:Wt.number().int().min(1).optional(),user_id:Wt.string().optional()}).strict(),ME=Wt.object({items:Wt.array(TE),total:Wt.number(),page:Wt.number(),page_size:Wt.number(),pages:Wt.number()}).strict(),{action:DE,safeAction:Ei}=re(ME,async(e,t)=>{let r=FE.parse(t??{});return await e.get("/cvms/paginated",{params:r})}),NE=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}),zE=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 LE(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:OE,safeAction:rd}=re(NE,async(e,t)=>{let r=zE.parse(t),o=LE(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)}),UE=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(),VY=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:HE,safeAction:bp}=re(UE,async(e,t)=>await e.post("/cvms",t)),Jx=at.object({allowed_envs:at.array(at.string()).optional(),docker_compose_file:at.string(),features:at.array(at.string()).optional(),name:at.string().optional(),manifest_version:at.number().optional(),kms_enabled:at.boolean().optional(),public_logs:at.boolean().optional(),public_sysinfo:at.boolean().optional(),tproxy_enabled:at.boolean().optional(),pre_launch_script:at.string().optional(),env_pubkey:at.string().optional(),salt:at.string().optional().nullable()}).passthrough();function Ql(e){return e==null?e:Array.isArray(e)?e.map(Ql):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=Ql(o),t},{}):e}function Zx(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 Yx(e){let t=Ql(e),r=JSON.stringify(t,null,4);return r=r.replace(/": /g,'":'),r}function GE(e){let t=Zx(e),r=Yx(t);return jE.createHash("sha256").update(r,"utf8").digest("hex")}function VE(e){let t=e;return{...e,getHash:()=>GE(t),toString:()=>Yx(Zx(t))}}var qE=Jx.transform(e=>VE(e)),KE=Re,{action:WE,safeAction:Ma}=re(qE,async(e,t)=>{let{cvmId:r}=KE.parse(t);return await e.get(`/cvms/${r}/compose_file`)}),JE=Br.object({id:Br.string().optional(),uuid:Br.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:Br.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:Br.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:Br.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})),ZE=Br.object({app_id:Br.string().nullable(),device_id:Br.string().nullable(),compose_hash:Br.string(),kms_info:Hn.nullable().optional()}).passthrough(),{action:YE,safeAction:od}=re(ZE,async(e,t)=>{let r=JE.parse(t);return await e.post(`/cvms/${r.cvmId}/compose_file/provision`,r.request)}),XE=mr.object({id:mr.string().optional(),uuid:mr.string().regex(/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i).optional(),app_id:mr.string().refine(e=>!e.startsWith("app_")&&e.length===40,"app_id should be 40 characters without prefix").transform(e=>e.startsWith("app_")?e:`app_${e}`).optional(),instance_id:mr.string().refine(e=>!e.startsWith("instance_")&&e.length===40,"instance_id should be 40 characters without prefix").transform(e=>e.startsWith("instance_")?e:`instance_${e}`).optional(),compose_hash:mr.string().min(1,"Compose hash is required"),encrypted_env:mr.string().optional(),env_keys:mr.array(mr.string()).optional(),update_env_vars:mr.boolean().optional().nullable()}).refine(e=>!!(e.id||e.uuid||e.app_id||e.instance_id),"One of id, uuid, app_id, or instance_id must be provided").transform(e=>({cvmId:e.id||e.uuid||e.app_id||e.instance_id,compose_hash:e.compose_hash,encrypted_env:e.encrypted_env,env_keys:e.env_keys,update_env_vars:!!e.update_env_vars,_raw:e})),QE=mr.any().transform(()=>{}),{action:ek,safeAction:nd}=re(QE,async(e,t)=>{let r=XE.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})}),tk=ke.object({id:ke.string().optional(),uuid:ke.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:ke.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:ke.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(),encrypted_env:ke.string().describe("Encrypted environment variables (hex string)"),env_keys:ke.array(ke.string()).optional().describe("List of allowed environment variable keys"),compose_hash:ke.string().optional().describe("Compose hash for verification (Phase 2, required when env_keys changes)"),transaction_hash:ke.string().optional().describe("On-chain transaction hash for verification (Phase 2, required when env_keys changes)")}).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:{encrypted_env:e.encrypted_env,env_keys:e.env_keys,compose_hash:e.compose_hash,transaction_hash:e.transaction_hash},_raw:e})),rk=ke.object({status:ke.literal("in_progress"),message:ke.string(),correlation_id:ke.string(),allowed_envs_changed:ke.boolean()}),ok=ke.object({status:ke.literal("precondition_required"),message:ke.string(),compose_hash:ke.string(),app_id:ke.string(),device_id:ke.string(),kms_info:Hn}),nk=ke.union([rk,ok]),{action:sk,safeAction:ik}=re(nk,async(e,t)=>{let r=tk.parse(t);try{return await e.patch(`/cvms/${r.cvmId}/envs`,r.request)}catch(o){if(o instanceof mn&&o.status===428){let n=o.detail;if(n&&typeof n=="object"){let s=n;return{status:"precondition_required",message:s.message||"Compose hash verification required",compose_hash:s.compose_hash,app_id:s.app_id,device_id:s.device_id,kms_info:s.kms_info}}}throw o}}),ak=Mx.object({kms_id:Mx.string().min(1,"KMS ID is required")}),{action:ck,safeAction:mk}=re(Hn,async(e,t)=>{let r=ak.parse(t);return await e.get(`/kms/${r.kms_id}`)}),uk=Fr.object({page:Fr.number().int().min(1).optional(),page_size:Fr.number().int().min(1).optional(),is_onchain:Fr.boolean().optional()}).strict(),pk=Fr.object({items:Fr.array(Hn),total:Fr.number(),page:Fr.number(),page_size:Fr.number(),pages:Fr.number()}).strict(),{action:fk,safeAction:sd}=re(pk,async(e,t)=>{let r=uk.parse(t??{});return await e.get("/kms",{params:r})}),lk=Ci.object({kms:Ci.string().min(1,"KMS ID or slug is required"),app_id:Ci.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(),dk=Ci.object({public_key:Ci.string(),signature:Ci.string()}).strict(),{action:hk,safeAction:id}=re(dk,async(e,t)=>{let r=lk.parse(t);return await e.get(`/kms/${r.kms}/pubkey/${r.app_id}`)}),gk=On.object({counts:On.number().int().min(1).max(20).optional().default(1)}).strict(),yk=On.object({app_ids:On.array(On.object({app_id:On.string(),nonce:On.number().int().min(0)}))}).strict(),{action:bk,safeAction:xk}=re(yk,async(e,t)=>{let r=gk.parse(t??{}),o=new URLSearchParams;return o.append("counts",r.counts.toString()),await e.get(`/kms/phala/next_app_id?${o.toString()}`)}),wk=Re,{action:vk,safeAction:Ck}=re(yp,async(e,t)=>{let{cvmId:r}=wk.parse(t);return await e.post(`/cvms/${r}/start`)}),Ek=Re,{action:kk,safeAction:Sk}=re(yp,async(e,t)=>{let{cvmId:r}=Ek.parse(t);return await e.post(`/cvms/${r}/stop`)}),Ik=Re,{action:Ak,safeAction:_k}=re(yp,async(e,t)=>{let{cvmId:r}=Ik.parse(t);return await e.post(`/cvms/${r}/shutdown`)}),Tk=Gn(jn.extend({force:Pk.boolean().optional()})),{action:$k,safeAction:Rk}=re(yp,async(e,t)=>{let r=Tk.parse(t),{cvmId:o}=Re.parse(r),{force:n=!1}=r;return await e.post(`/cvms/${o}/restart`,{force:n})}),Fk=Re,{action:Mk,safeAction:Dk}=re(Bk.void(),async(e,t)=>{let{cvmId:r}=Fk.parse(t);await e.delete(`/cvms/${r}`)}),Nk=te.object({name:te.string(),mount_point:te.string(),total_size:te.number(),free_size:te.number()}),zk=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(Nk)}),Lk=te.object({is_online:te.boolean(),is_public:te.boolean().default(!1),error:te.string().nullable(),sysinfo:zk.nullable(),status:te.string().nullable(),in_progress:te.boolean().default(!1),boot_progress:te.string().nullable(),boot_error:te.string().nullable()}),Ok=Re,{action:Uk,safeAction:Hk}=re(Lk,async(e,t)=>{let{cvmId:r}=Ok.parse(t);return await e.get(`/cvms/${r}/stats`)}),jk=$r.object({app:$r.string(),instance:$r.string()}),Gk=$r.object({is_online:$r.boolean(),is_public:$r.boolean().default(!0),error:$r.string().nullable(),internal_ip:$r.string().nullable(),latest_handshake:$r.string().nullable(),public_urls:$r.array(jk).nullable()}),Vk=Re,{action:qk,safeAction:Kk}=re(Gk,async(e,t)=>{let{cvmId:r}=Vk.parse(t);return await e.get(`/cvms/${r}/network`)}),Jk=Re,{action:Zk,safeAction:Yk}=re(Wk.string(),async(e,t)=>{let{cvmId:r}=Jk.parse(t);return await e.get(`/cvms/${r}/docker-compose.yml`)}),Xk=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()}),Qk=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(Xk).nullable()}),eS=Re,{action:tS,safeAction:rS}=re(Qk,async(e,t)=>{let{cvmId:r}=eS.parse(t);return await e.get(`/cvms/${r}/composition`)}),oS=L.object({common_name:L.string().nullable(),organization:L.string().nullable(),country:L.string().nullable(),state:L.string().nullable(),locality:L.string().nullable()}),nS=L.object({common_name:L.string().nullable(),organization:L.string().nullable(),country:L.string().nullable()}),sS=L.object({subject:oS,issuer:nS,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()}),iS=L.object({imr:L.number(),event_type:L.number(),digest:L.string(),event:L.string(),event_payload:L.string()}),aS=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(iS),app_compose:L.string()}),cS=L.object({name:L.string().nullable(),is_online:L.boolean(),is_public:L.boolean().default(!0),error:L.string().nullable(),app_certificates:L.array(sS).nullable(),tcb_info:aS.nullable(),compose_file:L.string().nullable()}),mS=Re,{action:uS,safeAction:pS}=re(cS,async(e,t)=>{let{cvmId:r}=mS.parse(t);return await e.get(`/cvms/${r}/attestation`)}),fS=Gn(jn.extend({vcpu:vi.number().optional(),memory:vi.number().optional(),disk_size:vi.number().optional(),instance_type:vi.string().optional(),allow_restart:vi.boolean().optional()})),{action:lS,safeAction:dS}=re(vi.void(),async(e,t)=>{let r=fS.parse(t),{cvmId:o}=Re.parse(r),{...n}=r;await e.patch(`/cvms/${o}/resources`,n)}),hS=Gn(jn.extend({public_sysinfo:Dx.boolean(),public_logs:Dx.boolean()})),{action:gS,safeAction:yS}=re(Wx,async(e,t)=>{let r=hS.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})}),Nx=ot.object({name:ot.string(),os_image_hash:ot.string().nullable(),is_current:ot.boolean()}),bS=ot.object({version:ot.union([ot.tuple([ot.number(),ot.number(),ot.number(),ot.number()]),ot.tuple([ot.number(),ot.number(),ot.number()])]),prod:Nx.nullable(),dev:Nx.nullable()}),xS=ot.array(bS),wS=Re,{action:vS,safeAction:CS}=re(xS,async(e,t)=>{let{cvmId:r}=wS.parse(t);return await e.get(`/cvms/${r}/available-os-images`)}),ES=Gn(jn.extend({os_image_name:Xx.string().min(1,"OS image name is required")})),{action:kS,safeAction:SS}=re(Xx.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})}),IS=Tr.object({id:Tr.string().optional(),instance_id:Tr.string().optional(),name:Tr.string(),status:Tr.string(),uptime:Tr.string().optional(),exited_at:Tr.string().optional(),boot_progress:Tr.string().optional(),boot_error:Tr.string().optional(),shutdown_progress:Tr.string().optional()}),AS=Re,{action:_S,safeAction:PS}=re(IS,async(e,t)=>{let{cvmId:r}=AS.parse(t);return await e.get(`/cvms/${r}/state`)});function xt(e={}){let t=nE(e),r={getCurrentUser:iE,safeGetCurrentUser:Un,getAvailableNodes:lE,safeGetAvailableNodes:Fa,listAllInstanceTypeFamilies:bE,safeListAllInstanceTypeFamilies:xE,listFamilyInstanceTypes:wE,safeListFamilyInstanceTypes:vE,listWorkspaces:kE,safeListWorkspaces:SE,getWorkspace:IE,safeGetWorkspace:AE,getCvmInfo:BE,safeGetCvmInfo:Jt,getCvmList:DE,safeGetCvmList:Ei,provisionCvm:OE,safeProvisionCvm:rd,commitCvmProvision:HE,safeCommitCvmProvision:bp,getCvmComposeFile:WE,safeGetCvmComposeFile:Ma,provisionCvmComposeFileUpdate:YE,safeProvisionCvmComposeFileUpdate:od,commitCvmComposeFileUpdate:ek,safeCommitCvmComposeFileUpdate:nd,updateCvmEnvs:sk,safeUpdateCvmEnvs:ik,startCvm:vk,safeStartCvm:Ck,stopCvm:kk,safeStopCvm:Sk,shutdownCvm:Ak,safeShutdownCvm:_k,restartCvm:$k,safeRestartCvm:Rk,deleteCvm:Mk,safeDeleteCvm:Dk,getCvmStats:Uk,safeGetCvmStats:Hk,getCvmNetwork:qk,safeGetCvmNetwork:Kk,getCvmDockerCompose:Zk,safeGetCvmDockerCompose:Yk,getCvmContainersStats:tS,safeGetCvmContainersStats:rS,getCvmAttestation:uS,safeGetCvmAttestation:pS,updateCvmResources:lS,safeUpdateCvmResources:dS,updateCvmVisibility:gS,safeUpdateCvmVisibility:yS,getAvailableOsImages:vS,safeGetAvailableOsImages:CS,updateOsImage:kS,safeUpdateOsImage:SS,getKmsInfo:ck,safeGetKmsInfo:mk,getKmsList:fk,safeGetKmsList:sd,getAppEnvEncryptPubKey:hk,safeGetAppEnvEncryptPubKey:id,nextAppIds:bk,safeNextAppIds:xk,getCvmState:_S,safeGetCvmState:PS};return t.extend(r)}function gp(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 Qx=class extends Error{constructor(e,t,r){super(e),this.code=t,this.details=r,this.name="NetworkError"}};var Rr=class extends Error{constructor(e,t,r){super(e),this.hash=t,this.details=r,this.name="TransactionError"}};async function TS(e,t){try{let r=await e.walletClient.getChainId();return{isCorrectNetwork:r===t,currentChainId:r}}catch(r){throw new Qx(`Failed to check network status: ${r instanceof Error?r.message:"Unknown error"}`,"NETWORK_CHECK_FAILED",r)}}async function $S(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 Qx(`Failed to check balance: ${o instanceof Error?o.message:"Unknown error"}`,"BALANCE_CHECK_FAILED",o)}}async function RS(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 Rr(`Transaction confirmation timeout after ${o}ms`,t));return}setTimeout(m,n);return}a(u)}else{if(Date.now()-i>=o){c(new Rr(`Transaction receipt timeout after ${o}ms`,t));return}setTimeout(m,n)}}catch(u){if(Date.now()-i>=o){c(new Rr(`Transaction receipt timeout after ${o}ms`,t,u));return}setTimeout(m,n)}};m()})}async function e1(e,t){let{targetChainId:r,minBalance:o,requiredAddress:n}=t,s=await TS(e,r),i=await $S(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 ad(){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:g,onError:h,signal:b}=u;try{if(n(),r=new AbortController,b){if(b.aborted)throw new Rr("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 Rr("Transaction aborted");let y=await a(c,...m);if(r.signal.aborted)throw new Rr("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 w=await Promise.race([RS(c.publicClient,y,{timeout:f,confirmations:p}),new Promise((k,I)=>{r?.signal.addEventListener("abort",()=>{I(new Rr("Transaction aborted while waiting for receipt",y))})})]);t&&(clearTimeout(t),t=void 0);let C=w.status==="success";if(o({state:C?"success":"error",receipt:w,confirmTime:Date.now(),error:C?void 0:"Transaction failed on-chain"}),C)g?.(w);else{let k=new Rr("Transaction failed on-chain",y,w);throw h?.(k,y),k}return{hash:y,receipt:w,success:C}}catch(y){let w=y instanceof Rr?y:new Rr(`Transaction execution failed: ${y instanceof Error?y.message:"Unknown error"}`,e.hash,y);throw o({state:"error",error:w.message}),h?.(w,e.hash),w}}}}async function t1(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 ad().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(g=>setTimeout(g,f)),f=Math.min(f*c,a)}throw u}var r1=[{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}],BS=$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(),FS=BS.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"]}),MS=$e.object({appId:$e.string(),appAuthAddress:$e.string(),deployer:$e.string(),transactionHash:$e.string(),blockNumber:$e.bigint().optional(),gasUsed:$e.bigint().optional()}).passthrough();function DS(e,t,r){try{let o=ar({abi:r1,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 NS(e,t){let r=FS.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:g,timeout:h=12e4,retryOptions:b,signal:y,onTransactionStateChange:w,onTransactionSubmitted:C,onTransactionConfirmed:k}=r,I="0000000000000000000000000000000000000000000000000000000000000000",A=u!==I&&u!=="0x"+I?!1:m,B,N,M,U;if(i){let ue=Aa(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=zn({chain:o,transport:ro(n)})}if(!o)throw new Error("Chain required for walletClient");N=Ia({account:ue,chain:o,transport:ro(n)}),M=ue.address,U=o.id}else if(a){if(typeof a!="object"||!a)throw new Error("walletClient is invalid");if(N=a,c){if(typeof c!="object"||!c)throw new Error("publicClient is invalid");B=c}else{if(!o)throw new Error("Chain required for publicClient");B=zn({chain:o,transport:ro(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=ad();if(w&&typeof w=="function"){let ue=()=>{w(V.status),V.isComplete||setTimeout(ue,100)};setTimeout(ue,10)}if(!d){let ue={targetChainId:U,minBalance:g?Dn(g):Dn("0.001")},uo=await e1(G,ue);if(!uo.networkValid)throw new Error(`Wrong network. Need chain ${ue.targetChainId}, got ${uo.details.currentChainId}`);if(!uo.balanceValid){let Yt=Number(ue.minBalance)/1e18,jp=Number(uo.details.balance)/1e18;throw new Error(`Not enough ETH. Need ${Yt}, have ${jp.toFixed(6)}`)}}let me=gp(u),_e=gp(f),qe=`0x${me.slice(2).padEnd(64,"0")}`,$t=`0x${_e.slice(2).padEnd(64,"0")}`,z=async ue=>{try{let Yt=await ue.publicClient.getCode({address:s});if(!Yt||Yt==="0x")throw new Error(`No contract at ${s}`)}catch(Yt){if(Yt instanceof Error&&Yt.message.includes("No contract at"))throw Yt}let uo={address:s,abi:r1,functionName:"deployAndRegisterApp",args:[ue.address,p,A,qe,$t],account:ue.walletClient.account||ue.address,chain:o||null};return await ue.walletClient.writeContract(uo)},Ie=b?await t1(z,G,[],{timeout:h,confirmations:1,onSubmitted:C,onConfirmed:k,signal:y},b):await V.execute(z,G,[],{timeout:h,confirmations:1,onSubmitted:C,onConfirmed:k,signal:y}),fr=DS(Ie.receipt,M,s);return t?.schema===!1?fr:(t?.schema||MS).parse(fr)}async function o1(e,t){try{return{success:!0,data:await NS(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 n1=[{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}],zS=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"]}),LS=ve.object({composeHash:ve.string(),appId:ve.string(),transactionHash:ve.string(),blockNumber:ve.bigint().optional(),gasUsed:ve.bigint().optional()}).passthrough();function OS(e,t,r,o){console.log(e.logs);try{let n=ar({abi:n1,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 US(e,t){let r=zS.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:g,onTransactionConfirmed:h,skipPrerequisiteChecks:b=!1,minBalance:y}=r,w,C,k,I,T=s.startsWith("0x")?s:`0x${s}`;if(a){let V=Aa(a);if(m)w=m;else{if(!o)throw new Error("Chain required when creating publicClient");w=zn({chain:o,transport:ro(n)})}if(!o)throw new Error("Chain required when creating walletClient");C=Ia({account:V,chain:o,transport:ro(n)}),k=V.address,I=o.id}else if(c){if(C=c,m)w=m;else{if(!o)throw new Error("Chain required when creating publicClient");w=zn({chain:o,transport:ro(n)})}if(!C.account?.address)throw new Error("WalletClient must have an account with address");k=C.account.address,I=o?o.id:await C.getChainId()}else throw new Error("Either privateKey or walletClient must be provided");let A={publicClient:w,walletClient:C,address:k,chainId:I},B=ad();if(d&&typeof d=="function"){let V=()=>{d(B.status),B.isComplete||setTimeout(V,100)};setTimeout(V,10)}if(!b){let V={targetChainId:I,minBalance:y?Dn(y):Dn("0.001")},me=await e1(A,V);if(!me.networkValid)throw new Error(`Network mismatch: Expected chain ${V.targetChainId}, but wallet is on chain ${me.details.currentChainId}`);if(!me.balanceValid){let _e=Number(V.minBalance)/1e18,qe=Number(me.details.balance)/1e18;throw new Error(`Insufficient balance: Required ${_e} ETH, but account has ${qe.toFixed(6)} ETH`)}}let N=async V=>await V.walletClient.writeContract({address:T,abi:n1,functionName:"addComposeHash",args:[gp(i)],account:V.walletClient.account||V.address,chain:o||null}),M=f?await t1(N,A,[],{timeout:u,confirmations:1,onSubmitted:g,onConfirmed:h,signal:p},f):await B.execute(N,A,[],{timeout:u,confirmations:1,onSubmitted:g,onConfirmed:h,signal:p}),U=OS(M.receipt,gp(i),T,s);return t?.schema===!1?U:(t?.schema||LS).parse(U)}async function s1(e,t){try{return{success:!0,data:await US(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 EX=wi.object({target:wi.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),interval:wi.number().min(5).max(30).default(5).describe("Polling interval in seconds"),timeout:wi.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),maxRetries:wi.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),retryDelay:wi.number().min(0).default(5e3).describe("Delay between retries in milliseconds")});var HS=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function jS(e){let t={},r=e.toString();r=r.replace(/\r\n?/gm,`
70
+ `);let o;for(;(o=HS.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 i1(e){let t=jS(e),r=[];for(let[o,n]of Object.entries(t))r.push({key:o,value:n});return r}import ct from"chalk";import qS 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 WS(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 a1(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(...WS(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)=>{ut()||(process.stderr.write(`${ct.red("\u2717")} ${ct.red(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
73
+ `))},warn:(e,...t)=>{ut()||(process.stderr.write(`${ct.yellow("\u26A0")} ${ct.yellow(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
74
+ `))},info:(e,...t)=>{ut()||(process.stderr.write(`${ct.blue("\u2139")} ${ct.blue(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
75
+ `))},success:(e,...t)=>{ut()||(process.stderr.write(`${ct.green("\u2713")} ${ct.green(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
76
+ `))},debug:(e,...t)=>{ut()||process.env.DEBUG&&(process.stderr.write(`${ct.gray("\u{1F50D}")} ${ct.gray(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
77
+ `))},table:(e,t)=>{if(!ut()){if(e.length===0){console.log(ct.yellow("No data to display"));return}if(t){let r;typeof t[0]=="string"?r=t.map(i=>({key:i,header:i})):r=t;let o={};for(let i of r){let a=i.header||String(i.key);o[String(i.key)]=a.length}for(let i of e)for(let a of r){let c=String(typeof a.key=="string"&&!(a.key in i)?"":i[String(a.key)]??"");o[String(a.key)]=Math.max(o[String(a.key)],c.length)}let n=[];for(let i of r){let a=i.header||String(i.key);n.push(ct.bold(a.padEnd(o[String(i.key)])))}console.log(n.join(" "));let s=[];for(let i of r)s.push("-".repeat(o[String(i.key)]));console.log(s.join(" "));for(let i of e){let a=[];for(let c of r){let m=String(typeof c.key=="string"&&!(c.key in i)?"":i[String(c.key)]??"");a.push(m.padEnd(o[String(c.key)]))}console.log(a.join(" "))}}else{let r=e[0],o=Object.keys(r),n={};for(let a of o)n[a]=a.length;for(let a of e)for(let c of o){let m=String(a[c]??"");n[c]=Math.max(n[c],m.length)}let s=[];for(let a of o)s.push(ct.bold(a.padEnd(n[a])));console.log(s.join(" "));let i=[];for(let a of o)i.push("-".repeat(n[a]));console.log(i.join(" "));for(let a of e){let c=[];for(let m of o){let u=String(a[m]??"");c.push(u.padEnd(n[m]))}console.log(c.join(" "))}}}},keyValueTable:(e,t)=>{if(ut())return;let{borderStyle:r="single",keyColor:o=ct.blue,valueColor:n=ct.white,maxWidth:s=process.stdout.columns||80}=t||{},a={single:{topLeft:"\u250C",topRight:"\u2510",bottomLeft:"\u2514",bottomRight:"\u2518",horizontal:"\u2500",vertical:"\u2502",cross:"\u253C",leftT:"\u251C",rightT:"\u2524"},double:{topLeft:"\u2554",topRight:"\u2557",bottomLeft:"\u255A",bottomRight:"\u255D",horizontal:"\u2550",vertical:"\u2551",cross:"\u256C",leftT:"\u2560",rightT:"\u2563"},rounded:{topLeft:"\u256D",topRight:"\u256E",bottomLeft:"\u2570",bottomRight:"\u256F",horizontal:"\u2500",vertical:"\u2502",cross:"\u253C",leftT:"\u251C",rightT:"\u2524"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomLeft:"\u2517",bottomRight:"\u251B",horizontal:"\u2501",vertical:"\u2503",cross:"\u254B",leftT:"\u2523",rightT:"\u252B"},none:{topLeft:"",topRight:"",bottomLeft:"",bottomRight:"",horizontal:"",vertical:"",cross:"",leftT:"",rightT:""}}[r],c=0,m=0;for(let[g,h]of Object.entries(e)){c=Math.max(c,g.length);let b=String(h??"");m=Math.max(m,b.length)}let u=4,f=1,p=s-u-f;if(c+m>p){let g=c/(c+m);c=Math.floor(p*g),m=p-c}let d=c+m+u+f;r!=="none"&&console.log(a.topLeft+a.horizontal.repeat(d-2)+a.topRight);for(let[g,h]of Object.entries(e)){let b=g,y=String(h??""),w=a1(b,c),C=a1(y,m),k=Math.max(w.length,C.length);for(;w.length<k;)w.push("");for(;C.length<k;)C.push("");for(let I=0;I<k;I++){let T=w[I].padEnd(c),A=C[I].padEnd(m);console.log(r!=="none"?`${a.vertical} ${o(T)} ${a.vertical} ${n(A)} ${a.vertical}`:`${o(T)} : ${n(A)}`)}}r!=="none"&&console.log(a.bottomLeft+a.horizontal.repeat(d-2)+a.bottomRight)},break:()=>{ut()||process.stderr.write(`
78
+ `)},startSpinner:e=>{if(ut())return{stop:()=>{}};let t=qS(e).start();return{stop:(r=!0,o)=>{o&&(t.text=o),r?t.succeed():t.fail()}}},logDetailedError(e,t){if(ut())return;let r=t?`[${t}] `:"",o=s=>s!==null&&typeof s=="object"&&"isRequestError"in s&&s.isRequestError===!0&&"status"in s&&"message"in s&&"data"in s,n=s=>s!==null&&typeof s=="object"&&"issues"in s&&Array.isArray(s.issues);if(o(e)){process.stderr.write(`${r}HTTP ${e.status}: ${e.message}
79
79
  `),e.data!==void 0&&e.data!==null&&process.stderr.write(`${JSON.stringify(e.data,null,2)}
80
80
  `);return}if(n(e)){process.stderr.write(`${r}Validation error: ${JSON.stringify(e.issues)}
81
81
  `);return}e instanceof Error?process.stderr.write(`${r}${e.message}
82
82
  `):process.stderr.write(`${r}${String(e)}
83
- `)}};var MS=Un(On.extend({api_version:dp.enum(Ta).optional(),gateway_domain:dp.string().optional(),gateway_port:dp.number().int().positive().optional()})),nd="phala.toml";function o1(){return BS.join(process.cwd(),nd)}function DS(){return od.existsSync(o1())}function NS(){let e=o1();if(!od.existsSync(e))throw new Error(`Project configuration file not found: ${nd}
84
- Run 'phala init' to create one.`);try{let t=od.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 dp.ZodError){let r=t.issues.map(o=>` - ${o.path.join(".")}: ${o.message}`).join(`
83
+ `)}};var YS=Gn(jn.extend({api_version:xp.enum(Ba).optional(),gateway_domain:xp.string().optional(),gateway_port:xp.number().int().positive().optional()})),md="phala.toml";function c1(){return JS.join(process.cwd(),md)}function XS(){return cd.existsSync(c1())}function QS(){let e=c1();if(!cd.existsSync(e))throw new Error(`Project configuration file not found: ${md}
84
+ Run 'phala init' to create one.`);try{let t=cd.readFileSync(e,"utf8"),r=ZS.parse(t),o=YS.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 xp.ZodError){let r=t.issues.map(o=>` - ${o.path.join(".")}: ${o.message}`).join(`
85
85
  `);throw new Error(`Invalid project configuration:
86
- ${r}`)}throw new Error(`Failed to parse ${nd}: ${t instanceof Error?t.message:String(t)}`)}}function n1(){return DS()?NS():{}}function hp(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:g}=p,h=r.slice(g.length);try{let b=_i(h,d.meta.options);if(b.flags["--version"])return s.write(`${n}
87
- `),0;if(b.flags["--help"])return s.write(`${Wd({executableName:o,definition:d,registry:t})}
88
- `),0;let y=Gd(d.meta,b),v={...y.options,...y.positionals,options:y.options,positionals:y.positionals,raw:y.raw},C={argv:h,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
86
+ ${r}`)}throw new Error(`Failed to parse ${md}: ${t instanceof Error?t.message:String(t)}`)}}function m1(){return XS()?QS():{}}function ki(e){if(!e)return;let{cvmId:t}=Re.parse({id:e});return t}async function p1(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,stdin:a,env:c,cwd:m}=e,u=r3(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 u1({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?u1({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:[u[0]]}):t3({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i});let{definition:d,consumed:g}=p,h=r.slice(g.length);try{let b=$i(h,d.meta.options);if(b.flags["--version"])return s.write(`${n}
87
+ `),0;if(b.flags["--help"])return s.write(`${Qd({executableName:o,definition:d,registry:t})}
88
+ `),0;let y=Jd(d.meta,b),w={...y.options,...y.positionals,options:y.options,positionals:y.positionals,raw:y.raw},C={argv:h,rawFlags:b.flags,rawPositionals:b.positionals,cwd:m,env:c,stdout:s,stderr:i,stdin:a,projectConfig:m1(),success(T){if(ut()){let A=typeof T=="string"?{success:!0,message:T}:{success:!0,...typeof T=="object"&&T!==null?T:{data:T}};s.write(`${JSON.stringify(A,null,2)}
89
+ `)}else typeof T=="string"?s.write(`${Da.green("\u2713")} ${Da.green(T)}
90
+ `):(s.write(`${Da.green("\u2713")} Success
91
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(sd(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})}
92
+ `))},fail(T,A){ut()?s.write(`${JSON.stringify({success:!1,error:T,...A&&{details:A}},null,2)}
93
+ `):(i.write(`${Da.red("\u2717")} ${Da.red(T)}
94
+ `),A&&i.write(`${JSON.stringify(A,null,2)}
95
+ `))}},k=d.schema.parse(w),I=await d.run(k,C);return typeof I=="number"?I:0}catch(b){if(b instanceof e3)return i.write(o3(b)),1;if(ud(b))return i.write(`${b.message}
96
+ `),1;throw b}}function t3(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(`${ec({registry:t,executableName:o})}
98
+ `),0;if(a.positionals.length===0)return s.write(`${ec({registry:t,executableName:o})}
99
99
  `),0;let c=a.positionals.join(" ");return i.write(`Unknown command "${c}". Run \`${o} --help\` for a list of commands.
100
- `),1}catch(a){if(sd(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(`${Kd({registry:t,executableName:o,groupPath:a})}
100
+ `),1}catch(a){if(ud(a))return i.write(`${a.message}
101
+ `),1;throw a}}function u1(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(`${Xd({registry:t,executableName:o,groupPath:a})}
103
103
  `),0;let u=m.positionals.join(" "),f=a.join(" ");return i.write(`Unknown subcommand "${u}" for "${f}". Run \`${o} ${f} --help\` for a list of subcommands.
104
- `),1}catch(c){if(sd(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}
104
+ `),1}catch(c){if(ud(c))return i.write(`${c.message}
105
+ `),1;throw c}}function r3(e){let t=[];for(let r of e){if(r.startsWith("-"))break;t.push(r)}return t}function o3(e){let t=e.issues[0];return t?`Invalid value for "${t.path.length>0?t.path.join("."):"input"}": ${t.message}
106
106
  `:`${e.message}
107
- `}function sd(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 gp=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 yp from"node:crypto";import Fr from"node:fs";import Ci from"node:os";import ad from"node:path";var Fa=ad.join(Ci.homedir(),".phala-cloud"),Ma=ad.join(Fa,"api-key"),id=ad.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=yp.createHash("sha256");return t.update(e.join("|")),t.digest()}function HS(e){try{let t=u1(),r=yp.randomBytes(16),o=yp.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=yp.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 bp(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 cd(e){m1();try{Fr.writeFileSync(id,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(id)){let e=Fr.readFileSync(id,"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 xp(e){return bt({apiKey:e})}var ge=process.env.CLOUD_URL||"https://cloud.phala.network";var Hn=1,jn=2048,Gn=40,md="dstack-0.3.6",p1=`version: '3.8'
107
+ `}function ud(e){return e instanceof Error&&Object.prototype.hasOwnProperty.call(e,"code")&&typeof e.code=="string"}function f1(e){return{name:e,children:new Map,aliasMap:new Map}}var wp=class{root=f1(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=f1(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 l1={path:["auth"],meta:{name:"auth",description:"Authenticate with Phala Cloud"}};import i3 from"prompts";function $(e){return{path:e.path,meta:e.meta,schema:e.schema,run:e.handler}}import vp from"node:crypto";import Mr from"node:fs";import Si from"node:os";import fd from"node:path";var Na=fd.join(Si.homedir(),".phala-cloud"),za=fd.join(Na,"api-key"),pd=fd.join(Na,"docker-credentials.json");function d1(){if(!Mr.existsSync(Na))try{Mr.mkdirSync(Na,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Na}:`,e),e}}function h1(){let e=[Si.hostname(),Si.platform(),Si.arch(),Si.cpus()[0]?.model||"",Si.userInfo().username],t=vp.createHash("sha256");return t.update(e.join("|")),t.digest()}function n3(e){try{let t=h1(),r=vp.randomBytes(16),o=vp.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 s3(e){try{let t=h1(),r=e.split(":");if(r.length!==2)throw new Error("Invalid encrypted format");let o=Buffer.from(r[0],"hex"),n=r[1],s=vp.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 Cp(e){d1();try{let t=n3(e);Mr.writeFileSync(za,t,{mode:384})}catch(t){throw l.error("Failed to save API key:",t),t}}function un(){try{if(process.env.PHALA_CLOUD_API_KEY)return process.env.PHALA_CLOUD_API_KEY;if(Mr.existsSync(za)){let e=Mr.readFileSync(za,"utf8").trim();return s3(e)}return null}catch(e){return l.error("Failed to read API key:",e),null}}async function Dr(){try{Mr.existsSync(za)?(Mr.unlinkSync(za),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 ld(e){d1();try{Mr.writeFileSync(pd,JSON.stringify(e,null,2),{mode:384}),l.success("Docker information saved successfully.")}catch(t){throw l.error("Failed to save Docker information:",t),t}}async function no(){try{if(Mr.existsSync(pd)){let e=Mr.readFileSync(pd,"utf8");return JSON.parse(e)}return null}catch(e){return l.error("Failed to read Docker credentials:",e),null}}async function ae(){let e=un();return xt({apiKey:e})}async function Ep(e){return xt({apiKey:e})}var ge=process.env.CLOUD_URL||"https://cloud.phala.network";var Vn=1,qn=2048,Kn=40,dd="dstack-0.3.6",g1=`version: '3.8'
108
108
  services:
109
109
  postgres:
110
110
  image: ankane/pgvector:latest
@@ -149,7 +149,7 @@ networks:
149
149
  driver: bridge
150
150
 
151
151
  volumes:
152
- postgres-data:`,f1=`version: '3.8'
152
+ postgres-data:`,y1=`version: '3.8'
153
153
  services:
154
154
  app:
155
155
  image: {{imageName}}
@@ -160,33 +160,33 @@ services:
160
160
  {{#each envVars}} - {{{this}}}
161
161
  {{/each}}
162
162
  restart: always
163
- `;import{z as wp}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=wp.object({apiKey:wp.string().min(1,"API key cannot be empty").optional(),manual:wp.boolean().optional(),noOpen:wp.boolean().optional()});async function ud(e){try{await bp(e);let t=await xp(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 ud(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 ud(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 ud(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 vp}from"zod";var no={name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json",negatedName:"no-json"},pd={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,pd],examples:[{name:"Show login status in human-readable format",value:"phala status"},{name:"Get status as JSON",value:"phala status --json"}]},Cp=vp.object({json:vp.boolean().default(!1),debug:vp.boolean().default(!1),apiToken:vp.string().optional()});async function fd(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}
163
+ `;import{z as kp}from"zod";var b1={name:"login",description:"[DEPRECATED] Authenticate with Phala Cloud (use 'phala login' instead)",arguments:[{name:"api-key",description:"API key for authentication (optional, triggers device flow if not provided)",required:!1,target:"apiKey"}],options:[{name:"manual",description:"Manually enter API key instead of using device flow",type:"boolean"},{name:"no-open",description:"Don't automatically open browser for device flow",type:"boolean"}]},x1=kp.object({apiKey:kp.string().min(1,"API key cannot be empty").optional(),manual:kp.boolean().optional(),noOpen:kp.boolean().optional()});async function hd(e){try{await Cp(e);let t=await Ep(e),r=await Un(t),o=r.data;if(!r.success||!o?.username)throw await Dr(),new Error("Invalid API key");return o}catch(t){throw await Dr(),t instanceof Error?t:new Error(String(t))}}async function a3(){let e,t=await i3({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 hd(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 hd(t.apiKey)),{apiKey:t.apiKey,user:e}}async function c3(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 hd(r);else{let n=await a3();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 w1=$({path:["auth","login"],meta:b1,schema:x1,handler:c3});import{z as m3}from"zod";var v1={name:"logout",description:"[DEPRECATED] Remove the stored API key (use 'phala logout' instead)"},C1=m3.object({});async function u3(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 Dr(),l.success("API key removed successfully"),0}catch(r){return l.error("Failed to remove API key"),l.logDetailedError(r),1}}var E1=$({path:["auth","logout"],meta:v1,schema:C1,handler:u3});import{z as Sp}from"zod";var so={name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json",negatedName:"no-json"},gd={name:"debug",shorthand:"d",description:"Enable debug output",type:"boolean",target:"debug"},k1={name:"status",description:"Check Phala Cloud status and authentication",options:[...Yn,so,gd],examples:[{name:"Show login status in human-readable format",value:"phala status"},{name:"Get status as JSON",value:"phala status --json"}]},Ip=Sp.object({json:Sp.boolean().default(!1),debug:Sp.boolean().default(!1),apiToken:Sp.string().optional()});async function yd(e,t){Ke(e.json);let r=e.debug||t.env.DEBUG?.toLowerCase()==="true",o=e.apiToken||un();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=xt({apiKey:o}),s=await Un(n);if(!s.success)return l.error("Failed to get user information"),s.error&&l.error(`Error: ${s.error.message}`),t.fail(s.error?.message||"Failed to get user information"),1;let i=s.data,a=t.env.PHALA_CLOUD_API_PREFIX||"https://cloud-api.phala.network/api/v1";return e.json?(t.success({apiUrl:a,username:i.username,team_name:i.team_name}),0):(t.stdout.write(`Integrated API: ${a}
164
164
  `),t.stdout.write(`Logged in as: ${i.username}
165
165
  `),t.stdout.write(`Current Workspace: ${i.team_name}
166
- `),0)}catch(n){return l.error("Authentication failed. Your API key may be invalid or expired."),l.info('Please set a new API key with "phala login"'),r&&l.logDetailedError(n),t.fail("Authentication failed. Your API key may be invalid or expired."),1}}var w1=$({path:["status"],meta:x1,schema:Cp,handler:fd});var v1={name:"status",description:"[DEPRECATED] Check authentication status (use 'phala status' instead)",options:[...Wn,no,pd]},C1=Cp;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()),fd(e,t))});var ld={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 Ep=S1.join(JS.homedir(),".phala-cloud"),hd=S1.join(Ep,"config.json"),dd={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(Ep))try{Da.mkdirSync(Ep,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Ep}:`,e),e}}function kp(){try{if(Da.existsSync(hd)){let e=Da.readFileSync(hd,"utf8");return{...dd,...JSON.parse(e)}}return dd}catch(e){return l.error("Failed to load configuration:",e),dd}}function YS(e){ZS();try{Da.writeFileSync(hd,JSON.stringify({...kp(),...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 kp()[e]}function I1(e,t){let r=kp();r[e]=t,YS(r)}function _1(){return kp()}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
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 S1=$({path:["status"],meta:k1,schema:Ip,handler:yd});var I1={name:"status",description:"[DEPRECATED] Check authentication status (use 'phala status' instead)",options:[...Yn,so,gd]},A1=Ip;var _1=$({path:["auth","status"],meta:I1,schema:A1,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()),yd(e,t))});var bd={group:l1,commands:[w1,E1,_1]};var P1={path:["config"],meta:{name:"config",description:"Manage your local configuration"}};import p3 from"node:os";import T1 from"node:path";import La from"fs-extra";var Ap=T1.join(p3.homedir(),".phala-cloud"),wd=T1.join(Ap,"config.json"),xd={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 f3(){if(!La.existsSync(Ap))try{La.mkdirSync(Ap,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Ap}:`,e),e}}function _p(){try{if(La.existsSync(wd)){let e=La.readFileSync(wd,"utf8");return{...xd,...JSON.parse(e)}}return xd}catch(e){return l.error("Failed to load configuration:",e),xd}}function l3(e){f3();try{La.writeFileSync(wd,JSON.stringify({..._p(),...e},null,2),{mode:384}),l.success("Configuration saved successfully.")}catch(t){throw l.error("Failed to save configuration:",t),t}}function $1(e){return _p()[e]}function R1(e,t){let r=_p();r[e]=t,l3(r)}function B1(){return _p()}import{z as F1}from"zod";var M1={name:"get",description:"Get a configuration value",arguments:[{name:"key",description:"Configuration key",required:!0}]},D1=F1.object({key:F1.string()});async function d3(e,t){try{let r=$1(e.key);return r===void 0?(t.stderr.write(`Configuration key '${e.key}' not found
167
167
  `),1):(t.stdout.write(`${e.key}: ${JSON.stringify(r)}
168
168
  `),0)}catch(r){return t.stderr.write(`Failed to get configuration value
169
- `),l.logDetailedError(r),1}}var 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:
169
+ `),l.logDetailedError(r),1}}var N1=$({path:["config","get"],meta:M1,schema:D1,handler:d3});import{z as z1}from"zod";var L1={name:"list",aliases:["ls"],description:"List all configuration values",options:[{name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json"}]},O1=z1.object({json:z1.boolean().default(!1)});async function h3(e,t){Ke(e.json);try{let r=B1();if(e.json)return t.success(r),0;t.stdout.write(`Configuration values:
170
170
  `);for(let[o,n]of Object.entries(r))t.stdout.write(`${o}: ${JSON.stringify(n)}
171
- `);return 0}catch(r){return l.logDetailedError(r),t.fail("Failed to list configuration values"),1}}var D1=$({path:["config","list"],meta:F1,schema:M1,handler:QS});import{z as gd}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=gd.object({key:gd.string(),value:gd.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
171
+ `);return 0}catch(r){return l.logDetailedError(r),t.fail("Failed to list configuration values"),1}}var U1=$({path:["config","list"],meta:L1,schema:O1,handler:h3});import{z as vd}from"zod";var H1={name:"set",description:"Set a configuration value",arguments:[{name:"key",description:"Configuration key",required:!0},{name:"value",description:"Configuration value",required:!0}]},j1=vd.object({key:vd.string(),value:vd.string()});async function g3(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 R1(e.key,r),t.stdout.write(`Configuration value for '${e.key}' set successfully
172
172
  `),0}catch(r){return t.stderr.write(`Failed to set configuration value
173
- `),l.logDetailedError(r),1}}var L1=$({path:["config","set"],meta:N1,schema:z1,handler:e3});var yd={group:k1,commands:[R1,D1,L1]};var O1={path:["cvms"],meta:{name:"cvms",description:"Manage Phala Confidential Virtual Machines (CVMs)"}};import Ip 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 Sp(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 Ap(){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 bd(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 xd}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=xd.object({appId:xd.string().optional(),json:xd.boolean().default(!1)});async function s3(e){return e?Sp(e):(l.info("No CVM specified, fetching available CVMs..."),await Ap()??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?Ip.green("Online"):Ip.red("Offline"),"Public Access":n.is_public?Ip.green("Enabled"):Ip.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 wd from"node:fs";import vd from"node:path";import a3 from"inquirer";function Pt(e,t=process.cwd()){let r=vd.resolve(t,e);if(!wd.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=vd.resolve(o,s);return wd.existsSync(i)?!0:`File not found at ${i}`}}]))[r]}function ki(e,t){for(let r of e){let o=vd.join(process.cwd(),r);if(wd.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(`
173
+ `),l.logDetailedError(r),1}}var G1=$({path:["config","set"],meta:H1,schema:j1,handler:g3});var Cd={group:P1,commands:[N1,U1,G1]};var V1={path:["cvms"],meta:{name:"cvms",description:"Manage Phala Confidential Virtual Machines (CVMs)"}};import $p from"chalk";import{z as v}from"zod";var y3=v.object({password:v.string(),registry:v.string().nullable(),username:v.string()}),Fee=v.object({docker_compose_file:v.string(),docker_config:y3.optional().nullable(),features:v.array(v.string()),kms_enabled:v.boolean(),manifest_version:v.number(),name:v.string(),public_logs:v.boolean(),public_sysinfo:v.boolean(),runner:v.string().optional(),salt:v.string().nullable().optional(),tproxy_enabled:v.boolean(),version:v.string().optional()}).passthrough(),q1=v.object({id:v.number(),name:v.string(),status:v.string(),teepod_id:v.number().nullable(),teepod:v.object({id:v.number(),name:v.string()}).nullable(),user_id:v.number().nullable(),app_id:v.string(),vm_uuid:v.string().nullable(),instance_id:v.string().nullable(),app_url:v.string().nullable(),base_image:v.string().nullable(),vcpu:v.number(),memory:v.number(),disk_size:v.number(),manifest_version:v.number().nullable(),version:v.string().nullable(),runner:v.string().nullable(),docker_compose_file:v.string().nullable(),features:v.array(v.string()).nullable(),created_at:v.string(),encrypted_env_pubkey:v.string().nullable()}),Mee=v.object({key:v.string(),value:v.string()}),b3=v.object({is_online:v.boolean(),is_public:v.boolean(),error:v.string().nullable(),internal_ip:v.string(),latest_handshake:v.string(),public_urls:v.array(v.object({app:v.string(),instance:v.string()}))}),K1=v.object({id:v.number(),name:v.string(),status:v.string(),teepod_id:v.number(),teepod:v.object({id:v.number(),name:v.string()}),user_id:v.number().nullable(),app_id:v.string(),vm_uuid:v.string().nullable(),instance_id:v.string().nullable(),app_url:v.string().nullable(),base_image:v.string().nullable(),vcpu:v.number(),memory:v.number(),disk_size:v.number(),manifest_version:v.number().nullable(),version:v.string().nullable(),runner:v.string().nullable(),docker_compose_file:v.string().nullable(),features:v.array(v.string()).nullable(),created_at:v.string(),encrypted_env_pubkey:v.string().nullable()}),W1=v.object({is_online:v.boolean(),is_public:v.boolean(),error:v.string().nullable(),app_certificates:v.array(v.object({subject:v.object({common_name:v.string().nullable(),organization:v.string().nullable(),country:v.string().nullable(),state:v.string().nullable().optional(),locality:v.string().nullable().optional()}),issuer:v.object({common_name:v.string().nullable(),organization:v.string().nullable(),country:v.string().nullable()}),serial_number:v.string(),not_before:v.string(),not_after:v.string(),version:v.string(),fingerprint:v.string(),signature_algorithm:v.string(),sans:v.string().nullable(),is_ca:v.boolean(),position_in_chain:v.number(),quote:v.string().nullable()})).nullable(),tcb_info:v.object({mrtd:v.string(),rootfs_hash:v.string(),rtmr0:v.string(),rtmr1:v.string(),rtmr2:v.string(),rtmr3:v.string(),event_log:v.array(v.object({imr:v.number(),event_type:v.number(),digest:v.string(),event:v.string(),event_payload:v.string()}))}).nullable(),compose_file:v.string().nullable()}),x3=v.object({name:v.string(),description:v.string().optional(),version:v.array(v.number()).optional(),is_dev:v.boolean().optional(),os_image_hash:v.string().nullable().optional(),rootfs_hash:v.string().optional(),shared_ro:v.boolean().optional(),cmdline:v.string().optional(),kernel:v.string().optional(),initrd:v.string().optional(),hda:v.string().nullable().optional(),rootfs:v.string().optional(),bios:v.string().optional()}),Dee=v.object({teepod_id:v.number().nullable(),id:v.number().optional(),name:v.string(),listed:v.boolean().optional(),resource_score:v.number().optional(),remaining_vcpu:v.number().optional(),remaining_memory:v.number().optional(),remaining_cvm_slots:v.number().optional(),images:v.array(x3).optional(),region_identifier:v.string().optional(),dedicated_for_team_id:v.number().nullable().optional(),support_onchain_kms:v.boolean().optional(),fmspc:v.string().nullable().optional(),device_id:v.string().nullable().optional()});import w3 from"inquirer";async function Pp(e){let t=await ae(),r=await Ei(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 Ii(e){let t=await ae(),r=e.replace(/^app_/,""),o=await Jt(t,{app_id:r});if(!o.success)throw new Error(o.error.message);return o.data}async function J1(e){let t=await ae(),r=await Ma(t,{id:e});if(!r.success)throw new Error(r.error.message);return r.data}async function Z1(e){let t=await ae(),r=e.replace(/^app_/,""),o=await t.post(`cvms/app_${r}/start`);return(await Jt(t,{app_id:r})).data}async function Y1(e){let t=await ae(),r=e.replace(/^app_/,"");return await t.post(`cvms/app_${r}/stop`),(await Jt(t,{app_id:r})).data}async function X1(e){let t=await ae(),r=e.replace(/^app_/,"");return await t.post(`cvms/app_${r}/restart`),(await Jt(t,{app_id:r})).data}async function Q1(e){let t=await ae(),r=e.replace(/^app_/,"");return await t.delete(`cvms/app_${r}`),!0}async function Tp(){let e=l.startSpinner("Fetching available CVMs"),t=await ae(),r=await Ei(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 w3.prompt([{type:"list",name:"selectedCvm",message:"Select a CVM:",choices:s}]);return i}async function e6(e){let t=await ae(),r=e.replace(/^app_/,""),o=await t.get(`cvms/app_${r}/attestation`);try{return W1.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 t6(e,t){let r=await ae(),o=e.replace(/^app_/,""),n=await r.post(`cvms/app_${o}/replicas`,t);return K1.parse(n)}async function Ed(e,t,r,o,n){let s=await ae(),i=e.replace(/^app_/,""),a={};if(t!==void 0&&(a.vcpu=t),r!==void 0&&(a.memory=r),o!==void 0&&(a.disk_size=o),n!==void 0&&(a.allow_restart=n),Object.keys(a).length===0)throw new Error("At least one resource parameter must be provided");return await s.patch(`cvms/app_${i}/resources`,a),!0}async function r6(e){return await(await ae()).post("cvms/pubkey/from_cvm_configuration",e)}async function o6(e){let r=await(await ae()).post("cvms/from_cvm_configuration",e);return q1.parse(r)}async function n6(e,t){let r=await ae(),o=e.replace(/^app_/,"");return await r.put(`cvms/app_${o}/compose`,t)}async function s6(e=!1){let t=await ae(),r="teepods/available";return e&&(r+="?v03x_only=1"),await t.get(r)}import{z as kd}from"zod";var i6={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:[so],examples:[{name:"Show attestation summary",value:"phala cvms attestation"},{name:"Output full attestation JSON",value:"phala cvms attestation --json"}]},a6=kd.object({appId:kd.string().optional(),json:kd.boolean().default(!1)});async function v3(e){return e?Pp(e):(l.info("No CVM specified, fetching available CVMs..."),await Tp()??void 0)}async function C3(e,t){Ke(e.json);try{let r=await v3(e.appId);if(!r)return 0;let o=l.startSpinner(`Fetching attestation information for CVM app_${r}...`);try{let n=await e6(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?$p.green("Online"):$p.red("Offline"),"Public Access":n.is_public?$p.green("Enabled"):$p.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 c6=$({path:["cvms","attestation"],meta:i6,schema:a6,handler:C3});import g6 from"node:fs";import A3 from"node:path";import Sd from"node:fs";import Id from"node:path";import E3 from"inquirer";function Tt(e,t=process.cwd()){let r=Id.resolve(t,e);if(!Sd.existsSync(r))throw new Error(`File not found at ${r}`);return!0}async function Nr(e,t,r="file",o=process.cwd()){return(await E3.prompt([{type:"input",name:r,message:e,default:t,validate:s=>{let i=Id.resolve(o,s);return Sd.existsSync(i)?!0:`File not found at ${i}`}}]))[r]}function Ai(e,t){for(let r of e){let o=Id.join(process.cwd(),r);if(Sd.existsSync(o))return t?l.info(t.replace("{path}",o)):l.info(`File detected: ${o}`),r}}import*as m6 from"node:fs";var Oa=(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=m6.readFileSync(t,"utf8");for(let n of o.split(`
174
174
  `)){if(!n.trim()||n.trim().startsWith("#"))continue;let s=-1,i=!1,a="";for(let h=0;h<n.length;h++)if((n[h]==='"'||n[h]==="'"||n[h]==="`")&&(h===0||n[h-1]!=="\\"))i&&n[h]===a?(i=!1,a=""):i||(i=!0,a=n[h]);else if(n[h]==="="&&!i){s=h;break}else if(n[h]==="#"&&!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 h=0;h<m.length;h++)if((m[h]==='"'||m[h]==="'"||m[h]==="`")&&(h===0||m[h-1]!=="\\"))u&&m[h]===f?(u=!1,f=""):u||(u=!0,f=m[h]);else if(m[h]==="#"&&!u&&h>0&&m[h-1]===" "){p=h-1;break}else if(m[h]==="#"&&!u&&h===0){p=h;break}p!==-1&&(m=m.substring(0,p)),m===void 0&&(m="");let d=m.charAt(0),g=m.charAt(m.length-1);d==='"'&&g==='"'||d==="'"&&g==="'"||d==="`"&&g==="`"?(m=m.substring(1,m.length-1),d==='"'&&(m=m.replace(/\\\\n/g,`
175
- `))):m=m.trim(),c&&(r[c]=m)}}return Object.entries(r).map(([o,n])=>({key:o,value:n}))};import{execSync as so,spawn as c3}from"node:child_process";import*as ee from"node:fs";import*as Cd 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 Ed=()=>Jt.join(Nr.tmpdir(),"dstack-simulator.pid");function m3(e){return Buffer.byteLength(e,"utf8")>104}function _p(){try{let e=Ed();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=Ed();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=_p();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=`
175
+ `))):m=m.trim(),c&&(r[c]=m)}}return Object.entries(r).map(([o,n])=>({key:o,value:n}))};import{execSync as io,spawn as k3}from"node:child_process";import*as ee from"node:fs";import*as Ad from"node:net";import*as zr from"node:os";import*as Zt from"node:path";var Je={version:"0.5.3",baseUrl:"https://github.com/Dstack-TEE/dstack/releases/download/v0.5.3",installDir:Zt.join(zr.homedir(),".phala-cloud","simulator"),defaultLogPath:Zt.join(zr.homedir(),".phala-cloud","logs","dstack-simulator.log"),platforms:{darwin:{filename:"dstack-simulator-0.5.3-aarch64-apple-darwin.tgz",extractedFolder:"0.5.3",socketPath:Zt.join(zr.homedir(),".phala-cloud","simulator","0.5.3","dstack.sock")},linux:{filename:"dstack-simulator-0.5.3-x86_64-linux-musl.tgz",extractedFolder:"0.5.3",socketPath:Zt.join(zr.homedir(),".phala-cloud","simulator","0.5.3","dstack.sock")},win32:{filename:"dstack-simulator-0.5.3-x86_64-pc-windows-msvc.tgz",extractedFolder:"dstack-simulator-0.5.3-x86_64-pc-windows-msvc",socketPath:"127.0.0.1:8090"}}};function u6(){try{if(!ee.existsSync(Je.installDir))return!1;let e=zr.platform();if(!Je.platforms[e])throw new Error(`Unsupported platform: ${e}`);let t=Zt.join(Je.installDir,Je.platforms[e].extractedFolder);if(!ee.existsSync(t))return!1;let o=Zt.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 Ua(){let e=zr.platform();if(!Je.platforms[e])throw new Error(`Unsupported platform: ${e}. Only darwin, linux, and win32 are supported.`);return e}async function p6(e){let t=r=>{l.info(r),e&&e(r)};try{let r=Ua(),o=Je.platforms[r];if(r==="win32"){try{io("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(Je.installDir)||(l.info(`Creating installation directory at ${Je.installDir}`),ee.mkdirSync(Je.installDir,{recursive:!0})),process.chdir(Je.installDir);let n=`${Je.baseUrl}/${o.filename}`;l.info(`Downloading simulator from ${n}`),io(`wget ${n}`,{stdio:"inherit"});let s=Zt.join(Je.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{io(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 _d=()=>Zt.join(zr.tmpdir(),"dstack-simulator.pid");function S3(e){return Buffer.byteLength(e,"utf8")>104}function Rp(){try{let e=_d();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 I3(e,t){try{let r=_d();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 f6(e={}){try{let t=Ua(),r=Je.platforms[t],o=Zt.join(Je.installDir,r.extractedFolder),n=Rp();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"&&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??Je.defaultLogPath};if(i.logToFile){let m=Zt.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=k3(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=`
176
176
  === Simulator started at ${new Date().toISOString()} ===
177
177
  Command: ${s}
178
178
 
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 Sd(),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=Cd.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=Cd.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=_p();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=Ed();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 kd(){let e=za(),t=We.platforms[e];return e==="win32"?"http://127.0.0.1:8090":`${t.socketPath||"/tmp/dstack.sock"}`}async function Sd(e){try{let t=kd(),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 Ad(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===md)}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=Ad(e.vcpu,Hn),c=Ad(e.memory,jn),m=Ad(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 ${md}`),1;let g={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},h=l.startSpinner("Getting public key from CVM"),b=await Y1(g);if(h.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({...g,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 Ap();return t||void 0}return await Sp(e)}async function Pp(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 Tp}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=Tp.object({appId:Tp.string().optional(),force:Tp.boolean().default(!1),yes:Tp.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 _d from"chalk";import{z as Id}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=Id.object({appId:Id.string().optional(),json:Id.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"?_d.green(a.status):a.status==="stopped"?_d.red(a.status):_d.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 Pd 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"?Pd.green(a.status):a.status==="stopped"?Pd.red(a.status):Pd.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 $p}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=$p.object({cvmId:$p.string().min(1,"CVM ID is required"),teepodId:$p.string().optional(),envFile:$p.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 Rd 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 Td(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 $d(e,t){return(await Rd.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=Td(e.vcpu,"--vcpu"),s=Td(e.memory,"--memory"),i=Td(e.diskSize,"--disk-size"),a=_3(e.allowRestart)}catch(c){return l.error(c instanceof Error?c.message:String(c)),1}if(jp()?(n===void 0&&(n=await $d("Enter number of vCPUs:",o.vcpu)),s===void 0&&(s=await $d("Enter memory in MB:",o.memory)),i===void 0&&(i=await $d("Enter disk size in GB:",o.disk_size)),a===void 0&&(a=(await Rd.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)),jp()){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 Rd.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(()=>bd(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(()=>bd(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 Pp(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 Bd={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 Md from"dedent";import Fd from"fs-extra";import Dd from"inquirer";function N3(e,t){if(e instanceof Jl)return t.json?{success:!1,error_code:e.errorCode,message:e.message,details:e.structuredDetails,suggestions:e.suggestions,links:e.links}:Dx(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&&I3(c.pid,e.verbose),i.background&&(c.unref(),e.verbose&&l.success("Simulator is running in the background")),await Td(),c}catch(t){throw l.error("Error running simulator:",t),new Error(`Failed to run simulator: ${t}`)}}async function Ha(){try{let e=Ua(),t=Je.platforms[e];if(e==="darwin"||e==="linux"){let r=t.socketPath;return ee.existsSync(r)?new Promise(o=>{let n=Ad.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=Ad.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 l6(){try{let e=Rp();if(!await Ha()&&!e)return l.info("Simulator is not running"),!0;let r=Ua(),o=!1;if(r==="win32")try{e?(l.info(`Stopping simulator process (PID: ${e})...`),process.kill(e,"SIGTERM")):io("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")):io("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=_d();if(ee.existsSync(n))try{ee.unlinkSync(n)}catch(s){l.warn("Failed to remove PID file:",s)}return await Wn(),o&&l.success("Simulator stopped successfully"),o}catch(e){return l.error("Error stopping simulator:",e),!1}}function Pd(){let e=Ua(),t=Je.platforms[e];return e==="win32"?"http://127.0.0.1:8090":`${t.socketPath||"/tmp/dstack.sock"}`}async function Td(e){try{let t=Pd(),r=e||t;await io(`export DSTACK_SIMULATOR_ENDPOINT=${r}`);let o=r.replace(/dstack\.sock$/,"tappd.sock");return await io(`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 Wn(){try{return await io("unset DSTACK_SIMULATOR_ENDPOINT"),await io("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 y6 from"inquirer";import{z as pr}from"zod";var d6={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 ${Vn}`,type:"string",target:"vcpu"},{name:"memory",description:`Memory in MB, default is ${qn}`,type:"string",target:"memory"},{name:"disk-size",description:`Disk size in GB, default is ${Kn}`,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"}]},h6=pr.object({name:pr.string().optional(),compose:pr.string().optional(),vcpu:pr.string().optional(),memory:pr.string().optional(),diskSize:pr.string().optional(),teepodId:pr.string().optional(),image:pr.string().optional(),envFile:pr.string().optional(),skipEnv:pr.boolean().default(!1),debug:pr.boolean().default(!1)});async function _3(e){if(e)return e;let{value:t}=await y6.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 P3(e){if(e)return e;let r=Ai(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return await Nr("Enter the path to your Docker Compose file:",r,"file")}async function T3(e){if(e.envFile)return Oa([],e.envFile);if(e.skipEnv)return l.info("Skipping environment variable prompt"),[];let{shouldSkip:t}=await y6.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 Nr("Enter the path to your environment file:",".env","file");return Oa([],r)}function $d(e,t){if(!e)return t;let r=Number(e);return Number.isFinite(r)?r:t}function $3(e,t){return!Number.isFinite(t)||t<=0?`Invalid ${e}: ${t}`:null}async function R3(e,t){if(!t.nodes.length)return;if(!e)return t.nodes[0];let r=Number(e);return t.nodes.find(o=>o.teepod_id===r)}function B3(e,t){let r=e.images??[];return t?r.find(o=>o.name===t):r.find(o=>o.name===dd)}async function F3(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 _3(e.name),o=await P3(e.compose),n=A3.resolve(o);if(!g6.existsSync(n))return l.error(`Docker Compose file not found: ${n}`),1;let s=g6.readFileSync(n,"utf8");await Wn(),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 T3(e)}catch(I){return l.error(`Failed to read environment file: ${I instanceof Error?I.message:String(I)}`),1}let a=$d(e.vcpu,Vn),c=$d(e.memory,qn),m=$d(e.diskSize,Kn);for(let[I,T]of[["number of vCPUs",a],["memory",c],["disk size",m]]){let A=$3(I,T);if(A)return l.error(A),1}let u=l.startSpinner("Fetching available TEEPods"),f=await s6(!0);u.stop(!0);let p=await R3(e.teepodId,f);if(!p)return l.error("Failed to find suitable TEEPod"),1;let d=B3(p,e.image);if(!d)return l.error(e.image?`Failed to find selected image: ${e.image}`:`Failed to find default image ${dd}`),1;let g={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},h=l.startSpinner("Getting public key from CVM"),b=await r6(g);if(h.stop(!0),!b)return l.error("Failed to get public key from CVM"),1;let y=l.startSpinner("Encrypting environment variables"),w=await(0,ur.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:",w),l.debug("Environment variables:",JSON.stringify(i)));let C=l.startSpinner("Creating CVM"),k=await o6({...g,encrypted_env:w,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 b6=$({path:["cvms","create"],meta:d6,schema:h6,handler:F3});import M3 from"inquirer";async function wt(e){if(!e){let t=await Tp();return t||void 0}return await Pp(e)}async function Bp(e,t=3e5){let r=un(),o=xt({apiKey:r}),n=Date.now(),s=2e3;for(l.info("Waiting for CVM to be ready...");Date.now()-n<t;){try{let i=await Jt(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 Fp}from"zod";var x6={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"}]},w6=Fp.object({appId:Fp.string().optional(),force:Fp.boolean().default(!1),yes:Fp.boolean().default(!1)});async function D3(e,t){try{let r=await wt(e.appId);if(!e.force&&!e.yes){let{confirm:s}=await M3.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 Q1(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 v6=$({path:["cvms","delete"],meta:x6,schema:w6,handler:D3});import Bd from"chalk";import{z as Rd}from"zod";var C6={name:"get",description:"Get details of a CVM",arguments:[{name:"app-id",description:"App ID of the CVM (optional)",required:!1,target:"appId"}],options:[so],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"}]},E6=Rd.object({appId:Rd.string().optional(),json:Rd.boolean().default(!1)});async function N3(e,t){Ke(e.json);try{let r=await wt(e.appId),o=r?.replace(/^app_/,"")??"";if(!o)return t.fail("No CVM App ID provided."),1;let n=l.startSpinner(`Fetching CVM with App ID app_${o}`),s=await ae(),i=await Jt(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"?Bd.green(a.status):a.status==="stopped"?Bd.red(a.status):Bd.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 k6=$({path:["cvms","get"],meta:C6,schema:E6,handler:N3});import Fd from"chalk";import{z as S6}from"zod";var I6={name:"list",aliases:["ls"],description:"List all CVMs",options:[so],examples:[{name:"Display CVMs in table format",value:"phala cvms list"},{name:"Print CVMs as JSON",value:"phala cvms list --json"}]},A6=S6.object({json:S6.boolean().default(!1)});async function z3(e,t){Ke(e.json);try{let r=l.startSpinner("Fetching CVMs"),o=await ae(),n=await Ei(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"?Fd.green(a.status):a.status==="stopped"?Fd.red(a.status):Fd.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 _6=$({path:["cvms","list"],meta:I6,schema:A6,handler:z3});import{z as L3}from"zod";var P6={name:"list-nodes",description:"List all available worker nodes."},T6=L3.object({});async function O3(e,t){try{let r=await ae(),o=await Fa(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 $6=$({path:["cvms","list-nodes"],meta:P6,schema:T6,handler:O3});import F6 from"node:fs";import U3 from"node:path";import{z as Mp}from"zod";var R6={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"}]},B6=Mp.object({cvmId:Mp.string().min(1,"CVM ID is required"),teepodId:Mp.string().optional(),envFile:Mp.string().optional()});function H3(e){return F6.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 j3(e,t){try{let r=e.cvmId.replace(/-/g,""),o;if(e.envFile){let i=U3.resolve(process.cwd(),e.envFile);if(!F6.existsSync(i))throw new Error(`Environment file not found: ${i}`);let a=H3(i),c=await J1(r);l.info("Encrypting environment variables..."),o=await(0,ur.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 t6(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 M6=$({path:["cvms","replicate"],meta:R6,schema:B6,handler:j3});import fn from"chalk";import Nd from"inquirer";async function ao(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 pn}from"zod";var D6={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"}]},N6=pn.object({appId:pn.string().optional(),vcpu:pn.string().optional(),memory:pn.string().optional(),diskSize:pn.string().optional(),allowRestart:pn.string().optional(),yes:pn.boolean().default(!1),json:pn.boolean().default(!1)});function Md(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 G3(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 Dd(e,t){return(await Nd.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 V3(e,t){Ke(e.json);try{let r=await wt(e.appId),o=await Ii(r);if(!o)return t.fail(`CVM with App ID app_${r} not found`),1;let n,s,i,a;try{n=Md(e.vcpu,"--vcpu"),s=Md(e.memory,"--memory"),i=Md(e.diskSize,"--disk-size"),a=G3(e.allowRestart)}catch(c){return l.error(c instanceof Error?c.message:String(c)),1}if(Wp()?(n===void 0&&(n=await Dd("Enter number of vCPUs:",o.vcpu)),s===void 0&&(s=await Dd("Enter memory in MB:",o.memory)),i===void 0&&(i=await Dd("Enter disk size in GB:",o.disk_size)),a===void 0&&(a=(await Nd.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)),Wp()){if(l.keyValueTable({vCPUs:o.vcpu!==n?`${fn.red(o.vcpu)} -> ${fn.green(n)}`:o.vcpu,Memory:o.memory!==s?`${fn.red(o.memory)} MB -> ${fn.green(s)} MB`:o.memory,"Disk Size":o.disk_size!==i?`${fn.red(o.disk_size)} GB -> ${fn.green(i)} GB`:o.disk_size,"Allow Restart":a?fn.green("Yes"):fn.red("No")}),!e.yes){let{confirm:m}=await Nd.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 ao(()=>Ed(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 ao(()=>Ed(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 z6=$({path:["cvms","resize"],meta:D6,schema:N6,handler:V3});import{z as L6}from"zod";var O6={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"}]},U6=L6.object({appId:L6.string().optional()});async function q3(e,t){try{let r=await wt(e.appId),o=await Ii(r);o.in_progress&&(l.warn("CVM is currently in progress (updating/restarting). Waiting for operation to complete..."),await Bp(o.vm_uuid,3e5));let n=l.startSpinner(`Restarting CVM with App ID app_${r}`),s=await ao(()=>X1(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 H6=$({path:["cvms","restart"],meta:O6,schema:U6,handler:q3});import{z as j6}from"zod";var G6={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"}]},V6=j6.object({appId:j6.string().optional()});async function K3(e,t){try{let r=await wt(e.appId),o=l.startSpinner(`Starting CVM with App ID app_${r}`),n=await ao(()=>Z1(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 q6=$({path:["cvms","start"],meta:G6,schema:V6,handler:K3});import{z as K6}from"zod";var W6={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"}]},J6=K6.object({appId:K6.string().optional()});async function W3(e,t){try{let r=await wt(e.appId),o=l.startSpinner(`Stopping CVM with App ID app_${r}`),n=await ao(()=>Y1(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 Z6=$({path:["cvms","stop"],meta:W6,schema:J6,handler:W3});import J3 from"node:fs";import{z as ja}from"zod";var Y6={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"}]},X6=ja.object({appId:ja.string().optional(),compose:ja.string().optional(),envFile:ja.string().optional(),debug:ja.boolean().default(!1)});async function Z3(e){if(e.compose)return e.compose;let r=Ai(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return Nr("Enter the path to your Docker Compose file:",r,"file")}async function Y3(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 wt(e.appId),o=l.startSpinner(`Fetching current configuration for CVM app_${r}`),n=await Ii(r);if(o.stop(!0),!n)return l.error(`CVM with App ID app_${r} not found`),1;let s=await Z3(e),i="";if(s)try{i=J3.readFileSync(s,"utf8")}catch(p){return l.error(`Failed to read Docker Compose file: ${p instanceof Error?p.message:String(p)}`),1}await Wn(),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=Oa([],e.envFile);a=await(0,ur.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 n6(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 Q6=$({path:["cvms","upgrade"],meta:Y6,schema:X6,handler:Y3});var zd={group:V1,commands:[c6,b6,v6,k6,_6,$6,M6,z6,H6,q6,Z6,Q6]};import{z as Se}from"zod";var ew={name:"deploy",description:"Create a new CVM with on-chain KMS in one step.",arguments:[],options:[...Yn,{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 ${Vn}`,type:"string",target:"vcpu"},{name:"memory",description:`Memory with optional unit (optional, auto-matched if not specified), e.g., 2G, 1024MB, default is ${qn}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 ${Kn}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"}]},tw=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 X3 from"node:path";function rw(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 ow(e){let t=rw(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 nw(e){let t=rw(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 Od from"dedent";import Ld from"fs-extra";import Ud from"inquirer";function Q3(e,t){if(e instanceof ed)return t.json?{success:!1,error_code:e.errorCode,message:e.message,details:e.structuredDetails,suggestions:e.suggestions,links:e.links}:Ux(e);if(e&&typeof e=="object"&&"response"in e){let n=e.response?.data?.detail;if(n&&typeof n=="object"&&"error_code"in n){let{error_code:s,message:i,details:a,suggestions:c,links:m}=n;if(t.json)return{success:!1,error_code:s,message:i,details:a,suggestions:c,links:m};let u=`
190
190
  Error [${s}]: ${i}
191
191
  `;if(a&&a.length>0){u+=`
192
192
  Details:
@@ -200,7 +200,7 @@ Learn more:
200
200
  `;for(let f of m)u+=` - ${f.label}: ${f.url}
201
201
  `}return u}}let r=e instanceof Error?e.message:String(e||"Unknown error");return t.json?{success:!1,error:r}:`
202
202
  Error: ${r}
203
- `}async function z3({apiKey:e,interactive:t}){if(!e&&!process.env.PHALA_CLOUD_API_KEY){if(t){let{apiKey:o}=await Dd.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(Md(`
203
+ `}async function eI({apiKey:e,interactive:t}){if(!e&&!process.env.PHALA_CLOUD_API_KEY){if(t){let{apiKey:o}=await Ud.prompt([{type:"password",name:"apiKey",message:"Enter your API key:",validate:n=>n.trim()?!0:"API key is required"}]);return xt({apiKey:o})}let r=un();if(!r)throw new Error("API key is required. Please provide it via --api-key or PHALA_CLOUD_API_KEY environment variable");return xt({apiKey:r})}return e?xt({apiKey:e}):xt()}async function tI({dockerComposePath:e,interactive:t}){if(!e)if(t){let o=Ai(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");e=await Nr("Enter the path to your Docker Compose file:",o,"file")}else throw new Error(Od(`
204
204
  Docker Compose file is required.
205
205
 
206
206
  Usage examples:
@@ -215,9 +215,9 @@ Error: ${r}
215
215
  --private-key <key> Private key for deployment
216
216
 
217
217
  Run with --interactive for guided setup
218
- `));if(!Fd.existsSync(e))throw new Error(`Docker compose file not found: ${e}`);return Fd.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 Dd.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 Dd.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=Fd.readFileSync(r,{encoding:"utf8"});t=t1(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 Yl(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 ed(o);if(!d.success)throw new Error(`Failed to get KMS list: ${d.error.message}`);let h=d.data.items.find(T=>T.slug===e.kmsId||T.id===e.kmsId);if(!h||!h.chain_id)throw new Error(`KMS ${e.kmsId} not found or invalid`);let b=await O3(e,h.chain_id),y=await Xx({chain:h.chain,rpcUrl:e.rpcUrl,kmsContractAddress:h.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 td(o,{app_id:v.appId,kms:h.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:h.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=Md`
218
+ `));if(!Ld.existsSync(e))throw new Error(`Docker compose file not found: ${e}`);return Ld.readFileSync(e,"utf8")}var rI=async(e,t)=>{let r=e.privateKey||process.env.PRIVATE_KEY;if(e.kmsId&&t&&!e.privateKey)if(e.interactive)r=(await Ud.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},oI=async e=>{let t=e.name;if(!e.name){let r=X3.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 Ud.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},nI=async e=>{let t,r=e.envFile;if(e.interactive&&(!e.envFile||r===!0)&&(r=await Nr("Enter the path to your environment file:",".env","file")),r&&r!==!0)try{let o=Ld.readFileSync(r,{encoding:"utf8"});t=i1(o)}catch(o){throw new Error(`Error reading environment file ${r}: ${o instanceof Error?o.message:String(o)}`)}return t};var sI=(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=ow(e.memory)),e.diskSize&&(n.disk_size=nw(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},iI=async(e,t,r,o,n,s)=>{let i=await oI(e),a=sI(e,i,t,r||[]);n.write(`Provisioning CVM ${i}...
219
+ `);let c=await rd(o,a);if(!c.success){let d=Q3(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 sd(o);if(!d.success)throw new Error(`Failed to get KMS list: ${d.error.message}`);let h=d.data.items.find(T=>T.slug===e.kmsId||T.id===e.kmsId);if(!h||!h.chain_id)throw new Error(`KMS ${e.kmsId} not found or invalid`);let b=await rI(e,h.chain_id),y=await o1({chain:h.chain,rpcUrl:e.rpcUrl,kmsContractAddress:h.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 w=y.data,C=await id(o,{app_id:w.appId,kms:h.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,I=await(0,ur.encryptEnvVars)(r,k.public_key);u=await bp(o,{app_id:w.appId,encrypted_env:I,compose_hash:m.compose_hash,kms_id:h.slug,contract_address:w.appAuthAddress,deployer_address:w.deployer})}else{let d=r&&r.length>0?await(0,ur.encryptEnvVars)(r,m.app_env_encrypt_pubkey):void 0;u=await bp(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=Od`
221
221
  CVM created successfully!
222
222
 
223
223
  CVM ID: ${p.vm_uuid}
@@ -225,20 +225,20 @@ Error: ${r}
225
225
  App ID: ${p.app_id}
226
226
  Dashboard URL: ${ge}/dashboard/cvms/${p.vm_uuid}
227
227
  `;n.write(`${d}
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(g=>g.key)),l.info(`Preparing update for CVM ${e.uuid}...`);let m=await Xl(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 g=await e1({chain:a.kms_info?.chain,rpcUrl:e.rpcUrl,appId:a.app_id,composeHash:u.compose_hash,privateKey:e.privateKey});if(!g.success){l.logDetailedError(g,"Add Compose Hash");let h=typeof g=="object"&&g!==null?JSON.stringify(g):String(g);throw new Error(`Failed to add compose hash: ${h}`)}}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(g=>g.key):void 0},d=await Ql(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 Pp(e.uuid,3e5)}catch(g){throw l.logDetailedError(g,"Wait for CVM Ready"),new Error(`Wait failed: ${g instanceof Error?g.message:String(g)}`)}}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
+ `)}},aI=async(e,t,r,o,n)=>{let[s,i]=await Promise.all([Jt(o,{uuid:e.uuid}),Ma(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(g=>g.key)),l.info(`Preparing update for CVM ${e.uuid}...`);let m=await od(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 g=await s1({chain:a.kms_info?.chain,rpcUrl:e.rpcUrl,appId:a.app_id,composeHash:u.compose_hash,privateKey:e.privateKey});if(!g.success){l.logDetailedError(g,"Add Compose Hash");let h=typeof g=="object"&&g!==null?JSON.stringify(g):String(g);throw new Error(`Failed to add compose hash: ${h}`)}}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,ur.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(g=>g.key):void 0},d=await nd(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 Bp(e.uuid,3e5)}catch(g){throw l.logDetailedError(g,"Wait for CVM Ready"),new Error(`Wait failed: ${g instanceof Error?g.message:String(g)}`)}}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)}
229
229
  `):n.write(`CVM compose file updated successfully!
230
- `)};async function ew(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=hp(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(`${Md`${r instanceof Error?r.message:String(r)}`}
232
- `),r}}async function q3(e,t){try{return await ew(e,{stdout:t.stdout,stderr:t.stderr,projectConfig:t.projectConfig}),0}catch{return 1}}var tw=$({path:["deploy"],meta:J6,schema:Z6,handler:q3});import{z as fA}from"zod";var rw={path:["docker"],meta:{name:"docker",description:"Login to Docker Hub and manage Docker images"}};import Q3 from"node:fs";import uw from"node:path";import pw from"inquirer";import{exec as K3,spawn as W3}from"node:child_process";import ao from"node:fs";import sw 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 ow}from"zod";var nw=ow.object({template:ow.string().min(1,"Template cannot be empty")});var Ha=J3(K3),iw=".phala-cloud/logs",X3=".phala-cloud/compose",aw=10,wt=class{username;image;registry;constructor(t,r,o){this.image=t,this.username=r||"",this.registry=o||""}ensureLogsDir(){let t=Ua.resolve(iw);ao.existsSync(t)||ao.mkdirSync(t,{recursive:!0})}getLogFilePath(t,r){let o=new Date().toISOString().replace(/[:.]/g,"-");return Ua.resolve(iw,`${r||this.image}-${t}-${o}.log`)}getSystemArchitecture(){let t=sw.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 g=p.toString().split(`
233
- `);m.write(p);for(let h of g)if(h.trim()){u.push(h),u.length>aw&&u.shift(),console.clear(),console.log(`Latest ${aw} 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=sw.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=nw.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 g=d.indexOf("#");return g>0?d.substring(0,g).trim():d.trim()}).filter(d=>d.includes("=")).map(d=>{let[g,h]=d.split("=",2),b=g.trim();return(h?h.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}`),Sd(`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 Rp}from"zod";var cw={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"}]},mw=Rp.object({image:Rp.string().optional(),tag:Rp.string().optional(),file:Rp.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 pw.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 pw.prompt([{type:"input",name:"tag",message:"Enter the Docker image tag:",default:"latest",validate:m=>m.trim()?!0:"Tag is required"}])).tag);let s=uw.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=uw.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 fw=$({path:["docker","build"],meta:cw,schema:mw,handler:eA});import Ga from"node:fs";import Bp from"node:path";import Va from"inquirer";import{z as ja}from"zod";var lw={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"}]},dw=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=Bp.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??Bp.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:Bp.join(process.cwd(),"docker-generated-compose.yml")}]);t=n}}let r=Bp.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 hw=$({path:["docker","generate"],meta:lw,schema:dw,handler:nA});import bw from"prompts";import{z as Fp}from"zod";var gw={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"}]},yw=Fp.object({username:Fp.string().optional(),password:Fp.string().optional(),registry:Fp.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 bw({type:"text",name:"username",message:"Enter your Docker Hub username:",validate:m=>m.length>0?!0:"Username cannot be empty"});if(!c.username)return l.error("Username is required"),1;r=c.username}let s=new wt("",r,n);if(await s.login(r))return l.success(`${r} is logged in to Docker Hub`),await cd({username:r,registry:n||null}),0;if(!o){let c=await bw({type:"password",name:"password",message:"Enter your Docker Hub password:",validate:m=>m.length>0?!0:"Password cannot be empty"});if(!c.password)return l.error("Password is required"),1;o=c.password}return await s.login(r,o,n)?(await cd({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 xw=$({path:["docker","login"],meta:gw,schema:yw,handler:sA});import iA from"inquirer";import{z as ww}from"zod";var vw={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"}]},Cw=ww.object({image:ww.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 Ew=$({path:["docker","push"],meta:vw,schema:Cw,handler:cA});import Aw from"node:fs";import Iw from"node:path";import Dp from"inquirer";import{z as Mp}from"zod";var kw={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"}]},Sw=Mp.object({compose:Mp.string().optional(),envFile:Mp.string().optional(),skipEnv:Mp.boolean().default(!0)});async function mA(e){if(e)return Pt(e),e;let t=Iw.join(process.cwd(),"docker-compose.yml");if(Aw.existsSync(t)){let{useDefault:o}=await Dp.prompt([{type:"confirm",name:"useDefault",message:"Use docker-compose.yml in current directory?",default:!0}]);if(o)return t}let{composePath:r}=await Dp.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=Iw.join(process.cwd(),".env");if(Aw.existsSync(r)){let{useDefault:n}=await Dp.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(n)return r}let{envPath:o}=await Dp.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 _w=$({path:["docker","run"],meta:kw,schema:Sw,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}),Nd={group:rw,commands:[gA,xw,fw,Ew,hw,_w]};import Si from"chalk";import yA from"open";import bA from"ora";import xA from"prompts";import{z as Np}from"zod";var Pw={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"}]},Tw=Np.object({apiKey:Np.string().min(1,"API key cannot be empty").optional(),manual:Np.boolean().optional(),noOpen:Np.boolean().optional()});async function zd(e){try{await bp(e);let t=await xp(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 zd(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 zd(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 zd(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 $w=$({path:["login"],meta:Pw,schema:Tw,handler:CA});import{z as EA}from"zod";var Rw={name:"logout",description:"Remove the stored API key"},Bw=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 Fw=$({path:["logout"],meta:Rw,schema:Bw,handler:kA});var Mw={path:["nodes"],meta:{name:"nodes",description:"List and manage TEE nodes"}};import{z as Dw}from"zod";var Nw={name:"list",aliases:["ls"],description:"List all available worker nodes",options:[{name:"json",description:"Output in JSON format",type:"boolean"}]},Ld=Dw.object({json:Dw.boolean().optional().default(!1)});async function zw(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"},Lw=$({path:["nodes","list"],meta:Nw,schema:Ld,handler:zw}),Ow=$({path:["nodes"],meta:SA,schema:Ld,handler:zw});var Od={group:Mw,commands:[Ow,Lw]};import{z as PA}from"zod";var Uw={path:["simulator"],meta:{name:"simulator",description:"TEE simulator commands"}};import{z as Ud}from"zod";var Hw={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"}]},jw=Ud.object({port:Ud.string().default("8090"),verbose:Ud.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 Gw=$({path:["simulator","start"],meta:Hw,schema:jw,handler:AA});import{z as IA}from"zod";var Vw={name:"stop",description:"Stop the TEE simulator"},qw=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 Kw=$({path:["simulator","stop"],meta:Vw,schema:qw,handler:_A});var TA={name:"simulator",description:"TEE simulator commands"},$A=PA.object({});async function RA(e,t){try{let r=await La(),o=_p();if(r&&o){let s=kd(),i=s.replace(/dstack\.sock$/,"tappd.sock");t.stdout.write(`\u2713 TEE simulator is running (PID: ${o})\\n`),t.stdout.write(`
230
+ `)};async function sw(e,t){Ke(e.json||!1);try{let r=e.compose,o=await eI({apiKey:e.apiKey,interactive:e.interactive}),n=await tI({dockerComposePath:r,interactive:e.interactive}),s=await nI(e),i=ki(e.uuid)??t.projectConfig.cvm_id;!!i?await aI({...e,uuid:i},n,s,o,t.stdout):await iI(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(`${Od`${r instanceof Error?r.message:String(r)}`}
232
+ `),r}}async function cI(e,t){try{return await sw(e,{stdout:t.stdout,stderr:t.stderr,projectConfig:t.projectConfig}),0}catch{return 1}}var iw=$({path:["deploy"],meta:ew,schema:tw,handler:cI});import{z as _I}from"zod";var aw={path:["docker"],meta:{name:"docker",description:"Login to Docker Hub and manage Docker images"}};import hI from"node:fs";import hw from"node:path";import gw from"inquirer";import{exec as mI,spawn as uI}from"node:child_process";import co from"node:fs";import uw from"node:os";import Ga from"node:path";import{promisify as pI}from"node:util";import{execa as fI}from"execa";import lI from"handlebars";import{INVALID as bne,ParseStatus as xne,ZodIssueCode as wne,ZodParsedType as vne,ZodType as Cne,addIssueToContext as Ene,z as cw}from"zod";var mw=cw.object({template:cw.string().min(1,"Template cannot be empty")});var Va=pI(mI),pw=".phala-cloud/logs",dI=".phala-cloud/compose",fw=10,vt=class{username;image;registry;constructor(t,r,o){this.image=t,this.username=r||"",this.registry=o||""}ensureLogsDir(){let t=Ga.resolve(pw);co.existsSync(t)||co.mkdirSync(t,{recursive:!0})}getLogFilePath(t,r){let o=new Date().toISOString().replace(/[:.]/g,"-");return Ga.resolve(pw,`${r||this.image}-${t}-${o}.log`)}getSystemArchitecture(){let t=uw.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=uI(t,r);this.ensureLogsDir();let c=this.getLogFilePath(o,n),m=co.createWriteStream(c,{flags:"a"}),u=[],f=(p,d=!1)=>{let g=p.toString().split(`
233
+ `);m.write(p);for(let h of g)if(h.trim()){u.push(h),u.length>fw&&u.shift(),console.clear(),console.log(`Latest ${fw} 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}`);Tt(t);let i=["build","-t",n,"-f",t];return o==="arm64"&&(console.log("Detected arm64 architecture, using --platform linux/amd64"),i.push("--platform","linux/amd64")),i.push("."),await this.spawnProcess("docker",i,"build",this.image),s.stop(!0,`Docker image ${n} built successfully`),!0}catch(o){return l.error(`Failed to build Docker image: ${o instanceof Error?o.message:String(o)}`),!1}}async pushImage(t){try{let r=l.startSpinner(`Pushing Docker image ${t} to Docker Hub`);if(!await no())throw r.stop(!1),new Error('Docker credentials not found. Please log in first with "phala docker login"');let n=t;return console.log(`Pushing image ${n} to Docker Hub...`),await this.spawnProcess("docker",["push",n],"push",t.replace(/.*\/+([\w-]+):.*$/g,"$1")),r.stop(!0,`Docker image ${n} pushed successfully`),!0}catch(r){return l.error(`Failed to push Docker image: ${r instanceof Error?r.message:String(r)}`),!1}}async login(t,r,o){try{let n=l.startSpinner(`Logging in to Docker Hub as ${t}`);if(await this.checkLogin())return n.stop(!0,"Already logged in to Docker Hub"),this.setCredentials(t,o),!0;if(!r)throw n.stop(!1),new Error("Password is required for Docker login");try{await fI("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=uw.homedir(),r=Ga.join(t,".docker","config.json");if(!co.existsSync(r))return!1;let o=JSON.parse(co.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"?g1:y1,s=mw.parse({template:n}),i=Ga.resolve(dI);co.existsSync(i)||(l.info(`Creating directory: ${i}`),co.mkdirSync(i,{recursive:!0}));let a=[];r&&(a=co.readFileSync(r,"utf-8").split(`
235
+ `).filter(d=>d&&!d.startsWith("#")).map(d=>{let g=d.indexOf("#");return g>0?d.substring(0,g).trim():d.trim()}).filter(d=>d.includes("=")).map(d=>{let[g,h]=d.split("=",2),b=g.trim();return(h?h.trim():"")===""?null:`${b}=${b}`}).filter(Boolean));let c=t,u=lI.compile(s.template,{noEscape:!0})({imageName:c,envVars:a.map(p=>p.replace(/=.*/,`=\${${p.split("=")[0]}}`))}),f=Ga.join(i,`${t.replace(/.*\/+([\w-]+):.*$/g,"$1")}-tee-compose.yaml`);return co.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}`);Tt(t);let n=["-f",t,"up","-d"];return r&&(Tt(r),n.splice(2,0,"--env-file",r)),await Va(`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 Va(`docker pull ${t}`),l.info("Starting simulator in background...");let{stdout:o}=await Va(`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}`),Td(`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 Va("docker stop tee-simulator"),await Wn(),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 Va('docker images --format "{{.Repository}}:{{.Tag}}"'),o=(await no())?.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 Dp}from"zod";var lw={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"}]},dw=Dp.object({image:Dp.string().optional(),tag:Dp.string().optional(),file:Dp.string().default("Dockerfile")});async function gI(e,t){try{let r=await no();if(!r)return l.error('Docker information not found. Please login first with "phala docker login"'),1;let o=e.image;o||(o=(await gw.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 gw.prompt([{type:"input",name:"tag",message:"Enter the Docker image tag:",default:"latest",validate:m=>m.trim()?!0:"Tag is required"}])).tag);let s=hw.resolve(process.cwd(),e.file);if(!hI.existsSync(s)){l.info(`Default Dockerfile not found at ${s}`);let c=await Nr("Enter the path to your Dockerfile:","Dockerfile","file");s=hw.resolve(process.cwd(),c)}return await new vt(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 yw=$({path:["docker","build"],meta:lw,schema:dw,handler:gI});import Ka from"node:fs";import Np from"node:path";import Wa from"inquirer";import{z as qa}from"zod";var bw={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"}]},xw=qa.object({image:qa.string().optional(),envFile:qa.string().optional(),output:qa.string().optional(),template:qa.string().optional()});async function yI(e){if(e)return e;let t=await vt.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 Wa.prompt([{type:"list",name:"selectedImage",message:"Select an image to use in the compose file:",choices:r}]);return o}async function bI(e){if(e)return Tt(e),e;let t=Np.join(process.cwd(),".env");if(Ka.existsSync(t)){let{useDefault:o}=await Wa.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(o)return t}let{envPath:r}=await Wa.prompt([{type:"input",name:"envPath",message:"Enter path to environment variables file:",validate:o=>{try{return Tt(o),!0}catch{return`File not found: ${o}`}}}]);return r}async function xI(e){let t=e??Np.join(process.cwd(),"docker-compose.yml");if(Ka.existsSync(t)){let{confirmOverwrite:o}=await Wa.prompt([{type:"confirm",name:"confirmOverwrite",message:`File ${t} already exists. Overwrite?`,default:!1}]);if(!o){let{customPath:n}=await Wa.prompt([{type:"input",name:"customPath",message:"Enter alternative output path:",default:Np.join(process.cwd(),"docker-generated-compose.yml")}]);t=n}}let r=Np.dirname(t);return Ka.existsSync(r)||(l.info(`Creating directory: ${r}`),Ka.mkdirSync(r,{recursive:!0})),t}async function wI(e,t){try{let r=await no();if(!r||!r.username)throw new Error('Docker Hub username not found. Please login first with "phala docker login"');let o=await yI(e.image),n=await bI(e.envFile),s=await xI(e.output);n?l.info(`Generating Docker Compose file for ${o} using env file: ${n}`):l.info(`Generating Docker Compose file for ${o} without env file`);let a=await new vt("",r.username,r.registry).buildComposeFile(o,n,e.template);return a!==s&&Ka.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 ww=$({path:["docker","generate"],meta:bw,schema:xw,handler:wI});import Ew from"prompts";import{z as zp}from"zod";var vw={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"}]},Cw=zp.object({username:zp.string().optional(),password:zp.string().optional(),registry:zp.string().optional()});async function vI(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 Ew({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 vt("",r,n);if(await s.login(r))return l.success(`${r} is logged in to Docker Hub`),await ld({username:r,registry:n||null}),0;if(!o){let c=await Ew({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 ld({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 kw=$({path:["docker","login"],meta:vw,schema:Cw,handler:vI});import CI from"inquirer";import{z as Sw}from"zod";var Iw={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"}]},Aw=Sw.object({image:Sw.string().optional()});async function EI(e){if(e)return e;let t=await vt.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 CI.prompt([{type:"list",name:"selectedImage",message:"Select an image to push:",choices:r}]);return o}async function kI(e,t){try{let r=await no();if(!r)throw new Error('Docker information not found. Please login first with "phala docker login"');let o=await EI(e.image);return await new vt("",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 _w=$({path:["docker","push"],meta:Iw,schema:Aw,handler:kI});import $w from"node:fs";import Rw from"node:path";import Op from"inquirer";import{z as Lp}from"zod";var Pw={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"}]},Tw=Lp.object({compose:Lp.string().optional(),envFile:Lp.string().optional(),skipEnv:Lp.boolean().default(!0)});async function SI(e){if(e)return Tt(e),e;let t=Rw.join(process.cwd(),"docker-compose.yml");if($w.existsSync(t)){let{useDefault:o}=await Op.prompt([{type:"confirm",name:"useDefault",message:"Use docker-compose.yml in current directory?",default:!0}]);if(o)return t}let{composePath:r}=await Op.prompt([{type:"input",name:"composePath",message:"Enter path to docker-compose.yml file:",validate:o=>{try{return Tt(o),!0}catch{return"File not found"}}}]);return r}async function II(e,t){if(t)return e;if(e)return Tt(e),e;let r=Rw.join(process.cwd(),".env");if($w.existsSync(r)){let{useDefault:n}=await Op.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(n)return r}let{envPath:o}=await Op.prompt([{type:"input",name:"envPath",message:"Enter path to environment variables file:",validate:n=>{try{return Tt(n),!0}catch{return`File not found: ${n}`}}}]);return o}async function AI(e,t){try{let r=await SI(e.compose),o=await II(e.envFile,e.skipEnv),n=new vt("");return o?(l.info(`Validating env file: ${o}`),Tt(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 Bw=$({path:["docker","run"],meta:Pw,schema:Tw,handler:AI});var PI={name:"docker",description:"Login to Docker Hub and manage Docker images"},TI=_I.object({});async function $I(e,t){return t.stdout.write(`Available docker subcommands: login, build, push, generate, run. Use 'phala docker <command> --help' for details.
237
+ `),0}var RI=$({path:["docker"],meta:PI,schema:TI,handler:$I}),Hd={group:aw,commands:[RI,kw,yw,_w,ww,Bw]};import _i from"chalk";import BI from"open";import FI from"ora";import MI from"prompts";import{z as Up}from"zod";var Fw={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"}]},Mw=Up.object({apiKey:Up.string().min(1,"API key cannot be empty").optional(),manual:Up.boolean().optional(),noOpen:Up.boolean().optional()});async function jd(e){try{await Cp(e);let t=await Ep(e),r=await Un(t),o=r.data;if(!r.success||!o?.username)throw await Dr(),new Error("Invalid API key");return o}catch(t){throw await Dr(),t instanceof Error?t:new Error(String(t))}}async function DI(){let e,t=await MI({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 jd(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 jd(t.apiKey)),{apiKey:t.apiKey,user:e}}async function NI(e){let t=xt({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(_i.bold("To authenticate, visit:")),console.log(_i.cyan(s)),console.log(),console.log(_i.bold("And enter code:"),_i.yellow(n)),console.log(),!e.noOpen)try{await BI(s),console.log("Opening browser automatically...")}catch{console.warn("Could not open browser automatically. Please visit the URL above.")}let c=FI("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 zI(e,t){try{let r,o;if(e.apiKey)r=e.apiKey;else if(e.manual){let n=await DI();r=n.apiKey,o=n.user}else r=await NI({noOpen:e.noOpen});if(o||(o=await jd(r)),!o)throw new Error("Failed to validate API key");return console.log(_i.green(`Welcome ${o.username}! API key validated and saved successfully`)),0}catch(r){return console.error(_i.red(`Failed to authenticate: ${r instanceof Error?r.message:String(r)}`)),1}}var Dw=$({path:["login"],meta:Fw,schema:Mw,handler:zI});import{z as LI}from"zod";var Nw={name:"logout",description:"Remove the stored API key"},zw=LI.object({});async function OI(e,t){try{return await Dr(),l.success("API key removed successfully"),0}catch(r){return l.error("Failed to remove API key"),l.logDetailedError(r),1}}var Lw=$({path:["logout"],meta:Nw,schema:zw,handler:OI});var Ow={path:["nodes"],meta:{name:"nodes",description:"List and manage TEE nodes"}};import{z as Uw}from"zod";var Hw={name:"list",aliases:["ls"],description:"List all available worker nodes",options:[{name:"json",description:"Output in JSON format",type:"boolean"}]},Gd=Uw.object({json:Uw.boolean().optional().default(!1)});async function jw(e,t){Ke(e.json);try{let r=await ae(),o=await Fa(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 UI={name:"nodes",description:"List and manage TEE nodes"},Gw=$({path:["nodes","list"],meta:Hw,schema:Gd,handler:jw}),Vw=$({path:["nodes"],meta:UI,schema:Gd,handler:jw});var Vd={group:Ow,commands:[Vw,Gw]};import{z as VI}from"zod";var qw={path:["simulator"],meta:{name:"simulator",description:"TEE simulator commands"}};import{z as qd}from"zod";var Kw={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"}]},Ww=qd.object({port:qd.string().default("8090"),verbose:qd.boolean().default(!1)});async function HI(e,t){try{return u6()||await p6(),await Ha()?(l.success("TEE simulator is already running"),0):(await f6({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 Jw=$({path:["simulator","start"],meta:Kw,schema:Ww,handler:HI});import{z as jI}from"zod";var Zw={name:"stop",description:"Stop the TEE simulator"},Yw=jI.object({});async function GI(e,t){try{return await l6()?(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 Xw=$({path:["simulator","stop"],meta:Zw,schema:Yw,handler:GI});var qI={name:"simulator",description:"TEE simulator commands"},KI=VI.object({});async function WI(e,t){try{let r=await Ha(),o=Rp();if(r&&o){let s=Pd(),i=s.replace(/dstack\.sock$/,"tappd.sock");t.stdout.write(`\u2713 TEE simulator is running (PID: ${o})\\n`),t.stdout.write(`
238
238
  Set these environment variables to use the simulator:
239
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
240
240
  `),t.stdout.write(`To start the simulator, run:
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}),Hd={group:Uw,commands:[BA,Gw,Kw]};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 Ww(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
+ `),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 JI=$({path:["simulator"],meta:qI,schema:KI,handler:WI}),Kd={group:qw,commands:[JI,Jw,Xw]};import{z as Pi}from"zod";import{readFileSync as QI}from"node:fs";import{dirname as eA,join as tA}from"node:path";import{fileURLToPath as rA}from"node:url";function Qw(e,t,r){switch(t){case"bash":return ZI(e,r);case"zsh":return YI(e,r);case"fish":return XI(e,r)}}function ZI(e,t){let r=t?`
242
242
  # Version check (once per day)
243
243
  local completion_version="${t}"
244
244
  local check_file=~/."${e}"/completion-check
@@ -275,7 +275,7 @@ ${r}
275
275
  }
276
276
 
277
277
  complete -F _${e}_completions ${e}
278
- `.trim()}function MA(e,t){let r=t?`
278
+ `.trim()}function YI(e,t){let r=t?`
279
279
  # Version check (once per day)
280
280
  local completion_version="${t}"
281
281
  local check_file=~/."${e}"/completion-check
@@ -320,7 +320,7 @@ ${r}
320
320
  }
321
321
 
322
322
  _${e}
323
- `.trim()}function DA(e,t){let r=t?`
323
+ `.trim()}function XI(e,t){let r=t?`
324
324
  # Version check (once per day)
325
325
  set -l completion_version "${t}"
326
326
  set -l check_file ~/."${e}"/completion-check
@@ -353,10 +353,10 @@ ${r}
353
353
  end
354
354
 
355
355
  complete -c ${e} -f -a "(__${e}_complete)"
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=Ww("phala",r,o);switch(t.stdout.write(`# Add this to your shell configuration file:
356
+ `.trim()}function oA(){try{let e=rA(import.meta.url),t=eA(e),r=tA(t,"../package.json");return JSON.parse(QI(r,"utf-8")).version}catch{return"unknown"}}var nA={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}]},sA=Pi.object({line:Pi.string(),fragment:Pi.string()});async function iA(e,t){return t.stdout.write(`
357
+ `),0}var tae=$({path:["__complete"],meta:nA,schema:sA,handler:iA}),aA={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"}]},cA=Pi.object({shell:Pi.enum(["bash","zsh","fish"]).optional(),fig:Pi.boolean().optional()});async function mA(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||uA();if(!r)return t.stderr.write(`Could not detect shell. Please specify with --shell (bash, zsh, or fish)
359
+ `),1;let o=oA(),n=Qw("phala",r,o);switch(t.stdout.write(`# Add this to your shell configuration file:
360
360
 
361
361
  `),t.stdout.write(`${n}
362
362
 
@@ -369,8 +369,9 @@ complete -c ${e} -f -a "(__${e}_complete)"
369
369
  `),t.stdout.write(`# source ~/.zshrc
370
370
  `);break;case"fish":t.stdout.write(`# For fish, run:
371
371
  `),t.stdout.write(`# phala completion --shell fish > ~/.config/fish/completions/phala.fish
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 Jw=$({path:["completion"],meta:VA,schema:qA,handler:KA});import{spawn as JA}from"node:child_process";import{existsSync as Xw}from"node:fs";import{homedir as qa}from"node:os";import{join as Ka}from"node:path";import Qw from"chalk";import{z as qn}from"zod";var Zw={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 (skips API call)",value:"phala ssh app_123 -g dev.dstack.local -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"}]},Yw=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=hp(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 o=e.gatewayDomain??t.projectConfig.gateway_domain,n=e.port!=="443"?e.port:t.projectConfig.gateway_port?.toString()??"443",s;if(o)r.startsWith("app_")?s=r.substring(4):s=r;else{let d=await(await ue()).getCvmInfo({id:r});if(!d.gateway_domain)return l.error("CVM is not registered on any gateway."),1;if(d.status!=="running")return l.error(`CVM is not running (current status: ${Qw.yellow(d.status)})`),l.info("Please start the CVM first using: phala cvms start"),1;o=d.gateway_domain,s=d.app_id}let i=e.identity;if(i){if(i.startsWith("~")&&(i=Ka(qa(),i.slice(1))),!Xw(i))return l.error(`SSH key file not found: ${i}`),1}else{let p=[Ka(qa(),".ssh","id_rsa"),Ka(qa(),".ssh","id_ed25519"),Ka(qa(),".ssh","id_ecdsa"),Ka(qa(),".ssh","id_dsa")];for(let d of p)if(Xw(d)){i=d;break}i||l.warn("No default SSH key found. SSH will use ssh-agent or prompt for password.")}let a=`${s}-22.${o}`,c="root",m=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 ${Qw.cyan(a)}...`);let u=["-o",`ProxyCommand=${m}`,"-o","StrictHostKeyChecking=no","-o","UserKnownHostsFile=/dev/null","-o","LogLevel=ERROR","-o",`ConnectTimeout=${e.timeout}`,"-p",n];if(i&&u.push("-i",i),e.verbose){u.unshift("-v");let p=u.indexOf("LogLevel=ERROR");p>0&&u.splice(p-1,2)}u.push(`${c}@${a}`);let f=JA("ssh",u,{stdio:"inherit"});return f.on("error",p=>{l.break(),l.error(`SSH connection failed: ${p.message}`)}),new Promise(p=>{f.on("close",d=>{l.break(),d===0?(l.success("Connection closed"),p(0)):(l.error(`Connection failed with code ${d}`),p(d??1))})})}catch(r){return l.error("Failed to connect via SSH"),r instanceof Error?l.error(r.message):l.error(String(r)),1}}var e5=$({path:["ssh"],meta:Zw,schema:Yw,handler:ZA});var tI=eI(import.meta.url),rI=XA(tI),oI=QA(rI,"../package.json"),t5=JSON.parse(YA(oI,"utf-8")),nI=`v${t5.version}`,De=new gp;De.registerCommand(w1);De.registerCommand(tw);De.registerCommand($w);De.registerCommand(Fw);De.registerCommand(Jw);De.registerCommand(e5);De.registerGroup(ld.group);for(let e of ld.commands)De.registerCommand(e);De.registerGroup(yd.group);for(let e of yd.commands)De.registerCommand(e);De.registerGroup(Bd.group);for(let e of Bd.commands)De.registerCommand(e);De.registerGroup(Nd.group);for(let e of Nd.commands)De.registerCommand(e);De.registerGroup(Od.group);for(let e of Od.commands)De.registerCommand(e);De.registerGroup(Hd.group);for(let e of Hd.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:t5.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)});
372
+ `);break}return 0}function uA(){let e=process.env.SHELL||"";return e.includes("bash")?"bash":e.includes("zsh")?"zsh":e.includes("fish")?"fish":null}var e5=$({path:["completion"],meta:aA,schema:cA,handler:mA});import{spawn as pA}from"node:child_process";import{existsSync as o5}from"node:fs";import{homedir as Ja}from"node:os";import{join as Za}from"node:path";import n5 from"chalk";import{z as Jn}from"zod";var t5={name:"ssh",description:"Connect to a CVM via SSH",arguments:[{name:"cvm-id",description:"CVM ID. If not provided, reads from phala.toml",required:!1,target:"cvmId"}],options:[{name:"identity",shorthand:"i",description:"SSH identity file (private key)",type:"string",target:"identity"},{name:"port",shorthand:"p",description:"SSH port. Priority: CLI option > phala.toml gateway_port > 443",type:"string",target:"port"},{name:"gateway-domain",shorthand:"g",description:"Gateway domain. Priority: CLI option > phala.toml gateway_domain > API. When specified, skips API call for offline usage",type:"string",target:"gatewayDomain"},{name:"timeout",shorthand:"t",description:"Connection timeout in seconds (default: 30)",type:"string",target:"timeout"},{name:"verbose",shorthand:"v",description:"Show verbose SSH connection details",type:"boolean",target:"verbose"}],examples:[{name:"Connect using configuration from phala.toml",value:"phala ssh"},{name:"Connect to a specific CVM (queries API for gateway)",value:"phala ssh app_123"},{name:"Offline mode: connect without API (using phala.toml gateway)",value:"phala ssh app_123 -g dstack-gateway.example.com -p 16185"},{name:"Connect with custom SSH key",value:"phala ssh app_123 -i ~/.ssh/custom_key"},{name:"Connect with verbose output for debugging",value:"phala ssh app_123 -v"}]},r5=Jn.object({cvmId:Jn.string().optional(),identity:Jn.string().optional(),port:Jn.string().default("443"),gatewayDomain:Jn.string().optional(),timeout:Jn.string().default("30"),verbose:Jn.boolean().default(!1)});async function fA(e,t){try{let r=ki(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 o=e.gatewayDomain??t.projectConfig.gateway_domain,n=e.port!=="443"?e.port:t.projectConfig.gateway_port?.toString()??"443",s;if(o)r.startsWith("app_")?s=r.substring(4):s=r;else{let d=await(await ae()).getCvmInfo({id:r});if(!d.gateway_domain)return l.error("CVM is not registered on any gateway."),1;if(d.status!=="running")return l.error(`CVM is not running (current status: ${n5.yellow(d.status)})`),l.info("Please start the CVM first using: phala cvms start"),1;o=d.gateway_domain,s=d.app_id}let i=e.identity;if(i){if(i.startsWith("~")&&(i=Za(Ja(),i.slice(1))),!o5(i))return l.error(`SSH key file not found: ${i}`),1}else{let p=[Za(Ja(),".ssh","id_rsa"),Za(Ja(),".ssh","id_ed25519"),Za(Ja(),".ssh","id_ecdsa"),Za(Ja(),".ssh","id_dsa")];for(let d of p)if(o5(d)){i=d;break}i||l.warn("No default SSH key found. SSH will use ssh-agent or prompt for password.")}let a=`${s}-22.${o}`,c="root",m=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 ${n5.cyan(a)}...`);let u=["-o",`ProxyCommand=${m}`,"-o","StrictHostKeyChecking=no","-o","UserKnownHostsFile=/dev/null","-o","LogLevel=ERROR","-o",`ConnectTimeout=${e.timeout}`,"-p",n];if(i&&u.push("-i",i),e.verbose){u.unshift("-v");let p=u.indexOf("LogLevel=ERROR");p>0&&u.splice(p-1,2)}u.push(`${c}@${a}`);let f=pA("ssh",u,{stdio:"inherit"});return f.on("error",p=>{l.break(),l.error(`SSH connection failed: ${p.message}`)}),new Promise(p=>{f.on("close",d=>{l.break(),d===0?(l.success("Connection closed"),p(0)):(l.error(`Connection failed with code ${d}`),p(d??1))})})}catch(r){return l.error("Failed to connect via SSH"),r instanceof Error?l.error(r.message):l.error(String(r)),1}}var s5=$({path:["ssh"],meta:t5,schema:r5,handler:fA});import{spawn as lA}from"node:child_process";import{existsSync as c5}from"node:fs";import{homedir as Ya}from"node:os";import{join as Xa}from"node:path";import Hp from"chalk";import{z as ln}from"zod";var i5={name:"cp",description:"Copy files to/from a CVM via SCP",arguments:[{name:"source",description:"Source path. Local file or remote in format 'cvm-id:path'. Use ':path' to read cvm_id from phala.toml",required:!0,target:"source"},{name:"destination",description:"Destination path. Local file or remote in format 'cvm-id:path'. Use ':path' to read cvm_id from phala.toml",required:!0,target:"destination"}],options:[{name:"identity",shorthand:"i",description:"SSH identity file (private key)",type:"string",target:"identity"},{name:"port",shorthand:"p",description:"SSH port. Priority: CLI option > phala.toml gateway_port > 443",type:"string",target:"port"},{name:"gateway-domain",shorthand:"g",description:"Gateway domain. Priority: CLI option > phala.toml gateway_domain > API. When specified, skips API call for offline usage",type:"string",target:"gatewayDomain"},{name:"recursive",shorthand:"r",description:"Recursively copy directories",type:"boolean",target:"recursive"},{name:"verbose",shorthand:"v",description:"Show verbose SCP details",type:"boolean",target:"verbose"}],examples:[{name:"Upload using phala.toml cvm_id",value:"phala cp ./local.txt :/root/remote.txt"},{name:"Upload to a specific CVM (queries API for gateway)",value:"phala cp ./local.txt app_123:/root/remote.txt"},{name:"Download from CVM",value:"phala cp app_123:/root/remote.txt ./local.txt"},{name:"Offline mode: copy without API (using phala.toml gateway)",value:"phala cp -g dstack-gateway.example.com -p 16185 ./file.txt app_123:/root/"},{name:"Upload directory recursively",value:"phala cp -r ./local_dir app_123:/root/remote_dir"},{name:"Copy with custom SSH key",value:"phala cp -i ~/.ssh/custom_key app_123:/root/file.txt ./file.txt"}]},a5=ln.object({source:ln.string(),destination:ln.string(),identity:ln.string().optional(),port:ln.string().default("443"),gatewayDomain:ln.string().optional(),recursive:ln.boolean().default(!1),verbose:ln.boolean().default(!1)});function m5(e){let t=e.match(/^([^:]+):(.+)$/);return t?{isRemote:!0,cvmId:t[1],path:t[2]}:{isRemote:!1,path:e}}async function dA(e,t){try{let r=m5(e.source),o=m5(e.destination);if(r.isRemote===o.isRemote)return l.error("Either source or destination must be a remote path in format: cvm-id:path"),l.info("Examples:"),l.info(" phala cp ./local.txt app_123:/root/remote.txt"),l.info(" phala cp app_123:/root/remote.txt ./local.txt"),1;let n=r.isRemote?r:o,s=ki(n.cvmId)??t.projectConfig.cvm_id;if(!s)return l.error(`No CVM ID provided. Either use format cvm-id:path or configure it in phala.toml.
374
+ Supported fields: id, uuid, app_id, or instance_id`),1;let i=e.gatewayDomain??t.projectConfig.gateway_domain,a=e.port!=="443"?e.port:t.projectConfig.gateway_port?.toString()??"443",c;if(i)s.startsWith("app_")?c=s.substring(4):c=s;else{let I=await(await ae()).getCvmInfo({id:s});if(!I.gateway_domain)return l.error("CVM is not registered on any gateway."),1;if(I.status!=="running")return l.error(`CVM is not running (current status: ${Hp.yellow(I.status)})`),l.info("Please start the CVM first using: phala cvms start"),1;i=I.gateway_domain,c=I.app_id}let m=e.identity;if(m){if(m.startsWith("~")&&(m=Xa(Ya(),m.slice(1))),!c5(m))return l.error(`SSH key file not found: ${m}`),1}else{let k=[Xa(Ya(),".ssh","id_rsa"),Xa(Ya(),".ssh","id_ed25519"),Xa(Ya(),".ssh","id_ecdsa"),Xa(Ya(),".ssh","id_dsa")];for(let I of k)if(c5(I)){m=I;break}m||l.warn("No default SSH key found. SCP will use ssh-agent or prompt for password.")}let u=`${c}-22.${i}`,f="root",p=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 ${Hp.cyan(u)}...`);let d=["-o",`ProxyCommand=${p}`,"-o","StrictHostKeyChecking=no","-o","UserKnownHostsFile=/dev/null","-o","LogLevel=ERROR","-P",a];if(m&&d.push("-i",m),e.recursive&&d.push("-r"),e.verbose){d.unshift("-v");let k=d.indexOf("LogLevel=ERROR");k>0&&d.splice(k-1,2)}let g=r.isRemote?`${f}@${u}:${r.path}`:r.path,h=o.isRemote?`${f}@${u}:${o.path}`:o.path;d.push(g,h);let b=r.isRemote?"download":"upload",y=r.isRemote?o.path:r.path,w=r.isRemote?r.path:o.path;l.info(`${b==="upload"?"Uploading":"Downloading"} ${Hp.cyan(y)} ${b==="upload"?"to":"from"} ${Hp.cyan(w)}...`);let C=lA("scp",d,{stdio:"inherit"});return C.on("error",k=>{l.break(),l.error(`SCP failed: ${k.message}`)}),new Promise(k=>{C.on("close",I=>{l.break(),I===0?(l.success(`${b==="upload"?"Upload":"Download"} completed`),k(0)):(l.error(`Transfer failed with code ${I}`),k(I??1))})})}catch(r){return l.error("Failed to copy file via SCP"),r instanceof Error&&l.error(r.message),1}}var u5=$({path:["cp"],meta:i5,schema:a5,handler:dA});var xA=bA(import.meta.url),wA=gA(xA),vA=yA(wA,"../package.json"),p5=JSON.parse(hA(vA,"utf-8")),CA=`v${p5.version}`,Be=new wp;Be.registerCommand(S1);Be.registerCommand(iw);Be.registerCommand(Dw);Be.registerCommand(Lw);Be.registerCommand(e5);Be.registerCommand(s5);Be.registerCommand(u5);Be.registerGroup(bd.group);for(let e of bd.commands)Be.registerCommand(e);Be.registerGroup(Cd.group);for(let e of Cd.commands)Be.registerCommand(e);Be.registerGroup(zd.group);for(let e of zd.commands)Be.registerCommand(e);Be.registerGroup(Hd.group);for(let e of Hd.commands)Be.registerCommand(e);Be.registerGroup(Vd.group);for(let e of Vd.commands)Be.registerCommand(e);Be.registerGroup(Kd.group);for(let e of Kd.commands)Be.registerCommand(e);process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function EA(){let e=await p1({registry:Be,argv:process.argv.slice(2),executableName:p5.name??"phala",version:CA,cwd:process.cwd(),env:process.env,stdout:process.stdout,stderr:process.stderr,stdin:process.stdin});process.exit(e)}EA().catch(e=>{console.error("An error occurred:",e),process.exit(1)});
374
375
  /*! Bundled license information:
375
376
 
376
377
  @noble/hashes/esm/utils.js: