phala 1.1.3-beta.1 → 1.1.3-beta.2
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 +138 -133
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -1,111 +1,115 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'module';const require = createRequire(import.meta.url);
|
|
3
|
-
var
|
|
3
|
+
var S5=Object.create;var kl=Object.defineProperty;var k5=Object.getOwnPropertyDescriptor;var I5=Object.getOwnPropertyNames;var _5=Object.getPrototypeOf,A5=Object.prototype.hasOwnProperty;var Hr=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var dt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Il=(e,t)=>{for(var r in t)kl(e,r,{get:t[r],enumerable:!0})},P5=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of I5(t))!A5.call(e,n)&&n!==r&&kl(e,n,{get:()=>t[n],enumerable:!(o=k5(t,n))||o.enumerable});return e};var qi=(e,t,r)=>(r=e!=null?S5(_5(e)):{},P5(t||!e||!e.__esModule?kl(r,"default",{value:e,enumerable:!0}):r,e));var K0=dt((ZP,q0)=>{var Gn=1e3,Vn=Gn*60,qn=Vn*60,nn=qn*24,U5=nn*7,z5=nn*365.25;q0.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return O5(e);if(r==="number"&&isFinite(e))return t.long?j5(e):H5(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function O5(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*z5;case"weeks":case"week":case"w":return r*U5;case"days":case"day":case"d":return r*nn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*qn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Vn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Gn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function H5(e){var t=Math.abs(e);return t>=nn?Math.round(e/nn)+"d":t>=qn?Math.round(e/qn)+"h":t>=Vn?Math.round(e/Vn)+"m":t>=Gn?Math.round(e/Gn)+"s":e+"ms"}function j5(e){var t=Math.abs(e);return t>=nn?bc(e,t,nn,"day"):t>=qn?bc(e,t,qn,"hour"):t>=Vn?bc(e,t,Vn,"minute"):t>=Gn?bc(e,t,Gn,"second"):e+" ms"}function bc(e,t,r,o){var n=t>=r*1.5;return Math.round(e/r)+" "+o+(n?"s":"")}});var Tl=dt((YP,W0)=>{function G5(e){r.debug=r,r.default=r,r.coerce=c,r.disable=i,r.enable=n,r.enabled=a,r.humanize=K0(),r.destroy=m,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let p=0;for(let l=0;l<u.length;l++)p=(p<<5)-p+u.charCodeAt(l),p|=0;return r.colors[Math.abs(p)%r.colors.length]}r.selectColor=t;function r(u){let p,l=null,d,h;function g(...y){if(!g.enabled)return;let b=g,x=Number(new Date),v=x-(p||x);b.diff=v,b.prev=p,b.curr=x,p=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let S=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(_,k)=>{if(_==="%%")return"%";S++;let $=r.formatters[k];if(typeof $=="function"){let M=y[S];_=$.call(b,M),y.splice(S,1),S--}return _}),r.formatArgs.call(b,y),(b.log||r.log).apply(b,y)}return g.namespace=u,g.useColors=r.useColors(),g.color=r.selectColor(u),g.extend=o,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>l!==null?l:(d!==r.namespaces&&(d=r.namespaces,h=r.enabled(u)),h),set:y=>{l=y}}),typeof r.init=="function"&&r.init(g),g}function o(u,p){let l=r(this.namespace+(typeof p>"u"?":":p)+u);return l.log=this.log,l}function n(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let p=(typeof u=="string"?u:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let l of p)l[0]==="-"?r.skips.push(l.slice(1)):r.names.push(l)}function s(u,p){let l=0,d=0,h=-1,g=0;for(;l<u.length;)if(d<p.length&&(p[d]===u[l]||p[d]==="*"))p[d]==="*"?(h=d,g=l,d++):(l++,d++);else if(h!==-1)d=h+1,g++,l=g;else return!1;for(;d<p.length&&p[d]==="*";)d++;return d===p.length}function i(){let u=[...r.names,...r.skips.map(p=>"-"+p)].join(",");return r.enable(""),u}function a(u){for(let p of r.skips)if(s(u,p))return!1;for(let p of r.names)if(s(u,p))return!0;return!1}function c(u){return u instanceof Error?u.stack||u.message:u}function m(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}W0.exports=G5});var J0=dt((ht,xc)=>{ht.formatArgs=q5;ht.save=K5;ht.load=W5;ht.useColors=V5;ht.storage=J5();ht.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`."))}})();ht.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 V5(){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 q5(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+xc.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)}ht.log=console.debug||console.log||(()=>{});function K5(e){try{e?ht.storage.setItem("debug",e):ht.storage.removeItem("debug")}catch{}}function W5(){let e;try{e=ht.storage.getItem("debug")||ht.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function J5(){try{return localStorage}catch{}}xc.exports=Tl()(ht);var{formatters:Z5}=xc.exports;Z5.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Y0=dt((XP,Z0)=>{"use strict";Z0.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 eh=dt((QP,Q0)=>{"use strict";var Y5=Hr("os"),X0=Hr("tty"),Lt=Y0(),{env:He}=process,xo;Lt("no-color")||Lt("no-colors")||Lt("color=false")||Lt("color=never")?xo=0:(Lt("color")||Lt("colors")||Lt("color=true")||Lt("color=always"))&&(xo=1);"FORCE_COLOR"in He&&(He.FORCE_COLOR==="true"?xo=1:He.FORCE_COLOR==="false"?xo=0:xo=He.FORCE_COLOR.length===0?1:Math.min(parseInt(He.FORCE_COLOR,10),3));function $l(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Rl(e,t){if(xo===0)return 0;if(Lt("color=16m")||Lt("color=full")||Lt("color=truecolor"))return 3;if(Lt("color=256"))return 2;if(e&&!t&&xo===void 0)return 0;let r=xo||0;if(He.TERM==="dumb")return r;if(process.platform==="win32"){let o=Y5.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in He)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(o=>o in He)||He.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in He)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(He.TEAMCITY_VERSION)?1:0;if(He.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in He){let o=parseInt((He.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(He.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(He.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(He.TERM)||"COLORTERM"in He?1:r}function X5(e){let t=Rl(e,e&&e.isTTY);return $l(t)}Q0.exports={supportsColor:X5,stdout:$l(Rl(!0,X0.isatty(1))),stderr:$l(Rl(!0,X0.isatty(2)))}});var rh=dt((je,wc)=>{var Q5=Hr("tty"),vc=Hr("util");je.init=i2;je.log=o2;je.formatArgs=t2;je.save=n2;je.load=s2;je.useColors=e2;je.destroy=vc.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");je.colors=[6,2,3,4,5,1];try{let e=eh();e&&(e.stderr||e).level>=2&&(je.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{}je.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 e2(){return"colors"in je.inspectOpts?!!je.inspectOpts.colors:Q5.isatty(process.stderr.fd)}function t2(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+"+
|
|
6
|
-
`)}function
|
|
7
|
-
`).map(t=>t.trim()).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=Sf}walk(t){return q0(this,t)}}});var qn,hc,gc,yc,Gi=k(()=>{H();qn=class extends v{constructor({max:t,min:r,signed:o,size:n,value:s}){super(`Number "${s}" is not in safe ${n?`${n*8}-bit ${o?"signed":"unsigned"} `:""}integer range ${t?`(${r} to ${t})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}},hc=class extends v{constructor(t){super(`Bytes value "${t}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}},gc=class extends v{constructor(t){super(`Hex value "${t}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}},yc=class extends v{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}});function ce(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}var _t=k(()=>{});function X(e){return ce(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var zt=k(()=>{_t()});function je(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 an=k(()=>{});var Vi,qi,Ki,bc=k(()=>{H();Vi=class extends v{constructor({offset:t,position:r,size:o}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${o}).`,{name:"SliceOffsetOutOfBoundsError"})}},qi=class extends v{constructor({size:t,targetSize:r,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} size (${t}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}},Ki=class extends v{constructor({size:t,targetSize:r,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} is expected to be ${r} ${o} long, but is ${t} ${o} long.`,{name:"InvalidBytesLengthError"})}}});function vo(e,{dir:t,size:r=32}={}){return typeof e=="string"?jr(e,{dir:t,size:r}):z5(e,{dir:t,size:r})}function jr(e,{dir:t,size:r=32}={}){if(r===null)return e;let o=e.replace("0x","");if(o.length>r*2)throw new qi({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 qi({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 xc=k(()=>{bc()});function ie(e,t={}){return typeof e=="number"||typeof e=="bigint"?E(e,t):typeof e=="string"?or(e,t):typeof e=="boolean"?vc(e,t):Q(e,t)}function vc(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(gt(r,{size:t.size}),vo(r,{size:t.size})):r}function Q(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=O5[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(gt(o,{size:t.size}),vo(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 qn({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?vo(a,{size:o}):a}function or(e,t={}){let r=U5.encode(e);return Q(r,t)}var O5,U5,D=k(()=>{Gi();xc();De();O5=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));U5=new TextEncoder});function Ot(e,t={}){return typeof e=="number"||typeof e=="bigint"?G5(e,t):typeof e=="boolean"?j5(e,t):ce(e)?Ne(e,t):nr(e,t)}function j5(e,t={}){let r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(gt(r,{size:t.size}),vo(r,{size:t.size})):r}function K0(e){if(e>=Gr.zero&&e<=Gr.nine)return e-Gr.zero;if(e>=Gr.A&&e<=Gr.F)return e-(Gr.A-10);if(e>=Gr.a&&e<=Gr.f)return e-(Gr.a-10)}function Ne(e,t={}){let r=e;t.size&&(gt(r,{size:t.size}),r=vo(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=K0(o.charCodeAt(a++)),m=K0(o.charCodeAt(a++));if(c===void 0||m===void 0)throw new v(`Invalid byte sequence ("${o[a-2]}${o[a-1]}" in "${o}").`);s[i]=c*16+m}return s}function G5(e,t){let r=E(e,t);return Ne(r)}function nr(e,t={}){let r=H5.encode(e);return typeof t.size=="number"?(gt(r,{size:t.size}),vo(r,{dir:"right",size:t.size})):r}var H5,Gr,Ge=k(()=>{H();_t();xc();De();D();H5=new TextEncoder;Gr={zero:48,nine:57,A:65,F:70,a:97,f:102}});function gt(e,{size:t}){if(X(e)>t)throw new yc({givenSize:X(e),maxSize:t})}function ae(e,t={}){let{signed:r}=t;t.size&>(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 If(e,t={}){let r=e;if(t.size&&(gt(r,{size:t.size}),r=je(r)),je(r)==="0x00")return!1;if(je(r)==="0x01")return!0;throw new gc(r)}function be(e,t={}){return Number(ae(e,t))}var De=k(()=>{Gi();zt();an()});function Kn(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 wc=k(()=>{});function yt(e,t){let r={};return typeof e.authorizationList<"u"&&(r.authorizationList=K5(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=>Q(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=q5[e.type]),typeof e.value<"u"&&(r.value=E(e.value)),r}function K5(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 q5,wo=k(()=>{D();q5={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"}});var sT,iT,aT,cT,mT,uT,pT,fT,lT,dT,hT,gT,yT,bT,xT,vT,wT,CT,ET,ST,kT,IT,_T,AT,PT,TT,$T,RT,BT,MT,FT,DT,NT,LT,zT,OT,UT,HT,jT,GT,VT,qT,KT,WT,JT,ZT,YT,XT,QT,e4,t4,r4,o4,n4,s4,i4,a4,c4,m4,u4,p4,f4,l4,d4,h4,g4,y4,b4,x4,v4,w4,C4,E4,S4,k4,I4,_4,A4,P4,T4,$4,R4,B4,M4,F4,D4,N4,L4,z4,O4,U4,H4,j4,G4,V4,Wn,Pf=k(()=>{sT=2n**(8n-1n)-1n,iT=2n**(16n-1n)-1n,aT=2n**(24n-1n)-1n,cT=2n**(32n-1n)-1n,mT=2n**(40n-1n)-1n,uT=2n**(48n-1n)-1n,pT=2n**(56n-1n)-1n,fT=2n**(64n-1n)-1n,lT=2n**(72n-1n)-1n,dT=2n**(80n-1n)-1n,hT=2n**(88n-1n)-1n,gT=2n**(96n-1n)-1n,yT=2n**(104n-1n)-1n,bT=2n**(112n-1n)-1n,xT=2n**(120n-1n)-1n,vT=2n**(128n-1n)-1n,wT=2n**(136n-1n)-1n,CT=2n**(144n-1n)-1n,ET=2n**(152n-1n)-1n,ST=2n**(160n-1n)-1n,kT=2n**(168n-1n)-1n,IT=2n**(176n-1n)-1n,_T=2n**(184n-1n)-1n,AT=2n**(192n-1n)-1n,PT=2n**(200n-1n)-1n,TT=2n**(208n-1n)-1n,$T=2n**(216n-1n)-1n,RT=2n**(224n-1n)-1n,BT=2n**(232n-1n)-1n,MT=2n**(240n-1n)-1n,FT=2n**(248n-1n)-1n,DT=2n**(256n-1n)-1n,NT=-(2n**(8n-1n)),LT=-(2n**(16n-1n)),zT=-(2n**(24n-1n)),OT=-(2n**(32n-1n)),UT=-(2n**(40n-1n)),HT=-(2n**(48n-1n)),jT=-(2n**(56n-1n)),GT=-(2n**(64n-1n)),VT=-(2n**(72n-1n)),qT=-(2n**(80n-1n)),KT=-(2n**(88n-1n)),WT=-(2n**(96n-1n)),JT=-(2n**(104n-1n)),ZT=-(2n**(112n-1n)),YT=-(2n**(120n-1n)),XT=-(2n**(128n-1n)),QT=-(2n**(136n-1n)),e4=-(2n**(144n-1n)),t4=-(2n**(152n-1n)),r4=-(2n**(160n-1n)),o4=-(2n**(168n-1n)),n4=-(2n**(176n-1n)),s4=-(2n**(184n-1n)),i4=-(2n**(192n-1n)),a4=-(2n**(200n-1n)),c4=-(2n**(208n-1n)),m4=-(2n**(216n-1n)),u4=-(2n**(224n-1n)),p4=-(2n**(232n-1n)),f4=-(2n**(240n-1n)),l4=-(2n**(248n-1n)),d4=-(2n**(256n-1n)),h4=2n**8n-1n,g4=2n**16n-1n,y4=2n**24n-1n,b4=2n**32n-1n,x4=2n**40n-1n,v4=2n**48n-1n,w4=2n**56n-1n,C4=2n**64n-1n,E4=2n**72n-1n,S4=2n**80n-1n,k4=2n**88n-1n,I4=2n**96n-1n,_4=2n**104n-1n,A4=2n**112n-1n,P4=2n**120n-1n,T4=2n**128n-1n,$4=2n**136n-1n,R4=2n**144n-1n,B4=2n**152n-1n,M4=2n**160n-1n,F4=2n**168n-1n,D4=2n**176n-1n,N4=2n**184n-1n,L4=2n**192n-1n,z4=2n**200n-1n,O4=2n**208n-1n,U4=2n**216n-1n,H4=2n**224n-1n,j4=2n**232n-1n,G4=2n**240n-1n,V4=2n**248n-1n,Wn=2n**256n-1n});function $e(e){return typeof e[0]=="string"?Ve(e):W5(e)}function W5(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 Ve(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}var at=k(()=>{});var Zi,Jn,Cc,Tf=k(()=>{H();Zi=class extends v{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}},Jn=class extends v{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}},Cc=class extends v{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function Zn(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(J5);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var J5,Ec=k(()=>{Tf();J5={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 Cc({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Jn({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 Sc,Q0,kc=k(()=>{Sc={gwei:9,wei:18},Q0={ether:-9,wei:9}});function Ic(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 $f=k(()=>{});function Yn(e,t="wei"){return Ic(e,Sc[t])}var _c=k(()=>{kc();$f()});function Le(e,t="wei"){return Ic(e,Q0[t])}var Xn=k(()=>{kc();$f()});function mn(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
|
|
10
|
-
`),{name:"FeeConflictError"})}},
|
|
11
|
-
`),{name:"ChainNotFoundError"})}},
|
|
12
|
-
`),{cause:t,name:"NonceTooLowError"})}};Object.defineProperty(
|
|
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(fs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});
|
|
14
|
-
`),{cause:t,name:"TipAboveFeeCapError"})}};Object.defineProperty(gr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});Ht=class extends
|
|
15
|
-
`),{docsPath:t,name:"AbiConstructorNotFoundError"})}},
|
|
16
|
-
`),{docsPath:t,name:"AbiConstructorParamsNotFoundError"})}},
|
|
17
|
-
`),{metaMessages:[`Params: (${
|
|
18
|
-
`),{name:"AbiEncodingArrayLengthMismatchError"})}},
|
|
19
|
-
`),{name:"AbiEncodingLengthMismatchError"})}},
|
|
20
|
-
`),{docsPath:r,name:"AbiErrorInputsNotFoundError"})}},
|
|
21
|
-
`),{docsPath:r,name:"AbiErrorNotFoundError"})}},
|
|
22
|
-
`),{docsPath:r,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=t}},
|
|
23
|
-
`),{docsPath:r,name:"AbiEventSignatureNotFoundError"})}},
|
|
24
|
-
`),{docsPath:r,name:"AbiEventNotFoundError"})}},cr=class extends
|
|
25
|
-
`),{docsPath:r,name:"AbiFunctionNotFoundError"})}},
|
|
26
|
-
`),{docsPath:r,name:"AbiFunctionOutputsNotFoundError"})}},
|
|
27
|
-
`),{docsPath:r,name:"AbiFunctionSignatureNotFoundError"})}},
|
|
28
|
-
`),{metaMessages:[`Params: (${
|
|
29
|
-
`),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t}},
|
|
30
|
-
`),{docsPath:r,name:"InvalidAbiEncodingType"})}},
|
|
31
|
-
`),{docsPath:r,name:"InvalidAbiDecodingType"})}},
|
|
32
|
-
`),{name:"InvalidArrayError"})}},
|
|
33
|
-
`),{name:"InvalidDefinitionTypeError"})}}});function
|
|
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 Tt(e,t){return e.exec(t)?.groups}var Of,Uf,dm,ca=k(()=>{Of=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Uf=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,dm=/^\(.+?\).*?$/});function hm(e){let t=e.type;if(Nh.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+=hm(s),n<r-1&&(t+=", ")}let o=Tt(Nh,e.type);return t+=`)${o?.array??""}`,hm({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var Nh,Lh=k(()=>{ca();Nh=/^tuple(?<array>(\[(\d*)\])*)$/});function Jr(e){let t="",r=e.length;for(let o=0;o<r;o++){let n=e[o];t+=hm(n),o!==r-1&&(t+=", ")}return t}var Hf=k(()=>{Lh()});function dn(e){return e.type==="function"?`function ${e.name}(${Jr(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${Jr(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${Jr(e.inputs)})`:e.type==="error"?`error ${e.name}(${Jr(e.inputs)})`:e.type==="constructor"?`constructor(${Jr(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}var zh=k(()=>{Hf()});function Uh(e){return Oh.test(e)}function Hh(e){return Tt(Oh,e)}function Gh(e){return jh.test(e)}function Vh(e){return Tt(jh,e)}function Kh(e){return qh.test(e)}function Wh(e){return Tt(qh,e)}function _o(e){return Jh.test(e)}function Zh(e){return Tt(Jh,e)}function Xh(e){return Yh.test(e)}function Qh(e){return Tt(Yh,e)}function tg(e){return eg.test(e)}function rg(e){return Tt(eg,e)}function og(e){return T2.test(e)}var Oh,jh,qh,Jh,Yh,eg,T2,jf,ng,gm,ks=k(()=>{ca();Oh=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;jh=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;qh=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;Jh=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;Yh=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;eg=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;T2=/^receive\(\) external payable$/;jf=new Set(["memory","indexed","storage","calldata"]),ng=new Set(["indexed"]),gm=new Set(["calldata","memory","storage"])});var ym,bm,xm,vm=k(()=>{Ss();ym=class extends Ie{constructor({signature:t}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}},bm=class extends Ie{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}},xm=class extends Ie{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}});var wm,Cm,Em,Sm,km,Im,_m=k(()=>{Ss();wm=class extends Ie{constructor({params:t}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}},Cm=class extends Ie{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},Em=class extends Ie{constructor({param:t,name:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`"${r}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}},Sm=class extends Ie{constructor({param:t,type:r,modifier:o}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${o}" not allowed${r?` in "${r}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}},km=class extends Ie{constructor({param:t,type:r,modifier:o}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${o}" not allowed${r?` in "${r}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${o}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}},Im=class extends Ie{constructor({abiParameter:t}){super("Invalid ABI parameter.",{details:JSON.stringify(t,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}});var br,Am,Pm,Gf=k(()=>{Ss();br=class extends Ie{constructor({signature:t,type:r}){super(`Invalid ${r} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}},Am=class extends Ie{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},Pm=class extends Ie{constructor({signature:t}){super("Invalid struct signature.",{details:t,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}});var Tm,sg=k(()=>{Ss();Tm=class extends Ie{constructor({type:t}){super("Circular reference detected.",{metaMessages:[`Struct "${t}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}});var $m,ig=k(()=>{Ss();$m=class extends Ie{constructor({current:t,depth:r}){super("Unbalanced parentheses.",{metaMessages:[`"${t.trim()}" has too many ${r>0?"opening":"closing"} parentheses.`],details:`Depth "${r}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}});function ag(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 Rm,cg=k(()=>{Rm=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 ma(e,t={}){if(Kh(e))return $2(e,t);if(Gh(e))return R2(e,t);if(Uh(e))return B2(e,t);if(Xh(e))return M2(e,t);if(tg(e))return F2(e);if(og(e))return{type:"receive",stateMutability:"payable"};throw new Am({signature:e})}function $2(e,t={}){let r=Wh(e);if(!r)throw new br({signature:e,type:"function"});let o=bt(r.parameters),n=[],s=o.length;for(let a=0;a<s;a++)n.push(ur(o[a],{modifiers:gm,structs:t,type:"function"}));let i=[];if(r.returns){let a=bt(r.returns),c=a.length;for(let m=0;m<c;m++)i.push(ur(a[m],{modifiers:gm,structs:t,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:n,outputs:i}}function R2(e,t={}){let r=Vh(e);if(!r)throw new br({signature:e,type:"event"});let o=bt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(ur(o[i],{modifiers:ng,structs:t,type:"event"}));return{name:r.name,type:"event",inputs:n}}function B2(e,t={}){let r=Hh(e);if(!r)throw new br({signature:e,type:"error"});let o=bt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(ur(o[i],{structs:t,type:"error"}));return{name:r.name,type:"error",inputs:n}}function M2(e,t={}){let r=Qh(e);if(!r)throw new br({signature:e,type:"constructor"});let o=bt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(ur(o[i],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:n}}function F2(e){let t=rg(e);if(!t)throw new br({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}function ur(e,t){let r=ag(e,t?.type,t?.structs);if(Rm.has(r))return Rm.get(r);let o=dm.test(e),n=Tt(o?N2:D2,e);if(!n)throw new Cm({param:e});if(n.name&&O2(n.name))throw new Em({param:e,name:n.name});let s=n.name?{name:n.name}:{},i=n.modifier==="indexed"?{indexed:!0}:{},a=t?.structs??{},c,m={};if(o){c="tuple";let p=bt(n.type),f=[],d=p.length;for(let h=0;h<d;h++)f.push(ur(p[h],{structs:a}));m={components:f}}else if(n.type in a)c="tuple",m={components:a[n.type]};else if(L2.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,t?.type!=="struct"&&!Vf(c))throw new xm({type:c});if(n.modifier){if(!t?.modifiers?.has?.(n.modifier))throw new Sm({param:e,type:t?.type,modifier:n.modifier});if(gm.has(n.modifier)&&!U2(c,!!n.array))throw new km({param:e,type:t?.type,modifier:n.modifier})}let u={type:`${c}${n.array??""}`,...s,...i,...m};return Rm.set(r,u),u}function bt(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?bt(a,[...t,r.trim()]):bt(a,t,`${r}${i}`,o);case"(":return bt(a,t,`${r}${i}`,o+1);case")":return bt(a,t,`${r}${i}`,o-1);default:return bt(a,t,`${r}${i}`,o)}}if(r==="")return t;if(o!==0)throw new $m({current:r,depth:o});return t.push(r.trim()),t}function Vf(e){return e==="address"||e==="bool"||e==="function"||e==="string"||Of.test(e)||Uf.test(e)}function O2(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||Of.test(e)||Uf.test(e)||z2.test(e)}function U2(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}var D2,N2,L2,z2,Is=k(()=>{ca();vm();_m();Gf();ig();cg();ks();D2=/^(?<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$_]*))?$/,N2=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,L2=/^u?int$/;z2=/^(?: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 _s(e){let t={},r=e.length;for(let i=0;i<r;i++){let a=e[i];if(!_o(a))continue;let c=Zh(a);if(!c)throw new br({signature:a,type:"struct"});let m=c.properties.split(";"),u=[],p=m.length;for(let f=0;f<p;f++){let h=m[f].trim();if(!h)continue;let g=ur(h,{type:"struct"});u.push(g)}if(!u.length)throw new Pm({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]=mg(c,t)}return o}function mg(e,t,r=new Set){let o=[],n=e.length;for(let s=0;s<n;s++){let i=e[s];if(dm.test(i.type))o.push(i);else{let c=Tt(H2,i.type);if(!c?.type)throw new Im({abiParameter:i});let{array:m,type:u}=c;if(u in t){if(r.has(u))throw new Tm({type:u});o.push({...i,type:`tuple${m??""}`,components:mg(t[u]??[],t,new Set([...r,u]))})}else if(Vf(u))o.push(i);else throw new bm({type:u})}}return o}var H2,Bm=k(()=>{ca();vm();_m();Gf();sg();ks();Is();H2=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/});function Mm(e){let t=_s(e),r=[],o=e.length;for(let n=0;n<o;n++){let s=e[n];_o(s)||r.push(ma(s,t))}return r}var ug=k(()=>{ks();Bm();Is()});function Fm(e){let t;if(typeof e=="string")t=ma(e);else{let r=_s(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(!_o(s)){t=ma(s,r);break}}}if(!t)throw new ym({signature:e});return t}var pg=k(()=>{vm();ks();Bm();Is()});function Dm(e){let t=[];if(typeof e=="string"){let r=bt(e),o=r.length;for(let n=0;n<o;n++)t.push(ur(r[n],{modifiers:jf}))}else{let r=_s(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(_o(s))continue;let i=bt(s),a=i.length;for(let c=0;c<a;c++)t.push(ur(i[c],{modifiers:jf,structs:r}))}}if(t.length===0)throw new wm({params:e});return t}var fg=k(()=>{_m();ks();Bm();Is();Is()});var ua=k(()=>{zh();Hf();ug();pg();fg()});function dg(e){let t=!0,r="",o=0,n="",s=!1;for(let i=0;i<e.length;i++){let a=e[i];if(["(",")",","].includes(a)&&(t=!0),a==="("&&o++,a===")"&&o--,!!t){if(o===0){if(a===" "&&["event","function",""].includes(n))n="";else if(n+=a,a===")"){s=!0;break}continue}if(a===" "){e[i-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}n+=a,r+=a}}if(!s)throw new v("Unable to normalize signature.");return n}var hg=k(()=>{H()});var gg,yg=k(()=>{ua();hg();gg=e=>{let t=typeof e=="string"?e:dn(e);return dg(t)}});function Nm(e){return Bh(gg(e))}var qf=k(()=>{Mh();yg()});var xr,As=k(()=>{Io();qf();xr=e=>Vt(Nm(e),0,4)});function bg(e,t={}){typeof t.size<"u"&>(e,{size:t.size});let r=Q(e,t);return ae(r,t)}function xg(e,t={}){let r=e;if(typeof t.size<"u"&&(gt(r,{size:t.size}),r=je(r)),r.length>1||r[0]>1)throw new hc(r);return!!r[0]}function vr(e,t={}){typeof t.size<"u"&>(e,{size:t.size});let r=Q(e,t);return be(r,t)}function vg(e,t={}){let r=e;return typeof t.size<"u"&&(gt(r,{size:t.size}),r=je(r,{dir:"right"})),new TextDecoder().decode(r)}var wg=k(()=>{Gi();an();De();D()});var Cg,Lm,Kf=k(()=>{Cg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Lm=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/});function ct(e,t){if(e.length!==t.length)throw new im({expectedLength:e.length,givenLength:t.length});let r=j2({params:e,values:t}),o=Jf(r);return o.length===0?"0x":o}function j2({params:e,values:t}){let r=[];for(let o=0;o<e.length;o++)r.push(Wf({param:e[o],value:t[o]}));return r}function Wf({param:e,value:t}){let r=zm(e.type);if(r){let[o,n]=r;return V2(t,{length:o,param:{...e,type:n}})}if(e.type==="tuple")return Z2(t,{param:e});if(e.type==="address")return G2(t);if(e.type==="bool")return K2(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){let o=e.type.startsWith("int"),[,,n="256"]=Lm.exec(e.type)??[];return W2(t,{signed:o,size:Number(n)})}if(e.type.startsWith("bytes"))return q2(t,{param:e});if(e.type==="string")return J2(t);throw new fm(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function Jf(e){let t=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?t+=32:t+=X(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+=X(a)):r.push(a)}return $e([...r,...o])}function G2(e){if(!ee(e))throw new ne({address:e});return{dynamic:!1,encoded:jr(e.toLowerCase())}}function V2(e,{length:t,param:r}){let o=t===null;if(!Array.isArray(e))throw new Es(e);if(!o&&e.length!==t)throw new nm({expectedLength:t,givenLength:e.length,type:`${r.type}[${t}]`});let n=!1,s=[];for(let i=0;i<e.length;i++){let a=Wf({param:r,value:e[i]});a.dynamic&&(n=!0),s.push(a)}if(o||n){let i=Jf(s);if(o){let a=E(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?$e([a,i]):a}}if(n)return{dynamic:!0,encoded:i}}return{dynamic:!1,encoded:$e(s.map(({encoded:i})=>i))}}function q2(e,{param:t}){let[,r]=t.type.split("bytes"),o=X(e);if(!r){let n=e;return o%32!==0&&(n=jr(n,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:$e([jr(E(o,{size:32})),n])}}if(o!==Number.parseInt(r,10))throw new sm({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:jr(e,{dir:"right"})}}function K2(e){if(typeof e!="boolean")throw new v(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:jr(vc(e))}}function W2(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 qn({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 J2(e){let t=or(e),r=Math.ceil(X(t)/32),o=[];for(let n=0;n<r;n++)o.push(jr(Vt(t,n*32,(n+1)*32),{dir:"right"}));return{dynamic:!0,encoded:$e([jr(E(X(t),{size:32})),...o])}}function Z2(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=Wf({param:s,value:e[i]});o.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?Jf(o):$e(o.map(({encoded:n})=>n))}}function zm(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var Zr=k(()=>{we();ar();H();Gi();Pt();at();xc();zt();Io();D();Kf()});function Yr(e,t){let r=typeof t=="string"?Ne(t):t,o=Zn(r);if(X(r)===0&&e.length>0)throw new Wt;if(X(t)&&X(t)<32)throw new xs({data:typeof t=="string"?t:Q(t),params:e,size:X(t)});let n=0,s=[];for(let i=0;i<e.length;++i){let a=e[i];o.setPosition(n);let[c,m]=Ps(o,a,{staticPosition:0});n+=m,s.push(c)}return s}function Ps(e,t,{staticPosition:r}){let o=zm(t.type);if(o){let[n,s]=o;return X2(e,{...t,type:s},{length:n,staticPosition:r})}if(t.type==="tuple")return rC(e,t,{staticPosition:r});if(t.type==="address")return Y2(e);if(t.type==="bool")return Q2(e);if(t.type.startsWith("bytes"))return eC(e,t,{staticPosition:r});if(t.type.startsWith("uint")||t.type.startsWith("int"))return tC(e,t);if(t.type==="string")return oC(e,{staticPosition:r});throw new lm(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function Y2(e){let t=e.readBytes(32);return[Kr(Q(Lf(t,-20))),32]}function X2(e,t,{length:r,staticPosition:o}){if(!r){let i=vr(e.readBytes(Zf)),a=o+i,c=a+Eg;e.setPosition(a);let m=vr(e.readBytes(Eg)),u=pa(t),p=0,f=[];for(let d=0;d<m;++d){e.setPosition(c+(u?d*32:p));let[h,g]=Ps(e,t,{staticPosition:c});p+=g,f.push(h)}return e.setPosition(o+32),[f,32]}if(pa(t)){let i=vr(e.readBytes(Zf)),a=o+i,c=[];for(let m=0;m<r;++m){e.setPosition(a+m*32);let[u]=Ps(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]=Ps(e,t,{staticPosition:o+n});n+=c,s.push(a)}return[s,n]}function Q2(e){return[xg(e.readBytes(32),{size:32}),32]}function eC(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=vr(e.readBytes(32));e.setPosition(r+i);let a=vr(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[Q(c),32]}return[Q(e.readBytes(Number.parseInt(n,10),32)),32]}function tC(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?bg(n,{signed:r}):vr(n,{signed:r}),32]}function rC(e,t,{staticPosition:r}){let o=t.components.length===0||t.components.some(({name:i})=>!i),n=o?[]:{},s=0;if(pa(t)){let i=vr(e.readBytes(Zf)),a=r+i;for(let c=0;c<t.components.length;++c){let m=t.components[c];e.setPosition(a+s);let[u,p]=Ps(e,m,{staticPosition:a});s+=p,n[o?c:m?.name]=u}return e.setPosition(r+32),[n,32]}for(let i=0;i<t.components.length;++i){let a=t.components[i],[c,m]=Ps(e,a,{staticPosition:r});n[o?i:a?.name]=c,s+=m}return[n,s]}function oC(e,{staticPosition:t}){let r=vr(e.readBytes(32)),o=t+r;e.setPosition(o);let n=vr(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=vg(je(s));return e.setPosition(t+32),[i,32]}function pa(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(pa);let r=zm(e.type);return!!(r&&pa({...e,type:r[1]}))}var Eg,Zf,fa=k(()=>{we();ko();Ec();zt();Io();an();wg();Ge();D();Zr();Eg=32,Zf=32});function Om(e){let{abi:t,data:r}=e,o=Vt(r,0,4);if(o==="0x")throw new Wt;let s=[...t||[],em,Rh].find(i=>i.type==="error"&&o===xr(ze(i)));if(!s)throw new vs(o,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:s,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Yr(s.inputs,Vt(r,4)):void 0,errorName:s.name}}var Yf=k(()=>{tm();we();Io();As();fa();Wr()});var J,et=k(()=>{J=(e,t,r)=>JSON.stringify(e,(o,n)=>{let s=typeof n=="bigint"?n.toString():n;return typeof t=="function"?t(o,s):s},r)});function Xf({abiItem:e,args:t,includeFunctionName:r=!0,includeName:o=!1}){if("name"in e&&"inputs"in e&&e.inputs)return`${r?e.name:""}(${e.inputs.map((n,s)=>`${o&&n.name?`${n.name}: `:""}${typeof t[s]=="object"?J(t[s]):t[s]}`).join(", ")})`}var Sg=k(()=>{et()});var Ao,la=k(()=>{qf();Ao=Nm});function xt(e){let{abi:t,args:r=[],name:o}=e,n=ce(o,{strict:!1}),s=t.filter(a=>n?a.type==="function"?xr(a)===o:a.type==="event"?Ao(a)===o:!1:"name"in a&&a.name===o);if(s.length===0)return;if(s.length===1)return s[0];let i;for(let a of s){if(!("inputs"in a))continue;if(!r||r.length===0){if(!a.inputs||a.inputs.length===0)return a;continue}if(!a.inputs||a.inputs.length===0||a.inputs.length!==r.length)continue;if(r.every((m,u)=>{let p="inputs"in a&&a.inputs[u];return p?Qf(m,p):!1})){if(i&&"inputs"in i&&i.inputs){let m=kg(a.inputs,i.inputs,r);if(m)throw new um({abiItem:a,type:m[0]},{abiItem:i,type:m[1]})}i=a}}return i||s[0]}function Qf(e,t){let r=typeof e,o=t.type;switch(o){case"address":return ee(e,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return o==="tuple"&&"components"in t?Object.values(t.components).every((n,s)=>Qf(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=>Qf(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function kg(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 kg(n.components,s.components,r[o]);let i=[n.type,s.type];if(i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?ee(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?ee(r[o],{strict:!1}):!1)return i}}var Po=k(()=>{we();_t();Pt();la();As()});function Ig(e){return e.reduce((t,{slot:r,value:o})=>`${t} ${r}: ${o}
|
|
35
|
-
`,"")}function
|
|
5
|
+
`+s),e.push(n+"m+"+wc.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=r2()+t+" "+e[0]}function r2(){return je.inspectOpts.hideDate?"":new Date().toISOString()+" "}function o2(...e){return process.stderr.write(vc.formatWithOptions(je.inspectOpts,...e)+`
|
|
6
|
+
`)}function n2(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function s2(){return process.env.DEBUG}function i2(e){e.inspectOpts={};let t=Object.keys(je.inspectOpts);for(let r=0;r<t.length;r++)e.inspectOpts[t[r]]=je.inspectOpts[t[r]]}wc.exports=Tl()(je);var{formatters:th}=wc.exports;th.o=function(e){return this.inspectOpts.colors=this.useColors,vc.inspect(e,this.inspectOpts).split(`
|
|
7
|
+
`).map(t=>t.trim()).join(" ")};th.O=function(e){return this.inspectOpts.colors=this.useColors,vc.inspect(e,this.inspectOpts)}});var oh=dt((eT,Bl)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Bl.exports=J0():Bl.exports=rh()});var Ml,sh=I(()=>{Ml="2.38.6"});function ih(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?ih(e.cause,t):t?null:e}var Fl,w,G=I(()=>{sh();Fl={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${Ml}`},w=class e extends Error{constructor(t,r={}){let o=r.cause instanceof e?r.cause.details:r.cause?.message?r.cause.message:r.details,n=r.cause instanceof e&&r.cause.docsPath||r.docsPath,s=Fl.getDocsUrl?.({...r,docsPath:n}),i=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...o?[`Details: ${o}`]:[],...Fl.version?[`Version: ${Fl.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=Ml}walk(t){return ih(this,t)}}});var Kn,Cc,Ec,Sc,Wi=I(()=>{G();Kn=class extends w{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"})}},Cc=class extends w{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"})}},Ec=class extends w{constructor(t){super(`Hex value "${t}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}},Sc=class extends w{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}});function ue(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}var _t=I(()=>{});function Q(e){return ue(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Ut=I(()=>{_t()});function Ge(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 an=I(()=>{});var Ji,Zi,Yi,kc=I(()=>{G();Ji=class extends w{constructor({offset:t,position:r,size:o}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${o}).`,{name:"SliceOffsetOutOfBoundsError"})}},Zi=class extends w{constructor({size:t,targetSize:r,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} size (${t}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}},Yi=class extends w{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 vo(e,{dir:t,size:r=32}={}){return typeof e=="string"?jr(e,{dir:t,size:r}):a2(e,{dir:t,size:r})}function jr(e,{dir:t,size:r=32}={}){if(r===null)return e;let o=e.replace("0x","");if(o.length>r*2)throw new Zi({size:Math.ceil(o.length/2),targetSize:r,type:"hex"});return`0x${o[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function a2(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new Zi({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 Ic=I(()=>{kc()});function ce(e,t={}){return typeof e=="number"||typeof e=="bigint"?E(e,t):typeof e=="string"?or(e,t):typeof e=="boolean"?_c(e,t):ee(e,t)}function _c(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(gt(r,{size:t.size}),vo(r,{size:t.size})):r}function ee(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=c2[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(gt(o,{size:t.size}),vo(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 Kn({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?vo(a,{size:o}):a}function or(e,t={}){let r=m2.encode(e);return ee(r,t)}var c2,m2,D=I(()=>{Wi();Ic();Ne();c2=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));m2=new TextEncoder});function zt(e,t={}){return typeof e=="number"||typeof e=="bigint"?l2(e,t):typeof e=="boolean"?p2(e,t):ue(e)?Le(e,t):nr(e,t)}function p2(e,t={}){let r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(gt(r,{size:t.size}),vo(r,{size:t.size})):r}function ah(e){if(e>=Gr.zero&&e<=Gr.nine)return e-Gr.zero;if(e>=Gr.A&&e<=Gr.F)return e-(Gr.A-10);if(e>=Gr.a&&e<=Gr.f)return e-(Gr.a-10)}function Le(e,t={}){let r=e;t.size&&(gt(r,{size:t.size}),r=vo(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=ah(o.charCodeAt(a++)),m=ah(o.charCodeAt(a++));if(c===void 0||m===void 0)throw new w(`Invalid byte sequence ("${o[a-2]}${o[a-1]}" in "${o}").`);s[i]=c*16+m}return s}function l2(e,t){let r=E(e,t);return Le(r)}function nr(e,t={}){let r=u2.encode(e);return typeof t.size=="number"?(gt(r,{size:t.size}),vo(r,{dir:"right",size:t.size})):r}var u2,Gr,Ve=I(()=>{G();_t();Ic();Ne();D();u2=new TextEncoder;Gr={zero:48,nine:57,A:65,F:70,a:97,f:102}});function gt(e,{size:t}){if(Q(e)>t)throw new Sc({givenSize:Q(e),maxSize:t})}function me(e,t={}){let{signed:r}=t;t.size&>(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 Dl(e,t={}){let r=e;if(t.size&&(gt(r,{size:t.size}),r=Ge(r)),Ge(r)==="0x00")return!1;if(Ge(r)==="0x01")return!0;throw new Ec(r)}function ve(e,t={}){return Number(me(e,t))}var Ne=I(()=>{Wi();Ut();an()});function Wn(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 Ac=I(()=>{});function yt(e,t){let r={};return typeof e.authorizationList<"u"&&(r.authorizationList=h2(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=>ee(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=d2[e.type]),typeof e.value<"u"&&(r.value=E(e.value)),r}function h2(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 d2,wo=I(()=>{D();d2={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"}});var VT,qT,KT,WT,JT,ZT,YT,XT,QT,e4,t4,r4,o4,n4,s4,i4,a4,c4,m4,u4,p4,l4,f4,d4,h4,g4,y4,b4,x4,v4,w4,C4,E4,S4,k4,I4,_4,A4,P4,T4,$4,R4,B4,M4,F4,D4,N4,L4,U4,z4,O4,H4,j4,G4,V4,q4,K4,W4,J4,Z4,Y4,X4,Q4,e9,t9,r9,o9,n9,s9,i9,a9,c9,m9,u9,p9,l9,f9,d9,h9,g9,y9,b9,x9,v9,w9,C9,E9,S9,k9,I9,_9,A9,P9,T9,$9,Jn,Ul=I(()=>{VT=2n**(8n-1n)-1n,qT=2n**(16n-1n)-1n,KT=2n**(24n-1n)-1n,WT=2n**(32n-1n)-1n,JT=2n**(40n-1n)-1n,ZT=2n**(48n-1n)-1n,YT=2n**(56n-1n)-1n,XT=2n**(64n-1n)-1n,QT=2n**(72n-1n)-1n,e4=2n**(80n-1n)-1n,t4=2n**(88n-1n)-1n,r4=2n**(96n-1n)-1n,o4=2n**(104n-1n)-1n,n4=2n**(112n-1n)-1n,s4=2n**(120n-1n)-1n,i4=2n**(128n-1n)-1n,a4=2n**(136n-1n)-1n,c4=2n**(144n-1n)-1n,m4=2n**(152n-1n)-1n,u4=2n**(160n-1n)-1n,p4=2n**(168n-1n)-1n,l4=2n**(176n-1n)-1n,f4=2n**(184n-1n)-1n,d4=2n**(192n-1n)-1n,h4=2n**(200n-1n)-1n,g4=2n**(208n-1n)-1n,y4=2n**(216n-1n)-1n,b4=2n**(224n-1n)-1n,x4=2n**(232n-1n)-1n,v4=2n**(240n-1n)-1n,w4=2n**(248n-1n)-1n,C4=2n**(256n-1n)-1n,E4=-(2n**(8n-1n)),S4=-(2n**(16n-1n)),k4=-(2n**(24n-1n)),I4=-(2n**(32n-1n)),_4=-(2n**(40n-1n)),A4=-(2n**(48n-1n)),P4=-(2n**(56n-1n)),T4=-(2n**(64n-1n)),$4=-(2n**(72n-1n)),R4=-(2n**(80n-1n)),B4=-(2n**(88n-1n)),M4=-(2n**(96n-1n)),F4=-(2n**(104n-1n)),D4=-(2n**(112n-1n)),N4=-(2n**(120n-1n)),L4=-(2n**(128n-1n)),U4=-(2n**(136n-1n)),z4=-(2n**(144n-1n)),O4=-(2n**(152n-1n)),H4=-(2n**(160n-1n)),j4=-(2n**(168n-1n)),G4=-(2n**(176n-1n)),V4=-(2n**(184n-1n)),q4=-(2n**(192n-1n)),K4=-(2n**(200n-1n)),W4=-(2n**(208n-1n)),J4=-(2n**(216n-1n)),Z4=-(2n**(224n-1n)),Y4=-(2n**(232n-1n)),X4=-(2n**(240n-1n)),Q4=-(2n**(248n-1n)),e9=-(2n**(256n-1n)),t9=2n**8n-1n,r9=2n**16n-1n,o9=2n**24n-1n,n9=2n**32n-1n,s9=2n**40n-1n,i9=2n**48n-1n,a9=2n**56n-1n,c9=2n**64n-1n,m9=2n**72n-1n,u9=2n**80n-1n,p9=2n**88n-1n,l9=2n**96n-1n,f9=2n**104n-1n,d9=2n**112n-1n,h9=2n**120n-1n,g9=2n**128n-1n,y9=2n**136n-1n,b9=2n**144n-1n,x9=2n**152n-1n,v9=2n**160n-1n,w9=2n**168n-1n,C9=2n**176n-1n,E9=2n**184n-1n,S9=2n**192n-1n,k9=2n**200n-1n,I9=2n**208n-1n,_9=2n**216n-1n,A9=2n**224n-1n,P9=2n**232n-1n,T9=2n**240n-1n,$9=2n**248n-1n,Jn=2n**256n-1n});function Me(e){return typeof e[0]=="string"?qe(e):g2(e)}function g2(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 qe(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}var ct=I(()=>{});var ea,Zn,Pc,zl=I(()=>{G();ea=class extends w{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}},Zn=class extends w{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}},Pc=class extends w{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function Yn(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(y2);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var y2,Tc=I(()=>{zl();y2={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 Pc({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Zn({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new ea({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 ea({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 $c,fh,Rc=I(()=>{$c={gwei:9,wei:18},fh={ether:-9,wei:9}});function Bc(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 Ol=I(()=>{});function Xn(e,t="wei"){return Bc(e,$c[t])}var Mc=I(()=>{Rc();Ol()});function Ue(e,t="wei"){return Bc(e,fh[t])}var Qn=I(()=>{Rc();Ol()});function mn(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 Fc,Dc,Nc,Lc,Uc,es,ts,rs,zc,At=I(()=>{Mc();Qn();G();Fc=class extends w{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 w{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}},Nc=class extends w{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",mn(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"})}},Lc=class extends w{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}},Uc=class extends w{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:p,value:l}){let d=mn({chain:n&&`${n?.name} (id: ${n?.id})`,from:r?.address,to:p,value:typeof l<"u"&&`${Xn(l)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Ue(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Ue(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Ue(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}},es=class extends w{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"})}},ts=class extends w{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"})}},rs=class extends w{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}},zc=class extends w{constructor({hash:t}){super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}});function v2(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 un(e,...t){if(!v2(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 as(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 Oc(e,t){un(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function hh(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Co(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Hc(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ir(e,t){return e<<32-t|e>>>t}function C2(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function E2(e){for(let t=0;t<e.length;t++)e[t]=C2(e[t]);return e}function S2(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function ta(e){return typeof e=="string"&&(e=S2(e)),un(e),e}function jc(e){let t=o=>e().update(ta(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}var w2,jl,is,Gc=I(()=>{w2=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;jl=w2?e=>e:E2;is=class{}});function I2(e,t=!1){return t?{h:Number(e&qc),l:Number(e>>bh&qc)}:{h:Number(e>>bh&qc)|0,l:Number(e&qc)|0}}function xh(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}=I2(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var qc,bh,vh,wh,Ch,Eh,Sh=I(()=>{qc=BigInt(4294967295),bh=BigInt(32);vh=(e,t,r)=>e<<r|t>>>32-r,wh=(e,t,r)=>t<<r|e>>>32-r,Ch=(e,t,r)=>t<<r-32|e>>>64-r,Eh=(e,t,r)=>e<<r-32|t>>>64-r});var ie,ar=I(()=>{G();ie=class extends w{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 pn,Qc,em,ra,ln,oa=I(()=>{G();pn=class extends w{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"})}},Qc=class extends w{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"})}},em=class extends w{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"})}},ra=class extends w{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}},ln=class extends w{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}});var qr,Ot,ms,us,ps,ls,fs,ds,hs,gs,gr,Ht,So=I(()=>{Qn();G();qr=class extends w{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(qr,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(qr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});Ot=class extends w{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Ue(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}};Object.defineProperty(Ot,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});ms=class extends w{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Ue(r)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}};Object.defineProperty(ms,"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/});us=class extends w{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(us,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});ps=class extends w{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(ps,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});ls=class extends w{constructor({cause:t,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}exceeds the maximum allowed nonce.`,{cause:t,name:"NonceMaxValueError"})}};Object.defineProperty(ls,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});fs=class extends w{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(fs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});ds=class extends w{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(ds,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});hs=class extends w{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(hs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});gs=class extends w{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}};Object.defineProperty(gs,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});gr=class extends w{constructor({cause:t,maxPriorityFeePerGas:r,maxFeePerGas:o}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${Ue(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${o?` = ${Ue(o)} gwei`:""}).`].join(`
|
|
14
|
+
`),{cause:t,name:"TipAboveFeeCapError"})}};Object.defineProperty(gr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});Ht=class extends w{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}});var jt,ys=I(()=>{jt=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 N2(e,t=24){let r=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let i=0;i<10;i++)r[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){let a=(i+8)%10,c=(i+2)%10,m=r[c],u=r[c+1],p=Th(m,u,1)^r[a],l=$h(m,u,1)^r[a+1];for(let d=0;d<50;d+=10)e[i+d]^=p,e[i+d+1]^=l}let n=e[2],s=e[3];for(let i=0;i<24;i++){let a=Bh[i],c=Th(n,s,a),m=$h(n,s,a),u=Rh[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]^=F2[o],e[1]^=D2[o]}Co(r)}var T2,na,$2,R2,B2,M2,Rh,Bh,Mh,Fh,F2,D2,Th,$h,Gl,L2,tm,Vl=I(()=>{Sh();Gc();T2=BigInt(0),na=BigInt(1),$2=BigInt(2),R2=BigInt(7),B2=BigInt(256),M2=BigInt(113),Rh=[],Bh=[],Mh=[];for(let e=0,t=na,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],Rh.push(2*(5*o+r)),Bh.push((e+1)*(e+2)/2%64);let n=T2;for(let s=0;s<7;s++)t=(t<<na^(t>>R2)*M2)%B2,t&$2&&(n^=na<<(na<<BigInt(s))-na);Mh.push(n)}Fh=xh(Mh,!0),F2=Fh[0],D2=Fh[1],Th=(e,t,r)=>r>32?Ch(e,t,r):vh(e,t,r),$h=(e,t,r)=>r>32?Eh(e,t,r):wh(e,t,r);Gl=class e extends is{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,Hl(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=hh(this.state)}clone(){return this._cloneInto()}keccak(){jl(this.state32),N2(this.state32,this.rounds),jl(this.state32),this.posOut=0,this.pos=0}update(t){as(this),t=ta(t),un(t);let{blockLen:r,state:o}=this,n=t.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);for(let a=0;a<i;a++)o[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:o,blockLen:n}=this;t[o]^=r,(r&128)!==0&&o===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){as(this,!1),un(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 Hl(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Oc(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,Co(this.state)}_cloneInto(t){let{blockLen:r,suffix:o,outputLen:n,rounds:s,enableXOF:i}=this;return t||(t=new e(r,o,n,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=o,t.outputLen=n,t.enableXOF=i,t.destroyed=this.destroyed,t}},L2=(e,t,r)=>jc(()=>new Gl(t,e,r)),tm=L2(1,136,256/8)});function ae(e,t){let r=t||"hex",o=tm(ue(e,{strict:!1})?zt(e):e);return r==="bytes"?o:ce(o)}var Gt=I(()=>{Vl();_t();Ve();D()});function Kr(e,t){if(ql.has(`${e}.${t}`))return ql.get(`${e}.${t}`);let r=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),o=ae(nr(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 ql.set(`${e}.${t}`,s),s}function bs(e,t){if(!te(e,{strict:!1}))throw new ie({address:e});return Kr(e,t)}var ql,ko=I(()=>{ar();Ve();Gt();ys();Pt();ql=new jt(8192)});function te(e,t){let{strict:r=!0}=t??{},o=`${e}.${r}`;if(Kl.has(o))return Kl.get(o);let n=U2.test(e)?e.toLowerCase()===e?!0:r?Kr(e)===e:!0:!1;return Kl.set(o,n),n}var U2,Kl,Pt=I(()=>{ys();ko();U2=/^0x[a-fA-F0-9]{40}$/,Kl=new jt(8192)});function Vt(e,t,r,{strict:o}={}){return ue(e,{strict:!1})?rm(e,t,r,{strict:o}):Wl(e,t,r,{strict:o})}function Dh(e,t){if(typeof t=="number"&&t>0&&t>Q(e)-1)throw new Ji({offset:t,position:"start",size:Q(e)})}function Nh(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Q(e)!==r-t)throw new Ji({offset:r,position:"end",size:Q(e)})}function Wl(e,t,r,{strict:o}={}){Dh(e,t);let n=e.slice(t,r);return o&&Nh(n,t,r),n}function rm(e,t,r,{strict:o}={}){Dh(e,t);let n=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return o&&Nh(n,t,r),n}var Io=I(()=>{kc();_t();Ut()});function qt({blockNumber:e,chain:t,contract:r}){let o=t?.contracts?.[r];if(!o)throw new pn({chain:t,contract:{name:r}});if(e&&o.blockCreated&&o.blockCreated>e)throw new pn({blockNumber:e,chain:t,contract:{name:r,blockCreated:o.blockCreated}});return o.address}var fn=I(()=>{oa()});function V(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}var Ce=I(()=>{});var Vh,am,qh,cm=I(()=>{Vh={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."},am={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},qh={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"}});function ze(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new mm(e.type);return`${e.name}(${ca(e.inputs,{includeName:t})})`}function ca(e,{includeName:t=!1}={}){return e?e.map(r=>Z2(r,{includeName:t})).join(t?", ":","):""}function Z2(e,{includeName:t}){return e.type.startsWith("tuple")?`(${ca(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}var Wr=I(()=>{Ee()});var um,ma,vs,Wt,pm,lm,fm,dm,ua,ws,hm,Cs,pa,cr,Es,gm,ym,bm,mr,yr,xm,vm,Ss,mm,Ee=I(()=>{Wr();Ut();G();um=class extends w{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"})}},ma=class extends w{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"})}},vs=class extends w{constructor({data:t,params:r,size:o}){super([`Data size of ${o} bytes is too small for given parameters.`].join(`
|
|
17
|
+
`),{metaMessages:[`Params: (${ca(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}},Wt=class extends w{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}},pm=class extends w{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"})}},lm=class extends w{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${Q(r)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}},fm=class extends w{constructor({expectedLength:t,givenLength:r}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${t}`,`Given length (values): ${r}`].join(`
|
|
19
|
+
`),{name:"AbiEncodingLengthMismatchError"})}},dm=class extends w{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"})}},ua=class extends w{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"})}},ws=class extends w{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}},hm=class extends w{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}},Cs=class extends w{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"})}},pa=class extends w{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"})}},cr=class extends w{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"})}},Es=class extends w{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"})}},gm=class extends w{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"})}},ym=class extends w{constructor(t,r){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${ze(t.abiItem)}\`, and`,`\`${r.type}\` in \`${ze(r.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}},bm=class extends w{constructor({expectedSize:t,givenSize:r}){super(`Expected bytes${t}, got bytes${r}.`,{name:"BytesSizeMismatchError"})}},mr=class extends w{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: (${ca(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}},yr=class extends w{constructor({abiItem:t,param:r}){super([`Expected a topic for indexed event parameter${r.name?` "${r.name}"`:""} on event "${ze(t,{includeName:!0})}".`].join(`
|
|
29
|
+
`),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t}},xm=class extends w{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"})}},vm=class extends w{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"})}},Ss=class extends w{constructor(t){super([`Value "${t}" is not a valid array.`].join(`
|
|
32
|
+
`),{name:"InvalidArrayError"})}},mm=class extends w{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
|
|
33
|
+
`),{name:"InvalidDefinitionTypeError"})}}});function Kh(e){return Y2(e)}var Y2,Wh=I(()=>{Ve();Gt();Y2=e=>ae(zt(e))});var Jh,Zh=I(()=>{Jh="1.1.0"});var Te,ks=I(()=>{Zh();Te=class e extends Error{constructor(t,r={}){let o=r.cause instanceof e?r.cause.details:r.cause?.message?r.cause.message:r.details,n=r.cause instanceof e&&r.cause.docsPath||r.docsPath,s=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...n?[`Docs: https://abitype.dev${n}`]:[],...o?[`Details: ${o}`]:[],`Version: abitype@${Jh}`].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 Tt(e,t){return e.exec(t)?.groups}var Zl,Yl,wm,la=I(()=>{Zl=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Yl=/^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)?$/,wm=/^\(.+?\).*?$/});function Cm(e){let t=e.type;if(Yh.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+=Cm(s),n<r-1&&(t+=", ")}let o=Tt(Yh,e.type);return t+=`)${o?.array??""}`,Cm({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var Yh,Xh=I(()=>{la();Yh=/^tuple(?<array>(\[(\d*)\])*)$/});function Jr(e){let t="",r=e.length;for(let o=0;o<r;o++){let n=e[o];t+=Cm(n),o!==r-1&&(t+=", ")}return t}var Xl=I(()=>{Xh()});function dn(e){return e.type==="function"?`function ${e.name}(${Jr(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${Jr(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${Jr(e.inputs)})`:e.type==="error"?`error ${e.name}(${Jr(e.inputs)})`:e.type==="constructor"?`constructor(${Jr(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}var Qh=I(()=>{Xl()});function tg(e){return eg.test(e)}function rg(e){return Tt(eg,e)}function ng(e){return og.test(e)}function sg(e){return Tt(og,e)}function ag(e){return ig.test(e)}function cg(e){return Tt(ig,e)}function _o(e){return mg.test(e)}function ug(e){return Tt(mg,e)}function lg(e){return pg.test(e)}function fg(e){return Tt(pg,e)}function hg(e){return dg.test(e)}function gg(e){return Tt(dg,e)}function yg(e){return X2.test(e)}var eg,og,ig,mg,pg,dg,X2,Ql,bg,Em,Is=I(()=>{la();eg=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;og=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;ig=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;mg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;pg=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;dg=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;X2=/^receive\(\) external payable$/;Ql=new Set(["memory","indexed","storage","calldata"]),bg=new Set(["indexed"]),Em=new Set(["calldata","memory","storage"])});var Sm,km,Im,_m=I(()=>{ks();Sm=class extends Te{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"})}},km=class extends Te{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"})}},Im=class extends Te{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 Am,Pm,Tm,$m,Rm,Bm,Mm=I(()=>{ks();Am=class extends Te{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"})}},Pm=class extends Te{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},Tm=class extends Te{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"})}},$m=class extends Te{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"})}},Rm=class extends Te{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"})}},Bm=class extends Te{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 br,Fm,Dm,ef=I(()=>{ks();br=class extends Te{constructor({signature:t,type:r}){super(`Invalid ${r} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}},Fm=class extends Te{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},Dm=class extends Te{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 Nm,xg=I(()=>{ks();Nm=class extends Te{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 Lm,vg=I(()=>{ks();Lm=class extends Te{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 wg(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 Um,Cg=I(()=>{Um=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 fa(e,t={}){if(ag(e))return Q2(e,t);if(ng(e))return eC(e,t);if(tg(e))return tC(e,t);if(lg(e))return rC(e,t);if(hg(e))return oC(e);if(yg(e))return{type:"receive",stateMutability:"payable"};throw new Fm({signature:e})}function Q2(e,t={}){let r=cg(e);if(!r)throw new br({signature:e,type:"function"});let o=bt(r.parameters),n=[],s=o.length;for(let a=0;a<s;a++)n.push(ur(o[a],{modifiers:Em,structs:t,type:"function"}));let i=[];if(r.returns){let a=bt(r.returns),c=a.length;for(let m=0;m<c;m++)i.push(ur(a[m],{modifiers:Em,structs:t,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:n,outputs:i}}function eC(e,t={}){let r=sg(e);if(!r)throw new br({signature:e,type:"event"});let o=bt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(ur(o[i],{modifiers:bg,structs:t,type:"event"}));return{name:r.name,type:"event",inputs:n}}function tC(e,t={}){let r=rg(e);if(!r)throw new br({signature:e,type:"error"});let o=bt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(ur(o[i],{structs:t,type:"error"}));return{name:r.name,type:"error",inputs:n}}function rC(e,t={}){let r=fg(e);if(!r)throw new br({signature:e,type:"constructor"});let o=bt(r.parameters),n=[],s=o.length;for(let i=0;i<s;i++)n.push(ur(o[i],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:n}}function oC(e){let t=gg(e);if(!t)throw new br({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}function ur(e,t){let r=wg(e,t?.type,t?.structs);if(Um.has(r))return Um.get(r);let o=wm.test(e),n=Tt(o?sC:nC,e);if(!n)throw new Pm({param:e});if(n.name&&cC(n.name))throw new Tm({param:e,name:n.name});let s=n.name?{name:n.name}:{},i=n.modifier==="indexed"?{indexed:!0}:{},a=t?.structs??{},c,m={};if(o){c="tuple";let p=bt(n.type),l=[],d=p.length;for(let h=0;h<d;h++)l.push(ur(p[h],{structs:a}));m={components:l}}else if(n.type in a)c="tuple",m={components:a[n.type]};else if(iC.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,t?.type!=="struct"&&!tf(c))throw new Im({type:c});if(n.modifier){if(!t?.modifiers?.has?.(n.modifier))throw new $m({param:e,type:t?.type,modifier:n.modifier});if(Em.has(n.modifier)&&!mC(c,!!n.array))throw new Rm({param:e,type:t?.type,modifier:n.modifier})}let u={type:`${c}${n.array??""}`,...s,...i,...m};return Um.set(r,u),u}function bt(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?bt(a,[...t,r.trim()]):bt(a,t,`${r}${i}`,o);case"(":return bt(a,t,`${r}${i}`,o+1);case")":return bt(a,t,`${r}${i}`,o-1);default:return bt(a,t,`${r}${i}`,o)}}if(r==="")return t;if(o!==0)throw new Lm({current:r,depth:o});return t.push(r.trim()),t}function tf(e){return e==="address"||e==="bool"||e==="function"||e==="string"||Zl.test(e)||Yl.test(e)}function cC(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||Zl.test(e)||Yl.test(e)||aC.test(e)}function mC(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}var nC,sC,iC,aC,_s=I(()=>{la();_m();Mm();ef();vg();Cg();Is();nC=/^(?<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$_]*))?$/,sC=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,iC=/^u?int$/;aC=/^(?: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 As(e){let t={},r=e.length;for(let i=0;i<r;i++){let a=e[i];if(!_o(a))continue;let c=ug(a);if(!c)throw new br({signature:a,type:"struct"});let m=c.properties.split(";"),u=[],p=m.length;for(let l=0;l<p;l++){let h=m[l].trim();if(!h)continue;let g=ur(h,{type:"struct"});u.push(g)}if(!u.length)throw new Dm({signature:a});t[c.name]=u}let o={},n=Object.entries(t),s=n.length;for(let i=0;i<s;i++){let[a,c]=n[i];o[a]=Eg(c,t)}return o}function Eg(e,t,r=new Set){let o=[],n=e.length;for(let s=0;s<n;s++){let i=e[s];if(wm.test(i.type))o.push(i);else{let c=Tt(uC,i.type);if(!c?.type)throw new Bm({abiParameter:i});let{array:m,type:u}=c;if(u in t){if(r.has(u))throw new Nm({type:u});o.push({...i,type:`tuple${m??""}`,components:Eg(t[u]??[],t,new Set([...r,u]))})}else if(tf(u))o.push(i);else throw new km({type:u})}}return o}var uC,zm=I(()=>{la();_m();Mm();ef();xg();Is();_s();uC=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/});function Om(e){let t=As(e),r=[],o=e.length;for(let n=0;n<o;n++){let s=e[n];_o(s)||r.push(fa(s,t))}return r}var Sg=I(()=>{Is();zm();_s()});function Hm(e){let t;if(typeof e=="string")t=fa(e);else{let r=As(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(!_o(s)){t=fa(s,r);break}}}if(!t)throw new Sm({signature:e});return t}var kg=I(()=>{_m();Is();zm();_s()});function jm(e){let t=[];if(typeof e=="string"){let r=bt(e),o=r.length;for(let n=0;n<o;n++)t.push(ur(r[n],{modifiers:Ql}))}else{let r=As(e),o=e.length;for(let n=0;n<o;n++){let s=e[n];if(_o(s))continue;let i=bt(s),a=i.length;for(let c=0;c<a;c++)t.push(ur(i[c],{modifiers:Ql,structs:r}))}}if(t.length===0)throw new Am({params:e});return t}var Ig=I(()=>{Mm();Is();zm();_s();_s()});var da=I(()=>{Qh();Xl();Sg();kg();Ig()});function Ag(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 w("Unable to normalize signature.");return n}var Pg=I(()=>{G()});var Tg,$g=I(()=>{da();Pg();Tg=e=>{let t=typeof e=="string"?e:dn(e);return Ag(t)}});function Gm(e){return Kh(Tg(e))}var rf=I(()=>{Wh();$g()});var xr,Ps=I(()=>{Io();rf();xr=e=>Vt(Gm(e),0,4)});function Rg(e,t={}){typeof t.size<"u"&>(e,{size:t.size});let r=ee(e,t);return me(r,t)}function Bg(e,t={}){let r=e;if(typeof t.size<"u"&&(gt(r,{size:t.size}),r=Ge(r)),r.length>1||r[0]>1)throw new Cc(r);return!!r[0]}function vr(e,t={}){typeof t.size<"u"&>(e,{size:t.size});let r=ee(e,t);return ve(r,t)}function Mg(e,t={}){let r=e;return typeof t.size<"u"&&(gt(r,{size:t.size}),r=Ge(r,{dir:"right"})),new TextDecoder().decode(r)}var Fg=I(()=>{Wi();an();Ne();D()});var Dg,Vm,of=I(()=>{Dg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Vm=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/});function mt(e,t){if(e.length!==t.length)throw new fm({expectedLength:e.length,givenLength:t.length});let r=pC({params:e,values:t}),o=sf(r);return o.length===0?"0x":o}function pC({params:e,values:t}){let r=[];for(let o=0;o<e.length;o++)r.push(nf({param:e[o],value:t[o]}));return r}function nf({param:e,value:t}){let r=qm(e.type);if(r){let[o,n]=r;return fC(t,{length:o,param:{...e,type:n}})}if(e.type==="tuple")return bC(t,{param:e});if(e.type==="address")return lC(t);if(e.type==="bool")return hC(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){let o=e.type.startsWith("int"),[,,n="256"]=Vm.exec(e.type)??[];return gC(t,{signed:o,size:Number(n)})}if(e.type.startsWith("bytes"))return dC(t,{param:e});if(e.type==="string")return yC(t);throw new xm(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function sf(e){let t=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?t+=32:t+=Q(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+=Q(a)):r.push(a)}return Me([...r,...o])}function lC(e){if(!te(e))throw new ie({address:e});return{dynamic:!1,encoded:jr(e.toLowerCase())}}function fC(e,{length:t,param:r}){let o=t===null;if(!Array.isArray(e))throw new Ss(e);if(!o&&e.length!==t)throw new pm({expectedLength:t,givenLength:e.length,type:`${r.type}[${t}]`});let n=!1,s=[];for(let i=0;i<e.length;i++){let a=nf({param:r,value:e[i]});a.dynamic&&(n=!0),s.push(a)}if(o||n){let i=sf(s);if(o){let a=E(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?Me([a,i]):a}}if(n)return{dynamic:!0,encoded:i}}return{dynamic:!1,encoded:Me(s.map(({encoded:i})=>i))}}function dC(e,{param:t}){let[,r]=t.type.split("bytes"),o=Q(e);if(!r){let n=e;return o%32!==0&&(n=jr(n,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Me([jr(E(o,{size:32})),n])}}if(o!==Number.parseInt(r,10))throw new lm({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:jr(e,{dir:"right"})}}function hC(e){if(typeof e!="boolean")throw new w(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:jr(_c(e))}}function gC(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 Kn({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 yC(e){let t=or(e),r=Math.ceil(Q(t)/32),o=[];for(let n=0;n<r;n++)o.push(jr(Vt(t,n*32,(n+1)*32),{dir:"right"}));return{dynamic:!0,encoded:Me([jr(E(Q(t),{size:32})),...o])}}function bC(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=nf({param:s,value:e[i]});o.push(a),a.dynamic&&(r=!0)}return{dynamic:r,encoded:r?sf(o):Me(o.map(({encoded:n})=>n))}}function qm(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var Zr=I(()=>{Ee();ar();G();Wi();Pt();ct();Ic();Ut();Io();D();of()});function Yr(e,t){let r=typeof t=="string"?Le(t):t,o=Yn(r);if(Q(r)===0&&e.length>0)throw new Wt;if(Q(t)&&Q(t)<32)throw new vs({data:typeof t=="string"?t:ee(t),params:e,size:Q(t)});let n=0,s=[];for(let i=0;i<e.length;++i){let a=e[i];o.setPosition(n);let[c,m]=Ts(o,a,{staticPosition:0});n+=m,s.push(c)}return s}function Ts(e,t,{staticPosition:r}){let o=qm(t.type);if(o){let[n,s]=o;return vC(e,{...t,type:s},{length:n,staticPosition:r})}if(t.type==="tuple")return SC(e,t,{staticPosition:r});if(t.type==="address")return xC(e);if(t.type==="bool")return wC(e);if(t.type.startsWith("bytes"))return CC(e,t,{staticPosition:r});if(t.type.startsWith("uint")||t.type.startsWith("int"))return EC(e,t);if(t.type==="string")return kC(e,{staticPosition:r});throw new vm(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function xC(e){let t=e.readBytes(32);return[Kr(ee(Wl(t,-20))),32]}function vC(e,t,{length:r,staticPosition:o}){if(!r){let i=vr(e.readBytes(af)),a=o+i,c=a+Ng;e.setPosition(a);let m=vr(e.readBytes(Ng)),u=ha(t),p=0,l=[];for(let d=0;d<m;++d){e.setPosition(c+(u?d*32:p));let[h,g]=Ts(e,t,{staticPosition:c});p+=g,l.push(h)}return e.setPosition(o+32),[l,32]}if(ha(t)){let i=vr(e.readBytes(af)),a=o+i,c=[];for(let m=0;m<r;++m){e.setPosition(a+m*32);let[u]=Ts(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]=Ts(e,t,{staticPosition:o+n});n+=c,s.push(a)}return[s,n]}function wC(e){return[Bg(e.readBytes(32),{size:32}),32]}function CC(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=vr(e.readBytes(32));e.setPosition(r+i);let a=vr(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[ee(c),32]}return[ee(e.readBytes(Number.parseInt(n,10),32)),32]}function EC(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?Rg(n,{signed:r}):vr(n,{signed:r}),32]}function SC(e,t,{staticPosition:r}){let o=t.components.length===0||t.components.some(({name:i})=>!i),n=o?[]:{},s=0;if(ha(t)){let i=vr(e.readBytes(af)),a=r+i;for(let c=0;c<t.components.length;++c){let m=t.components[c];e.setPosition(a+s);let[u,p]=Ts(e,m,{staticPosition:a});s+=p,n[o?c:m?.name]=u}return e.setPosition(r+32),[n,32]}for(let i=0;i<t.components.length;++i){let a=t.components[i],[c,m]=Ts(e,a,{staticPosition:r});n[o?i:a?.name]=c,s+=m}return[n,s]}function kC(e,{staticPosition:t}){let r=vr(e.readBytes(32)),o=t+r;e.setPosition(o);let n=vr(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=Mg(Ge(s));return e.setPosition(t+32),[i,32]}function ha(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(ha);let r=qm(e.type);return!!(r&&ha({...e,type:r[1]}))}var Ng,af,ga=I(()=>{Ee();ko();Tc();Ut();Io();an();Fg();Ve();D();Zr();Ng=32,af=32});function Km(e){let{abi:t,data:r}=e,o=Vt(r,0,4);if(o==="0x")throw new Wt;let s=[...t||[],am,qh].find(i=>i.type==="error"&&o===xr(ze(i)));if(!s)throw new ws(o,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:s,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Yr(s.inputs,Vt(r,4)):void 0,errorName:s.name}}var cf=I(()=>{cm();Ee();Io();Ps();ga();Wr()});var Z,tt=I(()=>{Z=(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 mf({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"?Z(t[s]):t[s]}`).join(", ")})`}var Lg=I(()=>{tt()});var Ao,ya=I(()=>{rf();Ao=Gm});function xt(e){let{abi:t,args:r=[],name:o}=e,n=ue(o,{strict:!1}),s=t.filter(a=>n?a.type==="function"?xr(a)===o:a.type==="event"?Ao(a)===o:!1:"name"in a&&a.name===o);if(s.length===0)return;if(s.length===1)return s[0];let i;for(let a of s){if(!("inputs"in a))continue;if(!r||r.length===0){if(!a.inputs||a.inputs.length===0)return a;continue}if(!a.inputs||a.inputs.length===0||a.inputs.length!==r.length)continue;if(r.every((m,u)=>{let p="inputs"in a&&a.inputs[u];return p?uf(m,p):!1})){if(i&&"inputs"in i&&i.inputs){let m=Ug(a.inputs,i.inputs,r);if(m)throw new ym({abiItem:a,type:m[0]},{abiItem:i,type:m[1]})}i=a}}return i||s[0]}function uf(e,t){let r=typeof e,o=t.type;switch(o){case"address":return te(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)=>uf(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=>uf(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function Ug(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 Ug(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")?te(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?te(r[o],{strict:!1}):!1)return i}}var Po=I(()=>{Ee();_t();Pt();ya();Ps()});function zg(e){return e.reduce((t,{slot:r,value:o})=>`${t} ${r}: ${o}
|
|
35
|
+
`,"")}function Og(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+=
|
|
41
|
-
`,n+=
|
|
42
|
-
`).slice(0,-1)}var
|
|
43
|
-
${
|
|
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}},
|
|
45
|
-
`)})}};Object.defineProperty(
|
|
46
|
-
`)})}};Object.defineProperty(Cr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});
|
|
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@${Vg()}`}),this.cause=r.cause,this.details=o,this.docs=i,this.docsPath=n,this.shortMessage=t}walk(t){return Kg(this,t)}}});function si(e,t){if(Yt(e)>t)throw new iu({givenSize:Yt(e),maxSize:t})}function Wg(e,t){if(typeof t=="number"&&t>0&&t>Yt(e)-1)throw new ya({offset:t,position:"start",size:Yt(e)})}function Jg(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Yt(e)!==r-t)throw new ya({offset:r,position:"end",size:Yt(e)})}function nl(e){if(e>=eo.zero&&e<=eo.nine)return e-eo.zero;if(e>=eo.A&&e<=eo.F)return e-(eo.A-10);if(e>=eo.a&&e<=eo.f)return e-(eo.a-10)}function Zg(e,t={}){let{dir:r,size:o=32}=t;if(o===0)return e;if(e.length>o)throw new au({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 sl(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 eo,Yg=k(()=>{Oo();eo={zero:48,nine:57,A:65,F:70,a:97,f:102}});function ii(e,t){if(he(e)>t)throw new cu({givenSize:he(e),maxSize:t})}function Xg(e,t){if(typeof t=="number"&&t>0&&t>he(e)-1)throw new ba({offset:t,position:"start",size:he(e)})}function Qg(e,t,r){if(typeof t=="number"&&typeof r=="number"&&he(e)!==r-t)throw new ba({offset:r,position:"end",size:he(e)})}function il(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 mu({size:Math.ceil(n.length/2),targetSize:o,type:"Hex"});return`0x${n[r==="right"?"padEnd":"padStart"](o*2,"0")}`}function ey(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 al=k(()=>{Ke()});function Uo(e,t,r){return JSON.stringify(e,(o,n)=>typeof t=="function"?t(o,n):typeof n=="bigint"?n.toString()+uC:n,r)}var uC,xa=k(()=>{uC="#__bigint"});import{equalBytes as e7}from"@noble/curves/abstract/utils";function lC(e){if(!(e instanceof Uint8Array)){if(!e)throw new ai(e);if(typeof e!="object")throw new ai(e);if(!("BYTES_PER_ELEMENT"in e))throw new ai(e);if(e.BYTES_PER_ELEMENT!==1||e.constructor.name!=="Uint8Array")throw new ai(e)}}function ry(e){return e instanceof Uint8Array?e:typeof e=="string"?ci(e):dC(e)}function dC(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function ci(e,t={}){let{size:r}=t,o=e;r&&(ii(e,r),o=_r(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=nl(n.charCodeAt(c++)),u=nl(n.charCodeAt(c++));if(m===void 0||u===void 0)throw new F(`Invalid byte sequence ("${n[c-2]}${n[c-1]}" in "${n}").`);i[a]=m*16+u}return i}function oy(e,t={}){let{size:r}=t,o=fC.encode(e);return typeof r=="number"?(si(o,r),hC(o,r)):o}function hC(e,t){return Zg(e,{dir:"right",size:t})}function Yt(e){return e.length}function ny(e,t,r,o={}){let{strict:n}=o;Wg(e,t);let s=e.slice(t,r);return n&&Jg(s,t,r),s}function sy(e,t={}){let{size:r}=t;typeof r<"u"&&si(e,r);let o=_e(e,t);return ul(o,t)}function iy(e,t={}){let{size:r}=t,o=e;if(typeof r<"u"&&(si(o,r),o=ml(o)),o.length>1||o[0]>1)throw new cl(o);return!!o[0]}function Ir(e,t={}){let{size:r}=t;typeof r<"u"&&si(e,r);let o=_e(e,t);return pu(o,t)}function ay(e,t={}){let{size:r}=t,o=e;return typeof r<"u"&&(si(o,r),o=gC(o)),pC.decode(o)}function ml(e){return sl(e,{dir:"left"})}function gC(e){return sl(e,{dir:"right"})}function cy(e){try{return lC(e),!0}catch{return!1}}var pC,fC,cl,ai,iu,ya,au,Oo=k(()=>{Ct();Ke();Yg();al();xa();pC=new TextDecoder,fC=new TextEncoder;cl=class extends F{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"})}},ai=class extends F{constructor(t){super(`Value \`${typeof t=="object"?Uo(t):t}\` of type \`${typeof t}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"})}},iu=class extends F{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"})}},ya=class extends F{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"})}},au=class extends F{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 r7}from"@noble/curves/abstract/utils";function xC(e,t={}){let{strict:r=!1}=t;if(!e)throw new fu(e);if(typeof e!="string")throw new fu(e);if(r&&!/^0x[0-9a-fA-F]*$/.test(e))throw new lu(e);if(!e.startsWith("0x"))throw new lu(e)}function xe(...e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}function mi(e){return e instanceof Uint8Array?_e(e):Array.isArray(e)?_e(new Uint8Array(e)):e}function du(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(ii(r,t.size),to(r,t.size)):r}function _e(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=bC[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(ii(o,t.size),_r(o,t.size)):o}function te(e,t={}){let{signed:r,size:o}=t,n=BigInt(e),s;o?r?s=(1n<<BigInt(o)*8n-1n)-1n:s=2n**(BigInt(o)*8n)-1n:typeof e=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));let i=typeof s=="bigint"&&r?-s-1n:0;if(s&&n>s||n<i){let m=typeof e=="bigint"?"n":"";throw new va({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?to(c,o):c}function ui(e,t={}){return _e(yC.encode(e),t)}function to(e,t){return il(e,{dir:"left",size:t})}function _r(e,t){return il(e,{dir:"right",size:t})}function ge(e,t,r,o={}){let{strict:n}=o;Xg(e,t);let s=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return n&&Qg(s,t,r),s}function he(e){return Math.ceil((e.length-2)/2)}function pl(e){return ey(e,{dir:"left"})}function ul(e,t={}){let{signed:r}=t;t.size&&ii(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 pu(e,t={}){let{signed:r,size:o}=t;return Number(!r&&!o?e:ul(e,t))}function wa(e,t={}){let{strict:r=!1}=t;try{return xC(e,{strict:r}),!0}catch{return!1}}var yC,bC,va,fu,lu,cu,ba,mu,Ke=k(()=>{Ct();al();xa();yC=new TextEncoder,bC=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));va=class extends F{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"})}},fu=class extends F{constructor(t){super(`Value \`${typeof t=="object"?Uo(t):t}\` of type \`${typeof t}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}},lu=class extends F{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"})}},cu=class extends F{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"})}},ba=class extends F{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"})}},mu=class extends F{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 my(e){return{address:e.address,amount:te(e.amount),index:te(e.index),validatorIndex:te(e.validatorIndex)}}var uy=k(()=>{Ke()});function hu(e){return{...typeof e.baseFeePerGas=="bigint"&&{baseFeePerGas:te(e.baseFeePerGas)},...typeof e.blobBaseFee=="bigint"&&{blobBaseFee:te(e.blobBaseFee)},...typeof e.feeRecipient=="string"&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit=="bigint"&&{gasLimit:te(e.gasLimit)},...typeof e.number=="bigint"&&{number:te(e.number)},...typeof e.prevRandao=="bigint"&&{prevRandao:te(e.prevRandao)},...typeof e.time=="bigint"&&{time:te(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(my)}}}var fl=k(()=>{Ke();uy()});var Cn,gu,fy,yu,ly,ll,dl,hl,gl,Ho=k(()=>{Cn=[{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"}],gu=[{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"}]}],fy=[{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"}],yu=[...fy,{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"}]}],ly=[...fy,{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"}]}],ll=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],dl=[{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"}]}],hl=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],gl=[{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 dy,hy=k(()=>{dy="0x82ad56cb"});var bu,gy,yy,pi,Ca=k(()=>{bu="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",gy="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",yy="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",pi="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033"});function En(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 om({docsPath:yl});if(!("inputs"in n))throw new sa({docsPath:yl});if(!n.inputs||n.inputs.length===0)throw new sa({docsPath:yl});let s=ct(n.inputs,r);return Ve([o,s])}var yl,xu=k(()=>{we();at();Zr();yl="/docs/contract/encodeDeployData"});function fi(){let e=()=>{},t=()=>{};return{promise:new Promise((o,n)=>{e=o,t=n}),resolve:e,reject:t}}var vu=k(()=>{});function wu({fn:e,id:t,shouldSplitBatch:r,wait:o=0,sort:n}){let s=async()=>{let u=c();i();let p=u.map(({args:f})=>f);p.length!==0&&e(p).then(f=>{n&&Array.isArray(f)&&f.sort(n);for(let d=0;d<u.length;d++){let{resolve:h}=u[d];h?.([f[d],f])}}).catch(f=>{for(let d=0;d<u.length;d++){let{reject:h}=u[d];h?.(f)}})},i=()=>bl.delete(t),a=()=>c().map(({args:u})=>u),c=()=>bl.get(t)||[],m=u=>bl.set(t,[...c(),u]);return{flush:i,async schedule(u){let{promise:p,resolve:f,reject:d}=fi();return r?.([...a(),u])&&s(),c().length>0?(m({args:u,resolve:f,reject:d}),p):(m({args:u,resolve:f,reject:d}),setTimeout(s,o),p)}}}var bl,xl=k(()=>{vu();bl=new Map});var Cu,Eu,Su,by=k(()=>{et();H();jm();Cu=class extends v{constructor({callbackSelector:t,cause:r,data:o,extraData:n,sender:s,urls:i}){super(r.shortMessage||"An error occurred while fetching for an offchain result.",{cause:r,metaMessages:[...r.metaMessages||[],r.metaMessages?.length?"":[],"Offchain Gateway Call:",i&&[" Gateway URL(s):",...i.map(a=>` ${hn(a)}`)],` Sender: ${s}`,` Data: ${o}`,` Callback selector: ${t}`,` Extra data: ${n}`].flat(),name:"OffchainLookupError"})}},Eu=class extends v{constructor({result:t,url:r}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${hn(r)}`,`Response: ${J(t)}`],name:"OffchainLookupResponseMalformedError"})}},Su=class extends v{constructor({sender:t,to:r}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${r}`,`OffchainLookup sender address: ${t}`],name:"OffchainLookupSenderMismatchError"})}}});function xy(e){let{abi:t,data:r}=e,o=Vt(r,0,4),n=t.find(s=>s.type==="function"&&o===xr(ze(s)));if(!n)throw new mm(o,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:n.name,args:"inputs"in n&&n.inputs&&n.inputs.length>0?Yr(n.inputs,Vt(r,4)):void 0}}var vy=k(()=>{we();Io();As();fa();Wr()});function wl(e){let{abi:t,errorName:r,args:o}=e,n=t[0];if(r){let c=xt({abi:t,args:o,name:r});if(!c)throw new ia(r,{docsPath:vl});n=c}if(n.type!=="error")throw new ia(void 0,{docsPath:vl});let s=ze(n),i=xr(s),a="0x";if(o&&o.length>0){if(!n.inputs)throw new am(n.name,{docsPath:vl});a=ct(n.inputs,o)}return Ve([i,a])}var vl,wy=k(()=>{we();at();As();Zr();Wr();Po();vl="/docs/contract/encodeErrorResult"});function Cy(e){let{abi:t,functionName:r,result:o}=e,n=t[0];if(r){let i=xt({abi:t,name:r});if(!i)throw new cr(r,{docsPath:Cl});n=i}if(n.type!=="function")throw new cr(void 0,{docsPath:Cl});if(!n.outputs)throw new Cs(n.name,{docsPath:Cl});let s=(()=>{if(n.outputs.length===0)return[];if(n.outputs.length===1)return[o];if(Array.isArray(o))return o;throw new Es(o)})();return ct(n.outputs,s)}var Cl,Ey=k(()=>{we();Zr();Po();Cl="/docs/contract/encodeFunctionResult"});async function El(e){let{data:t,ccipRequest:r}=e,{args:[o]}=xy({abi:gu,data:t}),n=[],s=[];return await Promise.all(o.map(async(i,a)=>{try{s[a]=i.urls.includes(ro)?await El({data:i.data,ccipRequest:r}):await r(i),n[a]=!1}catch(c){n[a]=!0,s[a]=wC(c)}})),Cy({abi:gu,functionName:"query",result:[n,s]})}function wC(e){return e.name==="HttpRequestError"&&e.status?wl({abi:gu,errorName:"HttpError",args:[e.status,e.shortMessage]}):wl({abi:[em],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}var ro,Ea=k(()=>{Ho();tm();vy();wy();Ey();ro="x-batch-gateway:true"});var Iy={};gf(Iy,{ccipRequest:()=>ky,offchainLookup:()=>EC,offchainLookupAbiItem:()=>Sy,offchainLookupSignature:()=>CC});async function EC(e,{blockNumber:t,blockTag:r,data:o,to:n}){let{args:s}=Om({data:o,abi:[Sy]}),[i,a,c,m,u]=s,{ccipRead:p}=e,f=p&&typeof p?.request=="function"?p.request:ky;try{if(!Zt(n,i))throw new Su({sender:i,to:n});let d=a.includes(ro)?await El({data:c,ccipRequest:f}):await f({data:c,sender:i,urls:a}),{data:h}=await Ar(e,{blockNumber:t,blockTag:r,data:$e([m,ct([{type:"bytes"},{type:"bytes"}],[d,u])]),to:n});return h}catch(d){throw new Cu({callbackSelector:m,cause:d,data:o,extraData:u,sender:i,urls:a})}}async function ky({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?J(u.error):m.statusText,headers:m.headers,status:m.status,url:s});continue}if(!ce(u)){o=new Eu({result:u,url:s});continue}return u}catch(m){o=new Jt({body:a,details:m.message,url:s})}}throw o}var CC,Sy,_y=k(()=>{li();by();yn();Yf();Zr();vn();at();_t();Ea();et();CC="0x556f1830",Sy={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:p,factory:f,factoryData:d,gas:h,gasPrice:g,maxFeePerBlobGas:y,maxFeePerGas:b,maxPriorityFeePerGas:x,nonce:w,to:S,value:I,stateOverride:P,..._}=t,B=r?j(r):void 0;if(u&&(f||d))throw new v("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(u&&S)throw new v("Cannot provide both `code` & `to` as parameters.");let R=u&&p,M=f&&d&&S&&p,U=R||M,G=R?Ay({code:u,data:p}):M?IC({data:p,factory:f,factoryData:d,to:S}):p;try{rt(t);let ue=(typeof s=="bigint"?E(s):void 0)||i,Ae=m?hu(m):void 0,Je=Xs(P),Nt=e.chain?.formatters?.transactionRequest?.format,ke=(Nt||yt)({...Er(_,{format:Nt}),accessList:a,account:B,authorizationList:o,blobs:c,data:G,gas:h,gasPrice:g,maxFeePerBlobGas:y,maxFeePerGas:b,maxPriorityFeePerGas:x,nonce:w,to:U?void 0:S,value:I},"call");if(n&&SC({request:ke})&&!Je&&!Ae)try{return await kC(e,{...ke,blockNumber:s,blockTag:i})}catch(pe){if(!(pe instanceof Xi)&&!(pe instanceof pn))throw pe}let hr=(()=>{let pe=[ke,ue];return Je&&Ae?[...pe,Je,Ae]:Je?[...pe,Je]:Ae?[...pe,{},Ae]:pe})(),yo=await e.request({method:"eth_call",params:hr});return yo==="0x"?{data:void 0}:{data:yo}}catch(V){let ue=_C(V),{offchainLookup:Ae,offchainLookupSignature:Je}=await Promise.resolve().then(()=>(_y(),Iy));if(e.ccipRead!==!1&&ue?.slice(0,10)===Je&&S)return{data:await Ae(e,{data:ue,to:S})};throw U&&ue?.slice(0,10)==="0x101bb98d"?new Vm({factory:f}):Km(V,{...t,account:B,chain:e.chain})}}function SC({request:e}){let{data:t,to:r,...o}=e;return!(!t||t.startsWith(dy)||!r||Object.values(o).filter(n=>typeof n<"u").length>0)}async function kC(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 qt({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Xi})(),p=(typeof s=="bigint"?E(s):void 0)||i,{schedule:f}=wu({id:`${e.uid}.${p}`,wait:n,shouldSplitBatch(g){return g.reduce((b,{data:x})=>b+(x.length-2),0)>r*2},fn:async g=>{let y=g.map(w=>({allowFailure:!0,callData:w.data,target:w.to})),b=le({abi:Cn,args:[y],functionName:"aggregate3"}),x=await e.request({method:"eth_call",params:[{...m===null?{data:Ay({code:pi,data:b})}:{to:m,data:b}},p]});return wt({abi:Cn,args:[y],functionName:"aggregate3",data:x||"0x"})}}),[{returnData:d,success:h}]=await f({data:a,to:c});if(!h)throw new wr({data:d});return d==="0x"?{data:void 0}:{data:d}}function Ay(e){let{code:t,data:r}=e;return En({abi:Mm(["constructor(bytes, bytes)"]),bytecode:bu,args:[t,r]})}function IC(e){let{data:t,factory:r,factoryData:o,to:n}=e;return En({abi:Mm(["constructor(address, bytes, address, bytes)"]),bytecode:gy,args:[n,t,r,o]})}function _C(e){if(!(e instanceof v))return;let t=e.walk();return typeof t?.data=="object"?t.data?.data:t.data}var li=k(()=>{ua();fl();ve();Ho();hy();Ca();H();Qi();To();zo();xu();$t();ln();D();tl();Ys();wo();xl();tu();Qr()});var dd=lt(za=>{"use strict";var ZE=za&&za.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(za,"__esModule",{value:!0});za.encryptEnvVars=QE;var fd=Hr("@noble/curves/ed25519"),ld=ZE(Hr("crypto"));function YE(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 XE(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}async function QE(e,t){let r=JSON.stringify({env:e}),o=fd.x25519.utils.randomPrivateKey(),n=fd.x25519.getPublicKey(o),s=YE(t),i=fd.x25519.getSharedSecret(o,s),a=await ld.default.subtle.importKey("raw",i,{name:"AES-GCM",length:256},!0,["encrypt"]),c=ld.default.getRandomValues(new Uint8Array(12)),m=await ld.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),XE(u)}});var Sx=lt(Oa=>{"use strict";var e8=Oa&&Oa.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Oa,"__esModule",{value:!0});Oa.getComposeHash=n8;var t8=e8(Hr("crypto"));function hd(e){return e==null?e:Array.isArray(e)?e.map(hd):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=hd(o),t},{}):e}function r8(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 o8(e){let t=hd(e);return JSON.stringify(t,(r,o)=>typeof o=="number"&&(isNaN(o)||!isFinite(o))?null:o)}function n8(e,t=!1){t&&(e=r8(e));let r=o8(e);return t8.default.createHash("sha256").update(r,"utf8").digest("hex")}});var qx=lt(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=zx;O.fromBig=yd;O.split=kx;var Cp=BigInt(2**32-1),gd=BigInt(32);function yd(e,t=!1){return t?{h:Number(e&Cp),l:Number(e>>gd&Cp)}:{h:Number(e>>gd&Cp)|0,l:Number(e&Cp)|0}}function kx(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}=yd(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var Ix=(e,t)=>BigInt(e>>>0)<<gd|BigInt(t>>>0);O.toBig=Ix;var _x=(e,t,r)=>e>>>r;O.shrSH=_x;var Ax=(e,t,r)=>e<<32-r|t>>>r;O.shrSL=Ax;var Px=(e,t,r)=>e>>>r|t<<32-r;O.rotrSH=Px;var Tx=(e,t,r)=>e<<32-r|t>>>r;O.rotrSL=Tx;var $x=(e,t,r)=>e<<64-r|t>>>r-32;O.rotrBH=$x;var Rx=(e,t,r)=>e>>>r-32|t<<64-r;O.rotrBL=Rx;var Bx=(e,t)=>t;O.rotr32H=Bx;var Mx=(e,t)=>e;O.rotr32L=Mx;var Fx=(e,t,r)=>e<<r|t>>>32-r;O.rotlSH=Fx;var Dx=(e,t,r)=>t<<r|e>>>32-r;O.rotlSL=Dx;var Nx=(e,t,r)=>t<<r-32|e>>>64-r;O.rotlBH=Nx;var Lx=(e,t,r)=>e<<r-32|t>>>64-r;O.rotlBL=Lx;function zx(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 Ux=(e,t,r,o)=>t+r+o+(e/2**32|0)|0;O.add3H=Ux;var Hx=(e,t,r,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0);O.add4L=Hx;var jx=(e,t,r,o,n)=>t+r+o+n+(e/2**32|0)|0;O.add4H=jx;var Gx=(e,t,r,o,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0)+(n>>>0);O.add5L=Gx;var Vx=(e,t,r,o,n,s)=>t+r+o+n+s+(e/2**32|0)|0;O.add5H=Vx;var s8={fromBig:yd,split:kx,toBig:Ix,shrSH:_x,shrSL:Ax,rotrSH:Px,rotrSL:Tx,rotrBH:$x,rotrBL:Rx,rotr32H:Bx,rotr32L:Mx,rotlSH:Fx,rotlSL:Dx,rotlBH:Nx,rotlBL:Lx,add:zx,add3L:Ox,add3H:Ux,add4L:Hx,add4H:jx,add5H:Vx,add5L:Gx};O.default=s8});var Kx=lt(Ep=>{"use strict";Object.defineProperty(Ep,"__esModule",{value:!0});Ep.crypto=void 0;var Zo=Hr("crypto");Ep.crypto=Zo&&typeof Zo=="object"&&"webcrypto"in Zo?Zo.webcrypto:Zo&&typeof Zo=="object"&&"randomBytes"in Zo?Zo:void 0});var t1=lt(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.wrapXOFConstructorWithOpts=N.wrapConstructorWithOpts=N.wrapConstructor=N.Hash=N.nextTick=N.swap32IfBE=N.byteSwapIfBE=N.swap8IfBE=N.isLE=void 0;N.isBytes=Jx;N.anumber=bd;N.abytes=_i;N.ahash=i8;N.aexists=a8;N.aoutput=c8;N.u8=m8;N.u32=u8;N.clean=p8;N.createView=f8;N.rotr=l8;N.rotl=d8;N.byteSwap=vd;N.byteSwap32=Zx;N.bytesToHex=g8;N.hexToBytes=y8;N.asyncLoop=x8;N.utf8ToBytes=wd;N.bytesToUtf8=v8;N.toBytes=Sp;N.kdfInputToBytes=w8;N.concatBytes=C8;N.checkOpts=E8;N.createHasher=Xx;N.createOptHasher=Qx;N.createXOFer=e1;N.randomBytes=S8;var Ii=Kx();function Jx(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function bd(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function _i(e,...t){if(!Jx(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 i8(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");bd(e.outputLen),bd(e.blockLen)}function a8(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 c8(e,t){_i(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function m8(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function u8(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function p8(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function f8(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function l8(e,t){return e<<32-t|e>>>t}function d8(e,t){return e<<t|e>>>32-t>>>0}N.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function vd(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}N.swap8IfBE=N.isLE?e=>e:e=>vd(e);N.byteSwapIfBE=N.swap8IfBE;function Zx(e){for(let t=0;t<e.length;t++)e[t]=vd(e[t]);return e}N.swap32IfBE=N.isLE?e=>e:Zx;var Yx=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",h8=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function g8(e){if(_i(e),Yx)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=h8[e[r]];return t}var so={_0:48,_9:57,A:65,F:70,a:97,f:102};function Wx(e){if(e>=so._0&&e<=so._9)return e-so._0;if(e>=so.A&&e<=so.F)return e-(so.A-10);if(e>=so.a&&e<=so.f)return e-(so.a-10)}function y8(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Yx)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=Wx(e.charCodeAt(s)),a=Wx(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 b8=async()=>{};N.nextTick=b8;async function x8(e,t,r){let o=Date.now();for(let n=0;n<e;n++){r(n);let s=Date.now()-o;s>=0&&s<t||(await(0,N.nextTick)(),o+=s)}}function wd(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function v8(e){return new TextDecoder().decode(e)}function Sp(e){return typeof e=="string"&&(e=wd(e)),_i(e),e}function w8(e){return typeof e=="string"&&(e=wd(e)),_i(e),e}function C8(...e){let t=0;for(let o=0;o<e.length;o++){let n=e[o];_i(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 E8(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 xd=class{};N.Hash=xd;function Xx(e){let t=o=>e().update(Sp(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Qx(e){let t=(o,n)=>e(n).update(Sp(o)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=o=>e(o),t}function e1(e){let t=(o,n)=>e(n).update(Sp(o)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=o=>e(o),t}N.wrapConstructor=Xx;N.wrapConstructorWithOpts=Qx;N.wrapXOFConstructorWithOpts=e1;function S8(e=32){if(Ii.crypto&&typeof Ii.crypto.getRandomValues=="function")return Ii.crypto.getRandomValues(new Uint8Array(e));if(Ii.crypto&&typeof Ii.crypto.randomBytes=="function")return Uint8Array.from(Ii.crypto.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}});var u1=lt(de=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.shake256=de.shake128=de.keccak_512=de.keccak_384=de.keccak_256=de.keccak_224=de.sha3_512=de.sha3_384=de.sha3_256=de.sha3_224=de.Keccak=void 0;de.keccakP=c1;var Ha=qx(),st=t1(),k8=BigInt(0),Ua=BigInt(1),I8=BigInt(2),_8=BigInt(7),A8=BigInt(256),P8=BigInt(113),n1=[],s1=[],i1=[];for(let e=0,t=Ua,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],n1.push(2*(5*o+r)),s1.push((e+1)*(e+2)/2%64);let n=k8;for(let s=0;s<7;s++)t=(t<<Ua^(t>>_8)*P8)%A8,t&I8&&(n^=Ua<<(Ua<<BigInt(s))-Ua);i1.push(n)}var a1=(0,Ha.split)(i1,!0),T8=a1[0],$8=a1[1],r1=(e,t,r)=>r>32?(0,Ha.rotlBH)(e,t,r):(0,Ha.rotlSH)(e,t,r),o1=(e,t,r)=>r>32?(0,Ha.rotlBL)(e,t,r):(0,Ha.rotlSL)(e,t,r);function c1(e,t=24){let r=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let i=0;i<10;i++)r[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){let a=(i+8)%10,c=(i+2)%10,m=r[c],u=r[c+1],p=r1(m,u,1)^r[a],f=o1(m,u,1)^r[a+1];for(let d=0;d<50;d+=10)e[i+d]^=p,e[i+d+1]^=f}let n=e[2],s=e[3];for(let i=0;i<24;i++){let a=s1[i],c=r1(n,s,a),m=o1(n,s,a),u=n1[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]^=T8[o],e[1]^=$8[o]}(0,st.clean)(r)}var ja=class e extends st.Hash{constructor(t,r,o,n=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=r,this.outputLen=o,this.enableXOF=n,this.rounds=s,(0,st.anumber)(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=(0,st.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,st.swap32IfBE)(this.state32),c1(this.state32,this.rounds),(0,st.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(t){(0,st.aexists)(this),t=(0,st.toBytes)(t),(0,st.abytes)(t);let{blockLen:r,state:o}=this,n=t.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);for(let a=0;a<i;a++)o[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:o,blockLen:n}=this;t[o]^=r,(r&128)!==0&&o===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){(0,st.aexists)(this,!1),(0,st.abytes)(t),this.finish();let r=this.state,{blockLen:o}=this;for(let n=0,s=t.length;n<s;){this.posOut>=o&&this.keccak();let i=Math.min(o-this.posOut,s-n);t.set(r.subarray(this.posOut,this.posOut+i),n),this.posOut+=i,n+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return(0,st.anumber)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,st.aoutput)(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,st.clean)(this.state)}_cloneInto(t){let{blockLen:r,suffix:o,outputLen:n,rounds:s,enableXOF:i}=this;return t||(t=new e(r,o,n,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=o,t.outputLen=n,t.enableXOF=i,t.destroyed=this.destroyed,t}};de.Keccak=ja;var Yo=(e,t,r)=>(0,st.createHasher)(()=>new ja(t,e,r));de.sha3_224=Yo(6,144,224/8);de.sha3_256=Yo(6,136,256/8);de.sha3_384=Yo(6,104,384/8);de.sha3_512=Yo(6,72,512/8);de.keccak_224=Yo(1,144,224/8);de.keccak_256=Yo(1,136,256/8);de.keccak_384=Yo(1,104,384/8);de.keccak_512=Yo(1,72,512/8);var m1=(e,t,r)=>(0,st.createXOFer)((o={})=>new ja(t,e,o.dkLen===void 0?r:o.dkLen,!0));de.shake128=m1(31,168,128/8);de.shake256=m1(31,136,256/8)});var p1=lt(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});Cd.verifyEnvEncryptPublicKey=M8;var R8=u1(),B8=Hr("@noble/curves/secp256k1");function M8(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,R8.keccak_256)(a);try{let m=t.slice(0,32),u=t.slice(32,64),p=t[64],f=new Uint8Array(64);f.set(m,0),f.set(u,32);let d=B8.secp256k1.Signature.fromCompact(f).addRecoveryBit(p).recoverPublicKey(c);return"0x"+Buffer.from(d.toRawBytes(!0)).toString("hex")}catch(m){return console.error("signature verification failed:",m),null}}});import{readFileSync as zA}from"fs";import{dirname as OA,join as UA}from"path";import{fileURLToPath as HA}from"url";import{ZodError as l_}from"zod";import Fi from"chalk";function cc(e){return e.split(/[\s-]+/).filter(Boolean).map((t,r)=>r===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function S0(e){return e===void 0?[]:Array.isArray(e)?[...e]:[e]}function k0(e,t){let r={};for(let a of t.flagConfig.descriptors.values()){let c=t.flags[a.canonicalKey];c!==void 0&&(r[a.target]=c)}for(let a of t.flagConfig.negatedLookup.values())a.negatedKey&&t.flags[a.negatedKey]&&(r[a.target]=!1);t.passThrough.length>0&&(r["--"]=t.passThrough);let o={},n=e.arguments??[],s=[...t.positionals],i=0;for(let a of n){let c=a.target??cc(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"},Pe={name:"interactive",shorthand:"i",description:"Enable interactive mode",type:"boolean",target:"interactive"},u5={name:"api-token",description:"API token used for authentication",type:"string",target:"apiToken",aliases:["api-key"],argumentName:"token"},Un=[c5,m5],Hn=[u5],Te={name:"cvm_id",description:"CVM identifier (UUID, app_id, instance_id, or name)",required:!1,target:"cvmId"},I0={name:"cvm-id",description:"CVM identifier (UUID, app_id, instance_id, or name)",type:"string",target:"cvmId"},_0={name:"uuid",description:"[DEPRECATED] Use --cvm-id instead. CVM UUID.",type:"string",target:"cvmId"};import A0 from"arg";function P0(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??cc(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 S0(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]=A0.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 A0.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 l5(e){let t=e.indexOf("--");return t===-1?[[...e],[]]:[e.slice(0,t),e.slice(t+1)]}function ji(e,t,r={}){let o=[...Un,...t?[...t]:[]],n=P0(o),{permissive:s=!1,stopAtPositional:i=!1}=r,[a,c]=l5(e),m=f5(n.spec,{argv:a,permissive:s,stopAtPositional:i}),{_:u,...p}=m;return{positionals:u??[],flags:p,flagConfig:n,passThrough:c}}function mc(e){return e==="unstable"?" [UNSTABLE]":e==="deprecated"?" [DEPRECATED]":""}function uc(e){let{registry:t,executableName:r}=e,o=[];o.push(`Usage: ${r} <command> [options]`),o.push(""),o.push("Available commands:");for(let n of t.getChildren()){let s=n.command?.meta??n.group?.meta,i=s?.description??"",a=s?.stability,c=a?mc(a):"",m=n.name??"";o.push(` ${m.padEnd(18)}${i}${c}`.trimEnd())}o.push(""),o.push("Global options:");for(let n of Un)o.push(` ${yf(n).padEnd(24)}${n.description??""}`.trimEnd());return o.join(`
|
|
48
|
-
`)}function
|
|
49
|
-
`)}function
|
|
50
|
-
`)}function d5({executableName:e,definition:t}){let r=[e,...t.path],n=(t.meta.arguments??[]).map(m=>h5(m)).join(" "),i=(t.meta.options?.length??0)>0?" [options]":"",a=n?` ${n}`:"",c=t.meta.passThrough?" [--] [...]":"";return`Usage: ${r.join(" ")}${i}${a}${c}`}function h5(e){let t=`<${e.name}>`;return e.variadic?`${t}...`:e.required===!1?`[${t}]`:t}function g5(e){return e.variadic?`<${e.name}...>`:e.required===!1?`<${e.name}>?`:`<${e.name}>`}function yf(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 bf=!1;function Fe(e){bf=e}function dt(){return bf}function xf(){return!bf}import t_ from"path";import Nd from"fs-extra";import r_ from"@iarna/toml";import{z as Bp}from"zod";var g1=Hi(j0(),1);import{ofetch as F8}from"ofetch";function G0(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 We}from"zod";import{z as Xo}from"zod";import{z as K}from"zod";import{z as Qo}from"zod";function sn(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}wc();De();wc();var _f={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function cn(e,t){let r={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?be(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?be(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?_f[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=V5(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 W0=Kn("transaction",cn);function V5(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 Wi(e,t){let r=(e.transactions??[]).map(o=>typeof o=="string"?o:cn(o));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:r,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}var J0=Kn("block",Wi);function Qe(e,{args:t,eventName:r}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...r?{args:t,eventName:r}:{}}}De();wc();var Af={"0x0":"reverted","0x1":"success"};function Ji(e,t){let r={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(o=>Qe(o)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?be(e.transactionIndex):null,status:e.status?Af[e.status]:null,type:e.type?_f[e.type]||e.type:null};return e.blobGasPrice&&(r.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(r.blobGasUsed=BigInt(e.blobGasUsed)),r}var Z0=Kn("transactionReceipt",Ji);H();Ec();Ge();D();function sr(e,t="hex"){let r=Y0(e),o=Zn(new Uint8Array(r.length));return r.encode(o),t==="hex"?Q(o.bytes):o.bytes}function Y0(e){return Array.isArray(e)?Z5(e.map(t=>Y0(t))):Y5(e)}function Z5(e){let t=e.reduce((n,s)=>n+s.length,0),r=X0(t);return{length:t<=55?1+t:1+r+t,encode(n){t<=55?n.pushByte(192+t):(n.pushByte(247+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:s}of e)s(n)}}}function Y5(e){let t=typeof e=="string"?Ne(e):e,r=X0(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(183+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function X0(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new v("Length is too large.")}At();D();function eh(e){if(!e||e.length===0)return[];let t=[];for(let r of e){let{chainId:o,nonce:n,...s}=r,i=r.address;t.push([o?ie(o):"0x",i,n?ie(n):"0x",...rs({},s)])}return t}Ge();D();function os(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=>Ne(s)):e.blobs,n=[];for(let s of o)n.push(Uint8Array.from(t.blobToKzgCommitment(s)));return r==="bytes"?n:n.map(s=>Q(s))}Ge();D();function ns(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=>Ne(i)):e.blobs,n=typeof e.commitments[0]=="string"?e.commitments.map(i=>Ne(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=>Q(i))}D();Nc();function o2(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 rh(e,t,r){return e&t^~e&r}function oh(e,t,r){return e&t^e&r^t&r}var Lc=class extends ss{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=Fc(this.buffer)}update(t){is(this),t=Yi(t),un(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=Fc(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){is(this),Mc(t,this),this.finished=!0;let{buffer:r,view:o,blockLen:n,isLE:s}=this,{pos:i}=this;r[i++]=128,Co(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(o,0),i=0);for(let p=i;p<n;p++)r[p]=0;o2(o,n-8,BigInt(this.length*8),s),this.process(o,0);let a=Fc(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let m=c/4,u=this.get();if(m>u.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<m;p++)a.setUint32(4*p,u[p],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let o=t.slice(0,r);return this.destroy(),o}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:o,length:n,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=n,t.pos=a,n%r&&t.buffer.set(o),t}clone(){return this._cloneInto()}},Vr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Nc();var s2=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]),Eo=new Uint32Array(64),Oc=class extends Lc{constructor(t=32){super(64,t,8,!1),this.A=Vr[0]|0,this.B=Vr[1]|0,this.C=Vr[2]|0,this.D=Vr[3]|0,this.E=Vr[4]|0,this.F=Vr[5]|0,this.G=Vr[6]|0,this.H=Vr[7]|0}get(){let{A:t,B:r,C:o,D:n,E:s,F:i,G:a,H:c}=this;return[t,r,o,n,s,i,a,c]}set(t,r,o,n,s,i,a,c){this.A=t|0,this.B=r|0,this.C=o|0,this.D=n|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let p=0;p<16;p++,r+=4)Eo[p]=t.getUint32(r,!1);for(let p=16;p<64;p++){let f=Eo[p-15],d=Eo[p-2],h=ir(f,7)^ir(f,18)^f>>>3,g=ir(d,17)^ir(d,19)^d>>>10;Eo[p]=g+Eo[p-7]+h+Eo[p-16]|0}let{A:o,B:n,C:s,D:i,E:a,F:c,G:m,H:u}=this;for(let p=0;p<64;p++){let f=ir(a,6)^ir(a,11)^ir(a,25),d=u+f+rh(a,c,m)+s2[p]+Eo[p]|0,g=(ir(o,2)^ir(o,13)^ir(o,22))+oh(o,n,s)|0;u=m,m=c,c=a,a=i+d|0,i=s,s=n,n=o,o=d+g|0}o=o+this.A|0,n=n+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,m=m+this.G|0,u=u+this.H|0,this.set(o,n,s,i,a,c,m,u)}roundClean(){Co(Eo)}destroy(){this.set(0,0,0,0,0,0,0,0),Co(this.buffer)}};var ph=Dc(()=>new Oc);var fh=ph;_t();Ge();D();function lh(e,t){let r=t||"hex",o=fh(ce(e,{strict:!1})?Ot(e):e);return r==="bytes"?o:ie(o)}function dh(e){let{commitment:t,version:r=1}=e,o=e.to??(typeof t=="string"?"hex":"bytes"),n=lh(t,"bytes");return n.set([r],0),o==="bytes"?n:Q(n)}function Uc(e){let{commitments:t,version:r}=e,o=e.to??(typeof t[0]=="string"?"hex":"bytes"),n=[];for(let s of t)n.push(dh({commitment:s,to:o,version:r}));return n}H();var Hc=class extends v{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}},as=class extends v{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}},jc=class extends v{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}},Gc=class extends v{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${1}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}};Ec();zt();Ge();D();function hh(e){let t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?Ne(e.data):e.data,o=X(r);if(!o)throw new as;if(o>761855)throw new Hc({maxSize:761855,size:o});let n=[],s=!0,i=0;for(;s;){let a=Zn(new Uint8Array(131072)),c=0;for(;c<4096;){let m=r.slice(i,i+31);if(a.pushByte(0),a.pushBytes(m),m.length<31){a.pushByte(128),s=!1;break}c++,i+=31}n.push(a)}return t==="bytes"?n.map(a=>a.bytes):n.map(a=>Q(a.bytes))}function Vc(e){let{data:t,kzg:r,to:o}=e,n=e.blobs??hh({data:t,to:o}),s=e.commitments??os({blobs:n,kzg:r,to:o}),i=e.proofs??ns({blobs:n,commitments:s,kzg:r,to:o}),a=[];for(let c=0;c<n.length;c++)a.push({blob:n[c],commitment:s[c],proof:i[c]});return a}at();an();D();Pf();ar();H();Qi();So();Pt();zt();Io();De();function Sh(e){let{authorizationList:t}=e;if(t)for(let r of t){let{chainId:o}=r,n=r.address;if(!ee(n))throw new ne({address:n});if(o<0)throw new fn({chainId:o})}Zc(e)}function kh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new as;for(let r of t){let o=X(r),n=be(Vt(r,0,1));if(o!==32)throw new jc({hash:r,size:o});if(n!==1)throw new Gc({hash:r,version:n})}}Zc(e)}function Zc(e){let{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:o,to:n}=e;if(t<=0)throw new fn({chainId:t});if(n&&!ee(n))throw new ne({address:n});if(o&&o>Wn)throw new Ut({maxFeePerGas:o});if(r&&o&&r>o)throw new gr({maxFeePerGas:o,maxPriorityFeePerGas:r})}function Ih(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(t<=0)throw new fn({chainId:t});if(s&&!ee(s))throw new ne({address:s});if(r||n)throw new v("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(o&&o>Wn)throw new Ut({maxFeePerGas:o})}function _h(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(s&&!ee(s))throw new ne({address:s});if(typeof t<"u"&&t<=0)throw new fn({chainId:t});if(r||n)throw new v("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(o&&o>Wn)throw new Ut({maxFeePerGas:o})}At();function Yc(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 Tc({transaction:e})}ar();At();Pt();function ta(e){if(!e||e.length===0)return[];let t=[];for(let r=0;r<e.length;r++){let{address:o,storageKeys:n}=e[r];for(let s=0;s<n.length;s++)if(n[s].length-2!==64)throw new $c({storageKey:n[s]});if(!ee(o,{strict:!1}))throw new ne({address:o});t.push([o,n])}return t}function Xc(e,t){let r=Yc(e);return r==="eip1559"?v2(e,t):r==="eip2930"?w2(e,t):r==="eip4844"?x2(e,t):r==="eip7702"?b2(e,t):C2(e,t)}function b2(e,t){let{authorizationList:r,chainId:o,gas:n,nonce:s,to:i,value:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:p}=e;Sh(e);let f=ta(u),d=eh(r);return Ve(["0x04",sr([E(o),s?E(s):"0x",m?E(m):"0x",c?E(c):"0x",n?E(n):"0x",i??"0x",a?E(a):"0x",p??"0x",f,d,...rs(e,t)])])}function x2(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:p}=e;kh(e);let f=e.blobVersionedHashes,d=e.sidecars;if(e.blobs&&(typeof f>"u"||typeof d>"u")){let w=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(P=>Q(P)),S=e.kzg,I=os({blobs:w,kzg:S});if(typeof f>"u"&&(f=Uc({commitments:I})),typeof d>"u"){let P=ns({blobs:w,commitments:I,kzg:S});d=Vc({blobs:w,commitments:I,proofs:P})}}let h=ta(u),g=[E(r),n?E(n):"0x",m?E(m):"0x",c?E(c):"0x",o?E(o):"0x",s??"0x",i?E(i):"0x",p??"0x",h,a?E(a):"0x",f??[],...rs(e,t)],y=[],b=[],x=[];if(d)for(let w=0;w<d.length;w++){let{blob:S,commitment:I,proof:P}=d[w];y.push(S),b.push(I),x.push(P)}return Ve(["0x03",d?sr([g,y,b,x]):sr(g)])}function v2(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:m,data:u}=e;Zc(e);let p=ta(m),f=[E(r),n?E(n):"0x",c?E(c):"0x",a?E(a):"0x",o?E(o):"0x",s??"0x",i?E(i):"0x",u??"0x",p,...rs(e,t)];return Ve(["0x02",sr(f)])}function w2(e,t){let{chainId:r,gas:o,data:n,nonce:s,to:i,value:a,accessList:c,gasPrice:m}=e;Ih(e);let u=ta(c),p=[E(r),s?E(s):"0x",m?E(m):"0x",o?E(o):"0x",i??"0x",a?E(a):"0x",n??"0x",u,...rs(e,t)];return Ve(["0x01",sr(p)])}function C2(e,t){let{chainId:r=0,gas:o,data:n,nonce:s,to:i,value:a,gasPrice:c}=e;_h(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 Pc({v:t.v});return d})(),p=je(t.r),f=je(t.s);m=[...m,E(u),p==="0x00"?"0x":p,f==="0x00"?"0x":f]}else r>0&&(m=[...m,E(r),"0x","0x"]);return sr(m)}function rs(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=je(r.r),i=je(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 Ah={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}};De();var Ph={block:J0({format(e){return{transactions:e.transactions?.map(r=>{if(typeof r=="string")return r;let o=cn(r);return o.typeHex==="0x7e"&&(o.isSystemTx=r.isSystemTx,o.mint=r.mint?ae(r.mint):void 0,o.sourceHash=r.sourceHash,o.type="deposit"),o}),stateRoot:e.stateRoot}}}),transaction:W0({format(e){let t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?ae(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:Z0({format(e){return{l1GasPrice:e.l1GasPrice?ae(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?ae(e.l1GasUsed):null,l1Fee:e.l1Fee?ae(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};ar();Pt();at();D();function E2(e,t){return k2(e)?S2(e):Xc(e,t)}var Th={transaction:E2};function S2(e){I2(e);let{sourceHash:t,data:r,from:o,gas:n,isSystemTx:s,mint:i,to:a,value:c}=e,m=[t,o,a??"0x",i?ie(i):"0x",c?ie(c):"0x",n?ie(n):"0x",s?"0x1":"0x",r??"0x"];return Ve(["0x7e",sr(m)])}function k2(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function I2(e){let{from:t,to:r}=e;if(t&&!ee(t))throw new ne({address:t});if(r&&!ee(r))throw new ne({address:r})}var zf={blockTime:2e3,contracts:Ah,formatters:Ph,serializers:Th};var Qc=sn({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 ra=1,oa=sn({...zf,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:{...zf.contracts,disputeGameFactory:{[ra]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[ra]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[ra]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[ra]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:ra}),_2=sn({...oa,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://mainnet-preconf.base.org"]}}});Qi();function bs({chain:e,currentChainId:t}){if(!e)throw new Kc;if(t!==e.id)throw new qc({chain:e,currentChainId:t})}H();var qe=class extends v{constructor({docsPath:t}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
|
|
51
|
-
`),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}},Kt=class extends v{constructor({docsPath:t,metaMessages:r,type:o}){super(`Account type "${o}" is not supported.`,{docsPath:t,metaMessages:r,name:"AccountTypeNotSupportedError"})}};var Wm=sn({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}});import{z as Se}from"zod";import{z as Mt}from"zod";import{z as A}from"zod";import{z as Pi}from"zod";import{z as Qt}from"zod";import{z as q}from"zod";import{z as Z}from"zod";import{z as ut}from"zod";import MS from"crypto";import{z as Mr}from"zod";import{z as lr}from"zod";import{z as Ye}from"zod";import{z as Et}from"zod";import{z as St}from"zod";import{z as uk}from"zod";import{z as l1}from"zod";import{z as Fr}from"zod";import{z as Ri}from"zod";import{z as Rn}from"zod";import{z as Mk}from"zod";import{z as Nk}from"zod";import{z as oe}from"zod";import{z as Rr}from"zod";import{z as Yk}from"zod";import{z as Ee}from"zod";import{z}from"zod";import{z as $i}from"zod";import{z as d1}from"zod";import{z as it}from"zod";import{z as $1}from"zod";import{z as $r}from"zod";import{z as Be}from"zod";function T(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 Jm=class extends v{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}};Ge();Gt();la();Zr();Wr();Po();var Pg="/docs/contract/encodeEventTopics";function Sr(e){let{abi:t,eventName:r,args:o}=e,n=t[0];if(r){let c=xt({abi:t,name:r});if(!c)throw new aa(r,{docsPath:Pg});n=c}if(n.type!=="event")throw new aa(void 0,{docsPath:Pg});let s=ze(n),i=Ao(s),a=[];if(o&&"inputs"in n){let c=n.inputs?.filter(u=>"indexed"in u&&u.indexed),m=Array.isArray(o)?o:Object.values(o).length>0?c?.map(u=>o[u.name])??[]:[];m.length>0&&(a=c?.map((u,p)=>Array.isArray(m[p])?m[p].map((f,d)=>Tg({param:u,value:m[p][d]})):typeof m[p]<"u"&&m[p]!==null?Tg({param:u,value:m[p]}):null)??[])}return[i,...a]}function Tg({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return se(Ot(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new Jm(e.type);return ct([e],[t])}D();function Do(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 Zm(e,t){let{address:r,abi:o,args:n,eventName:s,fromBlock:i,strict:a,toBlock:c}=t,m=Do(e,{method:"eth_newFilter"}),u=s?Sr({abi:o,args:n,eventName:s}):void 0,p=await e.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof i=="bigint"?E(i):i,toBlock:typeof c=="bigint"?E(c):c,topics:u}]});return{abi:o,args:n,eventName:s,id:p,request:m(p),strict:!!a,type:"event"}}ve();$t();we();H();To();yn();Zs();var sC=3;function Rt(e,{abi:t,address:r,args:o,docsPath:n,functionName:s,sender:i}){let a=e instanceof wr?e:e instanceof v?e.walk(h=>"data"in h)||e.walk():{},{code:c,data:m,details:u,message:p,shortMessage:f}=a,d=e instanceof Wt?new Gm({functionName:s}):[sC,Xr.code].includes(c)&&(m||u||p||f)?new gn({abi:t,data:typeof m=="object"?m.data:m,functionName:s,message:a instanceof $o?u:f??p}):e;return new $s(d,{abi:t,args:o,contractAddress:r,docsPath:n,functionName:s,sender:i})}ve();H();ko();Gt();function Ym(e){let t=se(`0x${e.substring(4)}`).substring(26);return Kr(`0x${t}`)}_t();zt();De();D();async function Fg({hash:e,signature:t}){let r=ce(e)?e:ie(e),{secp256k1:o}=await import("@noble/curves/secp256k1");return`0x${(()=>{if(typeof t=="object"&&"r"in t&&"s"in t){let{r:m,s:u,v:p,yParity:f}=t,d=Number(f??p),h=Mg(d);return new o.Signature(ae(m),ae(u)).addRecoveryBit(h)}let i=ce(t)?t:ie(t);if(X(i)!==65)throw new Error("invalid signature length");let a=be(`0x${i.slice(130)}`),c=Mg(a);return o.Signature.fromCompact(i.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function Mg(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 Xm({hash:e,signature:t}){return Ym(await Fg({hash:e,signature:t}))}at();Ge();D();Gt();function Qm(e){let{chainId:t,nonce:r,to:o}=e,n=e.contractAddress??e.address,s=se(Ve(["0x05",sr([t?E(t):"0x",n,r?E(r):"0x"])]));return o==="bytes"?Ne(s):s}async function No(e){let{authorization:t,signature:r}=e;return Xm({hash:Qm(t),signature:r??t})}D();_c();Xn();H();At();var eu=class extends v{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:p,value:f}){let d=mn({from:r?.address,to:p,value:typeof f<"u"&&`${Yn(f)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Le(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Le(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Le(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}};So();ha();function Dg(e,{docsPath:t,...r}){let o=(()=>{let n=Fo(e,r);return n instanceof Ht?e:n})();return new eu(o,{docsPath:t,...r})}Ys();wo();tu();Qr();ve();Xn();H();var ru=class extends v{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}},Lo=class extends v{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}},ou=class extends v{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Le(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};De();H();var Qs=class extends v{constructor({blockHash:t,blockNumber:r}){let o="Block";t&&(o=`Block at hash "${t}"`),r&&(o=`Block at number "${r}"`),super(`${o} could not be found.`,{name:"BlockNotFoundError"})}};D();async function ot(e,{blockHash:t,blockNumber:r,blockTag:o=e.experimental_blockTag??"latest",includeTransactions:n}={}){let s=n??!1,i=r!==void 0?E(r):void 0,a=null;if(t?a=await e.request({method:"eth_getBlockByHash",params:[t,s]},{dedupe:!0}):a=await e.request({method:"eth_getBlockByNumber",params:[i||o,s]},{dedupe:!!i}),!a)throw new Qs({blockHash:t,blockNumber:r});return(e.chain?.formatters?.block?.format||Wi)(a,"getBlock")}async function ei(e){let t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function Lg(e,t){return rl(e,t)}async function rl(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 T(e,ot,"getBlock")({}),c=await s({block:a,client:e,request:n});if(c===null)throw new Error;return c}if(typeof s<"u")return s;let i=await e.request({method:"eth_maxPriorityFeePerGas"});return ae(i)}catch{let[s,i]=await Promise.all([r?Promise.resolve(r):T(e,ot,"getBlock")({}),T(e,ei,"getGasPrice")({})]);if(typeof s.baseFeePerGas!="bigint")throw new Lo;let a=i-s.baseFeePerGas;return a<0n?0n:a}}async function zg(e,t){return nu(e,t)}async function nu(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 ru;let c=10**(i.toString().split(".")[1]?.length??0),m=f=>f*BigInt(Math.ceil(i*c))/BigInt(c),u=r||await T(e,ot,"getBlock")({});if(typeof o?.fees?.estimateFeesPerGas=="function"){let f=await o.fees.estimateFeesPerGas({block:r,client:e,multiply:m,request:n,type:s});if(f!==null)return f}if(s==="eip1559"){if(typeof u.baseFeePerGas!="bigint")throw new Lo;let f=typeof n?.maxPriorityFeePerGas=="bigint"?n.maxPriorityFeePerGas:await rl(e,{block:u,chain:o,request:n}),d=m(u.baseFeePerGas);return{maxFeePerGas:n?.maxFeePerGas??d+f,maxPriorityFeePerGas:f}}return{gasPrice:n?.gasPrice??m(await T(e,ei,"getGasPrice")({}))}}De();D();async function ti(e,{address:t,blockTag:r="latest",blockNumber:o}){let n=await e.request({method:"eth_getTransactionCount",params:[t,typeof o=="bigint"?E(o):r]},{dedupe:!!o});return be(n)}Qr();De();async function vt(e){let t=await e.request({method:"eth_chainId"},{dedupe:!0});return be(t)}var ga=["blobVersionedHashes","chainId","fees","gas","nonce","type"],Og=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=ga,type:u}=t,p=r&&j(r),f={...t,...p?{from:p?.address}:{}},d;async function h(){return d||(d=await T(e,ot,"getBlock")({blockTag:"latest"}),d)}let g;async function y(){return g||(n?n.id:typeof t.chainId<"u"?t.chainId:(g=await T(e,vt,"getChainId")({}),g))}if(m.includes("nonce")&&typeof a>"u"&&p)if(c){let b=await y();f.nonce=await c.consume({address:p.address,chainId:b,client:e})}else f.nonce=await T(e,ti,"getTransactionCount")({address:p.address,blockTag:"pending"});if((m.includes("blobVersionedHashes")||m.includes("sidecars"))&&o&&i){let b=os({blobs:o,kzg:i});if(m.includes("blobVersionedHashes")){let x=Uc({commitments:b,to:"hex"});f.blobVersionedHashes=x}if(m.includes("sidecars")){let x=ns({blobs:o,commitments:b,kzg:i}),w=Vc({blobs:o,commitments:b,proofs:x,to:"hex"});f.sidecars=w}}if(m.includes("chainId")&&(f.chainId=await y()),(m.includes("fees")||m.includes("type"))&&typeof u>"u")try{f.type=Yc(f)}catch{let b=Og.get(e.uid);typeof b>"u"&&(b=typeof(await h())?.baseFeePerGas=="bigint",Og.set(e.uid,b)),f.type=b?"eip1559":"legacy"}if(m.includes("fees"))if(f.type!=="legacy"&&f.type!=="eip2930"){if(typeof f.maxFeePerGas>"u"||typeof f.maxPriorityFeePerGas>"u"){let b=await h(),{maxFeePerGas:x,maxPriorityFeePerGas:w}=await nu(e,{block:b,chain:n,request:f});if(typeof t.maxPriorityFeePerGas>"u"&&t.maxFeePerGas&&t.maxFeePerGas<w)throw new ou({maxPriorityFeePerGas:w});f.maxPriorityFeePerGas=w,f.maxFeePerGas=x}}else{if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")throw new Lo;if(typeof t.gasPrice>"u"){let b=await h(),{gasPrice:x}=await nu(e,{block:b,chain:n,request:f,type:"legacy"});f.gasPrice=x}}return m.includes("gas")&&typeof s>"u"&&(f.gas=await T(e,ri,"estimateGas")({...f,account:p,prepare:p?.type==="local"?[]:["blobVersionedHashes"]})),rt(f),delete f.parameters,f}async function ri(e,t){let{account:r=e.account,prepare:o=!0}=t,n=r?j(r):void 0,s=(()=>{if(Array.isArray(o))return o;if(n?.type!=="local")return["blobVersionedHashes"]})();try{let{accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,blockNumber:u,blockTag:p,data:f,gas:d,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,value:w,stateOverride:S,...I}=o?await kr(e,{...t,parameters:s}):t,_=(typeof u=="bigint"?E(u):void 0)||p,B=Xs(S),R=await(async()=>{if(I.to)return I.to;if(a&&a.length>0)return await No({authorization:a[0]}).catch(()=>{throw new v("`to` is required. Could not infer from `authorizationList`")})})();rt(t);let M=e.chain?.formatters?.transactionRequest?.format,G=(M||yt)({...Er(I,{format:M}),account:n,accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,data:f,gas:d,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:R,value:w},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:B?[G,_??e.experimental_blockTag??"latest",B]:_?[G,_]:[G]}))}catch(i){throw Dg(i,{...t,account:n,chain:e.chain})}}async function Ug(e,t){let{abi:r,address:o,args:n,functionName:s,dataSuffix:i,...a}=t,c=le({abi:r,args:n,functionName:s});try{return await T(e,ri,"estimateGas")({data:`${c}${i?i.replace("0x",""):""}`,to:o,...a})}catch(m){let u=a.account?j(a.account):void 0;throw Rt(m,{abi:r,address:o,args:n,docsPath:"/docs/contract/estimateContractGas",functionName:s,sender:u?.address})}}Po();we();vn();Ge();Gt();la();we();Tf();zt();la();fa();Wr();var Hg="/docs/contract/decodeEventLog";function oi(e){let{abi:t,data:r,strict:o,topics:n}=e,s=o??!0,[i,...a]=n;if(!i)throw new cm({docsPath:Hg});let c=t.find(g=>g.type==="event"&&i===Ao(ze(g)));if(!(c&&"name"in c)||c.type!=="event")throw new ws(i,{docsPath:Hg});let{name:m,inputs:u}=c,p=u?.some(g=>!("name"in g&&g.name)),f=p?[]:{},d=u.map((g,y)=>[g,y]).filter(([g])=>"indexed"in g&&g.indexed);for(let g=0;g<d.length;g++){let[y,b]=d[g],x=a[g];if(!x)throw new yr({abiItem:c,param:y});f[p?b:y.name||b]=aC({param:y,value:x})}let h=u.filter(g=>!("indexed"in g&&g.indexed));if(h.length>0){if(r&&r!=="0x")try{let g=Yr(h,r);if(g)if(p)for(let y=0;y<u.length;y++)f[y]=f[y]??g.shift();else for(let y=0;y<h.length;y++)f[h[y].name]=g[y]}catch(g){if(s)throw g instanceof xs||g instanceof Jn?new mr({abiItem:c,data:r,params:h,size:X(r)}):g}else if(s)throw new mr({abiItem:c,data:"0x",params:h,size:0})}return{eventName:m,args:Object.values(f).length>0?f:void 0}}function aC({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Yr([e],t)||[])[0]}function pr(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]===Ao(m));if(!a)return null;let c=oi({...i,abi:[a],strict:n});return s&&!s.includes(c.eventName)||!cC({args:c.args,inputs:a.inputs,matchArgs:r})?null:{...c,...i}}catch(a){let c,m;if(a instanceof ws)return null;if(a instanceof mr||a instanceof yr){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 cC(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"?Zt(i,a):s.type==="string"||s.type==="bytes"?se(Ot(i))===a:i===a}catch{return!1}}return Array.isArray(t)&&Array.isArray(o)?o.every((s,i)=>{if(s==null)return!0;let a=r[i];return a?(Array.isArray(s)?s:[s]).some(m=>n(a,m,t[i])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof o=="object"&&!Array.isArray(o)?Object.entries(o).every(([s,i])=>{if(i==null)return!0;let a=r.find(m=>m.name===s);return a?(Array.isArray(i)?i:[i]).some(m=>n(a,m,t[s])):!1}):!1}D();async function ni(e,{address:t,blockHash:r,fromBlock:o,toBlock:n,event:s,events:i,args:a,strict:c}={}){let m=c??!1,u=i??(s?[s]:void 0),p=[];u&&(p=[u.flatMap(g=>Sr({abi:[g],eventName:g.name,args:i?void 0:a}))],s&&(p=p[0]));let f;r?f=await e.request({method:"eth_getLogs",params:[{address:t,topics:p,blockHash:r}]}):f=await e.request({method:"eth_getLogs",params:[{address:t,topics:p,fromBlock:typeof o=="bigint"?E(o):o,toBlock:typeof n=="bigint"?E(n):n}]});let d=f.map(h=>Qe(h));return u?pr({abi:u,args:a,logs:d,strict:m}):d}async function su(e,t){let{abi:r,address:o,args:n,blockHash:s,eventName:i,fromBlock:a,toBlock:c,strict:m}=t,u=i?xt({abi:r,name:i}):void 0,p=u?void 0:r.filter(f=>f.type==="event");return T(e,ni,"getLogs")({address:o,args:n,blockHash:s,event:u,events:p,fromBlock:a,toBlock:c,strict:m})}zo();$t();li();async function Re(e,t){let{abi:r,address:o,args:n,functionName:s,...i}=t,a=le({abi:r,args:n,functionName:s});try{let{data:c}=await T(e,Ar,"call")({...i,data:a,to:o});return wt({abi:r,args:n,functionName:s,data:c||"0x"})}catch(c){throw Rt(c,{abi:r,address:o,args:n,docsPath:"/docs/contract/readContract",functionName:s})}}ve();zo();$t();li();async function Py(e,t){let{abi:r,address:o,args:n,dataSuffix:s,functionName:i,...a}=t,c=a.account?j(a.account):e.account,m=le({abi:r,args:n,functionName:i});try{let{data:u}=await T(e,Ar,"call")({batch:!1,data:`${m}${s?s.replace("0x",""):""}`,to:o,...a,account:c}),p=wt({abi:r,args:n,functionName:i,data:u||"0x"}),f=r.filter(d=>"name"in d&&d.name===t.functionName);return{result:p,request:{abi:f,address:o,args:n,dataSuffix:s,functionName:i,...a,account:c}}}catch(u){throw Rt(u,{abi:r,address:o,args:n,docsPath:"/docs/contract/simulateContract",functionName:i,sender:c?.address})}}we();Zs();var Sl=new Map,Ty=new Map,AC=0;function nt(e,t,r){let o=++AC,n=()=>Sl.get(e)||[],s=()=>{let u=n();Sl.set(e,u.filter(p=>p.id!==o))},i=()=>{let u=n();if(!u.some(f=>f.id===o))return;let p=Ty.get(e);if(u.length===1&&p){let f=p();f instanceof Promise&&f.catch(()=>{})}s()},a=n();if(Sl.set(e,[...a,{id:o,fns:t}]),a&&a.length>0)return i;let c={};for(let u in t)c[u]=((...p)=>{let f=n();if(f.length!==0)for(let d of f)d.fns[u]?.(...p)});let m=r(c);return typeof m=="function"&&Ty.set(e,m),i}async function Sa(e){return new Promise(t=>setTimeout(t,e))}function Xt(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 Sa(c);let m=async()=>{n&&(await e({unpoll:s}),await Sa(o),m())};m()})(),s}et();var PC=new Map,TC=new Map;function $y(e){let t=(n,s)=>({clear:()=>s.delete(n),get:()=>s.get(n),set:i=>s.set(n,i)}),r=t(e,PC),o=t(e,TC);return{clear:()=>{r.clear(),o.clear()},promise:r,response:o}}async function Ry(e,{cacheKey:t,cacheTime:r=Number.POSITIVE_INFINITY}){let o=$y(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 $C=e=>`blockNumber.${e}`;async function Pr(e,{cacheTime:t=e.cacheTime}={}){let r=await Ry(()=>e.request({method:"eth_blockNumber"}),{cacheKey:$C(e.uid),cacheTime:t});return BigInt(r)}async function jo(e,{filter:t}){let r="strict"in t&&t.strict,o=await t.request({method:"eth_getFilterChanges",params:[t.id]});if(typeof o[0]=="string")return o;let n=o.map(s=>Qe(s));return!("abi"in t)||!t.abi?n:pr({abi:t.abi,logs:n,strict:r})}async function Go(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function By(e,t){let{abi:r,address:o,args:n,batch:s=!0,eventName:i,fromBlock:a,onError:c,onLogs:m,poll:u,pollingInterval:p=e.pollingInterval,strict:f}=t;return(typeof u<"u"?u:typeof a=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))?(()=>{let y=f??!1,b=J(["watchContractEvent",o,n,s,e.uid,i,p,y,a]);return nt(b,{onLogs:m,onError:c},x=>{let w;a!==void 0&&(w=a-1n);let S,I=!1,P=Xt(async()=>{if(!I){try{S=await T(e,Zm,"createContractEventFilter")({abi:r,address:o,args:n,eventName:i,strict:y,fromBlock:a})}catch{}I=!0;return}try{let _;if(S)_=await T(e,jo,"getFilterChanges")({filter:S});else{let B=await T(e,Pr,"getBlockNumber")({});w&&w<B?_=await T(e,su,"getContractEvents")({abi:r,address:o,args:n,eventName:i,fromBlock:w+1n,toBlock:B,strict:y}):_=[],w=B}if(_.length===0)return;if(s)x.onLogs(_);else for(let B of _)x.onLogs([B])}catch(_){S&&_ instanceof Cr&&(I=!1),x.onError?.(_)}},{emitOnBegin:!0,interval:p});return async()=>{S&&await T(e,Go,"uninstallFilter")({filter:S}),P()}})})():(()=>{let y=f??!1,b=J(["watchContractEvent",o,n,s,e.uid,i,p,y]),x=!0,w=()=>x=!1;return nt(b,{onLogs:m,onError:c},S=>((async()=>{try{let I=(()=>{if(e.transport.type==="fallback"){let B=e.transport.transports.find(R=>R.config.type==="webSocket"||R.config.type==="ipc");return B?B.value:e.transport}return e.transport})(),P=i?Sr({abi:r,eventName:i,args:n}):[],{unsubscribe:_}=await I.subscribe({params:["logs",{address:o,topics:P}],onData(B){if(!x)return;let R=B.result;try{let{eventName:M,args:U}=oi({abi:r,data:R.data,topics:R.topics,strict:f}),G=Qe(R,{args:U,eventName:M});S.onLogs([G])}catch(M){let U,G;if(M instanceof mr||M instanceof yr){if(f)return;U=M.abiItem.name,G=M.abiItem.inputs?.some(ue=>!("name"in ue&&ue.name))}let V=Qe(R,{args:G?[]:{},eventName:U});S.onLogs([V])}},onError(B){S.onError?.(B)}});w=_,x||w()}catch(I){c?.(I)}})(),()=>w()))})()}ve();$t();ve();H();So();At();ha();function di(e,{docsPath:t,...r}){let o=(()=>{let n=Fo(e,r);return n instanceof Ht?e:n})();return new Rc(o,{docsPath:t,...r})}Ys();wo();gs();Qr();async function hi(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}var kl=new jt(128);async function Vo(e,t){let{account:r=e.account,chain:o=e.chain,accessList:n,authorizationList:s,blobs:i,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,type:h,value:g,...y}=t;if(typeof r>"u")throw new qe({docsPath:"/docs/actions/wallet/sendTransaction"});let b=r?j(r):null;try{rt(t);let x=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await No({authorization:s[0]}).catch(()=>{throw new v("`to` is required. Could not infer from `authorizationList`.")})})();if(b?.type==="json-rpc"||b===null){let w;o!==null&&(w=await T(e,vt,"getChainId")({}),bs({currentChainId:w,chain:o}));let S=e.chain?.formatters?.transactionRequest?.format,P=(S||yt)({...Er(y,{format:S}),accessList:n,account:b,authorizationList:s,blobs:i,chainId:w,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,to:x,type:h,value:g},"sendTransaction"),_=kl.get(e.uid),B=_?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:B,params:[P]},{retryCount:0})}catch(R){if(_===!1)throw R;let M=R;if(M.name==="InvalidInputRpcError"||M.name==="InvalidParamsRpcError"||M.name==="MethodNotFoundRpcError"||M.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[P]},{retryCount:0}).then(U=>(kl.set(e.uid,!0),U)).catch(U=>{let G=U;throw G.name==="MethodNotFoundRpcError"||G.name==="MethodNotSupportedRpcError"?(kl.set(e.uid,!1),M):G});throw M}}if(b?.type==="local"){let w=await T(e,kr,"prepareTransactionRequest")({account:b,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,nonceManager:b.nonceManager,parameters:[...ga,"sidecars"],type:h,value:g,...y,to:x}),S=o?.serializers?.transaction,I=await b.signTransaction(w,{serializer:S});return await T(e,hi,"sendRawTransaction")({serializedTransaction:I})}throw b?.type==="smart"?new Kt({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Kt({docsPath:"/docs/actions/wallet/sendTransaction",type:b?.type})}catch(x){throw x instanceof Kt?x:di(x,{...t,account:b,chain:t.chain||void 0})}}async function Sn(e,t){return Sn.internal(e,Vo,"sendTransaction",t)}(function(e){async function t(r,o,n,s){let{abi:i,account:a=r.account,address:c,args:m,dataSuffix:u,functionName:p,...f}=s;if(typeof a>"u")throw new qe({docsPath:"/docs/contract/writeContract"});let d=a?j(a):null,h=le({abi:i,args:m,functionName:p});try{return await T(r,o,n)({data:`${h}${u?u.replace("0x",""):""}`,to:c,account:d,...f})}catch(g){throw Rt(g,{abi:i,address:c,args:m,docsPath:"/docs/contract/writeContract",functionName:p,sender:d?.address})}}e.internal=t})(Sn||(Sn={}));H();H();var ku=class extends v{constructor(t){super(`Call bundle failed with status: ${t.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=t}};vu();function kn(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 Sa(u),i({count:a+1})};try{let m=await e();n(m)}catch(m){if(a<r&&await o({count:a,error:m}))return c({error:m});s(m)}};i()})}et();Io();an();De();ve();H();Zs();$t();at();De();D();var Il="0x5792579257925792579257925792579257925792579257925792579257925792",_l=E(0,{size:32});async function Iu(e,t){let{account:r=e.account,capabilities:o,chain:n=e.chain,experimental_fallback:s,experimental_fallbackDelay:i=32,forceAtomic:a=!1,id:c,version:m="2.0.0"}=t,u=r?j(r):null,p=t.calls.map(f=>{let d=f,h=d.abi?le({abi:d.abi,functionName:d.functionName,args:d.args}):d.data;return{data:d.dataSuffix&&h?$e([h,d.dataSuffix]):h,to:d.to,value:d.value?E(d.value):void 0}});try{let f=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:a,calls:p,capabilities:o,chainId:E(n.id),from:u?.address,id:c,version:m}]},{retryCount:0});return typeof f=="string"?{id:f}:f}catch(f){let d=f;if(s&&(d.name==="MethodNotFoundRpcError"||d.name==="MethodNotSupportedRpcError"||d.name==="UnknownRpcError"||d.details.toLowerCase().includes("does not exist / is not available")||d.details.toLowerCase().includes("missing or invalid. request()")||d.details.toLowerCase().includes("did not match any variant of untagged enum")||d.details.toLowerCase().includes("account upgraded to unsupported contract")||d.details.toLowerCase().includes("eip-7702 not supported")||d.details.toLowerCase().includes("unsupported wc_ method")||d.details.toLowerCase().includes("feature toggled misconfigured")||d.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(o&&Object.values(o).some(x=>!x.optional)){let x="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new Bo(new v(x,{details:x}))}if(a&&p.length>1){let b="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new Mo(new v(b,{details:b}))}let h=[];for(let b of p){let x=Vo(e,{account:u,chain:n,data:b.data,to:b.to,value:b.value?ae(b.value):void 0});h.push(x),i>0&&await new Promise(w=>setTimeout(w,i))}let g=await Promise.allSettled(h);if(g.every(b=>b.status==="rejected"))throw g[0].reason;let y=g.map(b=>b.status==="fulfilled"?b.value:_l);return{id:$e([...y,E(n.id,{size:32}),Il])}}throw di(f,{...t,account:u,chain:t.chain})}}async function _u(e,t){async function r(u){if(u.endsWith(Il.slice(2))){let f=je(Jc(u,-64,-32)),d=Jc(u,0,-64).slice(2).match(/.{1,64}/g),h=await Promise.all(d.map(y=>_l.slice(2)!==y?e.request({method:"eth_getTransactionReceipt",params:[`0x${y}`]},{dedupe:!0}):void 0)),g=h.some(y=>y===null)?100:h.every(y=>y?.status==="0x1")?200:h.every(y=>y?.status==="0x0")?500:600;return{atomic:!1,chainId:be(f),receipts:h.filter(Boolean),status:g,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[u]})}let{atomic:o=!1,chainId:n,receipts:s,version:i="2.0.0",...a}=await r(t.id),[c,m]=(()=>{let u=a.status;return u>=100&&u<200?["pending",u]:u>=200&&u<300?["success",u]:u>=300&&u<700?["failure",u]:u==="CONFIRMED"?["success",200]:u==="PENDING"?["pending",100]:[void 0,u]})();return{...a,atomic:o,chainId:n?be(n):void 0,receipts:s?.map(u=>({...u,blockNumber:ae(u.blockNumber),gasUsed:ae(u.gasUsed),status:Af[u.status]}))??[],statusCode:m,status:c,version:i}}async function Au(e,t){let{id:r,pollingInterval:o=e.pollingInterval,status:n=({statusCode:g})=>g===200||g>=300,retryCount:s=4,retryDelay:i=({count:g})=>~~(1<<g)*200,timeout:a=6e4,throwOnFailure:c=!1}=t,m=J(["waitForCallsStatus",e.uid,r]),{promise:u,resolve:p,reject:f}=fi(),d,h=nt(m,{resolve:p,reject:f},g=>{let y=Xt(async()=>{let b=x=>{clearTimeout(d),y(),x(),h()};try{let x=await kn(async()=>{let w=await T(e,_u,"getCallsStatus")({id:r});if(c&&w.status==="failure")throw new ku(w);return w},{retryCount:s,delay:i});if(!n(x))return;b(()=>g.resolve(x))}catch(x){b(()=>g.reject(x))}},{interval:o,emitOnBegin:!0});return y});return d=a?setTimeout(()=>{h(),clearTimeout(d),f(new Al({id:r}))},a):void 0,await u}var Al=class extends v{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}};ve();var Pu=256,Tu;function $u(e=11){if(!Tu||Pu+e>256*2){Tu="",Pu=0;for(let t=0;t<256;t++)Tu+=(256+Math.random()*256|0).toString(16).substring(1)}return Tu.substring(Pu,Pu+++e)}function Ru(e){let{batch:t,chain:r,ccipRead:o,key:n="base",name:s="Base Client",type:i="base"}=e,a=e.experimental_blockTag??(typeof r?.experimental_preconfirmationTime=="number"?"pending":void 0),c=r?.blockTime??12e3,m=Math.min(Math.max(Math.floor(c/2),500),4e3),u=e.pollingInterval??m,p=e.cacheTime??u,f=e.account?j(e.account):void 0,{config:d,request:h,value:g}=e.transport({chain:r,pollingInterval:u}),y={...d,...g},b={account:f,batch:t,cacheTime:p,ccipRead:o,chain:r,key:n,name:s,pollingInterval:u,request:h,transport:y,type:i,uid:$u(),...a?{experimental_blockTag:a}:{}};function x(w){return S=>{let I=S(w);for(let _ in b)delete I[_];let P={...w,...I};return Object.assign(P,{extend:x(P)})}}return Object.assign(b,{extend:x(b)})}Ho();zo();$t();ln();an();D();H();To();function gi(e){if(!(e instanceof v))return!1;let t=e.walk(r=>r instanceof gn);return t instanceof gn?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}Ea();at();Ge();D();Gt();_t();function Bu(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 ka(e){let t=new Uint8Array(32).fill(0);if(!e)return Q(t);let r=e.split(".");for(let o=r.length-1;o>=0;o-=1){let n=Bu(r[o]),s=n?Ot(n):se(nr(r[o]),"bytes");t=se($e([t,s]),"bytes")}return Q(t)}Ge();function My(e){return`[${e.slice(2)}]`}Ge();D();Gt();function Fy(e){let t=new Uint8Array(32).fill(0);return e?Bu(e)||se(nr(e)):Q(t)}function yi(e){let t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);let r=new Uint8Array(nr(t).byteLength+2),o=0,n=t.split(".");for(let s=0;s<n.length;s++){let i=nr(n[s]);i.byteLength>255&&(i=nr(My(Fy(n[s])))),r[o]=i.length,r.set(i,o+1),o+=i.length+1}return r.byteLength!==o+1?r.slice(0,o+1):r}async function Dy(e,t){let{blockNumber:r,blockTag:o,coinType:n,name:s,gatewayUrls:i,strict:a}=t,{chain:c}=e,m=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return qt({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c?.ensTlds;if(u&&!u.some(f=>s.endsWith(f)))return null;let p=n!=null?[ka(s),BigInt(n)]:[ka(s)];try{let f=le({abi:dl,functionName:"addr",args:p}),d={address:m,abi:yu,functionName:"resolveWithGateways",args:[ie(yi(s)),f,i??[ro]],blockNumber:r,blockTag:o},g=await T(e,Re,"readContract")(d);if(g[0]==="0x")return null;let y=wt({abi:dl,args:p,functionName:"addr",data:g[0]});return y==="0x"||je(y)==="0x00"?null:y}catch(f){if(a)throw f;if(gi(f))return null;throw f}}H();var Mu=class extends v{constructor({data:t}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(t)}`],name:"EnsAvatarInvalidMetadataError"})}},qo=class extends v{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}},bi=class extends v{constructor({uri:t}){super(`Unable to resolve ENS avatar URI "${t}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}},Fu=class extends v{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}};var RC=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,BC=/^(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>\/.*)?$/,MC=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,FC=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function DC(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 Ny(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Pl({uri:e,gatewayUrls:t}){let r=MC.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};let o=Ny(t?.ipfs,"https://ipfs.io"),n=Ny(t?.arweave,"https://arweave.net"),s=e.match(RC),{protocol:i,subpath:a,target:c,subtarget:m=""}=s?.groups||{},u=i==="ipns:/"||a==="ipns/",p=i==="ipfs:/"||a==="ipfs/"||BC.test(e);if(e.startsWith("http")&&!u&&!p){let d=e;return t?.arweave&&(d=e.replace(/https:\/\/arweave.net/g,t?.arweave)),{uri:d,isOnChain:!1,isEncoded:!1}}if((u||p)&&c)return{uri:`${o}/${u?"ipns":"ipfs"}/${c}${m}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&c)return{uri:`${n}/${c}${m||""}`,isOnChain:!1,isEncoded:!1};let f=e.replace(FC,"");if(f.startsWith("<svg")&&(f=`data:image/svg+xml;base64,${btoa(f)}`),f.startsWith("data:")||f.startsWith("{"))return{uri:f,isOnChain:!0,isEncoded:!1};throw new bi({uri:e})}function Tl(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new Mu({data:e});return e.image||e.image_url||e.image_data}async function Ly({gatewayUrls:e,uri:t}){try{let r=await fetch(t).then(n=>n.json());return await Du({gatewayUrls:e,uri:Tl(r)})}catch{throw new bi({uri:t})}}async function Du({gatewayUrls:e,uri:t}){let{uri:r,isOnChain:o}=Pl({uri:t,gatewayUrls:e});if(o||await DC(r))return r;throw new bi({uri:t})}function zy(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 Re(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 Re(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 Fu({namespace:t.namespace})}async function Uy(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?NC(e,{gatewayUrls:t,record:r}):Du({uri:r,gatewayUrls:t})}async function NC(e,{gatewayUrls:t,record:r}){let o=zy(r),n=await Oy(e,{nft:o}),{uri:s,isOnChain:i,isEncoded:a}=Pl({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 Du({uri:Tl(u),gatewayUrls:t})}let c=o.tokenID;return o.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),Ly({gatewayUrls:t,uri:s.replace(/(?:0x)?{id}/,c)})}Ho();zo();$t();ln();D();Ea();async function Nu(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 qt({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c?.ensTlds;if(u&&!u.some(p=>s.endsWith(p)))return null;try{let p={address:m,abi:yu,args:[ie(yi(s)),le({abi:ll,functionName:"text",args:[ka(s),n]}),i??[ro]],functionName:"resolveWithGateways",blockNumber:r,blockTag:o},d=await T(e,Re,"readContract")(p);if(d[0]==="0x")return null;let h=wt({abi:ll,functionName:"text",data:d[0]});return h===""?null:h}catch(p){if(a)throw p;if(gi(p))return null;throw p}}async function Hy(e,{blockNumber:t,blockTag:r,assetGatewayUrls:o,name:n,gatewayUrls:s,strict:i,universalResolverAddress:a}){let c=await T(e,Nu,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:n,universalResolverAddress:a,gatewayUrls:s,strict:i});if(!c)return null;try{return await Uy(e,{record:c,gatewayUrls:o})}catch{return null}}Ho();ln();Ea();async function jy(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 qt({blockNumber:o,chain:c,contract:"ensUniversalResolver"})})();try{let u={address:m,abi:ly,args:[r,s,i??[ro]],functionName:"reverseWithGateways",blockNumber:o,blockTag:n},p=T(e,Re,"readContract"),[f]=await p(u);return f||null}catch(u){if(a)throw u;if(gi(u))return null;throw u}}ln();D();async function Gy(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 qt({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 T(e,Re,"readContract")({address:i,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[ie(yi(n))],blockNumber:r,blockTag:o});return c}li();ve();D();tl();Ys();wo();Qr();async function Lu(e,t){let{account:r=e.account,blockNumber:o,blockTag:n="latest",blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:m,maxFeePerGas:u,maxPriorityFeePerGas:p,to:f,value:d,...h}=t,g=r?j(r):void 0;try{rt(t);let b=(typeof o=="bigint"?E(o):void 0)||n,x=e.chain?.formatters?.transactionRequest?.format,S=(x||yt)({...Er(h,{format:x}),account:g,blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:m,maxFeePerGas:u,maxPriorityFeePerGas:p,to:f,value:d},"createAccessList"),I=await e.request({method:"eth_createAccessList",params:[S,b]});return{accessList:I.accessList,gasUsed:BigInt(I.gasUsed)}}catch(y){throw Km(y,{...t,account:g,chain:e.chain})}}async function Vy(e){let t=Do(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}D();async function zu(e,{address:t,args:r,event:o,events:n,fromBlock:s,strict:i,toBlock:a}={}){let c=n??(o?[o]:void 0),m=Do(e,{method:"eth_newFilter"}),u=[];c&&(u=[c.flatMap(d=>Sr({abi:[d],eventName:d.name,args:r}))],o&&(u=u[0]));let p=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof s=="bigint"?E(s):s,toBlock:typeof a=="bigint"?E(a):a,...u.length?{topics:u}:{}}]});return{abi:c,args:r,eventName:o?o.name:void 0,fromBlock:s,id:p,request:m(p),strict:!!i,toBlock:a,type:"event"}}async function Ou(e){let t=Do(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}D();async function qy(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 Ky(e){let t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}De();D();async function Wy(e,{blockHash:t,blockNumber:r,blockTag:o="latest"}={}){let n=r!==void 0?E(r):void 0,s;return t?s=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):s=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[n||o]},{dedupe:!!n}),be(s)}D();async function Ia(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 Uu=class extends v{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}};async function Jy(e,t){let{address:r,factory:o,factoryData:n}=t;try{let[s,i,a,c,m,u,p]=await T(e,Re,"readContract")({abi:LC,address:r,functionName:"eip712Domain",factory:o,factoryData:n});return{domain:{name:i,version:a,chainId:Number(c),verifyingContract:m,salt:u},extensions:p,fields:s}}catch(s){let i=s;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new Uu({address:r}):i}}var LC=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];D();function Zy(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 Yy(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 Zy(i)}async function Xy(e,{filter:t}){let r=t.strict??!1,n=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(s=>Qe(s));return t.abi?pr({abi:t.abi,logs:n,strict:r}):n}D();ko();vn();async function Qy({address:e,authorization:t,signature:r}){return Zt(ys(e),await No({authorization:t,signature:r}))}H();yn();Zs();D();gs();var Hu=new jt(8192);function eb(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(Hu.get(r))return Hu.get(r);let o=e().finally(()=>Hu.delete(r));return Hu.set(r,o),o}et();function tb(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 Ro(new Error("method not supported"),{method:m});if(s?.include&&!s.include.includes(m))throw new Ro(new Error("method not supported"),{method:m});let u=n?or(`${c}.${J(r)}`):void 0;return eb(()=>kn(async()=>{try{return await e(r)}catch(p){let f=p;switch(f.code){case Rs.code:throw new Rs(f);case Bs.code:throw new Bs(f);case Ms.code:throw new Ms(f,{method:r.method});case Fs.code:throw new Fs(f);case Xr.code:throw new Xr(f);case Cr.code:throw new Cr(f);case Ds.code:throw new Ds(f);case Ns.code:throw new Ns(f);case Ls.code:throw new Ls(f);case Ro.code:throw new Ro(f,{method:r.method});case bn.code:throw new bn(f);case zs.code:throw new zs(f);case xn.code:throw new xn(f);case Os.code:throw new Os(f);case Us.code:throw new Us(f);case Hs.code:throw new Hs(f);case js.code:throw new js(f);case Gs.code:throw new Gs(f);case Bo.code:throw new Bo(f);case Vs.code:throw new Vs(f);case qs.code:throw new qs(f);case Ks.code:throw new Ks(f);case Ws.code:throw new Ws(f);case Js.code:throw new Js(f);case Mo.code:throw new Mo(f);case 5e3:throw new xn(f);default:throw p instanceof v?p:new qm(f)}}},{delay:({count:p,error:f})=>{if(f&&f instanceof Jt){let d=f?.headers?.get("Retry-After");if(d?.match(/\d/))return Number.parseInt(d,10)*1e3}return~~(1<<p)*i},retryCount:a,shouldRetry:({error:p})=>zC(p)}),{enabled:n,id:u})}}function zC(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===bn.code||e.code===Xr.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}De();D();yn();function rb(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:o}){return new Promise((n,s)=>{(async()=>{let i;try{let a=new AbortController;r>0&&(i=setTimeout(()=>{o?a.abort():s(t)},r)),n(await e({signal:a?.signal||null}))}catch(a){a?.name==="AbortError"&&s(t),s(a)}finally{clearTimeout(i)}})()})}et();function OC(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var $l=OC();function ob(e,t={}){return{async request(r){let{body:o,fetchFn:n=t.fetchFn??fetch,onRequest:s=t.onRequest,onResponse:i=t.onResponse,timeout:a=t.timeout??1e4}=r,c={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:m,method:u,signal:p}=c;try{let f=await rb(async({signal:h})=>{let g={...c,body:Array.isArray(o)?J(o.map(w=>({jsonrpc:"2.0",id:w.id??$l.take(),...w}))):J({jsonrpc:"2.0",id:o.id??$l.take(),...o}),headers:{"Content-Type":"application/json",...m},method:u||"POST",signal:p||(a>0?h:null)},y=new Request(e,g),b=await s?.(y,g)??{...g,url:e};return await n(b.url??e,b)},{errorInstance:new da({body:o,url:e}),timeout:a,signal:!0});i&&await i(f);let d;if(f.headers.get("Content-Type")?.startsWith("application/json"))d=await f.json();else{d=await f.text();try{d=JSON.parse(d||"{}")}catch(h){if(f.ok)throw h;d={error:d}}}if(!f.ok)throw new Jt({body:o,details:J(d.error)||f.statusText,headers:f.headers,status:f.status,url:e});return d}catch(f){throw f instanceof Jt||f instanceof da?f:new Jt({body:o,cause:f,url:e})}}}}Gt();var nb=`Ethereum Signed Message:
|
|
52
|
-
`;at();zt();D();function sb(e){let t=typeof e=="string"?or(e):typeof e.raw=="string"?e.raw:Q(e.raw),r=or(`${nb}${X(t)}`);return $e([r,t])}function xi(e,t){return se(sb(e),t)}Zr();at();D();Gt();we();ar();et();H();var ju=class extends v{constructor({domain:t}){super(`Invalid domain "${J(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}},Gu=class extends v{constructor({primaryType:t,types:r}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}},Vu=class extends v{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}};Pt();zt();D();Kf();et();function ib(e){let{domain:t,message:r,primaryType:o,types:n}=e,s=(c,m)=>{let u={...m};for(let p of c){let{name:f,type:d}=p;d==="address"&&(u[f]=u[f].toLowerCase())}return u},i=n.EIP712Domain?t?s(n.EIP712Domain,t):{}:{},a=(()=>{if(o!=="EIP712Domain")return s(n[o],r)})();return J({domain:i,message:a,primaryType:o,types:n})}function qu(e){let{domain:t,message:r,primaryType:o,types:n}=e,s=(i,a)=>{for(let c of i){let{name:m,type:u}=c,p=a[m],f=u.match(Lm);if(f&&(typeof p=="number"||typeof p=="bigint")){let[g,y,b]=f;E(p,{signed:y==="int",size:Number.parseInt(b,10)/8})}if(u==="address"&&typeof p=="string"&&!ee(p))throw new ne({address:p});let d=u.match(Cg);if(d){let[g,y]=d;if(y&&X(p)!==Number.parseInt(y,10))throw new pm({expectedSize:Number.parseInt(y,10),givenSize:X(p)})}let h=n[u];h&&(UC(u),s(h,p))}};if(n.EIP712Domain&&t){if(typeof t!="object")throw new ju({domain:t});s(n.EIP712Domain,t)}if(o!=="EIP712Domain")if(n[o])s(n[o],r);else throw new Gu({primaryType:o,types:n})}function Ku({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 UC(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new Vu({type:e})}function Wu(e){let{domain:t={},message:r,primaryType:o}=e,n={EIP712Domain:Ku({domain:t}),...e.types};qu({domain:t,message:r,primaryType:o,types:n});let s=["0x1901"];return t&&s.push(HC({domain:t,types:n})),o!=="EIP712Domain"&&s.push(ab({data:r,primaryType:o,types:n})),se($e(s))}function HC({domain:e,types:t}){return ab({data:e,primaryType:"EIP712Domain",types:t})}function ab({data:e,primaryType:t,types:r}){let o=cb({data:e,primaryType:t,types:r});return se(o)}function cb({data:e,primaryType:t,types:r}){let o=[{type:"bytes32"}],n=[jC({primaryType:t,types:r})];for(let s of r[t]){let[i,a]=ub({types:r,name:s.name,type:s.type,value:e[s.name]});o.push(i),n.push(a)}return ct(o,n)}function jC({primaryType:e,types:t}){let r=ie(GC({primaryType:e,types:t}));return se(r)}function GC({primaryType:e,types:t}){let r="",o=mb({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 mb({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])mb({primaryType:s.type,types:t},r);return r}function ub({types:e,name:t,type:r,value:o}){if(e[r]!==void 0)return[{type:"bytes32"},se(cb({data:o,primaryType:r,types:e}))];if(r==="bytes")return o=`0x${(o.length%2?"0":"")+o.slice(2)}`,[{type:"bytes32"},se(o)];if(r==="string")return[{type:"bytes32"},se(ie(o))];if(r.lastIndexOf("]")===r.length-1){let n=r.slice(0,r.lastIndexOf("[")),s=o.map(i=>ub({name:t,type:n,types:e,value:i}));return[{type:"bytes32"},se(ct(s.map(([i])=>i),s.map(([,i])=>i)))]}return[{type:r},o]}var Ba={};gf(Ba,{InvalidWrappedSignatureError:()=>mp,assert:()=>up,from:()=>IE,magicBytes:()=>od,suffixParameters:()=>nd,unwrap:()=>$b,validate:()=>AE,wrap:()=>_E});ua();Oo();var Ju=class extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){let r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){let o=this.keys().next().value;o&&this.delete(o)}return this}};var VC={checksum:new Ju(8192)},Zu=VC.checksum;Ct();Ff();Oo();Ke();function In(e,t={}){let{as:r=typeof e=="string"?"Hex":"Bytes"}=t,o=Wc(ry(e));return r==="Bytes"?o:_e(o)}Oo();Ct();Ke();xa();function pb(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 Yu({prefix:o,cause:new Fl});return}if(r===!0||typeof n=="bigint"&&typeof s>"u"){if(o!==3&&o!==2)throw new Yu({prefix:o,cause:new Ml});return}throw new Bl({publicKey:e})}function fb(e){let t=(()=>{if(wa(e))return lb(e);if(cy(e))return KC(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 pb(t),t}function KC(e){return lb(_e(e))}function lb(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new Dl({publicKey:e});if(e.length===130){let o=BigInt(ge(e,0,32)),n=BigInt(ge(e,32,64));return{prefix:4,x:o,y:n}}if(e.length===132){let o=Number(ge(e,0,1)),n=BigInt(ge(e,1,33)),s=BigInt(ge(e,33,65));return{prefix:o,x:n,y:s}}let t=Number(ge(e,0,1)),r=BigInt(ge(e,1,33));return{prefix:t,x:r}}function Nl(e,t={}){pb(e);let{prefix:r,x:o,y:n}=e,{includePrefix:s=!0}=t;return xe(s?te(r,{size:1}):"0x",te(o,{size:32}),typeof n=="bigint"?te(n,{size:32}):"0x")}var Bl=class extends F{constructor({publicKey:t}){super(`Value \`${Uo(t)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"})}},Yu=class extends F{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 F{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"})}},Fl=class extends F{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}},Dl=class extends F{constructor({publicKey:t}){super(`Value \`${t}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${he(mi(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};var WC=/^0x[a-fA-F0-9]{40}$/;function _n(e,t={}){let{strict:r=!0}=t;if(!WC.test(e))throw new Xu({address:e,cause:new Ll});if(r){if(e.toLowerCase()===e)return;if(Qu(e)!==e)throw new Xu({address:e,cause:new zl})}}function Qu(e){if(Zu.has(e))return Zu.get(e);_n(e,{strict:!1});let t=e.substring(2).toLowerCase(),r=In(oy(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 Zu.set(e,n),n}function JC(e,t={}){let{checksum:r=!1}=t;return _n(e),r?Qu(e):e}function hb(e,t={}){let r=In(`0x${Nl(e).slice(4)}`).substring(26);return JC(`0x${r}`,t)}function ep(e,t={}){let{strict:r=!0}=t??{};try{return _n(e,{strict:r}),!0}catch{return!1}}var Xu=class extends F{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 F{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"})}},zl=class extends F{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}};Oo();Ct();Ke();Oo();Ct();Ke();var gb=/^(.*)\[([0-9]*)\]$/,yb=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,rp=/^(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)?$/,nG=2n**(8n-1n)-1n,sG=2n**(16n-1n)-1n,iG=2n**(24n-1n)-1n,aG=2n**(32n-1n)-1n,cG=2n**(40n-1n)-1n,mG=2n**(48n-1n)-1n,uG=2n**(56n-1n)-1n,pG=2n**(64n-1n)-1n,fG=2n**(72n-1n)-1n,lG=2n**(80n-1n)-1n,dG=2n**(88n-1n)-1n,hG=2n**(96n-1n)-1n,gG=2n**(104n-1n)-1n,yG=2n**(112n-1n)-1n,bG=2n**(120n-1n)-1n,xG=2n**(128n-1n)-1n,vG=2n**(136n-1n)-1n,wG=2n**(144n-1n)-1n,CG=2n**(152n-1n)-1n,EG=2n**(160n-1n)-1n,SG=2n**(168n-1n)-1n,kG=2n**(176n-1n)-1n,IG=2n**(184n-1n)-1n,_G=2n**(192n-1n)-1n,AG=2n**(200n-1n)-1n,PG=2n**(208n-1n)-1n,TG=2n**(216n-1n)-1n,$G=2n**(224n-1n)-1n,RG=2n**(232n-1n)-1n,BG=2n**(240n-1n)-1n,MG=2n**(248n-1n)-1n,FG=2n**(256n-1n)-1n,DG=-(2n**(8n-1n)),NG=-(2n**(16n-1n)),LG=-(2n**(24n-1n)),zG=-(2n**(32n-1n)),OG=-(2n**(40n-1n)),UG=-(2n**(48n-1n)),HG=-(2n**(56n-1n)),jG=-(2n**(64n-1n)),GG=-(2n**(72n-1n)),VG=-(2n**(80n-1n)),qG=-(2n**(88n-1n)),KG=-(2n**(96n-1n)),WG=-(2n**(104n-1n)),JG=-(2n**(112n-1n)),ZG=-(2n**(120n-1n)),YG=-(2n**(128n-1n)),XG=-(2n**(136n-1n)),QG=-(2n**(144n-1n)),eV=-(2n**(152n-1n)),tV=-(2n**(160n-1n)),rV=-(2n**(168n-1n)),oV=-(2n**(176n-1n)),nV=-(2n**(184n-1n)),sV=-(2n**(192n-1n)),iV=-(2n**(200n-1n)),aV=-(2n**(208n-1n)),cV=-(2n**(216n-1n)),mV=-(2n**(224n-1n)),uV=-(2n**(232n-1n)),pV=-(2n**(240n-1n)),fV=-(2n**(248n-1n)),lV=-(2n**(256n-1n)),dV=2n**8n-1n,hV=2n**16n-1n,gV=2n**24n-1n,yV=2n**32n-1n,bV=2n**40n-1n,xV=2n**48n-1n,vV=2n**56n-1n,wV=2n**64n-1n,CV=2n**72n-1n,EV=2n**80n-1n,SV=2n**88n-1n,kV=2n**96n-1n,IV=2n**104n-1n,_V=2n**112n-1n,AV=2n**120n-1n,PV=2n**128n-1n,TV=2n**136n-1n,$V=2n**144n-1n,RV=2n**152n-1n,BV=2n**160n-1n,MV=2n**168n-1n,FV=2n**176n-1n,DV=2n**184n-1n,NV=2n**192n-1n,LV=2n**200n-1n,zV=2n**208n-1n,OV=2n**216n-1n,UV=2n**224n-1n,HV=2n**232n-1n,jV=2n**240n-1n,GV=2n**248n-1n,Ol=2n**256n-1n;function An(e,t,r){let{checksumAddress:o,staticPosition:n}=r,s=jl(t.type);if(s){let[i,a]=s;return YC(e,{...t,type:a},{checksumAddress:o,length:i,staticPosition:n})}if(t.type==="tuple")return tE(e,t,{checksumAddress:o,staticPosition:n});if(t.type==="address")return ZC(e,{checksum:o});if(t.type==="bool")return XC(e);if(t.type.startsWith("bytes"))return QC(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return eE(e,t);if(t.type==="string")return rE(e,{staticPosition:n});throw new vi(t.type)}var xb=32,Ul=32;function ZC(e,t={}){let{checksum:r=!1}=t,o=e.readBytes(32);return[(s=>r?Qu(s):s)(_e(ny(o,-20))),32]}function YC(e,t,r){let{checksumAddress:o,length:n,staticPosition:s}=r;if(!n){let c=Ir(e.readBytes(Ul)),m=s+c,u=m+xb;e.setPosition(m);let p=Ir(e.readBytes(xb)),f=_a(t),d=0,h=[];for(let g=0;g<p;++g){e.setPosition(u+(f?g*32:d));let[y,b]=An(e,t,{checksumAddress:o,staticPosition:u});d+=b,h.push(y)}return e.setPosition(s+32),[h,32]}if(_a(t)){let c=Ir(e.readBytes(Ul)),m=s+c,u=[];for(let p=0;p<n;++p){e.setPosition(m+p*32);let[f]=An(e,t,{checksumAddress:o,staticPosition:m});u.push(f)}return e.setPosition(s+32),[u,32]}let i=0,a=[];for(let c=0;c<n;++c){let[m,u]=An(e,t,{checksumAddress:o,staticPosition:s+i});i+=u,a.push(m)}return[a,i]}function XC(e){return[iy(e.readBytes(32),{size:32}),32]}function QC(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=Ir(e.readBytes(32));e.setPosition(r+i);let a=Ir(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[_e(c),32]}return[_e(e.readBytes(Number.parseInt(n,10),32)),32]}function eE(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?sy(n,{signed:r}):Ir(n,{signed:r}),32]}function tE(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(_a(t)){let c=Ir(e.readBytes(Ul)),m=n+c;for(let u=0;u<t.components.length;++u){let p=t.components[u];e.setPosition(m+a);let[f,d]=An(e,p,{checksumAddress:o,staticPosition:m});a+=d,i[s?u:p?.name]=f}return e.setPosition(n+32),[i,32]}for(let c=0;c<t.components.length;++c){let m=t.components[c],[u,p]=An(e,m,{checksumAddress:o,staticPosition:n});i[s?c:m?.name]=u,a+=p}return[i,a]}function rE(e,{staticPosition:t}){let r=Ir(e.readBytes(32)),o=t+r;e.setPosition(o);let n=Ir(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=ay(ml(s));return e.setPosition(t+32),[i,32]}function vb({checksumAddress:e,parameters:t,values:r}){let o=[];for(let n=0;n<t.length;n++)o.push(Hl({checksumAddress:e,parameter:t[n],value:r[n]}));return o}function Hl({checksumAddress:e=!1,parameter:t,value:r}){let o=t,n=jl(o.type);if(n){let[s,i]=n;return nE(r,{checksumAddress:e,length:s,parameter:{...o,type:i}})}if(o.type==="tuple")return mE(r,{checksumAddress:e,parameter:o});if(o.type==="address")return oE(r,{checksum:e});if(o.type==="bool")return iE(r);if(o.type.startsWith("uint")||o.type.startsWith("int")){let s=o.type.startsWith("int"),[,,i="256"]=rp.exec(o.type)??[];return aE(r,{signed:s,size:Number(i)})}if(o.type.startsWith("bytes"))return sE(r,{type:o.type});if(o.type==="string")return cE(r);throw new vi(o.type)}function op(e){let t=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?t+=32:t+=he(a)}let r=[],o=[],n=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?(r.push(te(t+n,{size:32})),o.push(a),n+=he(a)):r.push(a)}return xe(...r,...o)}function oE(e,t){let{checksum:r=!1}=t;return _n(e,{strict:r}),{dynamic:!1,encoded:to(e.toLowerCase())}}function nE(e,t){let{checksumAddress:r,length:o,parameter:n}=t,s=o===null;if(!Array.isArray(e))throw new sp(e);if(!s&&e.length!==o)throw new np({expectedLength:o,givenLength:e.length,type:`${n.type}[${o}]`});let i=!1,a=[];for(let c=0;c<e.length;c++){let m=Hl({checksumAddress:r,parameter:n,value:e[c]});m.dynamic&&(i=!0),a.push(m)}if(s||i){let c=op(a);if(s){let m=te(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?xe(m,c):m}}if(i)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:xe(...a.map(({encoded:c})=>c))}}function sE(e,{type:t}){let[,r]=t.split("bytes"),o=he(e);if(!r){let n=e;return o%32!==0&&(n=_r(n,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:xe(to(te(o,{size:32})),n)}}if(o!==Number.parseInt(r,10))throw new Aa({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:_r(e)}}function iE(e){if(typeof e!="boolean")throw new F(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:to(du(e))}}function aE(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 va({max:o.toString(),min:n.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:te(e,{size:32,signed:t})}}function cE(e){let t=ui(e),r=Math.ceil(he(t)/32),o=[];for(let n=0;n<r;n++)o.push(_r(ge(t,n*32,(n+1)*32)));return{dynamic:!0,encoded:xe(_r(te(he(t),{size:32})),...o)}}function mE(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=Hl({checksumAddress:r,parameter:a,value:e[c]});s.push(m),m.dynamic&&(n=!0)}return{dynamic:n,encoded:n?op(s):xe(...s.map(({encoded:i})=>i))}}function jl(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function _a(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(_a);let r=jl(e.type);return!!(r&&_a({...e,type:r[1]}))}Ct();var pE={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 Vl({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Gl({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new ip({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 ip({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 ap(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(pE);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var ip=class extends F{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}},Gl=class extends F{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"})}},Vl=class extends F{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 wi(e,t,r={}){let{as:o="Array",checksumAddress:n=!1}=r,s=typeof t=="string"?ci(t):t,i=ap(s);if(Yt(s)===0&&e.length>0)throw new Wl;if(Yt(s)&&Yt(s)<32)throw new Kl({data:typeof t=="string"?t:_e(t),parameters:e,size:Yt(s)});let a=0,c=o==="Array"?[]:{};for(let m=0;m<e.length;++m){let u=e[m];i.setPosition(a);let[p,f]=An(i,u,{checksumAddress:n,staticPosition:0});a+=f,o==="Array"?c.push(p):c[u.name??m]=p}return c}function Ko(e,t,r){let{checksumAddress:o=!1}=r??{};if(e.length!==t.length)throw new cp({expectedLength:e.length,givenLength:t.length});let n=vb({checksumAddress:o,parameters:e,values:t}),s=op(n);return s.length===0?"0x":s}function ql(e,t){if(e.length!==t.length)throw new cp({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(ql.encode(n,s))}return xe(...r)}(function(e){function t(r,o,n=!1){if(r==="address"){let c=o;return _n(c),to(c.toLowerCase(),n?32:0)}if(r==="string")return ui(o);if(r==="bytes")return o;if(r==="bool")return to(du(o),n?32:1);let s=r.match(rp);if(s){let[c,m,u="256"]=s,p=Number.parseInt(u,10)/8;return te(o,{size:n?32:p,signed:m==="int"})}let i=r.match(yb);if(i){let[c,m]=i;if(Number.parseInt(m,10)!==(o.length-2)/2)throw new Aa({expectedSize:Number.parseInt(m,10),value:o});return _r(o,n?32:0)}let a=r.match(gb);if(a&&Array.isArray(o)){let[c,m]=a,u=[];for(let p=0;p<o.length;p++)u.push(t(m,o[p],!0));return u.length===0?"0x":xe(...u)}throw new vi(r)}e.encode=t})(ql||(ql={}));function Ta(e){return Array.isArray(e)&&typeof e[0]=="string"?Dm(e):typeof e=="string"?Dm(e):e}var Kl=class extends F{constructor({data:t,parameters:r,size:o}){super(`Data size of ${o} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Jr(r)})`,`Data: ${t} (${o} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}},Wl=class extends F{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}},np=class extends F{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"})}},Aa=class extends F{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${he(r)}) does not match expected size (bytes${t}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}},cp=class extends F{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"})}},sp=class extends F{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}},vi=class extends F{constructor(t){super(`Type \`${t}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}};Ke();Oo();Ct();Ke();function fE(e,t){let{as:r}=t,o=Eb(e),n=ap(new Uint8Array(o.length));return o.encode(n),r==="Hex"?_e(n.bytes):n.bytes}function Cb(e,t={}){let{as:r="Hex"}=t;return fE(e,{as:r})}function Eb(e){return Array.isArray(e)?lE(e.map(t=>Eb(t))):dE(e)}function lE(e){let t=e.reduce((n,s)=>n+s.length,0),r=Sb(t);return{length:t<=55?1+t:1+r+t,encode(n){t<=55?n.pushByte(192+t):(n.pushByte(247+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:s}of e)s(n)}}}function dE(e){let t=typeof e=="string"?ci(e):e,r=Sb(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(183+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function Sb(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 F("Length is too large.")}import{secp256k1 as WV}from"@noble/curves/secp256k1";Ct();Ke();xa();function Ql(e,t={}){let{recovered:r}=t;if(typeof e.r>"u")throw new $a({signature:e});if(typeof e.s>"u")throw new $a({signature:e});if(r&&typeof e.yParity>"u")throw new $a({signature:e});if(e.r<0n||e.r>Ol)throw new Zl({value:e.r});if(e.s<0n||e.s>Ol)throw new Yl({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new Ra({value:e.yParity})}function gE(e){return kb(_e(e))}function kb(e){if(e.length!==130&&e.length!==132)throw new Jl({signature:e});let t=BigInt(ge(e,0,32)),r=BigInt(ge(e,32,64)),o=(()=>{let n=+`0x${e.slice(130)}`;if(!Number.isNaN(n))try{return rd(n)}catch{throw new Ra({value:n})}})();return typeof o>"u"?{r:t,s:r}:{r:t,s:r,yParity:o}}function ed(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return td(e)}function td(e){let t=typeof e=="string"?kb(e):e instanceof Uint8Array?gE(e):typeof e.r=="string"?bE(e):e.v?yE(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}};return Ql(t),t}function yE(e){return{r:e.r,s:e.s,yParity:rd(e.v)}}function bE(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=rd(r)),typeof o!="number")throw new Ra({value:e.yParity});return o})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Ib(e){let{r:t,s:r,yParity:o}=e;return[o?"0x01":"0x",t===0n?"0x":pl(te(t)),r===0n?"0x":pl(te(r))]}function rd(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 Xl({value:e})}var Jl=class extends F{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${he(mi(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}},$a=class extends F{constructor({signature:t}){super(`Signature \`${Uo(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}},Zl=class extends F{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"})}},Yl=class extends F{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"})}},Ra=class extends F{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"})}},Xl=class extends F{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 Ab(e,t={}){return typeof e.chainId=="string"?xE(e):{...e,...t.signature}}function xE(e){let{address:t,chainId:r,nonce:o}=e,n=ed(e);return{address:t,chainId:Number(r),nonce:BigInt(o),...n}}function Pb(e){return vE(e,{presign:!0})}function vE(e,t={}){let{presign:r}=t;return In(xe("0x05",Cb(wE(r?{address:e.address,chainId:e.chainId,nonce:e.nonce}:e))))}function wE(e){let{address:t,chainId:r,nonce:o}=e,n=ed(e);return[r?te(r):"0x",t,o?te(o):"0x",...n?Ib(n):[]]}Ct();Ke();import{secp256k1 as EE}from"@noble/curves/secp256k1";Ke();function Tb(e){return hb(SE(e))}function SE(e){let{payload:t,signature:r}=e,{r:o,s:n,yParity:s}=r,a=new EE.Signature(BigInt(o),BigInt(n)).addRecoveryBit(s).recoverPublicKey(mi(t).substring(2));return fb(a)}var od="0x8010801080108010801080108010801080108010801080108010801080108010",nd=Ta("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function up(e){if(typeof e=="string"){if(ge(e,-32)!==od)throw new mp(e)}else Ql(e.authorization)}function IE(e){return typeof e=="string"?$b(e):e}function $b(e){up(e);let t=pu(ge(e,-64,-32)),r=ge(e,-t-64,-64),o=ge(e,0,-t-64),[n,s,i]=wi(nd,r);return{authorization:Ab({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 _E(e){let{data:t,signature:r}=e;up(e);let o=Tb({payload:Pb(e.authorization),signature:td(e.authorization)}),n=Ko(nd,[{...e.authorization,delegation:e.authorization.address,chainId:BigInt(e.authorization.chainId)},e.to??o,t??"0x"]),s=te(he(n),{size:32});return xe(r,n,s,od)}function AE(e){try{return up(e),!0}catch{return!1}}var mp=class extends F{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"})}};kc();H();var pp=class extends v{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}};function Rb(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new pp({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 Pn(e,t="wei"){return Rb(e,Sc[t])}function PE(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function Bb(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?be(e.nonce):void 0,storageProof:e.storageProof?PE(e.storageProof):void 0}}async function Mb(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 Bb(a)}D();async function Fb(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]})}At();D();async function Ci(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 Qn({blockHash:t,blockNumber:r,blockTag:i,hash:n,index:s});return(e.chain?.formatters?.transaction?.format||cn)(c,"getTransaction")}async function Db(e,{hash:t,transactionReceipt:r}){let[o,n]=await Promise.all([T(e,Pr,"getBlockNumber")({}),t?T(e,Ci,"getTransaction")({hash:t}):void 0]),s=r?.blockNumber||n?.blockNumber;return s?o-s+1n:0n}At();async function Ei(e,{hash:t}){let r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new es({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||Ji)(r,"getTransactionReceipt")}Ho();Ca();we();H();To();zo();$t();ln();async function Nb(e,t){let{account:r,authorizationList:o,allowFailure:n=!0,blockNumber:s,blockOverrides:i,blockTag:a,stateOverride:c}=t,m=t.contracts,{batchSize:u=t.batchSize??1024,deployless:p=t.deployless??!1}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},f=(()=>{if(t.multicallAddress)return t.multicallAddress;if(p)return null;if(e.chain)return qt({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),d=[[]],h=0,g=0;for(let x=0;x<m.length;x++){let{abi:w,address:S,args:I,functionName:P}=m[x];try{let _=le({abi:w,args:I,functionName:P});g+=(_.length-2)/2,u>0&&g>u&&d[h].length>0&&(h++,g=(_.length-2)/2,d[h]=[]),d[h]=[...d[h],{allowFailure:!0,callData:_,target:S}]}catch(_){let B=Rt(_,{abi:w,address:S,args:I,docsPath:"/docs/contract/multicall",functionName:P,sender:r});if(!n)throw B;d[h]=[...d[h],{allowFailure:!0,callData:"0x",target:S}]}}let y=await Promise.allSettled(d.map(x=>T(e,Re,"readContract")({...f===null?{code:pi}:{address:f},abi:Cn,account:r,args:[x],authorizationList:o,blockNumber:s,blockOverrides:i,blockTag:a,functionName:"aggregate3",stateOverride:c}))),b=[];for(let x=0;x<y.length;x++){let w=y[x];if(w.status==="rejected"){if(!n)throw w.reason;for(let I=0;I<d[x].length;I++)b.push({status:"failure",error:w.reason,result:void 0});continue}let S=w.value;for(let I=0;I<S.length;I++){let{returnData:P,success:_}=S[I],{callData:B}=d[x][I],{abi:R,address:M,functionName:U,args:G}=m[b.length];try{if(B==="0x")throw new Wt;if(!_)throw new wr({data:P});let V=wt({abi:R,args:G,data:P,functionName:U});b.push(n?{result:V,status:"success"}:V)}catch(V){let ue=Rt(V,{abi:R,address:M,args:G,docsPath:"/docs/contract/multicall",functionName:U});if(!n)throw ue;b.push({error:ue,result:void 0,status:"failure"})}}}if(b.length!==m.length)throw new v("multicall results mismatch");return b}fl();ve();we();To();So();zo();$t();at();D();ha();wo();tu();Qr();async function Ma(e,t){let{blockNumber:r,blockTag:o=e.experimental_blockTag??"latest",blocks:n,returnFullTransactions:s,traceTransfers:i,validation:a}=t;try{let c=[];for(let f of n){let d=f.blockOverrides?hu(f.blockOverrides):void 0,h=f.calls.map(y=>{let b=y,x=b.account?j(b.account):void 0,w=b.abi?le(b):b.data,S={...b,account:x,data:b.dataSuffix?$e([w||"0x",b.dataSuffix]):w,from:b.from??x?.address};return rt(S),yt(S)}),g=f.stateOverrides?Xs(f.stateOverrides):void 0;c.push({blockOverrides:d,calls:h,stateOverrides:g})}let u=(typeof r=="bigint"?E(r):void 0)||o;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:s,traceTransfers:i,validation:a},u]})).map((f,d)=>({...Wi(f),calls:f.calls.map((h,g)=>{let{abi:y,args:b,functionName:x,to:w}=n[d].calls[g],S=h.error?.data??h.returnData,I=BigInt(h.gasUsed),P=h.logs?.map(M=>Qe(M)),_=h.status==="0x1"?"success":"failure",B=y&&_==="success"&&S!=="0x"?wt({abi:y,data:S,functionName:x}):null,R=(()=>{if(_==="success")return;let M;if(h.error?.data==="0x"?M=new Wt:h.error&&(M=new wr(h.error)),!!M)return Rt(M,{abi:y??[],address:w??"0x",args:b,functionName:x??"<unknown>"})})();return{data:S,gasUsed:I,logs:P,status:_,..._==="success"?{result:B}:{error:R}}})}))}catch(c){let m=c,u=Fo(m,{});throw u instanceof Ht?m:u}}ua();Ct();Ke();Ct();function lp(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 F("Unable to normalize signature.");return n}function fp(e,t){let r=typeof e,o=t.type;switch(o){case"address":return ep(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)=>fp(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=>fp(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function sd(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 sd(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")?ep(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?ep(r[o],{strict:!1}):!1)return i}}function dp(e,t={}){let{prepare:r=!0}=t,o=Array.isArray(e)?Fm(e):typeof e=="string"?Fm(e):e;return{...o,...r?{hash:Si(o)}:{}}}function Fa(e,t,r){let{args:o=[],prepare:n=!0}=r??{},s=wa(t,{strict:!1}),i=e.filter(m=>s?m.type==="function"||m.type==="error"?ad(m)===ge(t,0,4):m.type==="event"?Si(m)===t:!1:"name"in m&&m.name===t);if(i.length===0)throw new Wo({name:t});if(i.length===1)return{...i[0],...n?{hash:Si(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:Si(m)}:{}};continue}if(!m.inputs||m.inputs.length===0||m.inputs.length!==o.length)continue;if(o.every((p,f)=>{let d="inputs"in m&&m.inputs[f];return d?fp(p,d):!1})){if(a&&"inputs"in a&&a.inputs){let p=sd(m.inputs,a.inputs,o);if(p)throw new id({abiItem:m,type:p[0]},{abiItem:a,type:p[1]})}a=m}}let c=(()=>{if(a)return a;let[m,...u]=i;return{...m,overloads:u}})();if(!c)throw new Wo({name:t});return{...c,...n?{hash:Si(c)}:{}}}function ad(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return Fa(r,o)}return e[0]})();return ge(Si(t),0,4)}function $E(...e){let t=(()=>{if(Array.isArray(e[0])){let[o,n]=e;return Fa(o,n)}return e[0]})(),r=typeof t=="string"?t:dn(t);return lp(r)}function Si(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return Fa(r,o)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:In(ui($E(t)))}var id=class extends F{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${lp(dn(t.abiItem))}\`, and`,`\`${r.type}\` in \`${lp(dn(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"})}},Wo=class extends F{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"})}};Ke();function zb(...e){let[t,r]=(()=>{if(Array.isArray(e[0])){let[s,i]=e;return[RE(s),i]}return e})(),{bytecode:o,args:n}=r;return xe(o,t.inputs?.length&&n?.length?Ko(t.inputs,n):"0x")}function Ob(e){return dp(e)}function RE(e){let t=e.find(r=>r.type==="constructor");if(!t)throw new Wo({name:"constructor"});return t}Ke();function Hb(...e){let[t,r=[]]=(()=>{if(Array.isArray(e[0])){let[m,u,p]=e;return[Ub(m,u,{args:p}),p]}let[a,c]=e;return[a,c]})(),{overloads:o}=t,n=o?Ub([t,...o],t.name,{args:r}):t,s=ME(n),i=r.length>0?Ko(n.inputs,r):void 0;return i?xe(s,i):s}function Tn(e,t={}){return dp(e,t)}function Ub(e,t,r){let o=Fa(e,t,r);if(o.type!=="function")throw new Wo({name:t,type:"function"});return o}function ME(e){return ad(e)}ve();var jb="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",fr="0x0000000000000000000000000000000000000000";Ca();H();$t();var DE="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function Gb(e,t){let{blockNumber:r,blockTag:o,calls:n,stateOverrides:s,traceAssetChanges:i,traceTransfers:a,validation:c}=t,m=t.account?j(t.account):void 0;if(i&&!m)throw new v("`account` is required when `traceAssetChanges` is true");let u=m?zb(Ob("constructor(bytes, bytes)"),{bytecode:bu,args:[DE,Hb(Tn("function getBalance(address)"),[m.address])]}):void 0,p=i?await Promise.all(t.calls.map(async L=>{if(!L.data&&!L.abi)return;let{accessList:ke}=await Lu(e,{account:m.address,...L,data:L.abi?le(L):L.data});return ke.map(({address:hr,storageKeys:yo})=>yo.length>0?hr:null)})).then(L=>L.flat().filter(Boolean)):[],f=await Ma(e,{blockNumber:r,blockTag:o,blocks:[...i?[{calls:[{data:u}],stateOverrides:s},{calls:p.map((L,ke)=>({abi:[Tn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:L,from:fr,nonce:ke})),stateOverrides:[{address:fr,nonce:0}]}]:[],{calls:[...n,{}].map(L=>({...L,from:m?.address})),stateOverrides:s},...i?[{calls:[{data:u}]},{calls:p.map((L,ke)=>({abi:[Tn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:L,from:fr,nonce:ke})),stateOverrides:[{address:fr,nonce:0}]},{calls:p.map((L,ke)=>({to:L,abi:[Tn("function decimals() returns (uint256)")],functionName:"decimals",from:fr,nonce:ke})),stateOverrides:[{address:fr,nonce:0}]},{calls:p.map((L,ke)=>({to:L,abi:[Tn("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:fr,nonce:ke})),stateOverrides:[{address:fr,nonce:0}]},{calls:p.map((L,ke)=>({to:L,abi:[Tn("function symbol() returns (string)")],functionName:"symbol",from:fr,nonce:ke})),stateOverrides:[{address:fr,nonce:0}]}]:[]],traceTransfers:a,validation:c}),d=i?f[2]:f[0],[h,g,,y,b,x,w,S]=i?f:[],{calls:I,...P}=d,_=I.slice(0,-1)??[],B=h?.calls??[],R=g?.calls??[],M=[...B,...R].map(L=>L.status==="success"?ae(L.data):null),U=y?.calls??[],G=b?.calls??[],V=[...U,...G].map(L=>L.status==="success"?ae(L.data):null),ue=(x?.calls??[]).map(L=>L.status==="success"?L.result:null),Ae=(S?.calls??[]).map(L=>L.status==="success"?L.result:null),Je=(w?.calls??[]).map(L=>L.status==="success"?L.result:null),Nt=[];for(let[L,ke]of V.entries()){let hr=M[L];if(typeof ke!="bigint"||typeof hr!="bigint")continue;let yo=ue[L-1],pe=Ae[L-1],bo=Je[L-1],rr=L===0?{address:jb,decimals:18,symbol:"ETH"}:{address:p[L-1],decimals:bo||yo?Number(yo??1):void 0,symbol:pe??void 0};Nt.some(df=>df.token.address===rr.address)||Nt.push({token:rr,value:{pre:hr,post:ke,diff:ke-hr}})}return{assetChanges:Nt,block:P,results:_}}var Da={};gf(Da,{InvalidWrappedSignatureError:()=>hp,assert:()=>md,from:()=>zE,magicBytes:()=>cd,universalSignatureValidatorAbi:()=>LE,universalSignatureValidatorBytecode:()=>NE,unwrap:()=>Vb,validate:()=>UE,wrap:()=>OE});Ct();Ke();var cd="0x6492649264926492649264926492649264926492649264926492649264926492",NE="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",LE=[{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 md(e){if(ge(e,-32)!==cd)throw new hp(e)}function zE(e){return typeof e=="string"?Vb(e):e}function Vb(e){md(e);let[t,r,o]=wi(Ta("address, bytes, bytes"),e);return{data:r,signature:o,to:t}}function OE(e){let{data:t,signature:r,to:o}=e;return xe(Ko(Ta("address, bytes, bytes"),[o,t,r]),cd)}function UE(e){try{return md(e),!0}catch{return!1}}var hp=class extends F{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"})}};Ho();Ca();To();xu();$t();ko();vn();at();_t();De();D();De();Ge();import{secp256k1 as HE}from"@noble/curves/secp256k1";function gp({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 HE.Signature(ae(e),ae(t)).toCompactHex()}${s===0?"1b":"1c"}`;return r==="hex"?i:Ne(i)}li();async function Jo(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?gp(a):Q(a)})();try{return Ba.validate(i)?await jE(e,{...t,multicallAddress:s,signature:i}):await GE(e,{...t,verifierAddress:n,signature:i})}catch(a){try{if(Zt(ys(r),await Xm({hash:o,signature:i})))return!0}catch{}if(a instanceof oo)return!1;throw a}}async function jE(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,multicallAddress:i}=t,{authorization:a,data:c,signature:m,to:u}=Ba.unwrap(t.signature);if(await Ia(e,{address:r,blockNumber:o,blockTag:n})===Ve(["0xef0100",a.address]))return await VE(e,{address:r,blockNumber:o,blockTag:n,hash:s,signature:m});let f={address:a.address,chainId:Number(a.chainId),nonce:Number(a.nonce),r:E(a.r,{size:32}),s:E(a.s,{size:32}),yParity:a.yParity};if(!await Qy({address:r,authorization:f}))throw new oo;let h=await T(e,Re,"readContract")({...i?{address:i}:{code:pi},authorizationList:[f],abi:Cn,blockNumber:o,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:u??r,callData:c}]:[],{allowFailure:!0,target:r,callData:le({abi:hl,functionName:"isValidSignature",args:[s,m]})}]]});if(h[h.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new oo}async function GE(e,t){let{address:r,factory:o,factoryData:n,hash:s,signature:i,verifierAddress:a,...c}=t,m=await(async()=>!o&&!n||Da.validate(i)?i:Da.wrap({data:n,signature:i,to:o}))(),u=a?{to:a,data:le({abi:gl,functionName:"isValidSig",args:[r,s,m]}),...c}:{data:En({abi:gl,args:[r,s,m],bytecode:yy}),...c},{data:p}=await T(e,Ar,"call")(u).catch(f=>{throw f instanceof Ts?new oo:f});if(If(p??"0x0"))return!0;throw new oo}async function VE(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,signature:i}=t;if((await T(e,Re,"readContract")({address:r,abi:hl,args:[s,i],blockNumber:o,blockTag:n,functionName:"isValidSignature"}).catch(c=>{throw c instanceof $s?new oo:c})).startsWith("0x1626ba7e"))return!0;throw new oo}var oo=class extends Error{};async function qb(e,{address:t,message:r,factory:o,factoryData:n,signature:s,...i}){let a=xi(r);return Jo(e,{address:t,factory:o,factoryData:n,hash:a,signature:s,...i})}async function Kb(e,t){let{address:r,factory:o,factoryData:n,signature:s,message:i,primaryType:a,types:c,domain:m,...u}=t,p=Wu({message:i,primaryType:a,types:c,domain:m});return Jo(e,{address:r,factory:o,factoryData:n,hash:p,signature:s,...u})}At();vu();et();De();et();function yp(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:o,onError:n,poll:s,pollingInterval:i=e.pollingInterval}){let a=typeof s<"u"?s:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),c;return a?(()=>{let p=J(["watchBlockNumber",e.uid,t,r,i]);return nt(p,{onBlockNumber:o,onError:n},f=>Xt(async()=>{try{let d=await T(e,Pr,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(d===c)return;if(d-c>1&&r)for(let h=c+1n;h<d;h++)f.onBlockNumber(h,c),c=h}(c===void 0||d>c)&&(f.onBlockNumber(d,c),c=d)}catch(d){f.onError?.(d)}},{emitOnBegin:t,interval:i}))})():(()=>{let p=J(["watchBlockNumber",e.uid,t,r]);return nt(p,{onBlockNumber:o,onError:n},f=>{let d=!0,h=()=>d=!1;return(async()=>{try{let g=(()=>{if(e.transport.type==="fallback"){let b=e.transport.transports.find(x=>x.config.type==="webSocket"||x.config.type==="ipc");return b?b.value:e.transport}return e.transport})(),{unsubscribe:y}=await g.subscribe({params:["newHeads"],onData(b){if(!d)return;let x=ae(b.result?.number);f.onBlockNumber(x,c),c=x},onError(b){f.onError?.(b)}});h=y,d||h()}catch(g){n?.(g)}})(),()=>h()})})()}async function bp(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=J(["waitForTransactionReceipt",e.uid,n]),u=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,p,f,d,h=!1,g,y,{promise:b,resolve:x,reject:w}=fi(),S=c?setTimeout(()=>{y?.(),g?.(),w(new Bc({hash:n}))},c):void 0;return g=nt(m,{onReplaced:s,resolve:x,reject:w},async I=>{if(d=await T(e,Ei,"getTransactionReceipt")({hash:n}).catch(()=>{}),d&&o<=1){clearTimeout(S),I.resolve(d),g?.();return}y=T(e,yp,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(P){let _=R=>{clearTimeout(S),y?.(),R(),g?.()},B=P;if(!h)try{if(d){if(o>1&&(!d.blockNumber||B-d.blockNumber+1n<o))return;_(()=>I.resolve(d));return}if(r&&!p&&(h=!0,await kn(async()=>{p=await T(e,Ci,"getTransaction")({hash:n}),p.blockNumber&&(B=p.blockNumber)},{delay:a,retryCount:i}),h=!1),d=await T(e,Ei,"getTransactionReceipt")({hash:n}),o>1&&(!d.blockNumber||B-d.blockNumber+1n<o))return;_(()=>I.resolve(d))}catch(R){if(R instanceof Qn||R instanceof es){if(!p){h=!1;return}try{f=p,h=!0;let M=await kn(()=>T(e,ot,"getBlock")({blockNumber:B,includeTransactions:!0}),{delay:a,retryCount:i,shouldRetry:({error:V})=>V instanceof Qs});h=!1;let U=M.transactions.find(({from:V,nonce:ue})=>V===f.from&&ue===f.nonce);if(!U||(d=await T(e,Ei,"getTransactionReceipt")({hash:U.hash}),o>1&&(!d.blockNumber||B-d.blockNumber+1n<o)))return;let G="replaced";U.to===f.to&&U.value===f.value&&U.input===f.input?G="repriced":U.from===U.to&&U.value===0n&&(G="cancelled"),_(()=>{I.onReplaced?.({reason:G,replacedTransaction:f,transaction:U,transactionReceipt:d}),I.resolve(d)})}catch(M){_(()=>I.reject(M))}}else _(()=>I.reject(R))}}})}),b}et();function Wb(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:o=!1,onBlock:n,onError:s,includeTransactions:i,poll:a,pollingInterval:c=e.pollingInterval}){let m=typeof a<"u"?a:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),u=i??!1,p;return m?(()=>{let h=J(["watchBlocks",e.uid,t,r,o,u,c]);return nt(h,{onBlock:n,onError:s},g=>Xt(async()=>{try{let y=await T(e,ot,"getBlock")({blockTag:t,includeTransactions:u});if(y.number!==null&&p?.number!=null){if(y.number===p.number)return;if(y.number-p.number>1&&r)for(let b=p?.number+1n;b<y.number;b++){let x=await T(e,ot,"getBlock")({blockNumber:b,includeTransactions:u});g.onBlock(x,p),p=x}}(p?.number==null||t==="pending"&&y?.number==null||y.number!==null&&y.number>p.number)&&(g.onBlock(y,p),p=y)}catch(y){g.onError?.(y)}},{emitOnBegin:o,interval:c}))})():(()=>{let h=!0,g=!0,y=()=>h=!1;return(async()=>{try{o&&T(e,ot,"getBlock")({blockTag:t,includeTransactions:u}).then(w=>{h&&g&&(n(w,void 0),g=!1)}).catch(s);let b=(()=>{if(e.transport.type==="fallback"){let w=e.transport.transports.find(S=>S.config.type==="webSocket"||S.config.type==="ipc");return w?w.value:e.transport}return e.transport})(),{unsubscribe:x}=await b.subscribe({params:["newHeads"],async onData(w){if(!h)return;let S=await T(e,ot,"getBlock")({blockNumber:w.result?.number,includeTransactions:u}).catch(()=>{});h&&(n(S,p),g=!1,p=S)},onError(w){s?.(w)}});y=x,h||y()}catch(b){s?.(b)}})(),()=>y()})()}we();Zs();et();function Jb(e,{address:t,args:r,batch:o=!0,event:n,events:s,fromBlock:i,onError:a,onLogs:c,poll:m,pollingInterval:u=e.pollingInterval,strict:p}){let f=typeof m<"u"?m:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),d=p??!1;return f?(()=>{let y=J(["watchEvent",t,r,o,e.uid,n,u,i]);return nt(y,{onLogs:c,onError:a},b=>{let x;i!==void 0&&(x=i-1n);let w,S=!1,I=Xt(async()=>{if(!S){try{w=await T(e,zu,"createEventFilter")({address:t,args:r,event:n,events:s,strict:d,fromBlock:i})}catch{}S=!0;return}try{let P;if(w)P=await T(e,jo,"getFilterChanges")({filter:w});else{let _=await T(e,Pr,"getBlockNumber")({});x&&x!==_?P=await T(e,ni,"getLogs")({address:t,args:r,event:n,events:s,fromBlock:x+1n,toBlock:_}):P=[],x=_}if(P.length===0)return;if(o)b.onLogs(P);else for(let _ of P)b.onLogs([_])}catch(P){w&&P instanceof Cr&&(S=!1),b.onError?.(P)}},{emitOnBegin:!0,interval:u});return async()=>{w&&await T(e,Go,"uninstallFilter")({filter:w}),I()}})})():(()=>{let y=!0,b=()=>y=!1;return(async()=>{try{let x=(()=>{if(e.transport.type==="fallback"){let P=e.transport.transports.find(_=>_.config.type==="webSocket"||_.config.type==="ipc");return P?P.value:e.transport}return e.transport})(),w=s??(n?[n]:void 0),S=[];w&&(S=[w.flatMap(_=>Sr({abi:[_],eventName:_.name,args:r}))],n&&(S=S[0]));let{unsubscribe:I}=await x.subscribe({params:["logs",{address:t,topics:S}],onData(P){if(!y)return;let _=P.result;try{let{eventName:B,args:R}=oi({abi:w??[],data:_.data,topics:_.topics,strict:d}),M=Qe(_,{args:R,eventName:B});c([M])}catch(B){let R,M;if(B instanceof mr||B instanceof yr){if(p)return;R=B.abiItem.name,M=B.abiItem.inputs?.some(G=>!("name"in G&&G.name))}let U=Qe(_,{args:M?[]:{},eventName:R});c([U])}},onError(P){a?.(P)}});b=I,y||b()}catch(x){a?.(x)}})(),()=>b()})()}et();function Zb(e,{batch:t=!0,onError:r,onTransactions:o,poll:n,pollingInterval:s=e.pollingInterval}){return(typeof n<"u"?n:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{let m=J(["watchPendingTransactions",e.uid,t,s]);return nt(m,{onTransactions:o,onError:r},u=>{let p,f=Xt(async()=>{try{if(!p)try{p=await T(e,Ou,"createPendingTransactionFilter")({});return}catch(h){throw f(),h}let d=await T(e,jo,"getFilterChanges")({filter:p});if(d.length===0)return;if(t)u.onTransactions(d);else for(let h of d)u.onTransactions([h])}catch(d){u.onError?.(d)}},{emitOnBegin:!0,interval:s});return async()=>{p&&await T(e,Go,"uninstallFilter")({filter:p}),f()}})})():(()=>{let m=!0,u=()=>m=!1;return(async()=>{try{let{unsubscribe:p}=await e.transport.subscribe({params:["newPendingTransactions"],onData(f){if(!m)return;let d=f.result;o([d])},onError(f){r?.(f)}});u=p,m||u()}catch(p){r?.(p)}})(),()=>u()})()}function Yb(e){let{scheme:t,statement:r,...o}=e.match(qE)?.groups??{},{chainId:n,expirationTime:s,issuedAt:i,notBefore:a,requestId:c,...m}=e.match(KE)?.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 qE=/^(?:(?<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)?/,KE=/(?: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>.+))?/;Pt();vn();function Xb(e){let{address:t,domain:r,message:o,nonce:n,scheme:s,time:i=new Date}=e;if(r&&o.domain!==r||n&&o.nonce!==n||s&&o.scheme!==s||o.expirationTime&&i>=o.expirationTime||o.notBefore&&i<o.notBefore)return!1;try{if(!o.address||!ee(o.address,{strict:!1})||t&&!Zt(o.address,t))return!1}catch{return!1}return!0}async function Qb(e,t){let{address:r,domain:o,message:n,nonce:s,scheme:i,signature:a,time:c=new Date,...m}=t,u=Yb(n);if(!u.address||!Xb({address:r,domain:o,message:u,nonce:s,scheme:i,time:c}))return!1;let f=xi(n);return Jo(e,{address:u.address,hash:f,signature:a,...m})}At();async function ki(e,{serializedTransaction:t,throwOnReceiptRevert:r,timeout:o}){let n=await e.request({method:"eth_sendRawTransactionSync",params:o?[t,E(o)]:[t]},{retryCount:0}),i=(e.chain?.formatters?.transactionReceipt?.format||Ji)(n);if(i.status==="reverted"&&r)throw new ts({receipt:i});return i}function ex(e){return{call:t=>Ar(e,t),createAccessList:t=>Lu(e,t),createBlockFilter:()=>Vy(e),createContractEventFilter:t=>Zm(e,t),createEventFilter:t=>zu(e,t),createPendingTransactionFilter:()=>Ou(e),estimateContractGas:t=>Ug(e,t),estimateGas:t=>ri(e,t),getBalance:t=>qy(e,t),getBlobBaseFee:()=>Ky(e),getBlock:t=>ot(e,t),getBlockNumber:t=>Pr(e,t),getBlockTransactionCount:t=>Wy(e,t),getBytecode:t=>Ia(e,t),getChainId:()=>vt(e),getCode:t=>Ia(e,t),getContractEvents:t=>su(e,t),getEip712Domain:t=>Jy(e,t),getEnsAddress:t=>Dy(e,t),getEnsAvatar:t=>Hy(e,t),getEnsName:t=>jy(e,t),getEnsResolver:t=>Gy(e,t),getEnsText:t=>Nu(e,t),getFeeHistory:t=>Yy(e,t),estimateFeesPerGas:t=>zg(e,t),getFilterChanges:t=>jo(e,t),getFilterLogs:t=>Xy(e,t),getGasPrice:()=>ei(e),getLogs:t=>ni(e,t),getProof:t=>Mb(e,t),estimateMaxPriorityFeePerGas:t=>Lg(e,t),getStorageAt:t=>Fb(e,t),getTransaction:t=>Ci(e,t),getTransactionConfirmations:t=>Db(e,t),getTransactionCount:t=>ti(e,t),getTransactionReceipt:t=>Ei(e,t),multicall:t=>Nb(e,t),prepareTransactionRequest:t=>kr(e,t),readContract:t=>Re(e,t),sendRawTransaction:t=>hi(e,t),sendRawTransactionSync:t=>ki(e,t),simulate:t=>Ma(e,t),simulateBlocks:t=>Ma(e,t),simulateCalls:t=>Gb(e,t),simulateContract:t=>Py(e,t),verifyHash:t=>Jo(e,t),verifyMessage:t=>qb(e,t),verifySiweMessage:t=>Qb(e,t),verifyTypedData:t=>Kb(e,t),uninstallFilter:t=>Go(e,t),waitForTransactionReceipt:t=>bp(e,t),watchBlocks:t=>Wb(e,t),watchBlockNumber:t=>yp(e,t),watchContractEvent:t=>By(e,t),watchEvent:t=>Jb(e,t),watchPendingTransactions:t=>Zb(e,t)}}function $n(e){let{key:t="public",name:r="Public Client"}=e;return Ru({...e,key:t,name:r,type:"publicClient"}).extend(ex)}D();async function tx(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})}xu();function rx(e,t){let{abi:r,args:o,bytecode:n,...s}=t,i=En({abi:r,args:o,bytecode:n});return Vo(e,{...s,...s.authorizationList?{to:null}:{},data:i})}ko();async function ox(e){return e.account?.type==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>Kr(r))}ve();D();async function nx(e,t={}){let{account:r=e.account,chainId:o}=t,n=r?j(r):void 0,s=o?[n?.address,[E(o)]]:[n?.address],i=await e.request({method:"wallet_getCapabilities",params:s}),a={};for(let[c,m]of Object.entries(i)){a[Number(c)]={};for(let[u,p]of Object.entries(m))u==="addSubAccount"&&(u="unstable_addSubAccount"),a[Number(c)][u]=p}return typeof o=="number"?a[o]:a}async function sx(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}ve();vn();async function xp(e,t){let{account:r=e.account,chainId:o,nonce:n}=t;if(!r)throw new qe({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 T(e,vt,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await T(e,ti,"getTransactionCount")({address:s.address,blockTag:"pending"}),(i==="self"||i?.address&&Zt(i.address,s.address))&&(a.nonce+=1)),a}ko();async function ix(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>ys(r))}async function ax(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function cx(e,t){let{chain:r=e.chain}=t,o=t.timeout??Math.max((r?.blockTime??0)*3,5e3),n=await Iu(e,t);return await Au(e,{...t,id:n.id,timeout:o})}ve();H();At();Ys();wo();gs();Qr();var ud=new jt(128);async function vp(e,t){let{account:r=e.account,chain:o=e.chain,accessList:n,authorizationList:s,blobs:i,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,pollingInterval:h,throwOnReceiptRevert:g,type:y,value:b,...x}=t,w=t.timeout??Math.max((o?.blockTime??0)*3,5e3);if(typeof r>"u")throw new qe({docsPath:"/docs/actions/wallet/sendTransactionSync"});let S=r?j(r):null;try{rt(t);let I=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await No({authorization:s[0]}).catch(()=>{throw new v("`to` is required. Could not infer from `authorizationList`.")})})();if(S?.type==="json-rpc"||S===null){let P;o!==null&&(P=await T(e,vt,"getChainId")({}),bs({currentChainId:P,chain:o}));let _=e.chain?.formatters?.transactionRequest?.format,R=(_||yt)({...Er(x,{format:_}),accessList:n,account:S,authorizationList:s,blobs:i,chainId:P,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,to:I,type:y,value:b},"sendTransaction"),M=ud.get(e.uid),U=M?"wallet_sendTransaction":"eth_sendTransaction",G=await(async()=>{try{return await e.request({method:U,params:[R]},{retryCount:0})}catch(ue){if(M===!1)throw ue;let Ae=ue;if(Ae.name==="InvalidInputRpcError"||Ae.name==="InvalidParamsRpcError"||Ae.name==="MethodNotFoundRpcError"||Ae.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[R]},{retryCount:0}).then(Je=>(ud.set(e.uid,!0),Je)).catch(Je=>{let Nt=Je;throw Nt.name==="MethodNotFoundRpcError"||Nt.name==="MethodNotSupportedRpcError"?(ud.set(e.uid,!1),Ae):Nt});throw Ae}})(),V=await T(e,bp,"waitForTransactionReceipt")({checkReplacement:!1,hash:G,pollingInterval:h,timeout:w});if(g&&V.status==="reverted")throw new ts({receipt:V});return V}if(S?.type==="local"){let P=await T(e,kr,"prepareTransactionRequest")({account:S,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:f,nonce:d,nonceManager:S.nonceManager,parameters:[...ga,"sidecars"],type:y,value:b,...x,to:I}),_=o?.serializers?.transaction,B=await S.signTransaction(P,{serializer:_});return await T(e,ki,"sendRawTransactionSync")({serializedTransaction:B,throwOnReceiptRevert:g})}throw S?.type==="smart"?new Kt({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Kt({docsPath:"/docs/actions/wallet/sendTransactionSync",type:S?.type})}catch(I){throw I instanceof Kt?I:di(I,{...t,account:S,chain:t.chain||void 0})}}async function mx(e,t){let{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}ve();async function ux(e,t){let{account:r=e.account}=t;if(!r)throw new qe({docsPath:"/docs/eip7702/signAuthorization"});let o=j(r);if(!o.signAuthorization)throw new Kt({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:o.type});let n=await xp(e,t);return o.signAuthorization(n)}ve();D();async function px(e,{account:t=e.account,message:r}){if(!t)throw new qe({docsPath:"/docs/actions/wallet/signMessage"});let o=j(t);if(o.signMessage)return o.signMessage({message:r});let n=typeof r=="string"?or(r):r.raw instanceof Uint8Array?ie(r.raw):r.raw;return e.request({method:"personal_sign",params:[n,o.address]},{retryCount:0})}ve();D();wo();Qr();async function fx(e,t){let{account:r=e.account,chain:o=e.chain,...n}=t;if(!r)throw new qe({docsPath:"/docs/actions/wallet/signTransaction"});let s=j(r);rt({account:s,...t});let i=await T(e,vt,"getChainId")({});o!==null&&bs({currentChainId:i,chain:o});let c=(o?.formatters||e.chain?.formatters)?.transactionRequest?.format||yt;return s.signTransaction?s.signTransaction({...n,chainId:i},{serializer:e.chain?.serializers?.transaction}):await e.request({method:"eth_signTransaction",params:[{...c({...n,account:s},"signTransaction"),chainId:E(i),from:s.address}]},{retryCount:0})}ve();async function lx(e,t){let{account:r=e.account,domain:o,message:n,primaryType:s}=t;if(!r)throw new qe({docsPath:"/docs/actions/wallet/signTypedData"});let i=j(r),a={EIP712Domain:Ku({domain:o}),...t.types};if(qu({domain:o,message:n,primaryType:s,types:a}),i.signTypedData)return i.signTypedData({domain:o,message:n,primaryType:s,types:a});let c=ib({domain:o,message:n,primaryType:s,types:a});return e.request({method:"eth_signTypedData_v4",params:[i.address,c]},{retryCount:0})}D();async function dx(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:E(t)}]},{retryCount:0})}async function hx(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}async function gx(e,t){return Sn.internal(e,vp,"sendTransactionSync",t)}function yx(e){return{addChain:t=>tx(e,t),deployContract:t=>rx(e,t),getAddresses:()=>ox(e),getCallsStatus:t=>_u(e,t),getCapabilities:t=>nx(e,t),getChainId:()=>vt(e),getPermissions:()=>sx(e),prepareAuthorization:t=>xp(e,t),prepareTransactionRequest:t=>kr(e,t),requestAddresses:()=>ix(e),requestPermissions:t=>ax(e,t),sendCalls:t=>Iu(e,t),sendCallsSync:t=>cx(e,t),sendRawTransaction:t=>hi(e,t),sendRawTransactionSync:t=>ki(e,t),sendTransaction:t=>Vo(e,t),sendTransactionSync:t=>vp(e,t),showCallsStatus:t=>mx(e,t),signAuthorization:t=>ux(e,t),signMessage:t=>px(e,t),signTransaction:t=>fx(e,t),signTypedData:t=>lx(e,t),switchChain:t=>dx(e,t),waitForCallsStatus:t=>Au(e,t),watchAsset:t=>hx(e,t),writeContract:t=>Sn(e,t),writeContractSync:t=>gx(e,t)}}function Na(e){let{key:t="wallet",name:r="Wallet Client",transport:o}=e;return Ru({...e,key:t,name:r,transport:o,type:"walletClient"}).extend(yx)}function bx({key:e,methods:t,name:r,request:o,retryCount:n=3,retryDelay:s=150,timeout:i,type:a},c){let m=$u();return{config:{key:e,methods:t,name:r,request:o,retryCount:n,retryDelay:s,timeout:i,type:a},request:tb(o,{methods:t,retryCount:n,retryDelay:s,uid:m}),value:c}}yn();H();var wp=class extends v{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}};xl();function no(e,t={}){let{batch:r,fetchFn:o,fetchOptions:n,key:s="http",methods:i,name:a="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:m,retryDelay:u,raw:p}=t;return({chain:f,retryCount:d,timeout:h})=>{let{batchSize:g=1e3,wait:y=0}=typeof r=="object"?r:{},b=t.retryCount??d,x=h??t.timeout??1e4,w=e||f?.rpcUrls.default.http[0];if(!w)throw new wp;let S=ob(w,{fetchFn:o,fetchOptions:n,onRequest:c,onResponse:m,timeout:x});return bx({key:s,methods:i,name:a,async request({method:I,params:P}){let _={method:I,params:P},{schedule:B}=wu({id:w,wait:y,shouldSplitBatch(G){return G.length>g},fn:G=>S.request({body:G}),sort:(G,V)=>G.id-V.id}),R=async G=>r?B(G):[await S.request({body:G})],[{error:M,result:U}]=await R(_);if(p)return{error:M,result:U};if(M)throw new $o({body:_,error:M,url:w});return U},retryCount:b,retryDelay:u,timeout:x,type:"http"},{fetchOptions:n,url:w})}}_t();D();import{secp256k1 as JE}from"@noble/curves/secp256k1";ar();Pt();function xx(e){if(typeof e=="string"){if(!ee(e,{strict:!1}))throw new ne({address:e});return{address:e,type:"json-rpc"}}if(!ee(e.address,{strict:!1}))throw new ne({address:e.address});return{address:e.address,nonceManager:e.nonceManager,sign:e.sign,signAuthorization:e.signAuthorization,signMessage:e.signMessage,signTransaction:e.signTransaction,signTypedData:e.signTypedData,source:"custom",type:"local"}}_t();Ge();D();import{secp256k1 as WE}from"@noble/curves/secp256k1";var pd=!1;async function Tr({hash:e,privateKey:t,to:r="object"}){let{r:o,s:n,recovery:s}=WE.sign(e.slice(2),t.slice(2),{lowS:!0,extraEntropy:ce(pd,{strict:!1})?Ne(pd):pd}),i={r:E(o,{size:32}),s:E(n,{size:32}),v:s?28n:27n,yParity:s};return r==="bytes"||r==="hex"?gp({...i,to:r}):i}async function vx(e){let{chainId:t,nonce:r,privateKey:o,to:n="object"}=e,s=e.contractAddress??e.address,i=await Tr({hash:Qm({address:s,chainId:t,nonce:r}),privateKey:o,to:n});return n==="object"?{address:s,chainId:t,nonce:r,...i}:i}async function wx({message:e,privateKey:t}){return await Tr({hash:xi(e),privateKey:t,to:"hex"})}Gt();async function Cx(e){let{privateKey:t,transaction:r,serializer:o=Xc}=e,n=r.type==="eip4844"?{...r,sidecars:!1}:r,s=await Tr({hash:se(await o(n)),privateKey:t});return await o(r,s)}async function Ex(e){let{privateKey:t,...r}=e;return await Tr({hash:Wu(r),privateKey:t,to:"hex"})}function La(e,t={}){let{nonceManager:r}=t,o=ie(JE.getPublicKey(e.slice(2),!1)),n=Ym(o);return{...xx({address:n,nonceManager:r,async sign({hash:i}){return Tr({hash:i,privateKey:e,to:"hex"})},async signAuthorization(i){return vx({...i,privateKey:e})},async signMessage({message:i}){return wx({message:i,privateKey:e})},async signTransaction(i,{serializer:a}={}){return Cx({privateKey:e,transaction:i,serializer:a})},async signTypedData(i){return Ex({...i,privateKey:e})}}),publicKey:o,source:"privateKey"}}var GQ=Hi(dd(),1);import{z as Ce}from"zod";var er=Hi(dd(),1),ZI=Hi(Sx(),1),YI=Hi(p1(),1);import{z as Ti}from"zod";import{z as pt}from"zod";var D8=We.object({detail:We.union([We.string(),We.array(We.object({msg:We.string(),type:We.string().optional(),ctx:We.record(We.unknown()).optional(),loc:We.array(We.union([We.string(),We.number()])).optional(),input:We.unknown().optional()}).passthrough()),We.record(We.unknown())]).optional(),type:We.string().optional(),code:We.string().optional()}),Dr=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)}},Ed=class Ip extends Dr{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=D8.safeParse(t.data);return r.success?new Ip(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 Ip(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 Ip(t.message,{request:r??void 0,detail:t.message})}},N8=class extends Dr{constructor(e,t){super(e,t),this.isValidationError=!0,this.validationErrors=t.validationErrors}},L8=class extends Dr{constructor(){super(...arguments),this.isAuthError=!0}},Ap=class extends Dr{constructor(){super(...arguments),this.isBusinessError=!0}},z8=class extends Dr{constructor(){super(...arguments),this.isServerError=!0}},O8=class extends Dr{constructor(){super(...arguments),this.isUnknownError=!0}};function U8(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 y1(e){if(!Array.isArray(e))return{errors:[],message:typeof e=="string"?e:"Validation error"};let t=e.map((n,s)=>{let i=U8(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 H8(e){return e===422?"validation":e===401||e===403?"auth":e>=400&&e<500?"business":e>=500?"server":"unknown"}function j8(e,t,r){if(e===422&&Array.isArray(t)){let{message:o}=y1(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 G8(e){let t=e.status??0,r=e.statusText??"Unknown Error",o=e.detail,n=V8(o);if(n)return new Id(n.message,{status:t,statusText:r,detail:o,errorCode:n.error_code,structuredDetails:n.details,suggestions:n.suggestions,links:n.links});let s=H8(t),i=j8(t,o,e.message),a={status:t,statusText:r,detail:o};if(s==="validation"&&Array.isArray(o)){let{errors:c}=y1(o);return new N8(i,{...a,validationErrors:c})}return s==="auth"?new L8(i,a):s==="business"?new Ap(i,a):s==="server"?new z8(i,a):new O8(i,a)}var Id=class extends Ap{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 V8(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 b1(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
|
|
56
|
-
`)}function
|
|
40
|
+
`,n+=zg(o.state)),o.stateDiff&&(n+=` stateDiff:
|
|
41
|
+
`,n+=zg(o.stateDiff)),n},` State Override:
|
|
42
|
+
`).slice(0,-1)}var Wm,Jm,pf=I(()=>{G();Wm=class extends w{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}},Jm=class extends w{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}});var Hg,hn,Zm=I(()=>{Hg=e=>e,hn=e=>e});var $s,Rs,gn,Ym,Xm,wr,To=I(()=>{Ce();cm();cf();Wr();Lg();Po();Mc();Qn();Ee();G();pf();At();Zm();$s=class extends w{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:p,value:l,stateOverride:d}){let h=r?V(r):void 0,g=mn({from:h?.address,to:p,value:typeof l<"u"&&`${Xn(l)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Ue(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Ue(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Ue(m)} gwei`,nonce:u});d&&(g+=`
|
|
43
|
+
${Og(d)}`),super(t.shortMessage,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",g].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}},Rs=class extends w{constructor(t,{abi:r,args:o,contractAddress:n,docsPath:s,functionName:i,sender:a}){let c=xt({abi:r,args:o,name:i}),m=c?mf({abiItem:c,args:o,includeFunctionName:!1,includeName:!1}):void 0,u=c?ze(c,{includeName:!0}):void 0,p=mn({address:n&&Hg(n),function:u,args:m&&m!=="()"&&`${[...Array(i?.length??0).keys()].map(()=>" ").join("")}${m}`,sender:a});super(t.shortMessage||`An unknown error occurred while executing the contract function "${i}".`,{cause:t,docsPath:s,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],p&&"Contract Call:",p].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=r,this.args=o,this.cause=t,this.contractAddress=n,this.functionName=i,this.sender=a}},gn=class extends w{constructor({abi:t,data:r,functionName:o,message:n}){let s,i,a,c;if(r&&r!=="0x")try{i=Km({abi:t,data:r});let{abiItem:u,errorName:p,args:l}=i;if(p==="Error")c=l[0];else if(p==="Panic"){let[d]=l;c=Vh[d]}else{let d=u?ze(u,{includeName:!0}):void 0,h=u&&l?mf({abiItem:u,args:l,includeFunctionName:!1,includeName:!1}):void 0;a=[d?`Error: ${d}`:"",h&&h!=="()"?` ${[...Array(p?.length??0).keys()].map(()=>" ").join("")}${h}`:""]}}catch(u){s=u}else n&&(c=n);let m;s instanceof ws&&(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}},Ym=class extends w{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"})}},Xm=class extends w{constructor({factory:t}){super(`Deployment for counterfactual contract call failed${t?` for factory "${t}".`:""}`,{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}},wr=class extends w{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,$o,ba,yn=I(()=>{tt();G();Zm();Jt=class extends w{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: ${hn(i)}`,t&&`Request body: ${Z(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}},$o=class extends w{constructor({body:t,error:r,url:o}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${hn(o)}`,`Request body: ${Z(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}},ba=class extends w{constructor({body:t,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${hn(r)}`,`Request body: ${Z(t)}`],name:"TimeoutError"})}}});var IC,rt,ut,Bs,Ms,Fs,Ds,Xr,Cr,Ns,Ls,Us,Ro,bn,zs,xn,Os,Hs,js,Gs,Vs,Bo,qs,Ks,Ws,Js,Zs,Mo,Qm,Ys=I(()=>{G();yn();IC=-1,rt=class extends w{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 $o?t.code:r??IC}},ut=class extends rt{constructor(t,r){super(t,r),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r.data}},Bs=class e extends rt{constructor(t){super(t,{code:e.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}};Object.defineProperty(Bs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});Ms=class e extends rt{constructor(t){super(t,{code:e.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}};Object.defineProperty(Ms,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});Fs=class e extends rt{constructor(t,{method:r}={}){super(t,{code:e.code,name:"MethodNotFoundRpcError",shortMessage:`The method${r?` "${r}"`:""} does not exist / is not available.`})}};Object.defineProperty(Fs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});Ds=class e extends rt{constructor(t){super(t,{code:e.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
|
|
45
|
+
`)})}};Object.defineProperty(Ds,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});Xr=class e extends rt{constructor(t){super(t,{code:e.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}};Object.defineProperty(Xr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});Cr=class e extends rt{constructor(t){super(t,{code:e.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
|
|
46
|
+
`)})}};Object.defineProperty(Cr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});Ns=class e extends rt{constructor(t){super(t,{code:e.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}};Object.defineProperty(Ns,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});Ls=class e extends rt{constructor(t){super(t,{code:e.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}};Object.defineProperty(Ls,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});Us=class e extends rt{constructor(t){super(t,{code:e.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}};Object.defineProperty(Us,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});Ro=class e extends rt{constructor(t,{method:r}={}){super(t,{code:e.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}};Object.defineProperty(Ro,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});bn=class e extends rt{constructor(t){super(t,{code:e.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}};Object.defineProperty(bn,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});zs=class e extends rt{constructor(t){super(t,{code:e.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}};Object.defineProperty(zs,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});xn=class e extends ut{constructor(t){super(t,{code:e.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}};Object.defineProperty(xn,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});Os=class e extends ut{constructor(t){super(t,{code:e.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}};Object.defineProperty(Os,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});Hs=class e extends ut{constructor(t,{method:r}={}){super(t,{code:e.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}};Object.defineProperty(Hs,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});js=class e extends ut{constructor(t){super(t,{code:e.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}};Object.defineProperty(js,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});Gs=class e extends ut{constructor(t){super(t,{code:e.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}};Object.defineProperty(Gs,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});Vs=class e extends ut{constructor(t){super(t,{code:e.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}};Object.defineProperty(Vs,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});Bo=class e extends ut{constructor(t){super(t,{code:e.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}};Object.defineProperty(Bo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});qs=class e extends ut{constructor(t){super(t,{code:e.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}};Object.defineProperty(qs,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});Ks=class e extends ut{constructor(t){super(t,{code:e.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}};Object.defineProperty(Ks,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});Ws=class e extends ut{constructor(t){super(t,{code:e.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}};Object.defineProperty(Ws,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});Js=class e extends ut{constructor(t){super(t,{code:e.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}};Object.defineProperty(Js,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});Zs=class e extends ut{constructor(t){super(t,{code:e.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}};Object.defineProperty(Zs,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});Mo=class e extends ut{constructor(t){super(t,{code:e.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}};Object.defineProperty(Mo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});Qm=class extends rt{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}});function Fo(e,t){let r=(e.details||"").toLowerCase(),o=e instanceof w?e.walk(n=>n?.code===qr.code):e;return o instanceof w?new qr({cause:e,message:o.details}):qr.nodeMessage.test(r)?new qr({cause:e,message:e.details}):Ot.nodeMessage.test(r)?new Ot({cause:e,maxFeePerGas:t?.maxFeePerGas}):ms.nodeMessage.test(r)?new ms({cause:e,maxFeePerGas:t?.maxFeePerGas}):us.nodeMessage.test(r)?new us({cause:e,nonce:t?.nonce}):ps.nodeMessage.test(r)?new ps({cause:e,nonce:t?.nonce}):ls.nodeMessage.test(r)?new ls({cause:e,nonce:t?.nonce}):fs.nodeMessage.test(r)?new fs({cause:e}):ds.nodeMessage.test(r)?new ds({cause:e,gas:t?.gas}):hs.nodeMessage.test(r)?new hs({cause:e,gas:t?.gas}):gs.nodeMessage.test(r)?new gs({cause:e}):gr.nodeMessage.test(r)?new gr({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Ht({cause:e})}var xa=I(()=>{G();So()});function eu(e,{docsPath:t,...r}){let o=(()=>{let n=Fo(e,r);return n instanceof Ht?e:n})();return new $s(o,{docsPath:t,...r})}var lf=I(()=>{To();So();xa()});function Er(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 Xs=I(()=>{});function ot(e){let{account:t,gasPrice:r,maxFeePerGas:o,maxPriorityFeePerGas:n,to:s}=e,i=t?V(t):void 0;if(i&&!te(i.address))throw new ie({address:i.address});if(s&&!te(s))throw new ie({address:s});if(typeof r<"u"&&(typeof o<"u"||typeof n<"u"))throw new Fc;if(o&&o>Jn)throw new Ot({maxFeePerGas:o});if(n&&o&&n>o)throw new gr({maxFeePerGas:o,maxPriorityFeePerGas:n})}var Qr=I(()=>{Ce();Ul();ar();So();At();Pt()});function qg(e){let{abi:t,args:r,functionName:o}=e,n=t[0];if(o){let s=xt({abi:t,args:r,name:o});if(!s)throw new cr(o,{docsPath:Vg});n=s}if(n.type!=="function")throw new cr(void 0,{docsPath:Vg});return{abi:[n],functionName:xr(ze(n))}}var Vg,Kg=I(()=>{Ee();Ps();Wr();Po();Vg="/docs/contract/encodeFunctionData"});function de(e){let{args:t}=e,{abi:r,functionName:o}=e.abi.length===1&&e.functionName?.startsWith("0x")?e:qg(e),n=r[0],s=o,i="inputs"in n&&n.inputs?mt(n.inputs,t??[]):void 0;return qe([s,i??"0x"])}var $t=I(()=>{ct();Zr();Kg()});function Yg(e){if(!(!e||e.length===0))return e.reduce((t,{slot:r,value:o})=>{if(r.length!==66)throw new Yi({size:r.length,targetSize:66,type:"hex"});if(o.length!==66)throw new Yi({size:o.length,targetSize:66,type:"hex"});return t[r]=o,t},{})}function AC(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=Yg(o)),n!==void 0){if(i.state)throw new Jm;i.stateDiff=Yg(n)}return i}function Qs(e){if(!e)return;let t={};for(let{address:r,...o}of e){if(!te(r,{strict:!1}))throw new ie({address:r});if(t[r])throw new Wm({address:r});t[r]=AC(o)}return t}var cu=I(()=>{ar();kc();pf();Pt();D()});function Zt(e,t){if(!te(e,{strict:!1}))throw new ie({address:e});if(!te(t,{strict:!1}))throw new ie({address:t});return e.toLowerCase()===t.toLowerCase()}var vn=I(()=>{ar();Pt()});function wt(e){let{abi:t,args:r,functionName:o,data:n}=e,s=t[0];if(o){let a=xt({abi:t,args:r,name:o});if(!a)throw new cr(o,{docsPath:df});s=a}if(s.type!=="function")throw new cr(void 0,{docsPath:df});if(!s.outputs)throw new Es(s.name,{docsPath:df});let i=Yr(s.outputs,n);if(i&&i.length>1)return i;if(i&&i.length===1)return i[0]}var df,Uo=I(()=>{Ee();ga();Po();df="/docs/contract/decodeFunctionResult"});var oy,ny=I(()=>{oy="0.1.1"});function sy(){return oy}var iy=I(()=>{ny()});function ay(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?ay(e.cause,t):t?null:e}var F,Ct=I(()=>{iy();F=class e extends Error{constructor(t,r={}){let o=(()=>{if(r.cause instanceof e){if(r.cause.details)return r.cause.details;if(r.cause.shortMessage)return r.cause.shortMessage}return r.cause&&"details"in r.cause&&typeof r.cause.details=="string"?r.cause.details:r.cause?.message?r.cause.message:r.details})(),n=r.cause instanceof e&&r.cause.docsPath||r.docsPath,i=`https://oxlib.sh${n??""}`,a=[t||"An error occurred.",...r.metaMessages?["",...r.metaMessages]:[],...o||n?["",o?`Details: ${o}`:void 0,n?`See: ${i}`:void 0]:[]].filter(c=>typeof c=="string").join(`
|
|
47
|
+
`);super(a,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${sy()}`}),this.cause=r.cause,this.details=o,this.docs=i,this.docsPath=n,this.shortMessage=t}walk(t){return ay(this,t)}}});function ii(e,t){if(Yt(e)>t)throw new fu({givenSize:Yt(e),maxSize:t})}function cy(e,t){if(typeof t=="number"&&t>0&&t>Yt(e)-1)throw new wa({offset:t,position:"start",size:Yt(e)})}function my(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Yt(e)!==r-t)throw new wa({offset:r,position:"end",size:Yt(e)})}function hf(e){if(e>=eo.zero&&e<=eo.nine)return e-eo.zero;if(e>=eo.A&&e<=eo.F)return e-(eo.A-10);if(e>=eo.a&&e<=eo.f)return e-(eo.a-10)}function uy(e,t={}){let{dir:r,size:o=32}=t;if(o===0)return e;if(e.length>o)throw new du({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 gf(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 eo,py=I(()=>{zo();eo={zero:48,nine:57,A:65,F:70,a:97,f:102}});function ai(e,t){if(ye(e)>t)throw new hu({givenSize:ye(e),maxSize:t})}function ly(e,t){if(typeof t=="number"&&t>0&&t>ye(e)-1)throw new Ca({offset:t,position:"start",size:ye(e)})}function fy(e,t,r){if(typeof t=="number"&&typeof r=="number"&&ye(e)!==r-t)throw new Ca({offset:r,position:"end",size:ye(e)})}function yf(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 gu({size:Math.ceil(n.length/2),targetSize:o,type:"Hex"});return`0x${n[r==="right"?"padEnd":"padStart"](o*2,"0")}`}function dy(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 bf=I(()=>{We()});function Oo(e,t,r){return JSON.stringify(e,(o,n)=>typeof t=="function"?t(o,n):typeof n=="bigint"?n.toString()+RC:n,r)}var RC,Ea=I(()=>{RC="#__bigint"});import{equalBytes as z7}from"@noble/curves/abstract/utils";function FC(e){if(!(e instanceof Uint8Array)){if(!e)throw new ci(e);if(typeof e!="object")throw new ci(e);if(!("BYTES_PER_ELEMENT"in e))throw new ci(e);if(e.BYTES_PER_ELEMENT!==1||e.constructor.name!=="Uint8Array")throw new ci(e)}}function gy(e){return e instanceof Uint8Array?e:typeof e=="string"?mi(e):DC(e)}function DC(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function mi(e,t={}){let{size:r}=t,o=e;r&&(ai(e,r),o=_r(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=hf(n.charCodeAt(c++)),u=hf(n.charCodeAt(c++));if(m===void 0||u===void 0)throw new F(`Invalid byte sequence ("${n[c-2]}${n[c-1]}" in "${n}").`);i[a]=m*16+u}return i}function yy(e,t={}){let{size:r}=t,o=MC.encode(e);return typeof r=="number"?(ii(o,r),NC(o,r)):o}function NC(e,t){return uy(e,{dir:"right",size:t})}function Yt(e){return e.length}function by(e,t,r,o={}){let{strict:n}=o;cy(e,t);let s=e.slice(t,r);return n&&my(s,t,r),s}function xy(e,t={}){let{size:r}=t;typeof r<"u"&&ii(e,r);let o=$e(e,t);return wf(o,t)}function vy(e,t={}){let{size:r}=t,o=e;if(typeof r<"u"&&(ii(o,r),o=vf(o)),o.length>1||o[0]>1)throw new xf(o);return!!o[0]}function Ir(e,t={}){let{size:r}=t;typeof r<"u"&&ii(e,r);let o=$e(e,t);return bu(o,t)}function wy(e,t={}){let{size:r}=t,o=e;return typeof r<"u"&&(ii(o,r),o=LC(o)),BC.decode(o)}function vf(e){return gf(e,{dir:"left"})}function LC(e){return gf(e,{dir:"right"})}function Cy(e){try{return FC(e),!0}catch{return!1}}var BC,MC,xf,ci,fu,wa,du,zo=I(()=>{Ct();We();py();bf();Ea();BC=new TextDecoder,MC=new TextEncoder;xf=class extends F{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"})}},ci=class extends F{constructor(t){super(`Value \`${typeof t=="object"?Oo(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"})}},fu=class extends F{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"})}},wa=class extends F{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"})}},du=class extends F{constructor({size:t,targetSize:r,type:o}){super(`${o.charAt(0).toUpperCase()}${o.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}}});import{equalBytes as H7}from"@noble/curves/abstract/utils";function OC(e,t={}){let{strict:r=!1}=t;if(!e)throw new xu(e);if(typeof e!="string")throw new xu(e);if(r&&!/^0x[0-9a-fA-F]*$/.test(e))throw new vu(e);if(!e.startsWith("0x"))throw new vu(e)}function we(...e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}function ui(e){return e instanceof Uint8Array?$e(e):Array.isArray(e)?$e(new Uint8Array(e)):e}function wu(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(ai(r,t.size),to(r,t.size)):r}function $e(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=zC[e[n]];let o=`0x${r}`;return typeof t.size=="number"?(ai(o,t.size),_r(o,t.size)):o}function oe(e,t={}){let{signed:r,size:o}=t,n=BigInt(e),s;o?r?s=(1n<<BigInt(o)*8n-1n)-1n:s=2n**(BigInt(o)*8n)-1n:typeof e=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));let i=typeof s=="bigint"&&r?-s-1n:0;if(s&&n>s||n<i){let m=typeof e=="bigint"?"n":"";throw new Sa({max:s?`${s}${m}`:void 0,min:`${i}${m}`,signed:r,size:o,value:`${e}${m}`})}let c=`0x${(r&&n<0?(1n<<BigInt(o*8))+BigInt(n):n).toString(16)}`;return o?to(c,o):c}function pi(e,t={}){return $e(UC.encode(e),t)}function to(e,t){return yf(e,{dir:"left",size:t})}function _r(e,t){return yf(e,{dir:"right",size:t})}function be(e,t,r,o={}){let{strict:n}=o;ly(e,t);let s=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return n&&fy(s,t,r),s}function ye(e){return Math.ceil((e.length-2)/2)}function Cf(e){return dy(e,{dir:"left"})}function wf(e,t={}){let{signed:r}=t;t.size&&ai(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 bu(e,t={}){let{signed:r,size:o}=t;return Number(!r&&!o?e:wf(e,t))}function ka(e,t={}){let{strict:r=!1}=t;try{return OC(e,{strict:r}),!0}catch{return!1}}var UC,zC,Sa,xu,vu,hu,Ca,gu,We=I(()=>{Ct();bf();Ea();UC=new TextEncoder,zC=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));Sa=class extends F{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"})}},xu=class extends F{constructor(t){super(`Value \`${typeof t=="object"?Oo(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"})}},vu=class extends F{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"})}},hu=class extends F{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"})}},Ca=class extends F{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"})}},gu=class extends F{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 Ey(e){return{address:e.address,amount:oe(e.amount),index:oe(e.index),validatorIndex:oe(e.validatorIndex)}}var Sy=I(()=>{We()});function Cu(e){return{...typeof e.baseFeePerGas=="bigint"&&{baseFeePerGas:oe(e.baseFeePerGas)},...typeof e.blobBaseFee=="bigint"&&{blobBaseFee:oe(e.blobBaseFee)},...typeof e.feeRecipient=="string"&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit=="bigint"&&{gasLimit:oe(e.gasLimit)},...typeof e.number=="bigint"&&{number:oe(e.number)},...typeof e.prevRandao=="bigint"&&{prevRandao:oe(e.prevRandao)},...typeof e.time=="bigint"&&{time:oe(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Ey)}}}var Ef=I(()=>{We();Sy()});var Cn,Eu,Iy,Su,_y,Sf,kf,If,_f,Ho=I(()=>{Cn=[{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"}],Eu=[{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"}]}],Iy=[{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"}],Su=[...Iy,{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"}]}],_y=[...Iy,{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"}]}],Sf=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],kf=[{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"}]}],If=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],_f=[{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 Ay,Py=I(()=>{Ay="0x82ad56cb"});var ku,Ty,$y,li,Ia=I(()=>{ku="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",Ty="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",$y="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",li="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033"});function En(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 um({docsPath:Af});if(!("inputs"in n))throw new ma({docsPath:Af});if(!n.inputs||n.inputs.length===0)throw new ma({docsPath:Af});let s=mt(n.inputs,r);return qe([o,s])}var Af,Iu=I(()=>{Ee();ct();Zr();Af="/docs/contract/encodeDeployData"});function fi(){let e=()=>{},t=()=>{};return{promise:new Promise((o,n)=>{e=o,t=n}),resolve:e,reject:t}}var _u=I(()=>{});function Au({fn:e,id:t,shouldSplitBatch:r,wait:o=0,sort:n}){let s=async()=>{let u=c();i();let p=u.map(({args:l})=>l);p.length!==0&&e(p).then(l=>{n&&Array.isArray(l)&&l.sort(n);for(let d=0;d<u.length;d++){let{resolve:h}=u[d];h?.([l[d],l])}}).catch(l=>{for(let d=0;d<u.length;d++){let{reject:h}=u[d];h?.(l)}})},i=()=>Pf.delete(t),a=()=>c().map(({args:u})=>u),c=()=>Pf.get(t)||[],m=u=>Pf.set(t,[...c(),u]);return{flush:i,async schedule(u){let{promise:p,resolve:l,reject:d}=fi();return r?.([...a(),u])&&s(),c().length>0?(m({args:u,resolve:l,reject:d}),p):(m({args:u,resolve:l,reject:d}),setTimeout(s,o),p)}}}var Pf,Tf=I(()=>{_u();Pf=new Map});var Pu,Tu,$u,Ry=I(()=>{tt();G();Zm();Pu=class extends w{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=>` ${hn(a)}`)],` Sender: ${s}`,` Data: ${o}`,` Callback selector: ${t}`,` Extra data: ${n}`].flat(),name:"OffchainLookupError"})}},Tu=class extends w{constructor({result:t,url:r}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${hn(r)}`,`Response: ${Z(t)}`],name:"OffchainLookupResponseMalformedError"})}},$u=class extends w{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 By(e){let{abi:t,data:r}=e,o=Vt(r,0,4),n=t.find(s=>s.type==="function"&&o===xr(ze(s)));if(!n)throw new gm(o,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:n.name,args:"inputs"in n&&n.inputs&&n.inputs.length>0?Yr(n.inputs,Vt(r,4)):void 0}}var My=I(()=>{Ee();Io();Ps();ga();Wr()});function Rf(e){let{abi:t,errorName:r,args:o}=e,n=t[0];if(r){let c=xt({abi:t,args:o,name:r});if(!c)throw new ua(r,{docsPath:$f});n=c}if(n.type!=="error")throw new ua(void 0,{docsPath:$f});let s=ze(n),i=xr(s),a="0x";if(o&&o.length>0){if(!n.inputs)throw new dm(n.name,{docsPath:$f});a=mt(n.inputs,o)}return qe([i,a])}var $f,Fy=I(()=>{Ee();ct();Ps();Zr();Wr();Po();$f="/docs/contract/encodeErrorResult"});function Dy(e){let{abi:t,functionName:r,result:o}=e,n=t[0];if(r){let i=xt({abi:t,name:r});if(!i)throw new cr(r,{docsPath:Bf});n=i}if(n.type!=="function")throw new cr(void 0,{docsPath:Bf});if(!n.outputs)throw new Es(n.name,{docsPath:Bf});let s=(()=>{if(n.outputs.length===0)return[];if(n.outputs.length===1)return[o];if(Array.isArray(o))return o;throw new Ss(o)})();return mt(n.outputs,s)}var Bf,Ny=I(()=>{Ee();Zr();Po();Bf="/docs/contract/encodeFunctionResult"});async function Mf(e){let{data:t,ccipRequest:r}=e,{args:[o]}=By({abi:Eu,data:t}),n=[],s=[];return await Promise.all(o.map(async(i,a)=>{try{s[a]=i.urls.includes(ro)?await Mf({data:i.data,ccipRequest:r}):await r(i),n[a]=!1}catch(c){n[a]=!0,s[a]=jC(c)}})),Dy({abi:Eu,functionName:"query",result:[n,s]})}function jC(e){return e.name==="HttpRequestError"&&e.status?Rf({abi:Eu,errorName:"HttpError",args:[e.status,e.shortMessage]}):Rf({abi:[am],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}var ro,_a=I(()=>{Ho();cm();My();Fy();Ny();ro="x-batch-gateway:true"});var zy={};Il(zy,{ccipRequest:()=>Uy,offchainLookup:()=>VC,offchainLookupAbiItem:()=>Ly,offchainLookupSignature:()=>GC});async function VC(e,{blockNumber:t,blockTag:r,data:o,to:n}){let{args:s}=Km({data:o,abi:[Ly]}),[i,a,c,m,u]=s,{ccipRead:p}=e,l=p&&typeof p?.request=="function"?p.request:Uy;try{if(!Zt(n,i))throw new $u({sender:i,to:n});let d=a.includes(ro)?await Mf({data:c,ccipRequest:l}):await l({data:c,sender:i,urls:a}),{data:h}=await Ar(e,{blockNumber:t,blockTag:r,data:Me([m,mt([{type:"bytes"},{type:"bytes"}],[d,u])]),to:n});return h}catch(d){throw new Pu({callbackSelector:m,cause:d,data:o,extraData:u,sender:i,urls:a})}}async function Uy({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?Z(u.error):m.statusText,headers:m.headers,status:m.status,url:s});continue}if(!ue(u)){o=new Tu({result:u,url:s});continue}return u}catch(m){o=new Jt({body:a,details:m.message,url:s})}}throw o}var GC,Ly,Oy=I(()=>{di();Ry();yn();cf();Zr();vn();ct();_t();_a();tt();GC="0x556f1830",Ly={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:p,factory:l,factoryData:d,gas:h,gasPrice:g,maxFeePerBlobGas:y,maxFeePerGas:b,maxPriorityFeePerGas:x,nonce:v,to:S,value:A,stateOverride:_,...k}=t,$=r?V(r):void 0;if(u&&(l||d))throw new w("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(u&&S)throw new w("Cannot provide both `code` & `to` as parameters.");let M=u&&p,B=l&&d&&S&&p,L=M||B,U=M?Hy({code:u,data:p}):B?WC({data:p,factory:l,factoryData:d,to:S}):p;try{ot(t);let re=(typeof s=="bigint"?E(s):void 0)||i,K=m?Cu(m):void 0,ge=Qs(_),Nt=e.chain?.formatters?.transactionRequest?.format,Ae=(Nt||yt)({...Er(k,{format:Nt}),accessList:a,account:$,authorizationList:o,blobs:c,data:U,gas:h,gasPrice:g,maxFeePerBlobGas:y,maxFeePerGas:b,maxPriorityFeePerGas:x,nonce:v,to:L?void 0:S,value:A},"call");if(n&&qC({request:Ae})&&!ge&&!K)try{return await KC(e,{...Ae,blockNumber:s,blockTag:i})}catch(le){if(!(le instanceof ra)&&!(le instanceof pn))throw le}let hr=(()=>{let le=[Ae,re];return ge&&K?[...le,ge,K]:ge?[...le,ge]:K?[...le,{},K]:le})(),yo=await e.request({method:"eth_call",params:hr});return yo==="0x"?{data:void 0}:{data:yo}}catch(z){let re=JC(z),{offchainLookup:K,offchainLookupSignature:ge}=await Promise.resolve().then(()=>(Oy(),zy));if(e.ccipRead!==!1&&re?.slice(0,10)===ge&&S)return{data:await K(e,{data:re,to:S})};throw L&&re?.slice(0,10)==="0x101bb98d"?new Xm({factory:l}):eu(z,{...t,account:$,chain:e.chain})}}function qC({request:e}){let{data:t,to:r,...o}=e;return!(!t||t.startsWith(Ay)||!r||Object.values(o).filter(n=>typeof n<"u").length>0)}async function KC(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 qt({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new ra})(),p=(typeof s=="bigint"?E(s):void 0)||i,{schedule:l}=Au({id:`${e.uid}.${p}`,wait:n,shouldSplitBatch(g){return g.reduce((b,{data:x})=>b+(x.length-2),0)>r*2},fn:async g=>{let y=g.map(v=>({allowFailure:!0,callData:v.data,target:v.to})),b=de({abi:Cn,args:[y],functionName:"aggregate3"}),x=await e.request({method:"eth_call",params:[{...m===null?{data:Hy({code:li,data:b})}:{to:m,data:b}},p]});return wt({abi:Cn,args:[y],functionName:"aggregate3",data:x||"0x"})}}),[{returnData:d,success:h}]=await l({data:a,to:c});if(!h)throw new wr({data:d});return d==="0x"?{data:void 0}:{data:d}}function Hy(e){let{code:t,data:r}=e;return En({abi:Om(["constructor(bytes, bytes)"]),bytecode:ku,args:[t,r]})}function WC(e){let{data:t,factory:r,factoryData:o,to:n}=e;return En({abi:Om(["constructor(address, bytes, address, bytes)"]),bytecode:Ty,args:[n,t,r,o]})}function JC(e){if(!(e instanceof w))return;let t=e.walk();return typeof t?.data=="object"?t.data?.data:t.data}var di=I(()=>{da();Ef();Ce();Ho();Py();Ia();G();oa();To();Uo();Iu();$t();fn();D();lf();Xs();wo();Tf();cu();Qr()});var kd=dt(ja=>{"use strict";var b8=ja&&ja.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ja,"__esModule",{value:!0});ja.encryptEnvVars=w8;var Ed=Hr("@noble/curves/ed25519"),Sd=b8(Hr("crypto"));function x8(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 v8(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}async function w8(e,t){let r=JSON.stringify({env:e}),o=Ed.x25519.utils.randomPrivateKey(),n=Ed.x25519.getPublicKey(o),s=x8(t),i=Ed.x25519.getSharedSecret(o,s),a=await Sd.default.subtle.importKey("raw",i,{name:"AES-GCM",length:256},!0,["encrypt"]),c=Sd.default.getRandomValues(new Uint8Array(12)),m=await Sd.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),v8(u)}});var Lx=dt(Ga=>{"use strict";var C8=Ga&&Ga.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ga,"__esModule",{value:!0});Ga.getComposeHash=I8;var E8=C8(Hr("crypto"));function Id(e){return e==null?e:Array.isArray(e)?e.map(Id):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=Id(o),t},{}):e}function S8(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 k8(e){let t=Id(e);return JSON.stringify(t,(r,o)=>typeof o=="number"&&(isNaN(o)||!isFinite(o))?null:o)}function I8(e,t=!1){t&&(e=S8(e));let r=k8(e);return E8.default.createHash("sha256").update(r,"utf8").digest("hex")}});var i1=dt(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0});j.toBig=j.shrSL=j.shrSH=j.rotrSL=j.rotrSH=j.rotrBL=j.rotrBH=j.rotr32L=j.rotr32H=j.rotlSL=j.rotlSH=j.rotlBL=j.rotlBH=j.add5L=j.add5H=j.add4L=j.add4H=j.add3L=j.add3H=void 0;j.add=Qx;j.fromBig=Ad;j.split=Ux;var Pp=BigInt(2**32-1),_d=BigInt(32);function Ad(e,t=!1){return t?{h:Number(e&Pp),l:Number(e>>_d&Pp)}:{h:Number(e>>_d&Pp)|0,l:Number(e&Pp)|0}}function Ux(e,t=!1){let r=e.length,o=new Uint32Array(r),n=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:a}=Ad(e[s],t);[o[s],n[s]]=[i,a]}return[o,n]}var zx=(e,t)=>BigInt(e>>>0)<<_d|BigInt(t>>>0);j.toBig=zx;var Ox=(e,t,r)=>e>>>r;j.shrSH=Ox;var Hx=(e,t,r)=>e<<32-r|t>>>r;j.shrSL=Hx;var jx=(e,t,r)=>e>>>r|t<<32-r;j.rotrSH=jx;var Gx=(e,t,r)=>e<<32-r|t>>>r;j.rotrSL=Gx;var Vx=(e,t,r)=>e<<64-r|t>>>r-32;j.rotrBH=Vx;var qx=(e,t,r)=>e>>>r-32|t<<64-r;j.rotrBL=qx;var Kx=(e,t)=>t;j.rotr32H=Kx;var Wx=(e,t)=>e;j.rotr32L=Wx;var Jx=(e,t,r)=>e<<r|t>>>32-r;j.rotlSH=Jx;var Zx=(e,t,r)=>t<<r|e>>>32-r;j.rotlSL=Zx;var Yx=(e,t,r)=>t<<r-32|e>>>64-r;j.rotlBH=Yx;var Xx=(e,t,r)=>e<<r-32|t>>>64-r;j.rotlBL=Xx;function Qx(e,t,r,o){let n=(t>>>0)+(o>>>0);return{h:e+r+(n/2**32|0)|0,l:n|0}}var e1=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);j.add3L=e1;var t1=(e,t,r,o)=>t+r+o+(e/2**32|0)|0;j.add3H=t1;var r1=(e,t,r,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0);j.add4L=r1;var o1=(e,t,r,o,n)=>t+r+o+n+(e/2**32|0)|0;j.add4H=o1;var n1=(e,t,r,o,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0)+(n>>>0);j.add5L=n1;var s1=(e,t,r,o,n,s)=>t+r+o+n+s+(e/2**32|0)|0;j.add5H=s1;var _8={fromBig:Ad,split:Ux,toBig:zx,shrSH:Ox,shrSL:Hx,rotrSH:jx,rotrSL:Gx,rotrBH:Vx,rotrBL:qx,rotr32H:Kx,rotr32L:Wx,rotlSH:Jx,rotlSL:Zx,rotlBH:Yx,rotlBL:Xx,add:Qx,add3L:e1,add3H:t1,add4L:r1,add4H:o1,add5H:s1,add5L:n1};j.default=_8});var a1=dt(Tp=>{"use strict";Object.defineProperty(Tp,"__esModule",{value:!0});Tp.crypto=void 0;var Zo=Hr("crypto");Tp.crypto=Zo&&typeof Zo=="object"&&"webcrypto"in Zo?Zo.webcrypto:Zo&&typeof Zo=="object"&&"randomBytes"in Zo?Zo:void 0});var h1=dt(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.wrapXOFConstructorWithOpts=N.wrapConstructorWithOpts=N.wrapConstructor=N.Hash=N.nextTick=N.swap32IfBE=N.byteSwapIfBE=N.swap8IfBE=N.isLE=void 0;N.isBytes=m1;N.anumber=Pd;N.abytes=Ai;N.ahash=A8;N.aexists=P8;N.aoutput=T8;N.u8=$8;N.u32=R8;N.clean=B8;N.createView=M8;N.rotr=F8;N.rotl=D8;N.byteSwap=$d;N.byteSwap32=u1;N.bytesToHex=L8;N.hexToBytes=U8;N.asyncLoop=O8;N.utf8ToBytes=Rd;N.bytesToUtf8=H8;N.toBytes=$p;N.kdfInputToBytes=j8;N.concatBytes=G8;N.checkOpts=V8;N.createHasher=l1;N.createOptHasher=f1;N.createXOFer=d1;N.randomBytes=q8;var _i=a1();function m1(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Pd(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Ai(e,...t){if(!m1(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 A8(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Pd(e.outputLen),Pd(e.blockLen)}function P8(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 T8(e,t){Ai(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function $8(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function R8(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function B8(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function M8(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function F8(e,t){return e<<32-t|e>>>t}function D8(e,t){return e<<t|e>>>32-t>>>0}N.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function $d(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}N.swap8IfBE=N.isLE?e=>e:e=>$d(e);N.byteSwapIfBE=N.swap8IfBE;function u1(e){for(let t=0;t<e.length;t++)e[t]=$d(e[t]);return e}N.swap32IfBE=N.isLE?e=>e:u1;var p1=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",N8=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function L8(e){if(Ai(e),p1)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=N8[e[r]];return t}var so={_0:48,_9:57,A:65,F:70,a:97,f:102};function c1(e){if(e>=so._0&&e<=so._9)return e-so._0;if(e>=so.A&&e<=so.F)return e-(so.A-10);if(e>=so.a&&e<=so.f)return e-(so.a-10)}function U8(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(p1)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=c1(e.charCodeAt(s)),a=c1(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 z8=async()=>{};N.nextTick=z8;async function O8(e,t,r){let o=Date.now();for(let n=0;n<e;n++){r(n);let s=Date.now()-o;s>=0&&s<t||(await(0,N.nextTick)(),o+=s)}}function Rd(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function H8(e){return new TextDecoder().decode(e)}function $p(e){return typeof e=="string"&&(e=Rd(e)),Ai(e),e}function j8(e){return typeof e=="string"&&(e=Rd(e)),Ai(e),e}function G8(...e){let t=0;for(let o=0;o<e.length;o++){let n=e[o];Ai(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 V8(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 Td=class{};N.Hash=Td;function l1(e){let t=o=>e().update($p(o)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function f1(e){let t=(o,n)=>e(n).update($p(o)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=o=>e(o),t}function d1(e){let t=(o,n)=>e(n).update($p(o)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=o=>e(o),t}N.wrapConstructor=l1;N.wrapConstructorWithOpts=f1;N.wrapXOFConstructorWithOpts=d1;function q8(e=32){if(_i.crypto&&typeof _i.crypto.getRandomValues=="function")return _i.crypto.getRandomValues(new Uint8Array(e));if(_i.crypto&&typeof _i.crypto.randomBytes=="function")return Uint8Array.from(_i.crypto.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}});var S1=dt(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.shake256=he.shake128=he.keccak_512=he.keccak_384=he.keccak_256=he.keccak_224=he.sha3_512=he.sha3_384=he.sha3_256=he.sha3_224=he.Keccak=void 0;he.keccakP=C1;var qa=i1(),it=h1(),K8=BigInt(0),Va=BigInt(1),W8=BigInt(2),J8=BigInt(7),Z8=BigInt(256),Y8=BigInt(113),b1=[],x1=[],v1=[];for(let e=0,t=Va,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],b1.push(2*(5*o+r)),x1.push((e+1)*(e+2)/2%64);let n=K8;for(let s=0;s<7;s++)t=(t<<Va^(t>>J8)*Y8)%Z8,t&W8&&(n^=Va<<(Va<<BigInt(s))-Va);v1.push(n)}var w1=(0,qa.split)(v1,!0),X8=w1[0],Q8=w1[1],g1=(e,t,r)=>r>32?(0,qa.rotlBH)(e,t,r):(0,qa.rotlSH)(e,t,r),y1=(e,t,r)=>r>32?(0,qa.rotlBL)(e,t,r):(0,qa.rotlSL)(e,t,r);function C1(e,t=24){let r=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let i=0;i<10;i++)r[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){let a=(i+8)%10,c=(i+2)%10,m=r[c],u=r[c+1],p=g1(m,u,1)^r[a],l=y1(m,u,1)^r[a+1];for(let d=0;d<50;d+=10)e[i+d]^=p,e[i+d+1]^=l}let n=e[2],s=e[3];for(let i=0;i<24;i++){let a=x1[i],c=g1(n,s,a),m=y1(n,s,a),u=b1[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]^=X8[o],e[1]^=Q8[o]}(0,it.clean)(r)}var Ka=class e extends it.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,it.anumber)(o),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=(0,it.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,it.swap32IfBE)(this.state32),C1(this.state32,this.rounds),(0,it.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(t){(0,it.aexists)(this),t=(0,it.toBytes)(t),(0,it.abytes)(t);let{blockLen:r,state:o}=this,n=t.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);for(let a=0;a<i;a++)o[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:o,blockLen:n}=this;t[o]^=r,(r&128)!==0&&o===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){(0,it.aexists)(this,!1),(0,it.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,it.anumber)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,it.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,it.clean)(this.state)}_cloneInto(t){let{blockLen:r,suffix:o,outputLen:n,rounds:s,enableXOF:i}=this;return t||(t=new e(r,o,n,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=o,t.outputLen=n,t.enableXOF=i,t.destroyed=this.destroyed,t}};he.Keccak=Ka;var Yo=(e,t,r)=>(0,it.createHasher)(()=>new Ka(t,e,r));he.sha3_224=Yo(6,144,224/8);he.sha3_256=Yo(6,136,256/8);he.sha3_384=Yo(6,104,384/8);he.sha3_512=Yo(6,72,512/8);he.keccak_224=Yo(1,144,224/8);he.keccak_256=Yo(1,136,256/8);he.keccak_384=Yo(1,104,384/8);he.keccak_512=Yo(1,72,512/8);var E1=(e,t,r)=>(0,it.createXOFer)((o={})=>new Ka(t,e,o.dkLen===void 0?r:o.dkLen,!0));he.shake128=E1(31,168,128/8);he.shake256=E1(31,136,256/8)});var k1=dt(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});Bd.verifyEnvEncryptPublicKey=rS;var eS=S1(),tS=Hr("@noble/curves/secp256k1");function rS(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,eS.keccak_256)(a);try{let m=t.slice(0,32),u=t.slice(32,64),p=t[64],l=new Uint8Array(64);l.set(m,0),l.set(u,32);let d=tS.secp256k1.Signature.fromCompact(l).addRecoveryBit(p).recoverPublicKey(c);return"0x"+Buffer.from(d.toRawBytes(!0)).toString("hex")}catch(m){return console.error("signature verification failed:",m),null}}});import{readFileSync as SP}from"fs";import{dirname as kP,join as IP}from"path";import{fileURLToPath as _P}from"url";import{ZodError as H_}from"zod";import Li from"chalk";function hc(e){return e.split(/[\s-]+/).filter(Boolean).map((t,r)=>r===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function L0(e){return e===void 0?[]:Array.isArray(e)?[...e]:[e]}function U0(e,t){let r={};for(let a of t.flagConfig.descriptors.values()){let c=t.flags[a.canonicalKey];c!==void 0&&(r[a.target]=c)}for(let a of t.flagConfig.negatedLookup.values())a.negatedKey&&t.flags[a.negatedKey]&&(r[a.target]=!1);t.passThrough.length>0&&(r["--"]=t.passThrough);let o={},n=e.arguments??[],s=[...t.positionals],i=0;for(let a of n){let c=a.target??hc(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 M5 from"arg";var T5={name:"help",shorthand:"h",description:"Show help information for the current command",type:"boolean",target:"help"},$5={name:"version",shorthand:"v",description:"Show CLI version",type:"boolean",target:"version"},Re={name:"interactive",shorthand:"i",description:"Enable interactive mode",type:"boolean",target:"interactive"},R5={name:"api-token",description:"API token used for authentication",type:"string",target:"apiToken",aliases:["api-key"],argumentName:"token"},Hn=[T5,$5],jn=[R5],Be={name:"cvm_id",description:"CVM identifier (UUID, app_id, instance_id, or name)",required:!1,target:"cvmId"},z0={name:"cvm-id",description:"CVM identifier (UUID, app_id, instance_id, or name)",type:"string",target:"cvmId"},O0={name:"uuid",description:"[DEPRECATED] Use --cvm-id instead. CVM UUID.",type:"string",target:"cvmId"};import H0 from"arg";function j0(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??hc(n.name),a=B5(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 L0(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]=H0.flag(()=>!0),o.set(c,{option:n,canonicalKey:s,target:i,negatedKey:c})}}return{spec:t,descriptors:r,negatedLookup:o}}function B5(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 H0.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 F5(e){let t=e.indexOf("--");return t===-1?[[...e],[]]:[e.slice(0,t),e.slice(t+1)]}function Ki(e,t,r={}){let o=[...Hn,...t?[...t]:[]],n=j0(o),{permissive:s=!1,stopAtPositional:i=!1}=r,[a,c]=F5(e),m=M5(n.spec,{argv:a,permissive:s,stopAtPositional:i}),{_:u,...p}=m;return{positionals:u??[],flags:p,flagConfig:n,passThrough:c}}function gc(e){return e==="unstable"?" [UNSTABLE]":e==="deprecated"?" [DEPRECATED]":""}function yc(e){let{registry:t,executableName:r}=e,o=[];o.push(`Usage: ${r} <command> [options]`),o.push(""),o.push("Available commands:");for(let n of t.getChildren()){let s=n.command?.meta??n.group?.meta,i=s?.description??"",a=s?.stability,c=a?gc(a):"",m=n.name??"";o.push(` ${m.padEnd(18)}${i}${c}`.trimEnd())}o.push(""),o.push("Global options:");for(let n of Hn)o.push(` ${_l(n).padEnd(24)}${n.description??""}`.trimEnd());return o.join(`
|
|
48
|
+
`)}function G0(e){let{registry:t,executableName:r,groupPath:o}=e,n=t.getNode(o);if(!n?.group)return yc({registry:t,executableName:r});let s=[],i=o.join(" "),a=`${r} ${i}`;s.push(`Usage: ${a} <command> [options]`),s.push(""),n.group.meta.description&&(s.push(n.group.meta.description),s.push(""));let c=t.getChildren(o);if(c.length>0){s.push("Available commands:");for(let m of c){let u=m.command?.meta??m.group?.meta,p=u?.description??"",l=u?.stability,d=l?gc(l):"",h=m.name??"";s.push(` ${h.padEnd(18)}${p}${d}`.trimEnd())}s.push("")}s.push("Global options:");for(let m of Hn)s.push(` ${_l(m).padEnd(24)}${m.description??""}`.trimEnd());return s.join(`
|
|
49
|
+
`)}function V0(e){let{executableName:t,definition:r,registry:o}=e,n=D5({executableName:t,definition:r}),s=gc(r.meta.stability),i=[n,"",`${r.meta.description}${s}`],a=r.meta.arguments??[];if(a.length>0){i.push(""),i.push("Arguments:");for(let u of a){let p=L5(u);i.push(` ${p.padEnd(18)}${u.description??""}`.trimEnd())}}let c=[...Hn,...r.meta.options??[]];if(c.length>0){i.push(""),i.push("Options:");for(let u of c)u.hidden||i.push(` ${_l(u).padEnd(24)}${u.description??""}`.trimEnd())}if(r.meta.passThrough&&(i.push(""),i.push("Pass-through (after --):"),i.push(` ${r.meta.passThrough.description}`),r.meta.passThrough.examples&&r.meta.passThrough.examples.length>0)){i.push(""),i.push(" Examples:");for(let u of r.meta.passThrough.examples)i.push(` ${u}`)}if(r.meta.examples&&r.meta.examples.length>0){i.push(""),i.push("Examples:");for(let u of r.meta.examples)i.push(` # ${u.name}`),i.push(` ${u.value}`)}let m=o.getChildren(r.path);if(m.length>0){i.push(""),i.push("Subcommands:");for(let u of m){let p=u.command?.meta??u.group?.meta,l=p?.description??"",d=p?.stability,h=d?gc(d):"",g=u.name??"";i.push(` ${g.padEnd(18)}${l}${h}`.trimEnd())}}return i.join(`
|
|
50
|
+
`)}function D5({executableName:e,definition:t}){let r=[e,...t.path],n=(t.meta.arguments??[]).map(m=>N5(m)).join(" "),i=(t.meta.options?.length??0)>0?" [options]":"",a=n?` ${n}`:"",c=t.meta.passThrough?" [--] [...]":"";return`Usage: ${r.join(" ")}${i}${a}${c}`}function N5(e){let t=`<${e.name}>`;return e.variadic?`${t}...`:e.required===!1?`[${t}]`:t}function L5(e){return e.variadic?`<${e.name}...>`:e.required===!1?`<${e.name}>?`:`<${e.name}>`}function _l(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 Al=!1;function Pe(e){Al=e}function Qe(){return Al}function Pl(){return!Al}import E_ from"path";import Wd from"fs-extra";import S_ from"@iarna/toml";import{z as zp}from"zod";var T1=qi(oh(),1);import{ofetch as oS}from"ofetch";function nh(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 Je}from"zod";import{z as Xo}from"zod";import{z as W}from"zod";import{z as Qo}from"zod";function sn(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}Ac();Ne();Ac();var Nl={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function cn(e,t){let r={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?ve(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?ve(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?Nl[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=f2(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 ch=Wn("transaction",cn);function f2(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 Xi(e,t){let r=(e.transactions??[]).map(o=>typeof o=="string"?o:cn(o));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:r,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}var mh=Wn("block",Xi);function et(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}:{}}}Ne();Ac();var Ll={"0x0":"reverted","0x1":"success"};function Qi(e,t){let r={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(o=>et(o)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?ve(e.transactionIndex):null,status:e.status?Ll[e.status]:null,type:e.type?Nl[e.type]||e.type:null};return e.blobGasPrice&&(r.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(r.blobGasUsed=BigInt(e.blobGasUsed)),r}var uh=Wn("transactionReceipt",Qi);G();Tc();Ve();D();function sr(e,t="hex"){let r=ph(e),o=Yn(new Uint8Array(r.length));return r.encode(o),t==="hex"?ee(o.bytes):o.bytes}function ph(e){return Array.isArray(e)?b2(e.map(t=>ph(t))):x2(e)}function b2(e){let t=e.reduce((n,s)=>n+s.length,0),r=lh(t);return{length:t<=55?1+t:1+r+t,encode(n){t<=55?n.pushByte(192+t):(n.pushByte(247+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:s}of e)s(n)}}}function x2(e){let t=typeof e=="string"?Le(e):e,r=lh(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(183+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function lh(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 w("Length is too large.")}At();D();function dh(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?ce(o):"0x",i,n?ce(n):"0x",...os({},s)])}return t}Ve();D();function ns(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=>Le(s)):e.blobs,n=[];for(let s of o)n.push(Uint8Array.from(t.blobToKzgCommitment(s)));return r==="bytes"?n:n.map(s=>ee(s))}Ve();D();function ss(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=>Le(i)):e.blobs,n=typeof e.commitments[0]=="string"?e.commitments.map(i=>Le(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=>ee(i))}D();Gc();function k2(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 gh(e,t,r){return e&t^~e&r}function yh(e,t,r){return e&t^e&r^t&r}var Vc=class extends is{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=Hc(this.buffer)}update(t){as(this),t=ta(t),un(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=Hc(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){as(this),Oc(t,this),this.finished=!0;let{buffer:r,view:o,blockLen:n,isLE:s}=this,{pos:i}=this;r[i++]=128,Co(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(o,0),i=0);for(let p=i;p<n;p++)r[p]=0;k2(o,n-8,BigInt(this.length*8),s),this.process(o,0);let a=Hc(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let m=c/4,u=this.get();if(m>u.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<m;p++)a.setUint32(4*p,u[p],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let o=t.slice(0,r);return this.destroy(),o}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:o,length:n,finished:s,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=s,t.length=n,t.pos=a,n%r&&t.buffer.set(o),t}clone(){return this._cloneInto()}},Vr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Gc();var _2=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]),Eo=new Uint32Array(64),Kc=class extends Vc{constructor(t=32){super(64,t,8,!1),this.A=Vr[0]|0,this.B=Vr[1]|0,this.C=Vr[2]|0,this.D=Vr[3]|0,this.E=Vr[4]|0,this.F=Vr[5]|0,this.G=Vr[6]|0,this.H=Vr[7]|0}get(){let{A:t,B:r,C:o,D:n,E:s,F:i,G:a,H:c}=this;return[t,r,o,n,s,i,a,c]}set(t,r,o,n,s,i,a,c){this.A=t|0,this.B=r|0,this.C=o|0,this.D=n|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,r){for(let p=0;p<16;p++,r+=4)Eo[p]=t.getUint32(r,!1);for(let p=16;p<64;p++){let l=Eo[p-15],d=Eo[p-2],h=ir(l,7)^ir(l,18)^l>>>3,g=ir(d,17)^ir(d,19)^d>>>10;Eo[p]=g+Eo[p-7]+h+Eo[p-16]|0}let{A:o,B:n,C:s,D:i,E:a,F:c,G:m,H:u}=this;for(let p=0;p<64;p++){let l=ir(a,6)^ir(a,11)^ir(a,25),d=u+l+gh(a,c,m)+_2[p]+Eo[p]|0,g=(ir(o,2)^ir(o,13)^ir(o,22))+yh(o,n,s)|0;u=m,m=c,c=a,a=i+d|0,i=s,s=n,n=o,o=d+g|0}o=o+this.A|0,n=n+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,m=m+this.G|0,u=u+this.H|0,this.set(o,n,s,i,a,c,m,u)}roundClean(){Co(Eo)}destroy(){this.set(0,0,0,0,0,0,0,0),Co(this.buffer)}};var kh=jc(()=>new Kc);var Ih=kh;_t();Ve();D();function _h(e,t){let r=t||"hex",o=Ih(ue(e,{strict:!1})?zt(e):e);return r==="bytes"?o:ce(o)}function Ah(e){let{commitment:t,version:r=1}=e,o=e.to??(typeof t=="string"?"hex":"bytes"),n=_h(t,"bytes");return n.set([r],0),o==="bytes"?n:ee(n)}function Wc(e){let{commitments:t,version:r}=e,o=e.to??(typeof t[0]=="string"?"hex":"bytes"),n=[];for(let s of t)n.push(Ah({commitment:s,to:o,version:r}));return n}G();var Jc=class extends w{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}},cs=class extends w{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}},Zc=class extends w{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}},Yc=class extends w{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${1}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}};Tc();Ut();Ve();D();function Ph(e){let t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?Le(e.data):e.data,o=Q(r);if(!o)throw new cs;if(o>761855)throw new Jc({maxSize:761855,size:o});let n=[],s=!0,i=0;for(;s;){let a=Yn(new Uint8Array(131072)),c=0;for(;c<4096;){let m=r.slice(i,i+31);if(a.pushByte(0),a.pushBytes(m),m.length<31){a.pushByte(128),s=!1;break}c++,i+=31}n.push(a)}return t==="bytes"?n.map(a=>a.bytes):n.map(a=>ee(a.bytes))}function Xc(e){let{data:t,kzg:r,to:o}=e,n=e.blobs??Ph({data:t,to:o}),s=e.commitments??ns({blobs:n,kzg:r,to:o}),i=e.proofs??ss({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}ct();an();D();Ul();ar();G();oa();So();Pt();Ut();Io();Ne();function Lh(e){let{authorizationList:t}=e;if(t)for(let r of t){let{chainId:o}=r,n=r.address;if(!te(n))throw new ie({address:n});if(o<0)throw new ln({chainId:o})}om(e)}function Uh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new cs;for(let r of t){let o=Q(r),n=ve(Vt(r,0,1));if(o!==32)throw new Zc({hash:r,size:o});if(n!==1)throw new Yc({hash:r,version:n})}}om(e)}function om(e){let{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:o,to:n}=e;if(t<=0)throw new ln({chainId:t});if(n&&!te(n))throw new ie({address:n});if(o&&o>Jn)throw new Ot({maxFeePerGas:o});if(r&&o&&r>o)throw new gr({maxFeePerGas:o,maxPriorityFeePerGas:r})}function zh(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(t<=0)throw new ln({chainId:t});if(s&&!te(s))throw new ie({address:s});if(r||n)throw new w("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(o&&o>Jn)throw new Ot({maxFeePerGas:o})}function Oh(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:o,maxFeePerGas:n,to:s}=e;if(s&&!te(s))throw new ie({address:s});if(typeof t<"u"&&t<=0)throw new ln({chainId:t});if(r||n)throw new w("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(o&&o>Jn)throw new Ot({maxFeePerGas:o})}At();function nm(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 Nc({transaction:e})}ar();At();Pt();function sa(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 Lc({storageKey:n[s]});if(!te(o,{strict:!1}))throw new ie({address:o});t.push([o,n])}return t}function sm(e,t){let r=nm(e);return r==="eip1559"?H2(e,t):r==="eip2930"?j2(e,t):r==="eip4844"?O2(e,t):r==="eip7702"?z2(e,t):G2(e,t)}function z2(e,t){let{authorizationList:r,chainId:o,gas:n,nonce:s,to:i,value:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:p}=e;Lh(e);let l=sa(u),d=dh(r);return qe(["0x04",sr([E(o),s?E(s):"0x",m?E(m):"0x",c?E(c):"0x",n?E(n):"0x",i??"0x",a?E(a):"0x",p??"0x",l,d,...os(e,t)])])}function O2(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerBlobGas:a,maxFeePerGas:c,maxPriorityFeePerGas:m,accessList:u,data:p}=e;Uh(e);let l=e.blobVersionedHashes,d=e.sidecars;if(e.blobs&&(typeof l>"u"||typeof d>"u")){let v=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(_=>ee(_)),S=e.kzg,A=ns({blobs:v,kzg:S});if(typeof l>"u"&&(l=Wc({commitments:A})),typeof d>"u"){let _=ss({blobs:v,commitments:A,kzg:S});d=Xc({blobs:v,commitments:A,proofs:_})}}let h=sa(u),g=[E(r),n?E(n):"0x",m?E(m):"0x",c?E(c):"0x",o?E(o):"0x",s??"0x",i?E(i):"0x",p??"0x",h,a?E(a):"0x",l??[],...os(e,t)],y=[],b=[],x=[];if(d)for(let v=0;v<d.length;v++){let{blob:S,commitment:A,proof:_}=d[v];y.push(S),b.push(A),x.push(_)}return qe(["0x03",d?sr([g,y,b,x]):sr(g)])}function H2(e,t){let{chainId:r,gas:o,nonce:n,to:s,value:i,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:m,data:u}=e;om(e);let p=sa(m),l=[E(r),n?E(n):"0x",c?E(c):"0x",a?E(a):"0x",o?E(o):"0x",s??"0x",i?E(i):"0x",u??"0x",p,...os(e,t)];return qe(["0x02",sr(l)])}function j2(e,t){let{chainId:r,gas:o,data:n,nonce:s,to:i,value:a,accessList:c,gasPrice:m}=e;zh(e);let u=sa(c),p=[E(r),s?E(s):"0x",m?E(m):"0x",o?E(o):"0x",i??"0x",a?E(a):"0x",n??"0x",u,...os(e,t)];return qe(["0x01",sr(p)])}function G2(e,t){let{chainId:r=0,gas:o,data:n,nonce:s,to:i,value:a,gasPrice:c}=e;Oh(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})(),p=Ge(t.r),l=Ge(t.s);m=[...m,E(u),p==="0x00"?"0x":p,l==="0x00"?"0x":l]}else r>0&&(m=[...m,E(r),"0x","0x"]);return sr(m)}function os(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=Ge(r.r),i=Ge(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 Hh={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}};Ne();var jh={block:mh({format(e){return{transactions:e.transactions?.map(r=>{if(typeof r=="string")return r;let o=cn(r);return o.typeHex==="0x7e"&&(o.isSystemTx=r.isSystemTx,o.mint=r.mint?me(r.mint):void 0,o.sourceHash=r.sourceHash,o.type="deposit"),o}),stateRoot:e.stateRoot}}}),transaction:ch({format(e){let t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?me(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:uh({format(e){return{l1GasPrice:e.l1GasPrice?me(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?me(e.l1GasUsed):null,l1Fee:e.l1Fee?me(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};ar();Pt();ct();D();function V2(e,t){return K2(e)?q2(e):sm(e,t)}var Gh={transaction:V2};function q2(e){W2(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?ce(i):"0x",c?ce(c):"0x",n?ce(n):"0x",s?"0x1":"0x",r??"0x"];return qe(["0x7e",sr(m)])}function K2(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function W2(e){let{from:t,to:r}=e;if(t&&!te(t))throw new ie({address:t});if(r&&!te(r))throw new ie({address:r})}var Jl={blockTime:2e3,contracts:Hh,formatters:jh,serializers:Gh};var im=sn({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 ia=1,aa=sn({...Jl,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:{...Jl.contracts,disputeGameFactory:{[ia]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[ia]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[ia]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[ia]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:ia}),J2=sn({...aa,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://mainnet-preconf.base.org"]}}});oa();function xs({chain:e,currentChainId:t}){if(!e)throw new em;if(t!==e.id)throw new Qc({chain:e,currentChainId:t})}G();var Ke=class extends w{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"})}},Kt=class extends w{constructor({docsPath:t,metaMessages:r,type:o}){super(`Account type "${o}" is not supported.`,{docsPath:t,metaMessages:r,name:"AccountTypeNotSupportedError"})}};var tu=sn({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 Ie}from"zod";import{z as Mt}from"zod";import{z as P}from"zod";import{z as Ti}from"zod";import{z as Qt}from"zod";import{z as q}from"zod";import{z as Y}from"zod";import{z as pt}from"zod";import rk from"crypto";import{z as Mr}from"zod";import{z as fr}from"zod";import{z as Ye}from"zod";import{z as Et}from"zod";import{z as St}from"zod";import{z as Rk}from"zod";import{z as _1}from"zod";import{z as Fr}from"zod";import{z as Bi}from"zod";import{z as Rn}from"zod";import{z as rI}from"zod";import{z as sI}from"zod";import{z as se}from"zod";import{z as Rr}from"zod";import{z as xI}from"zod";import{z as ke}from"zod";import{z as H}from"zod";import{z as Ri}from"zod";import{z as A1}from"zod";import{z as at}from"zod";import{z as V1}from"zod";import{z as $r}from"zod";import{z as De}from"zod";function T(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)}Ee();G();var ru=class extends w{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}};Ve();Gt();ya();Zr();Wr();Po();var jg="/docs/contract/encodeEventTopics";function Sr(e){let{abi:t,eventName:r,args:o}=e,n=t[0];if(r){let c=xt({abi:t,name:r});if(!c)throw new pa(r,{docsPath:jg});n=c}if(n.type!=="event")throw new pa(void 0,{docsPath:jg});let s=ze(n),i=Ao(s),a=[];if(o&&"inputs"in n){let c=n.inputs?.filter(u=>"indexed"in u&&u.indexed),m=Array.isArray(o)?o:Object.values(o).length>0?c?.map(u=>o[u.name])??[]:[];m.length>0&&(a=c?.map((u,p)=>Array.isArray(m[p])?m[p].map((l,d)=>Gg({param:u,value:m[p][d]})):typeof m[p]<"u"&&m[p]!==null?Gg({param:u,value:m[p]}):null)??[])}return[i,...a]}function Gg({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return ae(zt(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new ru(e.type);return mt([e],[t])}D();function Do(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 ou(e,t){let{address:r,abi:o,args:n,eventName:s,fromBlock:i,strict:a,toBlock:c}=t,m=Do(e,{method:"eth_newFilter"}),u=s?Sr({abi:o,args:n,eventName:s}):void 0,p=await e.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof i=="bigint"?E(i):i,toBlock:typeof c=="bigint"?E(c):c,topics:u}]});return{abi:o,args:n,eventName:s,id:p,request:m(p),strict:!!a,type:"event"}}Ce();$t();Ee();G();To();yn();Ys();var _C=3;function Rt(e,{abi:t,address:r,args:o,docsPath:n,functionName:s,sender:i}){let a=e instanceof wr?e:e instanceof w?e.walk(h=>"data"in h)||e.walk():{},{code:c,data:m,details:u,message:p,shortMessage:l}=a,d=e instanceof Wt?new Ym({functionName:s}):[_C,Xr.code].includes(c)&&(m||u||p||l)?new gn({abi:t,data:typeof m=="object"?m.data:m,functionName:s,message:a instanceof $o?u:l??p}):e;return new Rs(d,{abi:t,args:o,contractAddress:r,docsPath:n,functionName:s,sender:i})}Ce();G();ko();Gt();function nu(e){let t=ae(`0x${e.substring(4)}`).substring(26);return Kr(`0x${t}`)}_t();Ut();Ne();D();async function Jg({hash:e,signature:t}){let r=ue(e)?e:ce(e),{secp256k1:o}=await import("@noble/curves/secp256k1");return`0x${(()=>{if(typeof t=="object"&&"r"in t&&"s"in t){let{r:m,s:u,v:p,yParity:l}=t,d=Number(l??p),h=Wg(d);return new o.Signature(me(m),me(u)).addRecoveryBit(h)}let i=ue(t)?t:ce(t);if(Q(i)!==65)throw new Error("invalid signature length");let a=ve(`0x${i.slice(130)}`),c=Wg(a);return o.Signature.fromCompact(i.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function Wg(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 su({hash:e,signature:t}){return nu(await Jg({hash:e,signature:t}))}ct();Ve();D();Gt();function iu(e){let{chainId:t,nonce:r,to:o}=e,n=e.contractAddress??e.address,s=ae(qe(["0x05",sr([t?E(t):"0x",n,r?E(r):"0x"])]));return o==="bytes"?Le(s):s}async function No(e){let{authorization:t,signature:r}=e;return su({hash:iu(t),signature:r??t})}D();Mc();Qn();G();At();var au=class extends w{constructor(t,{account:r,docsPath:o,chain:n,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:m,nonce:u,to:p,value:l}){let d=mn({from:r?.address,to:p,value:typeof l<"u"&&`${Xn(l)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Ue(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Ue(c)} gwei`,maxPriorityFeePerGas:typeof m<"u"&&`${Ue(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}};So();xa();function Zg(e,{docsPath:t,...r}){let o=(()=>{let n=Fo(e,r);return n instanceof Ht?e:n})();return new au(o,{docsPath:t,...r})}Xs();wo();cu();Qr();Ce();Qn();G();var mu=class extends w{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}},Lo=class extends w{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}},uu=class extends w{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Ue(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};Ne();G();var ei=class extends w{constructor({blockHash:t,blockNumber:r}){let o="Block";t&&(o=`Block at hash "${t}"`),r&&(o=`Block at number "${r}"`),super(`${o} could not be found.`,{name:"BlockNotFoundError"})}};D();async function nt(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 ei({blockHash:t,blockNumber:r});return(e.chain?.formatters?.block?.format||Xi)(a,"getBlock")}async function ti(e){let t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function Xg(e,t){return ff(e,t)}async function ff(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 T(e,nt,"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 me(i)}catch{let[s,i]=await Promise.all([r?Promise.resolve(r):T(e,nt,"getBlock")({}),T(e,ti,"getGasPrice")({})]);if(typeof s.baseFeePerGas!="bigint")throw new Lo;let a=i-s.baseFeePerGas;return a<0n?0n:a}}async function Qg(e,t){return pu(e,t)}async function pu(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 mu;let c=10**(i.toString().split(".")[1]?.length??0),m=l=>l*BigInt(Math.ceil(i*c))/BigInt(c),u=r||await T(e,nt,"getBlock")({});if(typeof o?.fees?.estimateFeesPerGas=="function"){let l=await o.fees.estimateFeesPerGas({block:r,client:e,multiply:m,request:n,type:s});if(l!==null)return l}if(s==="eip1559"){if(typeof u.baseFeePerGas!="bigint")throw new Lo;let l=typeof n?.maxPriorityFeePerGas=="bigint"?n.maxPriorityFeePerGas:await ff(e,{block:u,chain:o,request:n}),d=m(u.baseFeePerGas);return{maxFeePerGas:n?.maxFeePerGas??d+l,maxPriorityFeePerGas:l}}return{gasPrice:n?.gasPrice??m(await T(e,ti,"getGasPrice")({}))}}Ne();D();async function ri(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 ve(n)}Qr();Ne();async function vt(e){let t=await e.request({method:"eth_chainId"},{dedupe:!0});return ve(t)}var va=["blobVersionedHashes","chainId","fees","gas","nonce","type"],ey=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=va,type:u}=t,p=r&&V(r),l={...t,...p?{from:p?.address}:{}},d;async function h(){return d||(d=await T(e,nt,"getBlock")({blockTag:"latest"}),d)}let g;async function y(){return g||(n?n.id:typeof t.chainId<"u"?t.chainId:(g=await T(e,vt,"getChainId")({}),g))}if(m.includes("nonce")&&typeof a>"u"&&p)if(c){let b=await y();l.nonce=await c.consume({address:p.address,chainId:b,client:e})}else l.nonce=await T(e,ri,"getTransactionCount")({address:p.address,blockTag:"pending"});if((m.includes("blobVersionedHashes")||m.includes("sidecars"))&&o&&i){let b=ns({blobs:o,kzg:i});if(m.includes("blobVersionedHashes")){let x=Wc({commitments:b,to:"hex"});l.blobVersionedHashes=x}if(m.includes("sidecars")){let x=ss({blobs:o,commitments:b,kzg:i}),v=Xc({blobs:o,commitments:b,proofs:x,to:"hex"});l.sidecars=v}}if(m.includes("chainId")&&(l.chainId=await y()),(m.includes("fees")||m.includes("type"))&&typeof u>"u")try{l.type=nm(l)}catch{let b=ey.get(e.uid);typeof b>"u"&&(b=typeof(await h())?.baseFeePerGas=="bigint",ey.set(e.uid,b)),l.type=b?"eip1559":"legacy"}if(m.includes("fees"))if(l.type!=="legacy"&&l.type!=="eip2930"){if(typeof l.maxFeePerGas>"u"||typeof l.maxPriorityFeePerGas>"u"){let b=await h(),{maxFeePerGas:x,maxPriorityFeePerGas:v}=await pu(e,{block:b,chain:n,request:l});if(typeof t.maxPriorityFeePerGas>"u"&&t.maxFeePerGas&&t.maxFeePerGas<v)throw new uu({maxPriorityFeePerGas:v});l.maxPriorityFeePerGas=v,l.maxFeePerGas=x}}else{if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")throw new Lo;if(typeof t.gasPrice>"u"){let b=await h(),{gasPrice:x}=await pu(e,{block:b,chain:n,request:l,type:"legacy"});l.gasPrice=x}}return m.includes("gas")&&typeof s>"u"&&(l.gas=await T(e,oi,"estimateGas")({...l,account:p,prepare:p?.type==="local"?[]:["blobVersionedHashes"]})),ot(l),delete l.parameters,l}async function oi(e,t){let{account:r=e.account,prepare:o=!0}=t,n=r?V(r):void 0,s=(()=>{if(Array.isArray(o))return o;if(n?.type!=="local")return["blobVersionedHashes"]})();try{let{accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,blockNumber:u,blockTag:p,data:l,gas:d,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,value:v,stateOverride:S,...A}=o?await kr(e,{...t,parameters:s}):t,k=(typeof u=="bigint"?E(u):void 0)||p,$=Qs(S),M=await(async()=>{if(A.to)return A.to;if(a&&a.length>0)return await No({authorization:a[0]}).catch(()=>{throw new w("`to` is required. Could not infer from `authorizationList`")})})();ot(t);let B=e.chain?.formatters?.transactionRequest?.format,U=(B||yt)({...Er(A,{format:B}),account:n,accessList:i,authorizationList:a,blobs:c,blobVersionedHashes:m,data:l,gas:d,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:M,value:v},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:$?[U,k??e.experimental_blockTag??"latest",$]:k?[U,k]:[U]}))}catch(i){throw Zg(i,{...t,account:n,chain:e.chain})}}async function ty(e,t){let{abi:r,address:o,args:n,functionName:s,dataSuffix:i,...a}=t,c=de({abi:r,args:n,functionName:s});try{return await T(e,oi,"estimateGas")({data:`${c}${i?i.replace("0x",""):""}`,to:o,...a})}catch(m){let u=a.account?V(a.account):void 0;throw Rt(m,{abi:r,address:o,args:n,docsPath:"/docs/contract/estimateContractGas",functionName:s,sender:u?.address})}}Po();Ee();vn();Ve();Gt();ya();Ee();zl();Ut();ya();ga();Wr();var ry="/docs/contract/decodeEventLog";function ni(e){let{abi:t,data:r,strict:o,topics:n}=e,s=o??!0,[i,...a]=n;if(!i)throw new hm({docsPath:ry});let c=t.find(g=>g.type==="event"&&i===Ao(ze(g)));if(!(c&&"name"in c)||c.type!=="event")throw new Cs(i,{docsPath:ry});let{name:m,inputs:u}=c,p=u?.some(g=>!("name"in g&&g.name)),l=p?[]:{},d=u.map((g,y)=>[g,y]).filter(([g])=>"indexed"in g&&g.indexed);for(let g=0;g<d.length;g++){let[y,b]=d[g],x=a[g];if(!x)throw new yr({abiItem:c,param:y});l[p?b:y.name||b]=PC({param:y,value:x})}let h=u.filter(g=>!("indexed"in g&&g.indexed));if(h.length>0){if(r&&r!=="0x")try{let g=Yr(h,r);if(g)if(p)for(let y=0;y<u.length;y++)l[y]=l[y]??g.shift();else for(let y=0;y<h.length;y++)l[h[y].name]=g[y]}catch(g){if(s)throw g instanceof vs||g instanceof Zn?new mr({abiItem:c,data:r,params:h,size:Q(r)}):g}else if(s)throw new mr({abiItem:c,data:"0x",params:h,size:0})}return{eventName:m,args:Object.values(l).length>0?l:void 0}}function PC({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Yr([e],t)||[])[0]}function pr(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]===Ao(m));if(!a)return null;let c=ni({...i,abi:[a],strict:n});return s&&!s.includes(c.eventName)||!TC({args:c.args,inputs:a.inputs,matchArgs:r})?null:{...c,...i}}catch(a){let c,m;if(a instanceof Cs)return null;if(a instanceof mr||a instanceof yr){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 TC(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"?Zt(i,a):s.type==="string"||s.type==="bytes"?ae(zt(i))===a:i===a}catch{return!1}}return Array.isArray(t)&&Array.isArray(o)?o.every((s,i)=>{if(s==null)return!0;let a=r[i];return a?(Array.isArray(s)?s:[s]).some(m=>n(a,m,t[i])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof o=="object"&&!Array.isArray(o)?Object.entries(o).every(([s,i])=>{if(i==null)return!0;let a=r.find(m=>m.name===s);return a?(Array.isArray(i)?i:[i]).some(m=>n(a,m,t[s])):!1}):!1}D();async function si(e,{address:t,blockHash:r,fromBlock:o,toBlock:n,event:s,events:i,args:a,strict:c}={}){let m=c??!1,u=i??(s?[s]:void 0),p=[];u&&(p=[u.flatMap(g=>Sr({abi:[g],eventName:g.name,args:i?void 0:a}))],s&&(p=p[0]));let l;r?l=await e.request({method:"eth_getLogs",params:[{address:t,topics:p,blockHash:r}]}):l=await e.request({method:"eth_getLogs",params:[{address:t,topics:p,fromBlock:typeof o=="bigint"?E(o):o,toBlock:typeof n=="bigint"?E(n):n}]});let d=l.map(h=>et(h));return u?pr({abi:u,args:a,logs:d,strict:m}):d}async function lu(e,t){let{abi:r,address:o,args:n,blockHash:s,eventName:i,fromBlock:a,toBlock:c,strict:m}=t,u=i?xt({abi:r,name:i}):void 0,p=u?void 0:r.filter(l=>l.type==="event");return T(e,si,"getLogs")({address:o,args:n,blockHash:s,event:u,events:p,fromBlock:a,toBlock:c,strict:m})}Uo();$t();di();async function Fe(e,t){let{abi:r,address:o,args:n,functionName:s,...i}=t,a=de({abi:r,args:n,functionName:s});try{let{data:c}=await T(e,Ar,"call")({...i,data:a,to:o});return wt({abi:r,args:n,functionName:s,data:c||"0x"})}catch(c){throw Rt(c,{abi:r,address:o,args:n,docsPath:"/docs/contract/readContract",functionName:s})}}Ce();Uo();$t();di();async function jy(e,t){let{abi:r,address:o,args:n,dataSuffix:s,functionName:i,...a}=t,c=a.account?V(a.account):e.account,m=de({abi:r,args:n,functionName:i});try{let{data:u}=await T(e,Ar,"call")({batch:!1,data:`${m}${s?s.replace("0x",""):""}`,to:o,...a,account:c}),p=wt({abi:r,args:n,functionName:i,data:u||"0x"}),l=r.filter(d=>"name"in d&&d.name===t.functionName);return{result:p,request:{abi:l,address:o,args:n,dataSuffix:s,functionName:i,...a,account:c}}}catch(u){throw Rt(u,{abi:r,address:o,args:n,docsPath:"/docs/contract/simulateContract",functionName:i,sender:c?.address})}}Ee();Ys();var Ff=new Map,Gy=new Map,ZC=0;function st(e,t,r){let o=++ZC,n=()=>Ff.get(e)||[],s=()=>{let u=n();Ff.set(e,u.filter(p=>p.id!==o))},i=()=>{let u=n();if(!u.some(l=>l.id===o))return;let p=Gy.get(e);if(u.length===1&&p){let l=p();l instanceof Promise&&l.catch(()=>{})}s()},a=n();if(Ff.set(e,[...a,{id:o,fns:t}]),a&&a.length>0)return i;let c={};for(let u in t)c[u]=((...p)=>{let l=n();if(l.length!==0)for(let d of l)d.fns[u]?.(...p)});let m=r(c);return typeof m=="function"&&Gy.set(e,m),i}async function Aa(e){return new Promise(t=>setTimeout(t,e))}function Xt(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 Aa(c);let m=async()=>{n&&(await e({unpoll:s}),await Aa(o),m())};m()})(),s}tt();var YC=new Map,XC=new Map;function Vy(e){let t=(n,s)=>({clear:()=>s.delete(n),get:()=>s.get(n),set:i=>s.set(n,i)}),r=t(e,YC),o=t(e,XC);return{clear:()=>{r.clear(),o.clear()},promise:r,response:o}}async function qy(e,{cacheKey:t,cacheTime:r=Number.POSITIVE_INFINITY}){let o=Vy(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 QC=e=>`blockNumber.${e}`;async function Pr(e,{cacheTime:t=e.cacheTime}={}){let r=await qy(()=>e.request({method:"eth_blockNumber"}),{cacheKey:QC(e.uid),cacheTime:t});return BigInt(r)}async function jo(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=>et(s));return!("abi"in t)||!t.abi?n:pr({abi:t.abi,logs:n,strict:r})}async function Go(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function Ky(e,t){let{abi:r,address:o,args:n,batch:s=!0,eventName:i,fromBlock:a,onError:c,onLogs:m,poll:u,pollingInterval:p=e.pollingInterval,strict:l}=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 y=l??!1,b=Z(["watchContractEvent",o,n,s,e.uid,i,p,y,a]);return st(b,{onLogs:m,onError:c},x=>{let v;a!==void 0&&(v=a-1n);let S,A=!1,_=Xt(async()=>{if(!A){try{S=await T(e,ou,"createContractEventFilter")({abi:r,address:o,args:n,eventName:i,strict:y,fromBlock:a})}catch{}A=!0;return}try{let k;if(S)k=await T(e,jo,"getFilterChanges")({filter:S});else{let $=await T(e,Pr,"getBlockNumber")({});v&&v<$?k=await T(e,lu,"getContractEvents")({abi:r,address:o,args:n,eventName:i,fromBlock:v+1n,toBlock:$,strict:y}):k=[],v=$}if(k.length===0)return;if(s)x.onLogs(k);else for(let $ of k)x.onLogs([$])}catch(k){S&&k instanceof Cr&&(A=!1),x.onError?.(k)}},{emitOnBegin:!0,interval:p});return async()=>{S&&await T(e,Go,"uninstallFilter")({filter:S}),_()}})})():(()=>{let y=l??!1,b=Z(["watchContractEvent",o,n,s,e.uid,i,p,y]),x=!0,v=()=>x=!1;return st(b,{onLogs:m,onError:c},S=>((async()=>{try{let A=(()=>{if(e.transport.type==="fallback"){let $=e.transport.transports.find(M=>M.config.type==="webSocket"||M.config.type==="ipc");return $?$.value:e.transport}return e.transport})(),_=i?Sr({abi:r,eventName:i,args:n}):[],{unsubscribe:k}=await A.subscribe({params:["logs",{address:o,topics:_}],onData($){if(!x)return;let M=$.result;try{let{eventName:B,args:L}=ni({abi:r,data:M.data,topics:M.topics,strict:l}),U=et(M,{args:L,eventName:B});S.onLogs([U])}catch(B){let L,U;if(B instanceof mr||B instanceof yr){if(l)return;L=B.abiItem.name,U=B.abiItem.inputs?.some(re=>!("name"in re&&re.name))}let z=et(M,{args:U?[]:{},eventName:L});S.onLogs([z])}},onError($){S.onError?.($)}});v=k,x||v()}catch(A){c?.(A)}})(),()=>v()))})()}Ce();$t();Ce();G();So();At();xa();function hi(e,{docsPath:t,...r}){let o=(()=>{let n=Fo(e,r);return n instanceof Ht?e:n})();return new Uc(o,{docsPath:t,...r})}Xs();wo();ys();Qr();async function gi(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}var Df=new jt(128);async function Vo(e,t){let{account:r=e.account,chain:o=e.chain,accessList:n,authorizationList:s,blobs:i,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:l,nonce:d,type:h,value:g,...y}=t;if(typeof r>"u")throw new Ke({docsPath:"/docs/actions/wallet/sendTransaction"});let b=r?V(r):null;try{ot(t);let x=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await No({authorization:s[0]}).catch(()=>{throw new w("`to` is required. Could not infer from `authorizationList`.")})})();if(b?.type==="json-rpc"||b===null){let v;o!==null&&(v=await T(e,vt,"getChainId")({}),xs({currentChainId:v,chain:o}));let S=e.chain?.formatters?.transactionRequest?.format,_=(S||yt)({...Er(y,{format:S}),accessList:n,account:b,authorizationList:s,blobs:i,chainId:v,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:l,nonce:d,to:x,type:h,value:g},"sendTransaction"),k=Df.get(e.uid),$=k?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:$,params:[_]},{retryCount:0})}catch(M){if(k===!1)throw M;let B=M;if(B.name==="InvalidInputRpcError"||B.name==="InvalidParamsRpcError"||B.name==="MethodNotFoundRpcError"||B.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[_]},{retryCount:0}).then(L=>(Df.set(e.uid,!0),L)).catch(L=>{let U=L;throw U.name==="MethodNotFoundRpcError"||U.name==="MethodNotSupportedRpcError"?(Df.set(e.uid,!1),B):U});throw B}}if(b?.type==="local"){let v=await T(e,kr,"prepareTransactionRequest")({account:b,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:l,nonce:d,nonceManager:b.nonceManager,parameters:[...va,"sidecars"],type:h,value:g,...y,to:x}),S=o?.serializers?.transaction,A=await b.signTransaction(v,{serializer:S});return await T(e,gi,"sendRawTransaction")({serializedTransaction:A})}throw b?.type==="smart"?new Kt({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Kt({docsPath:"/docs/actions/wallet/sendTransaction",type:b?.type})}catch(x){throw x instanceof Kt?x:hi(x,{...t,account:b,chain:t.chain||void 0})}}async function Sn(e,t){return Sn.internal(e,Vo,"sendTransaction",t)}(function(e){async function t(r,o,n,s){let{abi:i,account:a=r.account,address:c,args:m,dataSuffix:u,functionName:p,...l}=s;if(typeof a>"u")throw new Ke({docsPath:"/docs/contract/writeContract"});let d=a?V(a):null,h=de({abi:i,args:m,functionName:p});try{return await T(r,o,n)({data:`${h}${u?u.replace("0x",""):""}`,to:c,account:d,...l})}catch(g){throw Rt(g,{abi:i,address:c,args:m,docsPath:"/docs/contract/writeContract",functionName:p,sender:d?.address})}}e.internal=t})(Sn||(Sn={}));G();G();var Ru=class extends w{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}};_u();function kn(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 Aa(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()})}tt();Io();an();Ne();Ce();G();Ys();$t();ct();Ne();D();var Nf="0x5792579257925792579257925792579257925792579257925792579257925792",Lf=E(0,{size:32});async function Bu(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?V(r):null,p=t.calls.map(l=>{let d=l,h=d.abi?de({abi:d.abi,functionName:d.functionName,args:d.args}):d.data;return{data:d.dataSuffix&&h?Me([h,d.dataSuffix]):h,to:d.to,value:d.value?E(d.value):void 0}});try{let l=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:a,calls:p,capabilities:o,chainId:E(n.id),from:u?.address,id:c,version:m}]},{retryCount:0});return typeof l=="string"?{id:l}:l}catch(l){let d=l;if(s&&(d.name==="MethodNotFoundRpcError"||d.name==="MethodNotSupportedRpcError"||d.name==="UnknownRpcError"||d.details.toLowerCase().includes("does not exist / is not available")||d.details.toLowerCase().includes("missing or invalid. request()")||d.details.toLowerCase().includes("did not match any variant of untagged enum")||d.details.toLowerCase().includes("account upgraded to unsupported contract")||d.details.toLowerCase().includes("eip-7702 not supported")||d.details.toLowerCase().includes("unsupported wc_ method")||d.details.toLowerCase().includes("feature toggled misconfigured")||d.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(o&&Object.values(o).some(x=>!x.optional)){let x="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new Bo(new w(x,{details:x}))}if(a&&p.length>1){let b="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new Mo(new w(b,{details:b}))}let h=[];for(let b of p){let x=Vo(e,{account:u,chain:n,data:b.data,to:b.to,value:b.value?me(b.value):void 0});h.push(x),i>0&&await new Promise(v=>setTimeout(v,i))}let g=await Promise.allSettled(h);if(g.every(b=>b.status==="rejected"))throw g[0].reason;let y=g.map(b=>b.status==="fulfilled"?b.value:Lf);return{id:Me([...y,E(n.id,{size:32}),Nf])}}throw hi(l,{...t,account:u,chain:t.chain})}}async function Mu(e,t){async function r(u){if(u.endsWith(Nf.slice(2))){let l=Ge(rm(u,-64,-32)),d=rm(u,0,-64).slice(2).match(/.{1,64}/g),h=await Promise.all(d.map(y=>Lf.slice(2)!==y?e.request({method:"eth_getTransactionReceipt",params:[`0x${y}`]},{dedupe:!0}):void 0)),g=h.some(y=>y===null)?100:h.every(y=>y?.status==="0x1")?200:h.every(y=>y?.status==="0x0")?500:600;return{atomic:!1,chainId:ve(l),receipts:h.filter(Boolean),status:g,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[u]})}let{atomic:o=!1,chainId:n,receipts:s,version:i="2.0.0",...a}=await r(t.id),[c,m]=(()=>{let u=a.status;return u>=100&&u<200?["pending",u]:u>=200&&u<300?["success",u]:u>=300&&u<700?["failure",u]:u==="CONFIRMED"?["success",200]:u==="PENDING"?["pending",100]:[void 0,u]})();return{...a,atomic:o,chainId:n?ve(n):void 0,receipts:s?.map(u=>({...u,blockNumber:me(u.blockNumber),gasUsed:me(u.gasUsed),status:Ll[u.status]}))??[],statusCode:m,status:c,version:i}}async function Fu(e,t){let{id:r,pollingInterval:o=e.pollingInterval,status:n=({statusCode:g})=>g===200||g>=300,retryCount:s=4,retryDelay:i=({count:g})=>~~(1<<g)*200,timeout:a=6e4,throwOnFailure:c=!1}=t,m=Z(["waitForCallsStatus",e.uid,r]),{promise:u,resolve:p,reject:l}=fi(),d,h=st(m,{resolve:p,reject:l},g=>{let y=Xt(async()=>{let b=x=>{clearTimeout(d),y(),x(),h()};try{let x=await kn(async()=>{let v=await T(e,Mu,"getCallsStatus")({id:r});if(c&&v.status==="failure")throw new Ru(v);return v},{retryCount:s,delay:i});if(!n(x))return;b(()=>g.resolve(x))}catch(x){b(()=>g.reject(x))}},{interval:o,emitOnBegin:!0});return y});return d=a?setTimeout(()=>{h(),clearTimeout(d),l(new Uf({id:r}))},a):void 0,await u}var Uf=class extends w{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}};Ce();var Du=256,Nu;function Lu(e=11){if(!Nu||Du+e>256*2){Nu="",Du=0;for(let t=0;t<256;t++)Nu+=(256+Math.random()*256|0).toString(16).substring(1)}return Nu.substring(Du,Du+++e)}function Uu(e){let{batch:t,chain:r,ccipRead:o,key:n="base",name:s="Base Client",type:i="base"}=e,a=e.experimental_blockTag??(typeof r?.experimental_preconfirmationTime=="number"?"pending":void 0),c=r?.blockTime??12e3,m=Math.min(Math.max(Math.floor(c/2),500),4e3),u=e.pollingInterval??m,p=e.cacheTime??u,l=e.account?V(e.account):void 0,{config:d,request:h,value:g}=e.transport({chain:r,pollingInterval:u}),y={...d,...g},b={account:l,batch:t,cacheTime:p,ccipRead:o,chain:r,key:n,name:s,pollingInterval:u,request:h,transport:y,type:i,uid:Lu(),...a?{experimental_blockTag:a}:{}};function x(v){return S=>{let A=S(v);for(let k in b)delete A[k];let _={...v,...A};return Object.assign(_,{extend:x(_)})}}return Object.assign(b,{extend:x(b)})}Ho();Uo();$t();fn();an();D();G();To();function yi(e){if(!(e instanceof w))return!1;let t=e.walk(r=>r instanceof gn);return t instanceof gn?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}_a();ct();Ve();D();Gt();_t();function zu(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;let t=`0x${e.slice(1,65)}`;return ue(t)?t:null}function Pa(e){let t=new Uint8Array(32).fill(0);if(!e)return ee(t);let r=e.split(".");for(let o=r.length-1;o>=0;o-=1){let n=zu(r[o]),s=n?zt(n):ae(nr(r[o]),"bytes");t=ae(Me([t,s]),"bytes")}return ee(t)}Ve();function Wy(e){return`[${e.slice(2)}]`}Ve();D();Gt();function Jy(e){let t=new Uint8Array(32).fill(0);return e?zu(e)||ae(nr(e)):ee(t)}function bi(e){let t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);let r=new Uint8Array(nr(t).byteLength+2),o=0,n=t.split(".");for(let s=0;s<n.length;s++){let i=nr(n[s]);i.byteLength>255&&(i=nr(Wy(Jy(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 Zy(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 qt({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c?.ensTlds;if(u&&!u.some(l=>s.endsWith(l)))return null;let p=n!=null?[Pa(s),BigInt(n)]:[Pa(s)];try{let l=de({abi:kf,functionName:"addr",args:p}),d={address:m,abi:Su,functionName:"resolveWithGateways",args:[ce(bi(s)),l,i??[ro]],blockNumber:r,blockTag:o},g=await T(e,Fe,"readContract")(d);if(g[0]==="0x")return null;let y=wt({abi:kf,args:p,functionName:"addr",data:g[0]});return y==="0x"||Ge(y)==="0x00"?null:y}catch(l){if(a)throw l;if(yi(l))return null;throw l}}G();var Ou=class extends w{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 w{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}},xi=class extends w{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"})}},Hu=class extends w{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}};var eE=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,tE=/^(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>\/.*)?$/,rE=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,oE=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function nE(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 Yy(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function zf({uri:e,gatewayUrls:t}){let r=rE.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};let o=Yy(t?.ipfs,"https://ipfs.io"),n=Yy(t?.arweave,"https://arweave.net"),s=e.match(eE),{protocol:i,subpath:a,target:c,subtarget:m=""}=s?.groups||{},u=i==="ipns:/"||a==="ipns/",p=i==="ipfs:/"||a==="ipfs/"||tE.test(e);if(e.startsWith("http")&&!u&&!p){let d=e;return t?.arweave&&(d=e.replace(/https:\/\/arweave.net/g,t?.arweave)),{uri:d,isOnChain:!1,isEncoded:!1}}if((u||p)&&c)return{uri:`${o}/${u?"ipns":"ipfs"}/${c}${m}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&c)return{uri:`${n}/${c}${m||""}`,isOnChain:!1,isEncoded:!1};let l=e.replace(oE,"");if(l.startsWith("<svg")&&(l=`data:image/svg+xml;base64,${btoa(l)}`),l.startsWith("data:")||l.startsWith("{"))return{uri:l,isOnChain:!0,isEncoded:!1};throw new xi({uri:e})}function Of(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new Ou({data:e});return e.image||e.image_url||e.image_data}async function Xy({gatewayUrls:e,uri:t}){try{let r=await fetch(t).then(n=>n.json());return await ju({gatewayUrls:e,uri:Of(r)})}catch{throw new xi({uri:t})}}async function ju({gatewayUrls:e,uri:t}){let{uri:r,isOnChain:o}=zf({uri:t,gatewayUrls:e});if(o||await nE(r))return r;throw new xi({uri:t})}function Qy(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 eb(e,{nft:t}){if(t.namespace==="erc721")return Fe(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 Fe(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 Hu({namespace:t.namespace})}async function tb(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?sE(e,{gatewayUrls:t,record:r}):ju({uri:r,gatewayUrls:t})}async function sE(e,{gatewayUrls:t,record:r}){let o=Qy(r),n=await eb(e,{nft:o}),{uri:s,isOnChain:i,isEncoded:a}=zf({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 ju({uri:Of(u),gatewayUrls:t})}let c=o.tokenID;return o.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),Xy({gatewayUrls:t,uri:s.replace(/(?:0x)?{id}/,c)})}Ho();Uo();$t();fn();D();_a();async function Gu(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 qt({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),u=c?.ensTlds;if(u&&!u.some(p=>s.endsWith(p)))return null;try{let p={address:m,abi:Su,args:[ce(bi(s)),de({abi:Sf,functionName:"text",args:[Pa(s),n]}),i??[ro]],functionName:"resolveWithGateways",blockNumber:r,blockTag:o},d=await T(e,Fe,"readContract")(p);if(d[0]==="0x")return null;let h=wt({abi:Sf,functionName:"text",data:d[0]});return h===""?null:h}catch(p){if(a)throw p;if(yi(p))return null;throw p}}async function rb(e,{blockNumber:t,blockTag:r,assetGatewayUrls:o,name:n,gatewayUrls:s,strict:i,universalResolverAddress:a}){let c=await T(e,Gu,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:n,universalResolverAddress:a,gatewayUrls:s,strict:i});if(!c)return null;try{return await tb(e,{record:c,gatewayUrls:o})}catch{return null}}Ho();fn();_a();async function ob(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 qt({blockNumber:o,chain:c,contract:"ensUniversalResolver"})})();try{let u={address:m,abi:_y,args:[r,s,i??[ro]],functionName:"reverseWithGateways",blockNumber:o,blockTag:n},p=T(e,Fe,"readContract"),[l]=await p(u);return l||null}catch(u){if(a)throw u;if(yi(u))return null;throw u}}fn();D();async function nb(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 qt({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 T(e,Fe,"readContract")({address:i,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[ce(bi(n))],blockNumber:r,blockTag:o});return c}di();Ce();D();lf();Xs();wo();Qr();async function Vu(e,t){let{account:r=e.account,blockNumber:o,blockTag:n="latest",blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:m,maxFeePerGas:u,maxPriorityFeePerGas:p,to:l,value:d,...h}=t,g=r?V(r):void 0;try{ot(t);let b=(typeof o=="bigint"?E(o):void 0)||n,x=e.chain?.formatters?.transactionRequest?.format,S=(x||yt)({...Er(h,{format:x}),account:g,blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:m,maxFeePerGas:u,maxPriorityFeePerGas:p,to:l,value:d},"createAccessList"),A=await e.request({method:"eth_createAccessList",params:[S,b]});return{accessList:A.accessList,gasUsed:BigInt(A.gasUsed)}}catch(y){throw eu(y,{...t,account:g,chain:e.chain})}}async function sb(e){let t=Do(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}D();async function qu(e,{address:t,args:r,event:o,events:n,fromBlock:s,strict:i,toBlock:a}={}){let c=n??(o?[o]:void 0),m=Do(e,{method:"eth_newFilter"}),u=[];c&&(u=[c.flatMap(d=>Sr({abi:[d],eventName:d.name,args:r}))],o&&(u=u[0]));let p=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof s=="bigint"?E(s):s,toBlock:typeof a=="bigint"?E(a):a,...u.length?{topics:u}:{}}]});return{abi:c,args:r,eventName:o?o.name:void 0,fromBlock:s,id:p,request:m(p),strict:!!i,toBlock:a,type:"event"}}async function Ku(e){let t=Do(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}D();async function ib(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 ab(e){let t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}Ne();D();async function cb(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}),ve(s)}D();async function Ta(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}G();var Wu=class extends w{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 mb(e,t){let{address:r,factory:o,factoryData:n}=t;try{let[s,i,a,c,m,u,p]=await T(e,Fe,"readContract")({abi:iE,address:r,functionName:"eip712Domain",factory:o,factoryData:n});return{domain:{name:i,version:a,chainId:Number(c),verifyingContract:m,salt:u},extensions:p,fields:s}}catch(s){let i=s;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new Wu({address:r}):i}}var iE=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];D();function ub(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 pb(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 ub(i)}async function lb(e,{filter:t}){let r=t.strict??!1,n=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(s=>et(s));return t.abi?pr({abi:t.abi,logs:n,strict:r}):n}D();ko();vn();async function fb({address:e,authorization:t,signature:r}){return Zt(bs(e),await No({authorization:t,signature:r}))}G();yn();Ys();D();ys();var Ju=new jt(8192);function db(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(Ju.get(r))return Ju.get(r);let o=e().finally(()=>Ju.delete(r));return Ju.set(r,o),o}tt();function hb(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 Ro(new Error("method not supported"),{method:m});if(s?.include&&!s.include.includes(m))throw new Ro(new Error("method not supported"),{method:m});let u=n?or(`${c}.${Z(r)}`):void 0;return db(()=>kn(async()=>{try{return await e(r)}catch(p){let l=p;switch(l.code){case Bs.code:throw new Bs(l);case Ms.code:throw new Ms(l);case Fs.code:throw new Fs(l,{method:r.method});case Ds.code:throw new Ds(l);case Xr.code:throw new Xr(l);case Cr.code:throw new Cr(l);case Ns.code:throw new Ns(l);case Ls.code:throw new Ls(l);case Us.code:throw new Us(l);case Ro.code:throw new Ro(l,{method:r.method});case bn.code:throw new bn(l);case zs.code:throw new zs(l);case xn.code:throw new xn(l);case Os.code:throw new Os(l);case Hs.code:throw new Hs(l);case js.code:throw new js(l);case Gs.code:throw new Gs(l);case Vs.code:throw new Vs(l);case Bo.code:throw new Bo(l);case qs.code:throw new qs(l);case Ks.code:throw new Ks(l);case Ws.code:throw new Ws(l);case Js.code:throw new Js(l);case Zs.code:throw new Zs(l);case Mo.code:throw new Mo(l);case 5e3:throw new xn(l);default:throw p instanceof w?p:new Qm(l)}}},{delay:({count:p,error:l})=>{if(l&&l instanceof Jt){let d=l?.headers?.get("Retry-After");if(d?.match(/\d/))return Number.parseInt(d,10)*1e3}return~~(1<<p)*i},retryCount:a,shouldRetry:({error:p})=>aE(p)}),{enabled:n,id:u})}}function aE(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===bn.code||e.code===Xr.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}Ne();D();yn();function gb(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)}})()})}tt();function cE(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var Hf=cE();function yb(e,t={}){return{async request(r){let{body:o,fetchFn:n=t.fetchFn??fetch,onRequest:s=t.onRequest,onResponse:i=t.onResponse,timeout:a=t.timeout??1e4}=r,c={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:m,method:u,signal:p}=c;try{let l=await gb(async({signal:h})=>{let g={...c,body:Array.isArray(o)?Z(o.map(v=>({jsonrpc:"2.0",id:v.id??Hf.take(),...v}))):Z({jsonrpc:"2.0",id:o.id??Hf.take(),...o}),headers:{"Content-Type":"application/json",...m},method:u||"POST",signal:p||(a>0?h:null)},y=new Request(e,g),b=await s?.(y,g)??{...g,url:e};return await n(b.url??e,b)},{errorInstance:new ba({body:o,url:e}),timeout:a,signal:!0});i&&await i(l);let d;if(l.headers.get("Content-Type")?.startsWith("application/json"))d=await l.json();else{d=await l.text();try{d=JSON.parse(d||"{}")}catch(h){if(l.ok)throw h;d={error:d}}}if(!l.ok)throw new Jt({body:o,details:Z(d.error)||l.statusText,headers:l.headers,status:l.status,url:e});return d}catch(l){throw l instanceof Jt||l instanceof ba?l:new Jt({body:o,cause:l,url:e})}}}}Gt();var bb=`Ethereum Signed Message:
|
|
52
|
+
`;ct();Ut();D();function xb(e){let t=typeof e=="string"?or(e):typeof e.raw=="string"?e.raw:ee(e.raw),r=or(`${bb}${Q(t)}`);return Me([r,t])}function vi(e,t){return ae(xb(e),t)}Zr();ct();D();Gt();Ee();ar();tt();G();var Zu=class extends w{constructor({domain:t}){super(`Invalid domain "${Z(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}},Yu=class extends w{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`."]})}},Xu=class extends w{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}};Pt();Ut();D();of();tt();function vb(e){let{domain:t,message:r,primaryType:o,types:n}=e,s=(c,m)=>{let u={...m};for(let p of c){let{name:l,type:d}=p;d==="address"&&(u[l]=u[l].toLowerCase())}return u},i=n.EIP712Domain?t?s(n.EIP712Domain,t):{}:{},a=(()=>{if(o!=="EIP712Domain")return s(n[o],r)})();return Z({domain:i,message:a,primaryType:o,types:n})}function Qu(e){let{domain:t,message:r,primaryType:o,types:n}=e,s=(i,a)=>{for(let c of i){let{name:m,type:u}=c,p=a[m],l=u.match(Vm);if(l&&(typeof p=="number"||typeof p=="bigint")){let[g,y,b]=l;E(p,{signed:y==="int",size:Number.parseInt(b,10)/8})}if(u==="address"&&typeof p=="string"&&!te(p))throw new ie({address:p});let d=u.match(Dg);if(d){let[g,y]=d;if(y&&Q(p)!==Number.parseInt(y,10))throw new bm({expectedSize:Number.parseInt(y,10),givenSize:Q(p)})}let h=n[u];h&&(mE(u),s(h,p))}};if(n.EIP712Domain&&t){if(typeof t!="object")throw new Zu({domain:t});s(n.EIP712Domain,t)}if(o!=="EIP712Domain")if(n[o])s(n[o],r);else throw new Yu({primaryType:o,types:n})}function ep({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 mE(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new Xu({type:e})}function tp(e){let{domain:t={},message:r,primaryType:o}=e,n={EIP712Domain:ep({domain:t}),...e.types};Qu({domain:t,message:r,primaryType:o,types:n});let s=["0x1901"];return t&&s.push(uE({domain:t,types:n})),o!=="EIP712Domain"&&s.push(wb({data:r,primaryType:o,types:n})),ae(Me(s))}function uE({domain:e,types:t}){return wb({data:e,primaryType:"EIP712Domain",types:t})}function wb({data:e,primaryType:t,types:r}){let o=Cb({data:e,primaryType:t,types:r});return ae(o)}function Cb({data:e,primaryType:t,types:r}){let o=[{type:"bytes32"}],n=[pE({primaryType:t,types:r})];for(let s of r[t]){let[i,a]=Sb({types:r,name:s.name,type:s.type,value:e[s.name]});o.push(i),n.push(a)}return mt(o,n)}function pE({primaryType:e,types:t}){let r=ce(lE({primaryType:e,types:t}));return ae(r)}function lE({primaryType:e,types:t}){let r="",o=Eb({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 Eb({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])Eb({primaryType:s.type,types:t},r);return r}function Sb({types:e,name:t,type:r,value:o}){if(e[r]!==void 0)return[{type:"bytes32"},ae(Cb({data:o,primaryType:r,types:e}))];if(r==="bytes")return o=`0x${(o.length%2?"0":"")+o.slice(2)}`,[{type:"bytes32"},ae(o)];if(r==="string")return[{type:"bytes32"},ae(ce(o))];if(r.lastIndexOf("]")===r.length-1){let n=r.slice(0,r.lastIndexOf("[")),s=o.map(i=>Sb({name:t,type:n,types:e,value:i}));return[{type:"bytes32"},ae(mt(s.map(([i])=>i),s.map(([,i])=>i)))]}return[{type:r},o]}var Na={};Il(Na,{InvalidWrappedSignatureError:()=>gp,assert:()=>yp,from:()=>WE,magicBytes:()=>dd,suffixParameters:()=>hd,unwrap:()=>Vb,validate:()=>ZE,wrap:()=>JE});da();zo();var rp=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 fE={checksum:new rp(8192)},op=fE.checksum;Ct();Vl();zo();We();function In(e,t={}){let{as:r=typeof e=="string"?"Hex":"Bytes"}=t,o=tm(gy(e));return r==="Bytes"?o:$e(o)}zo();Ct();We();Ea();function kb(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 np({prefix:o,cause:new qf});return}if(r===!0||typeof n=="bigint"&&typeof s>"u"){if(o!==3&&o!==2)throw new np({prefix:o,cause:new Vf});return}throw new Gf({publicKey:e})}function Ib(e){let t=(()=>{if(ka(e))return _b(e);if(Cy(e))return hE(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 kb(t),t}function hE(e){return _b($e(e))}function _b(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new Kf({publicKey:e});if(e.length===130){let o=BigInt(be(e,0,32)),n=BigInt(be(e,32,64));return{prefix:4,x:o,y:n}}if(e.length===132){let o=Number(be(e,0,1)),n=BigInt(be(e,1,33)),s=BigInt(be(e,33,65));return{prefix:o,x:n,y:s}}let t=Number(be(e,0,1)),r=BigInt(be(e,1,33));return{prefix:t,x:r}}function Wf(e,t={}){kb(e);let{prefix:r,x:o,y:n}=e,{includePrefix:s=!0}=t;return we(s?oe(r,{size:1}):"0x",oe(o,{size:32}),typeof n=="bigint"?oe(n,{size:32}):"0x")}var Gf=class extends F{constructor({publicKey:t}){super(`Value \`${Oo(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"})}},np=class extends F{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"})}},Vf=class extends F{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"})}},qf=class extends F{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}},Kf=class extends F{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 ${ye(ui(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};var gE=/^0x[a-fA-F0-9]{40}$/;function _n(e,t={}){let{strict:r=!0}=t;if(!gE.test(e))throw new sp({address:e,cause:new Jf});if(r){if(e.toLowerCase()===e)return;if(ip(e)!==e)throw new sp({address:e,cause:new Zf})}}function ip(e){if(op.has(e))return op.get(e);_n(e,{strict:!1});let t=e.substring(2).toLowerCase(),r=In(yy(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 op.set(e,n),n}function yE(e,t={}){let{checksum:r=!1}=t;return _n(e),r?ip(e):e}function Pb(e,t={}){let r=In(`0x${Wf(e).slice(4)}`).substring(26);return yE(`0x${r}`,t)}function ap(e,t={}){let{strict:r=!0}=t??{};try{return _n(e,{strict:r}),!0}catch{return!1}}var sp=class extends F{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"})}},Jf=class extends F{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"})}},Zf=class extends F{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}};zo();Ct();We();zo();Ct();We();var Tb=/^(.*)\[([0-9]*)\]$/,$b=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,mp=/^(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)?$/,GG=2n**(8n-1n)-1n,VG=2n**(16n-1n)-1n,qG=2n**(24n-1n)-1n,KG=2n**(32n-1n)-1n,WG=2n**(40n-1n)-1n,JG=2n**(48n-1n)-1n,ZG=2n**(56n-1n)-1n,YG=2n**(64n-1n)-1n,XG=2n**(72n-1n)-1n,QG=2n**(80n-1n)-1n,eV=2n**(88n-1n)-1n,tV=2n**(96n-1n)-1n,rV=2n**(104n-1n)-1n,oV=2n**(112n-1n)-1n,nV=2n**(120n-1n)-1n,sV=2n**(128n-1n)-1n,iV=2n**(136n-1n)-1n,aV=2n**(144n-1n)-1n,cV=2n**(152n-1n)-1n,mV=2n**(160n-1n)-1n,uV=2n**(168n-1n)-1n,pV=2n**(176n-1n)-1n,lV=2n**(184n-1n)-1n,fV=2n**(192n-1n)-1n,dV=2n**(200n-1n)-1n,hV=2n**(208n-1n)-1n,gV=2n**(216n-1n)-1n,yV=2n**(224n-1n)-1n,bV=2n**(232n-1n)-1n,xV=2n**(240n-1n)-1n,vV=2n**(248n-1n)-1n,wV=2n**(256n-1n)-1n,CV=-(2n**(8n-1n)),EV=-(2n**(16n-1n)),SV=-(2n**(24n-1n)),kV=-(2n**(32n-1n)),IV=-(2n**(40n-1n)),_V=-(2n**(48n-1n)),AV=-(2n**(56n-1n)),PV=-(2n**(64n-1n)),TV=-(2n**(72n-1n)),$V=-(2n**(80n-1n)),RV=-(2n**(88n-1n)),BV=-(2n**(96n-1n)),MV=-(2n**(104n-1n)),FV=-(2n**(112n-1n)),DV=-(2n**(120n-1n)),NV=-(2n**(128n-1n)),LV=-(2n**(136n-1n)),UV=-(2n**(144n-1n)),zV=-(2n**(152n-1n)),OV=-(2n**(160n-1n)),HV=-(2n**(168n-1n)),jV=-(2n**(176n-1n)),GV=-(2n**(184n-1n)),VV=-(2n**(192n-1n)),qV=-(2n**(200n-1n)),KV=-(2n**(208n-1n)),WV=-(2n**(216n-1n)),JV=-(2n**(224n-1n)),ZV=-(2n**(232n-1n)),YV=-(2n**(240n-1n)),XV=-(2n**(248n-1n)),QV=-(2n**(256n-1n)),eq=2n**8n-1n,tq=2n**16n-1n,rq=2n**24n-1n,oq=2n**32n-1n,nq=2n**40n-1n,sq=2n**48n-1n,iq=2n**56n-1n,aq=2n**64n-1n,cq=2n**72n-1n,mq=2n**80n-1n,uq=2n**88n-1n,pq=2n**96n-1n,lq=2n**104n-1n,fq=2n**112n-1n,dq=2n**120n-1n,hq=2n**128n-1n,gq=2n**136n-1n,yq=2n**144n-1n,bq=2n**152n-1n,xq=2n**160n-1n,vq=2n**168n-1n,wq=2n**176n-1n,Cq=2n**184n-1n,Eq=2n**192n-1n,Sq=2n**200n-1n,kq=2n**208n-1n,Iq=2n**216n-1n,_q=2n**224n-1n,Aq=2n**232n-1n,Pq=2n**240n-1n,Tq=2n**248n-1n,Yf=2n**256n-1n;function An(e,t,r){let{checksumAddress:o,staticPosition:n}=r,s=ed(t.type);if(s){let[i,a]=s;return xE(e,{...t,type:a},{checksumAddress:o,length:i,staticPosition:n})}if(t.type==="tuple")return EE(e,t,{checksumAddress:o,staticPosition:n});if(t.type==="address")return bE(e,{checksum:o});if(t.type==="bool")return vE(e);if(t.type.startsWith("bytes"))return wE(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return CE(e,t);if(t.type==="string")return SE(e,{staticPosition:n});throw new wi(t.type)}var Bb=32,Xf=32;function bE(e,t={}){let{checksum:r=!1}=t,o=e.readBytes(32);return[(s=>r?ip(s):s)($e(by(o,-20))),32]}function xE(e,t,r){let{checksumAddress:o,length:n,staticPosition:s}=r;if(!n){let c=Ir(e.readBytes(Xf)),m=s+c,u=m+Bb;e.setPosition(m);let p=Ir(e.readBytes(Bb)),l=$a(t),d=0,h=[];for(let g=0;g<p;++g){e.setPosition(u+(l?g*32:d));let[y,b]=An(e,t,{checksumAddress:o,staticPosition:u});d+=b,h.push(y)}return e.setPosition(s+32),[h,32]}if($a(t)){let c=Ir(e.readBytes(Xf)),m=s+c,u=[];for(let p=0;p<n;++p){e.setPosition(m+p*32);let[l]=An(e,t,{checksumAddress:o,staticPosition:m});u.push(l)}return e.setPosition(s+32),[u,32]}let i=0,a=[];for(let c=0;c<n;++c){let[m,u]=An(e,t,{checksumAddress:o,staticPosition:s+i});i+=u,a.push(m)}return[a,i]}function vE(e){return[vy(e.readBytes(32),{size:32}),32]}function wE(e,t,{staticPosition:r}){let[o,n]=t.type.split("bytes");if(!n){let i=Ir(e.readBytes(32));e.setPosition(r+i);let a=Ir(e.readBytes(32));if(a===0)return e.setPosition(r+32),["0x",32];let c=e.readBytes(a);return e.setPosition(r+32),[$e(c),32]}return[$e(e.readBytes(Number.parseInt(n,10),32)),32]}function CE(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?xy(n,{signed:r}):Ir(n,{signed:r}),32]}function EE(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($a(t)){let c=Ir(e.readBytes(Xf)),m=n+c;for(let u=0;u<t.components.length;++u){let p=t.components[u];e.setPosition(m+a);let[l,d]=An(e,p,{checksumAddress:o,staticPosition:m});a+=d,i[s?u:p?.name]=l}return e.setPosition(n+32),[i,32]}for(let c=0;c<t.components.length;++c){let m=t.components[c],[u,p]=An(e,m,{checksumAddress:o,staticPosition:n});i[s?c:m?.name]=u,a+=p}return[i,a]}function SE(e,{staticPosition:t}){let r=Ir(e.readBytes(32)),o=t+r;e.setPosition(o);let n=Ir(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let s=e.readBytes(n,32),i=wy(vf(s));return e.setPosition(t+32),[i,32]}function Mb({checksumAddress:e,parameters:t,values:r}){let o=[];for(let n=0;n<t.length;n++)o.push(Qf({checksumAddress:e,parameter:t[n],value:r[n]}));return o}function Qf({checksumAddress:e=!1,parameter:t,value:r}){let o=t,n=ed(o.type);if(n){let[s,i]=n;return IE(r,{checksumAddress:e,length:s,parameter:{...o,type:i}})}if(o.type==="tuple")return $E(r,{checksumAddress:e,parameter:o});if(o.type==="address")return kE(r,{checksum:e});if(o.type==="bool")return AE(r);if(o.type.startsWith("uint")||o.type.startsWith("int")){let s=o.type.startsWith("int"),[,,i="256"]=mp.exec(o.type)??[];return PE(r,{signed:s,size:Number(i)})}if(o.type.startsWith("bytes"))return _E(r,{type:o.type});if(o.type==="string")return TE(r);throw new wi(o.type)}function up(e){let t=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?t+=32:t+=ye(a)}let r=[],o=[],n=0;for(let s=0;s<e.length;s++){let{dynamic:i,encoded:a}=e[s];i?(r.push(oe(t+n,{size:32})),o.push(a),n+=ye(a)):r.push(a)}return we(...r,...o)}function kE(e,t){let{checksum:r=!1}=t;return _n(e,{strict:r}),{dynamic:!1,encoded:to(e.toLowerCase())}}function IE(e,t){let{checksumAddress:r,length:o,parameter:n}=t,s=o===null;if(!Array.isArray(e))throw new lp(e);if(!s&&e.length!==o)throw new pp({expectedLength:o,givenLength:e.length,type:`${n.type}[${o}]`});let i=!1,a=[];for(let c=0;c<e.length;c++){let m=Qf({checksumAddress:r,parameter:n,value:e[c]});m.dynamic&&(i=!0),a.push(m)}if(s||i){let c=up(a);if(s){let m=oe(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?we(m,c):m}}if(i)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:we(...a.map(({encoded:c})=>c))}}function _E(e,{type:t}){let[,r]=t.split("bytes"),o=ye(e);if(!r){let n=e;return o%32!==0&&(n=_r(n,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:we(to(oe(o,{size:32})),n)}}if(o!==Number.parseInt(r,10))throw new Ra({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:_r(e)}}function AE(e){if(typeof e!="boolean")throw new F(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:to(wu(e))}}function PE(e,{signed:t,size:r}){if(typeof r=="number"){let o=2n**(BigInt(r)-(t?1n:0n))-1n,n=t?-o-1n:0n;if(e>o||e<n)throw new Sa({max:o.toString(),min:n.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:oe(e,{size:32,signed:t})}}function TE(e){let t=pi(e),r=Math.ceil(ye(t)/32),o=[];for(let n=0;n<r;n++)o.push(_r(be(t,n*32,(n+1)*32)));return{dynamic:!0,encoded:we(_r(oe(ye(t),{size:32})),...o)}}function $E(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=Qf({checksumAddress:r,parameter:a,value:e[c]});s.push(m),m.dynamic&&(n=!0)}return{dynamic:n,encoded:n?up(s):we(...s.map(({encoded:i})=>i))}}function ed(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function $a(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some($a);let r=ed(e.type);return!!(r&&$a({...e,type:r[1]}))}Ct();var BE={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 rd({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new td({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new fp({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 fp({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 dp(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(BE);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var fp=class extends F{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}},td=class extends F{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"})}},rd=class extends F{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}};function Ci(e,t,r={}){let{as:o="Array",checksumAddress:n=!1}=r,s=typeof t=="string"?mi(t):t,i=dp(s);if(Yt(s)===0&&e.length>0)throw new sd;if(Yt(s)&&Yt(s)<32)throw new nd({data:typeof t=="string"?t:$e(t),parameters:e,size:Yt(s)});let a=0,c=o==="Array"?[]:{};for(let m=0;m<e.length;++m){let u=e[m];i.setPosition(a);let[p,l]=An(i,u,{checksumAddress:n,staticPosition:0});a+=l,o==="Array"?c.push(p):c[u.name??m]=p}return c}function Ko(e,t,r){let{checksumAddress:o=!1}=r??{};if(e.length!==t.length)throw new hp({expectedLength:e.length,givenLength:t.length});let n=Mb({checksumAddress:o,parameters:e,values:t}),s=up(n);return s.length===0?"0x":s}function od(e,t){if(e.length!==t.length)throw new hp({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(od.encode(n,s))}return we(...r)}(function(e){function t(r,o,n=!1){if(r==="address"){let c=o;return _n(c),to(c.toLowerCase(),n?32:0)}if(r==="string")return pi(o);if(r==="bytes")return o;if(r==="bool")return to(wu(o),n?32:1);let s=r.match(mp);if(s){let[c,m,u="256"]=s,p=Number.parseInt(u,10)/8;return oe(o,{size:n?32:p,signed:m==="int"})}let i=r.match($b);if(i){let[c,m]=i;if(Number.parseInt(m,10)!==(o.length-2)/2)throw new Ra({expectedSize:Number.parseInt(m,10),value:o});return _r(o,n?32:0)}let a=r.match(Tb);if(a&&Array.isArray(o)){let[c,m]=a,u=[];for(let p=0;p<o.length;p++)u.push(t(m,o[p],!0));return u.length===0?"0x":we(...u)}throw new wi(r)}e.encode=t})(od||(od={}));function Ma(e){return Array.isArray(e)&&typeof e[0]=="string"?jm(e):typeof e=="string"?jm(e):e}var nd=class extends F{constructor({data:t,parameters:r,size:o}){super(`Data size of ${o} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Jr(r)})`,`Data: ${t} (${o} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}},sd=class extends F{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}},pp=class extends F{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"})}},Ra=class extends F{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${ye(r)}) does not match expected size (bytes${t}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}},hp=class extends F{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"})}},lp=class extends F{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}},wi=class extends F{constructor(t){super(`Type \`${t}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}};We();zo();Ct();We();function ME(e,t){let{as:r}=t,o=Nb(e),n=dp(new Uint8Array(o.length));return o.encode(n),r==="Hex"?$e(n.bytes):n.bytes}function Db(e,t={}){let{as:r="Hex"}=t;return ME(e,{as:r})}function Nb(e){return Array.isArray(e)?FE(e.map(t=>Nb(t))):DE(e)}function FE(e){let t=e.reduce((n,s)=>n+s.length,0),r=Lb(t);return{length:t<=55?1+t:1+r+t,encode(n){t<=55?n.pushByte(192+t):(n.pushByte(247+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:s}of e)s(n)}}}function DE(e){let t=typeof e=="string"?mi(e):e,r=Lb(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(183+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function Lb(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 F("Length is too large.")}import{secp256k1 as Mq}from"@noble/curves/secp256k1";Ct();We();Ea();function ud(e,t={}){let{recovered:r}=t;if(typeof e.r>"u")throw new Fa({signature:e});if(typeof e.s>"u")throw new Fa({signature:e});if(r&&typeof e.yParity>"u")throw new Fa({signature:e});if(e.r<0n||e.r>Yf)throw new ad({value:e.r});if(e.s<0n||e.s>Yf)throw new cd({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new Da({value:e.yParity})}function LE(e){return Ub($e(e))}function Ub(e){if(e.length!==130&&e.length!==132)throw new id({signature:e});let t=BigInt(be(e,0,32)),r=BigInt(be(e,32,64)),o=(()=>{let n=+`0x${e.slice(130)}`;if(!Number.isNaN(n))try{return fd(n)}catch{throw new Da({value:n})}})();return typeof o>"u"?{r:t,s:r}:{r:t,s:r,yParity:o}}function pd(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return ld(e)}function ld(e){let t=typeof e=="string"?Ub(e):e instanceof Uint8Array?LE(e):typeof e.r=="string"?zE(e):e.v?UE(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}};return ud(t),t}function UE(e){return{r:e.r,s:e.s,yParity:fd(e.v)}}function zE(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=fd(r)),typeof o!="number")throw new Da({value:e.yParity});return o})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function zb(e){let{r:t,s:r,yParity:o}=e;return[o?"0x01":"0x",t===0n?"0x":Cf(oe(t)),r===0n?"0x":Cf(oe(r))]}function fd(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 md({value:e})}var id=class extends F{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${ye(ui(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}},Fa=class extends F{constructor({signature:t}){super(`Signature \`${Oo(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}},ad=class extends F{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"})}},cd=class extends F{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"})}},Da=class extends F{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"})}},md=class extends F{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 Hb(e,t={}){return typeof e.chainId=="string"?OE(e):{...e,...t.signature}}function OE(e){let{address:t,chainId:r,nonce:o}=e,n=pd(e);return{address:t,chainId:Number(r),nonce:BigInt(o),...n}}function jb(e){return HE(e,{presign:!0})}function HE(e,t={}){let{presign:r}=t;return In(we("0x05",Db(jE(r?{address:e.address,chainId:e.chainId,nonce:e.nonce}:e))))}function jE(e){let{address:t,chainId:r,nonce:o}=e,n=pd(e);return[r?oe(r):"0x",t,o?oe(o):"0x",...n?zb(n):[]]}Ct();We();import{secp256k1 as VE}from"@noble/curves/secp256k1";We();function Gb(e){return Pb(qE(e))}function qE(e){let{payload:t,signature:r}=e,{r:o,s:n,yParity:s}=r,a=new VE.Signature(BigInt(o),BigInt(n)).addRecoveryBit(s).recoverPublicKey(ui(t).substring(2));return Ib(a)}var dd="0x8010801080108010801080108010801080108010801080108010801080108010",hd=Ma("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function yp(e){if(typeof e=="string"){if(be(e,-32)!==dd)throw new gp(e)}else ud(e.authorization)}function WE(e){return typeof e=="string"?Vb(e):e}function Vb(e){yp(e);let t=bu(be(e,-64,-32)),r=be(e,-t-64,-64),o=be(e,0,-t-64),[n,s,i]=Ci(hd,r);return{authorization:Hb({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 JE(e){let{data:t,signature:r}=e;yp(e);let o=Gb({payload:jb(e.authorization),signature:ld(e.authorization)}),n=Ko(hd,[{...e.authorization,delegation:e.authorization.address,chainId:BigInt(e.authorization.chainId)},e.to??o,t??"0x"]),s=oe(ye(n),{size:32});return we(r,n,s,dd)}function ZE(e){try{return yp(e),!0}catch{return!1}}var gp=class extends F{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"})}};Rc();G();var bp=class extends w{constructor({value:t}){super(`Number \`${t}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}};function qb(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new bp({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 Pn(e,t="wei"){return qb(e,$c[t])}function YE(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function Kb(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?ve(e.nonce):void 0,storageProof:e.storageProof?YE(e.storageProof):void 0}}async function Wb(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 Kb(a)}D();async function Jb(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]})}At();D();async function Ei(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 es({blockHash:t,blockNumber:r,blockTag:i,hash:n,index:s});return(e.chain?.formatters?.transaction?.format||cn)(c,"getTransaction")}async function Zb(e,{hash:t,transactionReceipt:r}){let[o,n]=await Promise.all([T(e,Pr,"getBlockNumber")({}),t?T(e,Ei,"getTransaction")({hash:t}):void 0]),s=r?.blockNumber||n?.blockNumber;return s?o-s+1n:0n}At();async function Si(e,{hash:t}){let r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new ts({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||Qi)(r,"getTransactionReceipt")}Ho();Ia();Ee();G();To();Uo();$t();fn();async function Yb(e,t){let{account:r,authorizationList:o,allowFailure:n=!0,blockNumber:s,blockOverrides:i,blockTag:a,stateOverride:c}=t,m=t.contracts,{batchSize:u=t.batchSize??1024,deployless:p=t.deployless??!1}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},l=(()=>{if(t.multicallAddress)return t.multicallAddress;if(p)return null;if(e.chain)return qt({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),d=[[]],h=0,g=0;for(let x=0;x<m.length;x++){let{abi:v,address:S,args:A,functionName:_}=m[x];try{let k=de({abi:v,args:A,functionName:_});g+=(k.length-2)/2,u>0&&g>u&&d[h].length>0&&(h++,g=(k.length-2)/2,d[h]=[]),d[h]=[...d[h],{allowFailure:!0,callData:k,target:S}]}catch(k){let $=Rt(k,{abi:v,address:S,args:A,docsPath:"/docs/contract/multicall",functionName:_,sender:r});if(!n)throw $;d[h]=[...d[h],{allowFailure:!0,callData:"0x",target:S}]}}let y=await Promise.allSettled(d.map(x=>T(e,Fe,"readContract")({...l===null?{code:li}:{address:l},abi:Cn,account:r,args:[x],authorizationList:o,blockNumber:s,blockOverrides:i,blockTag:a,functionName:"aggregate3",stateOverride:c}))),b=[];for(let x=0;x<y.length;x++){let v=y[x];if(v.status==="rejected"){if(!n)throw v.reason;for(let A=0;A<d[x].length;A++)b.push({status:"failure",error:v.reason,result:void 0});continue}let S=v.value;for(let A=0;A<S.length;A++){let{returnData:_,success:k}=S[A],{callData:$}=d[x][A],{abi:M,address:B,functionName:L,args:U}=m[b.length];try{if($==="0x")throw new Wt;if(!k)throw new wr({data:_});let z=wt({abi:M,args:U,data:_,functionName:L});b.push(n?{result:z,status:"success"}:z)}catch(z){let re=Rt(z,{abi:M,address:B,args:U,docsPath:"/docs/contract/multicall",functionName:L});if(!n)throw re;b.push({error:re,result:void 0,status:"failure"})}}}if(b.length!==m.length)throw new w("multicall results mismatch");return b}Ef();Ce();Ee();To();So();Uo();$t();ct();D();xa();wo();cu();Qr();async function La(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 l of n){let d=l.blockOverrides?Cu(l.blockOverrides):void 0,h=l.calls.map(y=>{let b=y,x=b.account?V(b.account):void 0,v=b.abi?de(b):b.data,S={...b,account:x,data:b.dataSuffix?Me([v||"0x",b.dataSuffix]):v,from:b.from??x?.address};return ot(S),yt(S)}),g=l.stateOverrides?Qs(l.stateOverrides):void 0;c.push({blockOverrides:d,calls:h,stateOverrides:g})}let u=(typeof r=="bigint"?E(r):void 0)||o;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:s,traceTransfers:i,validation:a},u]})).map((l,d)=>({...Xi(l),calls:l.calls.map((h,g)=>{let{abi:y,args:b,functionName:x,to:v}=n[d].calls[g],S=h.error?.data??h.returnData,A=BigInt(h.gasUsed),_=h.logs?.map(B=>et(B)),k=h.status==="0x1"?"success":"failure",$=y&&k==="success"&&S!=="0x"?wt({abi:y,data:S,functionName:x}):null,M=(()=>{if(k==="success")return;let B;if(h.error?.data==="0x"?B=new Wt:h.error&&(B=new wr(h.error)),!!B)return Rt(B,{abi:y??[],address:v??"0x",args:b,functionName:x??"<unknown>"})})();return{data:S,gasUsed:A,logs:_,status:k,...k==="success"?{result:$}:{error:M}}})}))}catch(c){let m=c,u=Fo(m,{});throw u instanceof Ht?m:u}}da();Ct();We();Ct();function vp(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 F("Unable to normalize signature.");return n}function xp(e,t){let r=typeof e,o=t.type;switch(o){case"address":return ap(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)=>xp(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=>xp(n,{...t,type:o.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function gd(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 gd(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")?ap(r[o],{strict:!1}):i.includes("address")&&i.includes("bytes")?ap(r[o],{strict:!1}):!1)return i}}function wp(e,t={}){let{prepare:r=!0}=t,o=Array.isArray(e)?Hm(e):typeof e=="string"?Hm(e):e;return{...o,...r?{hash:ki(o)}:{}}}function Ua(e,t,r){let{args:o=[],prepare:n=!0}=r??{},s=ka(t,{strict:!1}),i=e.filter(m=>s?m.type==="function"||m.type==="error"?bd(m)===be(t,0,4):m.type==="event"?ki(m)===t:!1:"name"in m&&m.name===t);if(i.length===0)throw new Wo({name:t});if(i.length===1)return{...i[0],...n?{hash:ki(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:ki(m)}:{}};continue}if(!m.inputs||m.inputs.length===0||m.inputs.length!==o.length)continue;if(o.every((p,l)=>{let d="inputs"in m&&m.inputs[l];return d?xp(p,d):!1})){if(a&&"inputs"in a&&a.inputs){let p=gd(m.inputs,a.inputs,o);if(p)throw new yd({abiItem:m,type:p[0]},{abiItem:a,type:p[1]})}a=m}}let c=(()=>{if(a)return a;let[m,...u]=i;return{...m,overloads:u}})();if(!c)throw new Wo({name:t});return{...c,...n?{hash:ki(c)}:{}}}function bd(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return Ua(r,o)}return e[0]})();return be(ki(t),0,4)}function QE(...e){let t=(()=>{if(Array.isArray(e[0])){let[o,n]=e;return Ua(o,n)}return e[0]})(),r=typeof t=="string"?t:dn(t);return vp(r)}function ki(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return Ua(r,o)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:In(pi(QE(t)))}var yd=class extends F{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${vp(dn(t.abiItem))}\`, and`,`\`${r.type}\` in \`${vp(dn(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"})}},Wo=class extends F{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"})}};We();function Qb(...e){let[t,r]=(()=>{if(Array.isArray(e[0])){let[s,i]=e;return[e8(s),i]}return e})(),{bytecode:o,args:n}=r;return we(o,t.inputs?.length&&n?.length?Ko(t.inputs,n):"0x")}function ex(e){return wp(e)}function e8(e){let t=e.find(r=>r.type==="constructor");if(!t)throw new Wo({name:"constructor"});return t}We();function rx(...e){let[t,r=[]]=(()=>{if(Array.isArray(e[0])){let[m,u,p]=e;return[tx(m,u,{args:p}),p]}let[a,c]=e;return[a,c]})(),{overloads:o}=t,n=o?tx([t,...o],t.name,{args:r}):t,s=r8(n),i=r.length>0?Ko(n.inputs,r):void 0;return i?we(s,i):s}function Tn(e,t={}){return wp(e,t)}function tx(e,t,r){let o=Ua(e,t,r);if(o.type!=="function")throw new Wo({name:t,type:"function"});return o}function r8(e){return bd(e)}Ce();var ox="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",lr="0x0000000000000000000000000000000000000000";Ia();G();$t();var n8="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function nx(e,t){let{blockNumber:r,blockTag:o,calls:n,stateOverrides:s,traceAssetChanges:i,traceTransfers:a,validation:c}=t,m=t.account?V(t.account):void 0;if(i&&!m)throw new w("`account` is required when `traceAssetChanges` is true");let u=m?Qb(ex("constructor(bytes, bytes)"),{bytecode:ku,args:[n8,rx(Tn("function getBalance(address)"),[m.address])]}):void 0,p=i?await Promise.all(t.calls.map(async O=>{if(!O.data&&!O.abi)return;let{accessList:Ae}=await Vu(e,{account:m.address,...O,data:O.abi?de(O):O.data});return Ae.map(({address:hr,storageKeys:yo})=>yo.length>0?hr:null)})).then(O=>O.flat().filter(Boolean)):[],l=await La(e,{blockNumber:r,blockTag:o,blocks:[...i?[{calls:[{data:u}],stateOverrides:s},{calls:p.map((O,Ae)=>({abi:[Tn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:O,from:lr,nonce:Ae})),stateOverrides:[{address:lr,nonce:0}]}]:[],{calls:[...n,{}].map(O=>({...O,from:m?.address})),stateOverrides:s},...i?[{calls:[{data:u}]},{calls:p.map((O,Ae)=>({abi:[Tn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[m.address],to:O,from:lr,nonce:Ae})),stateOverrides:[{address:lr,nonce:0}]},{calls:p.map((O,Ae)=>({to:O,abi:[Tn("function decimals() returns (uint256)")],functionName:"decimals",from:lr,nonce:Ae})),stateOverrides:[{address:lr,nonce:0}]},{calls:p.map((O,Ae)=>({to:O,abi:[Tn("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:lr,nonce:Ae})),stateOverrides:[{address:lr,nonce:0}]},{calls:p.map((O,Ae)=>({to:O,abi:[Tn("function symbol() returns (string)")],functionName:"symbol",from:lr,nonce:Ae})),stateOverrides:[{address:lr,nonce:0}]}]:[]],traceTransfers:a,validation:c}),d=i?l[2]:l[0],[h,g,,y,b,x,v,S]=i?l:[],{calls:A,..._}=d,k=A.slice(0,-1)??[],$=h?.calls??[],M=g?.calls??[],B=[...$,...M].map(O=>O.status==="success"?me(O.data):null),L=y?.calls??[],U=b?.calls??[],z=[...L,...U].map(O=>O.status==="success"?me(O.data):null),re=(x?.calls??[]).map(O=>O.status==="success"?O.result:null),K=(S?.calls??[]).map(O=>O.status==="success"?O.result:null),ge=(v?.calls??[]).map(O=>O.status==="success"?O.result:null),Nt=[];for(let[O,Ae]of z.entries()){let hr=B[O];if(typeof Ae!="bigint"||typeof hr!="bigint")continue;let yo=re[O-1],le=K[O-1],bo=ge[O-1],rr=O===0?{address:ox,decimals:18,symbol:"ETH"}:{address:p[O-1],decimals:bo||yo?Number(yo??1):void 0,symbol:le??void 0};Nt.some(Sl=>Sl.token.address===rr.address)||Nt.push({token:rr,value:{pre:hr,post:Ae,diff:Ae-hr}})}return{assetChanges:Nt,block:_,results:k}}var za={};Il(za,{InvalidWrappedSignatureError:()=>Cp,assert:()=>vd,from:()=>a8,magicBytes:()=>xd,universalSignatureValidatorAbi:()=>i8,universalSignatureValidatorBytecode:()=>s8,unwrap:()=>sx,validate:()=>m8,wrap:()=>c8});Ct();We();var xd="0x6492649264926492649264926492649264926492649264926492649264926492",s8="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",i8=[{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 vd(e){if(be(e,-32)!==xd)throw new Cp(e)}function a8(e){return typeof e=="string"?sx(e):e}function sx(e){vd(e);let[t,r,o]=Ci(Ma("address, bytes, bytes"),e);return{data:r,signature:o,to:t}}function c8(e){let{data:t,signature:r,to:o}=e;return we(Ko(Ma("address, bytes, bytes"),[o,t,r]),xd)}function m8(e){try{return vd(e),!0}catch{return!1}}var Cp=class extends F{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"})}};Ho();Ia();To();Iu();$t();ko();vn();ct();_t();Ne();D();Ne();Ve();import{secp256k1 as u8}from"@noble/curves/secp256k1";function Ep({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 u8.Signature(me(e),me(t)).toCompactHex()}${s===0?"1b":"1c"}`;return r==="hex"?i:Le(i)}di();async function Jo(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 ue(a)?a:typeof a=="object"&&"r"in a&&"s"in a?Ep(a):ee(a)})();try{return Na.validate(i)?await p8(e,{...t,multicallAddress:s,signature:i}):await l8(e,{...t,verifierAddress:n,signature:i})}catch(a){try{if(Zt(bs(r),await su({hash:o,signature:i})))return!0}catch{}if(a instanceof oo)return!1;throw a}}async function p8(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,multicallAddress:i}=t,{authorization:a,data:c,signature:m,to:u}=Na.unwrap(t.signature);if(await Ta(e,{address:r,blockNumber:o,blockTag:n})===qe(["0xef0100",a.address]))return await f8(e,{address:r,blockNumber:o,blockTag:n,hash:s,signature:m});let l={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 fb({address:r,authorization:l}))throw new oo;let h=await T(e,Fe,"readContract")({...i?{address:i}:{code:li},authorizationList:[l],abi:Cn,blockNumber:o,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:u??r,callData:c}]:[],{allowFailure:!0,target:r,callData:de({abi:If,functionName:"isValidSignature",args:[s,m]})}]]});if(h[h.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new oo}async function l8(e,t){let{address:r,factory:o,factoryData:n,hash:s,signature:i,verifierAddress:a,...c}=t,m=await(async()=>!o&&!n||za.validate(i)?i:za.wrap({data:n,signature:i,to:o}))(),u=a?{to:a,data:de({abi:_f,functionName:"isValidSig",args:[r,s,m]}),...c}:{data:En({abi:_f,args:[r,s,m],bytecode:$y}),...c},{data:p}=await T(e,Ar,"call")(u).catch(l=>{throw l instanceof $s?new oo:l});if(Dl(p??"0x0"))return!0;throw new oo}async function f8(e,t){let{address:r,blockNumber:o,blockTag:n,hash:s,signature:i}=t;if((await T(e,Fe,"readContract")({address:r,abi:If,args:[s,i],blockNumber:o,blockTag:n,functionName:"isValidSignature"}).catch(c=>{throw c instanceof Rs?new oo:c})).startsWith("0x1626ba7e"))return!0;throw new oo}var oo=class extends Error{};async function ix(e,{address:t,message:r,factory:o,factoryData:n,signature:s,...i}){let a=vi(r);return Jo(e,{address:t,factory:o,factoryData:n,hash:a,signature:s,...i})}async function ax(e,t){let{address:r,factory:o,factoryData:n,signature:s,message:i,primaryType:a,types:c,domain:m,...u}=t,p=tp({message:i,primaryType:a,types:c,domain:m});return Jo(e,{address:r,factory:o,factoryData:n,hash:p,signature:s,...u})}At();_u();tt();Ne();tt();function Sp(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:o,onError:n,poll:s,pollingInterval:i=e.pollingInterval}){let a=typeof s<"u"?s:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),c;return a?(()=>{let p=Z(["watchBlockNumber",e.uid,t,r,i]);return st(p,{onBlockNumber:o,onError:n},l=>Xt(async()=>{try{let d=await T(e,Pr,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(d===c)return;if(d-c>1&&r)for(let h=c+1n;h<d;h++)l.onBlockNumber(h,c),c=h}(c===void 0||d>c)&&(l.onBlockNumber(d,c),c=d)}catch(d){l.onError?.(d)}},{emitOnBegin:t,interval:i}))})():(()=>{let p=Z(["watchBlockNumber",e.uid,t,r]);return st(p,{onBlockNumber:o,onError:n},l=>{let d=!0,h=()=>d=!1;return(async()=>{try{let g=(()=>{if(e.transport.type==="fallback"){let b=e.transport.transports.find(x=>x.config.type==="webSocket"||x.config.type==="ipc");return b?b.value:e.transport}return e.transport})(),{unsubscribe:y}=await g.subscribe({params:["newHeads"],onData(b){if(!d)return;let x=me(b.result?.number);l.onBlockNumber(x,c),c=x},onError(b){l.onError?.(b)}});h=y,d||h()}catch(g){n?.(g)}})(),()=>h()})})()}async function kp(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=Z(["waitForTransactionReceipt",e.uid,n]),u=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,p,l,d,h=!1,g,y,{promise:b,resolve:x,reject:v}=fi(),S=c?setTimeout(()=>{y?.(),g?.(),v(new zc({hash:n}))},c):void 0;return g=st(m,{onReplaced:s,resolve:x,reject:v},async A=>{if(d=await T(e,Si,"getTransactionReceipt")({hash:n}).catch(()=>{}),d&&o<=1){clearTimeout(S),A.resolve(d),g?.();return}y=T(e,Sp,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(_){let k=M=>{clearTimeout(S),y?.(),M(),g?.()},$=_;if(!h)try{if(d){if(o>1&&(!d.blockNumber||$-d.blockNumber+1n<o))return;k(()=>A.resolve(d));return}if(r&&!p&&(h=!0,await kn(async()=>{p=await T(e,Ei,"getTransaction")({hash:n}),p.blockNumber&&($=p.blockNumber)},{delay:a,retryCount:i}),h=!1),d=await T(e,Si,"getTransactionReceipt")({hash:n}),o>1&&(!d.blockNumber||$-d.blockNumber+1n<o))return;k(()=>A.resolve(d))}catch(M){if(M instanceof es||M instanceof ts){if(!p){h=!1;return}try{l=p,h=!0;let B=await kn(()=>T(e,nt,"getBlock")({blockNumber:$,includeTransactions:!0}),{delay:a,retryCount:i,shouldRetry:({error:z})=>z instanceof ei});h=!1;let L=B.transactions.find(({from:z,nonce:re})=>z===l.from&&re===l.nonce);if(!L||(d=await T(e,Si,"getTransactionReceipt")({hash:L.hash}),o>1&&(!d.blockNumber||$-d.blockNumber+1n<o)))return;let U="replaced";L.to===l.to&&L.value===l.value&&L.input===l.input?U="repriced":L.from===L.to&&L.value===0n&&(U="cancelled"),k(()=>{A.onReplaced?.({reason:U,replacedTransaction:l,transaction:L,transactionReceipt:d}),A.resolve(d)})}catch(B){k(()=>A.reject(B))}}else k(()=>A.reject(M))}}})}),b}tt();function cx(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:o=!1,onBlock:n,onError:s,includeTransactions:i,poll:a,pollingInterval:c=e.pollingInterval}){let m=typeof a<"u"?a:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),u=i??!1,p;return m?(()=>{let h=Z(["watchBlocks",e.uid,t,r,o,u,c]);return st(h,{onBlock:n,onError:s},g=>Xt(async()=>{try{let y=await T(e,nt,"getBlock")({blockTag:t,includeTransactions:u});if(y.number!==null&&p?.number!=null){if(y.number===p.number)return;if(y.number-p.number>1&&r)for(let b=p?.number+1n;b<y.number;b++){let x=await T(e,nt,"getBlock")({blockNumber:b,includeTransactions:u});g.onBlock(x,p),p=x}}(p?.number==null||t==="pending"&&y?.number==null||y.number!==null&&y.number>p.number)&&(g.onBlock(y,p),p=y)}catch(y){g.onError?.(y)}},{emitOnBegin:o,interval:c}))})():(()=>{let h=!0,g=!0,y=()=>h=!1;return(async()=>{try{o&&T(e,nt,"getBlock")({blockTag:t,includeTransactions:u}).then(v=>{h&&g&&(n(v,void 0),g=!1)}).catch(s);let b=(()=>{if(e.transport.type==="fallback"){let v=e.transport.transports.find(S=>S.config.type==="webSocket"||S.config.type==="ipc");return v?v.value:e.transport}return e.transport})(),{unsubscribe:x}=await b.subscribe({params:["newHeads"],async onData(v){if(!h)return;let S=await T(e,nt,"getBlock")({blockNumber:v.result?.number,includeTransactions:u}).catch(()=>{});h&&(n(S,p),g=!1,p=S)},onError(v){s?.(v)}});y=x,h||y()}catch(b){s?.(b)}})(),()=>y()})()}Ee();Ys();tt();function mx(e,{address:t,args:r,batch:o=!0,event:n,events:s,fromBlock:i,onError:a,onLogs:c,poll:m,pollingInterval:u=e.pollingInterval,strict:p}){let l=typeof m<"u"?m:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),d=p??!1;return l?(()=>{let y=Z(["watchEvent",t,r,o,e.uid,n,u,i]);return st(y,{onLogs:c,onError:a},b=>{let x;i!==void 0&&(x=i-1n);let v,S=!1,A=Xt(async()=>{if(!S){try{v=await T(e,qu,"createEventFilter")({address:t,args:r,event:n,events:s,strict:d,fromBlock:i})}catch{}S=!0;return}try{let _;if(v)_=await T(e,jo,"getFilterChanges")({filter:v});else{let k=await T(e,Pr,"getBlockNumber")({});x&&x!==k?_=await T(e,si,"getLogs")({address:t,args:r,event:n,events:s,fromBlock:x+1n,toBlock:k}):_=[],x=k}if(_.length===0)return;if(o)b.onLogs(_);else for(let k of _)b.onLogs([k])}catch(_){v&&_ instanceof Cr&&(S=!1),b.onError?.(_)}},{emitOnBegin:!0,interval:u});return async()=>{v&&await T(e,Go,"uninstallFilter")({filter:v}),A()}})})():(()=>{let y=!0,b=()=>y=!1;return(async()=>{try{let x=(()=>{if(e.transport.type==="fallback"){let _=e.transport.transports.find(k=>k.config.type==="webSocket"||k.config.type==="ipc");return _?_.value:e.transport}return e.transport})(),v=s??(n?[n]:void 0),S=[];v&&(S=[v.flatMap(k=>Sr({abi:[k],eventName:k.name,args:r}))],n&&(S=S[0]));let{unsubscribe:A}=await x.subscribe({params:["logs",{address:t,topics:S}],onData(_){if(!y)return;let k=_.result;try{let{eventName:$,args:M}=ni({abi:v??[],data:k.data,topics:k.topics,strict:d}),B=et(k,{args:M,eventName:$});c([B])}catch($){let M,B;if($ instanceof mr||$ instanceof yr){if(p)return;M=$.abiItem.name,B=$.abiItem.inputs?.some(U=>!("name"in U&&U.name))}let L=et(k,{args:B?[]:{},eventName:M});c([L])}},onError(_){a?.(_)}});b=A,y||b()}catch(x){a?.(x)}})(),()=>b()})()}tt();function ux(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=Z(["watchPendingTransactions",e.uid,t,s]);return st(m,{onTransactions:o,onError:r},u=>{let p,l=Xt(async()=>{try{if(!p)try{p=await T(e,Ku,"createPendingTransactionFilter")({});return}catch(h){throw l(),h}let d=await T(e,jo,"getFilterChanges")({filter:p});if(d.length===0)return;if(t)u.onTransactions(d);else for(let h of d)u.onTransactions([h])}catch(d){u.onError?.(d)}},{emitOnBegin:!0,interval:s});return async()=>{p&&await T(e,Go,"uninstallFilter")({filter:p}),l()}})})():(()=>{let m=!0,u=()=>m=!1;return(async()=>{try{let{unsubscribe:p}=await e.transport.subscribe({params:["newPendingTransactions"],onData(l){if(!m)return;let d=l.result;o([d])},onError(l){r?.(l)}});u=p,m||u()}catch(p){r?.(p)}})(),()=>u()})()}function px(e){let{scheme:t,statement:r,...o}=e.match(d8)?.groups??{},{chainId:n,expirationTime:s,issuedAt:i,notBefore:a,requestId:c,...m}=e.match(h8)?.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 d8=/^(?:(?<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)?/,h8=/(?: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>.+))?/;Pt();vn();function lx(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||!te(o.address,{strict:!1})||t&&!Zt(o.address,t))return!1}catch{return!1}return!0}async function fx(e,t){let{address:r,domain:o,message:n,nonce:s,scheme:i,signature:a,time:c=new Date,...m}=t,u=px(n);if(!u.address||!lx({address:r,domain:o,message:u,nonce:s,scheme:i,time:c}))return!1;let l=vi(n);return Jo(e,{address:u.address,hash:l,signature:a,...m})}At();async function Ii(e,{serializedTransaction:t,throwOnReceiptRevert:r,timeout:o}){let n=await e.request({method:"eth_sendRawTransactionSync",params:o?[t,E(o)]:[t]},{retryCount:0}),i=(e.chain?.formatters?.transactionReceipt?.format||Qi)(n);if(i.status==="reverted"&&r)throw new rs({receipt:i});return i}function dx(e){return{call:t=>Ar(e,t),createAccessList:t=>Vu(e,t),createBlockFilter:()=>sb(e),createContractEventFilter:t=>ou(e,t),createEventFilter:t=>qu(e,t),createPendingTransactionFilter:()=>Ku(e),estimateContractGas:t=>ty(e,t),estimateGas:t=>oi(e,t),getBalance:t=>ib(e,t),getBlobBaseFee:()=>ab(e),getBlock:t=>nt(e,t),getBlockNumber:t=>Pr(e,t),getBlockTransactionCount:t=>cb(e,t),getBytecode:t=>Ta(e,t),getChainId:()=>vt(e),getCode:t=>Ta(e,t),getContractEvents:t=>lu(e,t),getEip712Domain:t=>mb(e,t),getEnsAddress:t=>Zy(e,t),getEnsAvatar:t=>rb(e,t),getEnsName:t=>ob(e,t),getEnsResolver:t=>nb(e,t),getEnsText:t=>Gu(e,t),getFeeHistory:t=>pb(e,t),estimateFeesPerGas:t=>Qg(e,t),getFilterChanges:t=>jo(e,t),getFilterLogs:t=>lb(e,t),getGasPrice:()=>ti(e),getLogs:t=>si(e,t),getProof:t=>Wb(e,t),estimateMaxPriorityFeePerGas:t=>Xg(e,t),getStorageAt:t=>Jb(e,t),getTransaction:t=>Ei(e,t),getTransactionConfirmations:t=>Zb(e,t),getTransactionCount:t=>ri(e,t),getTransactionReceipt:t=>Si(e,t),multicall:t=>Yb(e,t),prepareTransactionRequest:t=>kr(e,t),readContract:t=>Fe(e,t),sendRawTransaction:t=>gi(e,t),sendRawTransactionSync:t=>Ii(e,t),simulate:t=>La(e,t),simulateBlocks:t=>La(e,t),simulateCalls:t=>nx(e,t),simulateContract:t=>jy(e,t),verifyHash:t=>Jo(e,t),verifyMessage:t=>ix(e,t),verifySiweMessage:t=>fx(e,t),verifyTypedData:t=>ax(e,t),uninstallFilter:t=>Go(e,t),waitForTransactionReceipt:t=>kp(e,t),watchBlocks:t=>cx(e,t),watchBlockNumber:t=>Sp(e,t),watchContractEvent:t=>Ky(e,t),watchEvent:t=>mx(e,t),watchPendingTransactions:t=>ux(e,t)}}function $n(e){let{key:t="public",name:r="Public Client"}=e;return Uu({...e,key:t,name:r,type:"publicClient"}).extend(dx)}D();async function hx(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})}Iu();function gx(e,t){let{abi:r,args:o,bytecode:n,...s}=t,i=En({abi:r,args:o,bytecode:n});return Vo(e,{...s,...s.authorizationList?{to:null}:{},data:i})}ko();async function yx(e){return e.account?.type==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>Kr(r))}Ce();D();async function bx(e,t={}){let{account:r=e.account,chainId:o}=t,n=r?V(r):void 0,s=o?[n?.address,[E(o)]]:[n?.address],i=await e.request({method:"wallet_getCapabilities",params:s}),a={};for(let[c,m]of Object.entries(i)){a[Number(c)]={};for(let[u,p]of Object.entries(m))u==="addSubAccount"&&(u="unstable_addSubAccount"),a[Number(c)][u]=p}return typeof o=="number"?a[o]:a}async function xx(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}Ce();vn();async function Ip(e,t){let{account:r=e.account,chainId:o,nonce:n}=t;if(!r)throw new Ke({docsPath:"/docs/eip7702/prepareAuthorization"});let s=V(r),i=(()=>{if(t.executor)return t.executor==="self"?t.executor:V(t.executor)})(),a={address:t.contractAddress??t.address,chainId:o,nonce:n};return typeof a.chainId>"u"&&(a.chainId=e.chain?.id??await T(e,vt,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await T(e,ri,"getTransactionCount")({address:s.address,blockTag:"pending"}),(i==="self"||i?.address&&Zt(i.address,s.address))&&(a.nonce+=1)),a}ko();async function vx(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>bs(r))}async function wx(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function Cx(e,t){let{chain:r=e.chain}=t,o=t.timeout??Math.max((r?.blockTime??0)*3,5e3),n=await Bu(e,t);return await Fu(e,{...t,id:n.id,timeout:o})}Ce();G();At();Xs();wo();ys();Qr();var wd=new jt(128);async function _p(e,t){let{account:r=e.account,chain:o=e.chain,accessList:n,authorizationList:s,blobs:i,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:l,nonce:d,pollingInterval:h,throwOnReceiptRevert:g,type:y,value:b,...x}=t,v=t.timeout??Math.max((o?.blockTime??0)*3,5e3);if(typeof r>"u")throw new Ke({docsPath:"/docs/actions/wallet/sendTransactionSync"});let S=r?V(r):null;try{ot(t);let A=await(async()=>{if(t.to)return t.to;if(t.to!==null&&s&&s.length>0)return await No({authorization:s[0]}).catch(()=>{throw new w("`to` is required. Could not infer from `authorizationList`.")})})();if(S?.type==="json-rpc"||S===null){let _;o!==null&&(_=await T(e,vt,"getChainId")({}),xs({currentChainId:_,chain:o}));let k=e.chain?.formatters?.transactionRequest?.format,M=(k||yt)({...Er(x,{format:k}),accessList:n,account:S,authorizationList:s,blobs:i,chainId:_,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:l,nonce:d,to:A,type:y,value:b},"sendTransaction"),B=wd.get(e.uid),L=B?"wallet_sendTransaction":"eth_sendTransaction",U=await(async()=>{try{return await e.request({method:L,params:[M]},{retryCount:0})}catch(re){if(B===!1)throw re;let K=re;if(K.name==="InvalidInputRpcError"||K.name==="InvalidParamsRpcError"||K.name==="MethodNotFoundRpcError"||K.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[M]},{retryCount:0}).then(ge=>(wd.set(e.uid,!0),ge)).catch(ge=>{let Nt=ge;throw Nt.name==="MethodNotFoundRpcError"||Nt.name==="MethodNotSupportedRpcError"?(wd.set(e.uid,!1),K):Nt});throw K}})(),z=await T(e,kp,"waitForTransactionReceipt")({checkReplacement:!1,hash:U,pollingInterval:h,timeout:v});if(g&&z.status==="reverted")throw new rs({receipt:z});return z}if(S?.type==="local"){let _=await T(e,kr,"prepareTransactionRequest")({account:S,accessList:n,authorizationList:s,blobs:i,chain:o,data:a,gas:c,gasPrice:m,maxFeePerBlobGas:u,maxFeePerGas:p,maxPriorityFeePerGas:l,nonce:d,nonceManager:S.nonceManager,parameters:[...va,"sidecars"],type:y,value:b,...x,to:A}),k=o?.serializers?.transaction,$=await S.signTransaction(_,{serializer:k});return await T(e,Ii,"sendRawTransactionSync")({serializedTransaction:$,throwOnReceiptRevert:g})}throw S?.type==="smart"?new Kt({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Kt({docsPath:"/docs/actions/wallet/sendTransactionSync",type:S?.type})}catch(A){throw A instanceof Kt?A:hi(A,{...t,account:S,chain:t.chain||void 0})}}async function Ex(e,t){let{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}Ce();async function Sx(e,t){let{account:r=e.account}=t;if(!r)throw new Ke({docsPath:"/docs/eip7702/signAuthorization"});let o=V(r);if(!o.signAuthorization)throw new Kt({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:o.type});let n=await Ip(e,t);return o.signAuthorization(n)}Ce();D();async function kx(e,{account:t=e.account,message:r}){if(!t)throw new Ke({docsPath:"/docs/actions/wallet/signMessage"});let o=V(t);if(o.signMessage)return o.signMessage({message:r});let n=typeof r=="string"?or(r):r.raw instanceof Uint8Array?ce(r.raw):r.raw;return e.request({method:"personal_sign",params:[n,o.address]},{retryCount:0})}Ce();D();wo();Qr();async function Ix(e,t){let{account:r=e.account,chain:o=e.chain,...n}=t;if(!r)throw new Ke({docsPath:"/docs/actions/wallet/signTransaction"});let s=V(r);ot({account:s,...t});let i=await T(e,vt,"getChainId")({});o!==null&&xs({currentChainId:i,chain:o});let c=(o?.formatters||e.chain?.formatters)?.transactionRequest?.format||yt;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})}Ce();async function _x(e,t){let{account:r=e.account,domain:o,message:n,primaryType:s}=t;if(!r)throw new Ke({docsPath:"/docs/actions/wallet/signTypedData"});let i=V(r),a={EIP712Domain:ep({domain:o}),...t.types};if(Qu({domain:o,message:n,primaryType:s,types:a}),i.signTypedData)return i.signTypedData({domain:o,message:n,primaryType:s,types:a});let c=vb({domain:o,message:n,primaryType:s,types:a});return e.request({method:"eth_signTypedData_v4",params:[i.address,c]},{retryCount:0})}D();async function Ax(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:E(t)}]},{retryCount:0})}async function Px(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}async function Tx(e,t){return Sn.internal(e,_p,"sendTransactionSync",t)}function $x(e){return{addChain:t=>hx(e,t),deployContract:t=>gx(e,t),getAddresses:()=>yx(e),getCallsStatus:t=>Mu(e,t),getCapabilities:t=>bx(e,t),getChainId:()=>vt(e),getPermissions:()=>xx(e),prepareAuthorization:t=>Ip(e,t),prepareTransactionRequest:t=>kr(e,t),requestAddresses:()=>vx(e),requestPermissions:t=>wx(e,t),sendCalls:t=>Bu(e,t),sendCallsSync:t=>Cx(e,t),sendRawTransaction:t=>gi(e,t),sendRawTransactionSync:t=>Ii(e,t),sendTransaction:t=>Vo(e,t),sendTransactionSync:t=>_p(e,t),showCallsStatus:t=>Ex(e,t),signAuthorization:t=>Sx(e,t),signMessage:t=>kx(e,t),signTransaction:t=>Ix(e,t),signTypedData:t=>_x(e,t),switchChain:t=>Ax(e,t),waitForCallsStatus:t=>Fu(e,t),watchAsset:t=>Px(e,t),writeContract:t=>Sn(e,t),writeContractSync:t=>Tx(e,t)}}function Oa(e){let{key:t="wallet",name:r="Wallet Client",transport:o}=e;return Uu({...e,key:t,name:r,transport:o,type:"walletClient"}).extend($x)}function Rx({key:e,methods:t,name:r,request:o,retryCount:n=3,retryDelay:s=150,timeout:i,type:a},c){let m=Lu();return{config:{key:e,methods:t,name:r,request:o,retryCount:n,retryDelay:s,timeout:i,type:a},request:hb(o,{methods:t,retryCount:n,retryDelay:s,uid:m}),value:c}}yn();G();var Ap=class extends w{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}};Tf();function no(e,t={}){let{batch:r,fetchFn:o,fetchOptions:n,key:s="http",methods:i,name:a="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:m,retryDelay:u,raw:p}=t;return({chain:l,retryCount:d,timeout:h})=>{let{batchSize:g=1e3,wait:y=0}=typeof r=="object"?r:{},b=t.retryCount??d,x=h??t.timeout??1e4,v=e||l?.rpcUrls.default.http[0];if(!v)throw new Ap;let S=yb(v,{fetchFn:o,fetchOptions:n,onRequest:c,onResponse:m,timeout:x});return Rx({key:s,methods:i,name:a,async request({method:A,params:_}){let k={method:A,params:_},{schedule:$}=Au({id:v,wait:y,shouldSplitBatch(U){return U.length>g},fn:U=>S.request({body:U}),sort:(U,z)=>U.id-z.id}),M=async U=>r?$(U):[await S.request({body:U})],[{error:B,result:L}]=await M(k);if(p)return{error:B,result:L};if(B)throw new $o({body:k,error:B,url:v});return L},retryCount:b,retryDelay:u,timeout:x,type:"http"},{fetchOptions:n,url:v})}}_t();D();import{secp256k1 as y8}from"@noble/curves/secp256k1";ar();Pt();function Bx(e){if(typeof e=="string"){if(!te(e,{strict:!1}))throw new ie({address:e});return{address:e,type:"json-rpc"}}if(!te(e.address,{strict:!1}))throw new ie({address:e.address});return{address:e.address,nonceManager:e.nonceManager,sign:e.sign,signAuthorization:e.signAuthorization,signMessage:e.signMessage,signTransaction:e.signTransaction,signTypedData:e.signTypedData,source:"custom",type:"local"}}_t();Ve();D();import{secp256k1 as g8}from"@noble/curves/secp256k1";var Cd=!1;async function Tr({hash:e,privateKey:t,to:r="object"}){let{r:o,s:n,recovery:s}=g8.sign(e.slice(2),t.slice(2),{lowS:!0,extraEntropy:ue(Cd,{strict:!1})?Le(Cd):Cd}),i={r:E(o,{size:32}),s:E(n,{size:32}),v:s?28n:27n,yParity:s};return r==="bytes"||r==="hex"?Ep({...i,to:r}):i}async function Mx(e){let{chainId:t,nonce:r,privateKey:o,to:n="object"}=e,s=e.contractAddress??e.address,i=await Tr({hash:iu({address:s,chainId:t,nonce:r}),privateKey:o,to:n});return n==="object"?{address:s,chainId:t,nonce:r,...i}:i}async function Fx({message:e,privateKey:t}){return await Tr({hash:vi(e),privateKey:t,to:"hex"})}Gt();async function Dx(e){let{privateKey:t,transaction:r,serializer:o=sm}=e,n=r.type==="eip4844"?{...r,sidecars:!1}:r,s=await Tr({hash:ae(await o(n)),privateKey:t});return await o(r,s)}async function Nx(e){let{privateKey:t,...r}=e;return await Tr({hash:tp(r),privateKey:t,to:"hex"})}function Ha(e,t={}){let{nonceManager:r}=t,o=ce(y8.getPublicKey(e.slice(2),!1)),n=nu(o);return{...Bx({address:n,nonceManager:r,async sign({hash:i}){return Tr({hash:i,privateKey:e,to:"hex"})},async signAuthorization(i){return Mx({...i,privateKey:e})},async signMessage({message:i}){return Fx({message:i,privateKey:e})},async signTransaction(i,{serializer:a}={}){return Dx({privateKey:e,transaction:i,serializer:a})},async signTypedData(i){return Nx({...i,privateKey:e})}}),publicKey:o,source:"privateKey"}}var Tee=qi(kd(),1);import{z as Se}from"zod";var er=qi(kd(),1),b_=qi(Lx(),1),x_=qi(k1(),1);import{z as $i}from"zod";import{z as lt}from"zod";var nS=Je.object({detail:Je.union([Je.string(),Je.array(Je.object({msg:Je.string(),type:Je.string().optional(),ctx:Je.record(Je.unknown()).optional(),loc:Je.array(Je.union([Je.string(),Je.number()])).optional(),input:Je.unknown().optional()}).passthrough()),Je.record(Je.unknown())]).optional(),type:Je.string().optional(),code:Je.string().optional()}),Dr=class extends Error{constructor(e,t){super(e),this.name=this.constructor.name,this.status=t.status,this.statusText=t.statusText,this.detail=t.detail,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Md=class Bp extends Dr{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=nS.safeParse(t.data);return r.success?new Bp(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 Bp(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 Bp(t.message,{request:r??void 0,detail:t.message})}},sS=class extends Dr{constructor(e,t){super(e,t),this.isValidationError=!0,this.validationErrors=t.validationErrors}},iS=class extends Dr{constructor(){super(...arguments),this.isAuthError=!0}},Fp=class extends Dr{constructor(){super(...arguments),this.isBusinessError=!0}},aS=class extends Dr{constructor(){super(...arguments),this.isServerError=!0}},cS=class extends Dr{constructor(){super(...arguments),this.isUnknownError=!0}};function mS(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 $1(e){if(!Array.isArray(e))return{errors:[],message:typeof e=="string"?e:"Validation error"};let t=e.map((n,s)=>{let i=mS(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 uS(e){return e===422?"validation":e===401||e===403?"auth":e>=400&&e<500?"business":e>=500?"server":"unknown"}function pS(e,t,r){if(e===422&&Array.isArray(t)){let{message:o}=$1(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 lS(e){let t=e.status??0,r=e.statusText??"Unknown Error",o=e.detail,n=fS(o);if(n)return new Nd(n.message,{status:t,statusText:r,detail:o,errorCode:n.error_code,structuredDetails:n.details,suggestions:n.suggestions,links:n.links});let s=uS(t),i=pS(t,o,e.message),a={status:t,statusText:r,detail:o};if(s==="validation"&&Array.isArray(o)){let{errors:c}=$1(o);return new sS(i,{...a,validationErrors:c})}return s==="auth"?new iS(i,a):s==="business"?new Fp(i,a):s==="server"?new aS(i,a):new cS(i,a)}var Nd=class extends Fp{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 fS(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 R1(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 Wa=["2025-05-31","2025-10-28"],Pi=(0,T1.default)("phala::api-client");function dS(e){return Object.entries(e).map(([t,r])=>` -H "${t}: ${r}"`).join(`
|
|
56
|
+
`)}function hS(e){return e?` -d '${(typeof e=="string"?e:JSON.stringify(e,null,2)).replace(/'/g,"\\'")}'`:""}function I1(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
|
|
60
|
-
`);
|
|
59
|
+
`)}var gS=class{constructor(e={}){this.emitter=nh();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&&Wa.includes(t.version)?t.version:Wa[Wa.length-1];this.config=t;let{apiKey:o,baseURL:n,timeout:s,headers:i,useCookieAuth:a,onResponseError:c,...m}=t,u={"X-Phala-Version":r,"Content-Type":"application/json"};i&&typeof i=="object"&&Object.entries(i).forEach(([p,l])=>{typeof l=="string"&&(u[p]=l)}),!a&&o&&(u["X-API-Key"]=o),this.fetchInstance=oS.create({baseURL:n,timeout:s||3e4,headers:u,...a?{credentials:"include"}:{},...m,onRequest({request:p,options:l}){if(Pi.enabled){let d=l.method||"GET",h=typeof p=="string"?p:p.url,g=h.startsWith("http")?h:`${n}${h}`,y={};l.headers&&typeof l.headers=="object"&&Object.entries(l.headers).forEach(([x,v])=>{typeof v=="string"&&(y[x]=v)});let b=[`> curl -X ${d} "${g}"`,dS(y),l.body?hS(l.body):""].filter(Boolean).join(`
|
|
60
|
+
`);Pi(`
|
|
61
61
|
=== REQUEST ===
|
|
62
62
|
%s
|
|
63
|
-
`,b)}},onResponse({request:p,response:
|
|
63
|
+
`,b)}},onResponse({request:p,response:l,options:d}){if(Pi.enabled){let h=d.method||"GET",g=typeof p=="string"?p:p.url;Pi(`
|
|
64
64
|
=== RESPONSE [%s %s] (%dms) ===
|
|
65
65
|
%s
|
|
66
|
-
`,h,g,
|
|
66
|
+
`,h,g,l.headers.get("x-response-time")||"?",I1(l.status,l.statusText,l.headers,l._data))}},onResponseError:({request:p,response:l,options:d})=>{if(console.warn(`HTTP ${l.status}: ${l.url}`),Pi.enabled){let h=d.method||"GET",g=typeof p=="string"?p:p.url;Pi(`
|
|
67
67
|
=== ERROR RESPONSE [%s %s] ===
|
|
68
68
|
%s
|
|
69
|
-
`,h,g,f1(f.status,f.statusText,f.headers,f._data))}c&&c({request:p,response:f,options:d})}})}get raw(){return this.fetchInstance}on(e,t){this.emitter.on(e,t)}off(e,t){this.emitter.off(e,t)}once(e,t){let r=o=>{t(o),this.emitter.off(e,r)};this.emitter.on(e,r)}async get(e,t){try{return await this.fetchInstance(e,{...t,method:"GET"})}catch(r){let o=this.convertToRequestError(r);throw this.emitError(o)}}async post(e,t,r){try{return await this.fetchInstance(e,{...r,method:"POST",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async put(e,t,r){try{return await this.fetchInstance(e,{...r,method:"PUT",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async patch(e,t,r){try{return await this.fetchInstance(e,{...r,method:"PATCH",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async delete(e,t){try{return await this.fetchInstance(e,{...t,method:"DELETE"})}catch(r){let o=this.convertToRequestError(r);throw this.emitError(o)}}convertToRequestError(e){return e&&typeof e=="object"&&"data"in e?Ed.fromFetchError(e):e instanceof Error?Ed.fromError(e):new Ed("Unknown error occurred",{detail:"Unknown error occurred"})}emitError(e){let t=G8(e);return this.emitter.emit("error",t),t}async safeRequest(e){try{return{success:!0,data:await e()}}catch(t){if(t instanceof Dr)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 J8(e={}){return new W8(e)}function x1(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 v1(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 w1(e,t){function r(i,a){return o(i,a)}async function o(i,a){x1(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=v1(a);if(c)return c;let m=await(async()=>{try{return{success:!0,data:await t(i)}}catch(p){return p&&typeof p=="object"&&"status"in p?{success:!1,error:p}:p&&typeof p=="object"&&"issues"in p?{success:!1,error:p}:{success:!1,error:{name:"Error",message:p instanceof Error?p.message:String(p)}}}})();return m.success?a?.schema===!1?{success:!0,data:m.data}:(a?.schema||e).safeParse(m.data):m}return{action:r,safeAction:n}}function Y(e,t){function r(i,...a){let[c,m]=a;return o(i,c,m)}async function o(i,a,c){x1(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=v1(c);if(m)return m;let u=await(async()=>{try{return{success:!0,data:await t(i,a)}}catch(f){return f&&typeof f=="object"&&"status"in f?{success:!1,error:f}:f&&typeof f=="object"&&"issues"in f?{success:!1,error:f}:{success:!1,error:{name:"Error",message:f instanceof Error?f.message:String(f)}}}})();return u.success?c?.schema===!1?{success:!0,data:u.data}:(c?.schema||e).safeParse(u.data):u}return{action:r,safeAction:n}}var Z8=Xo.object({username:Xo.string(),email:Xo.string(),credits:Xo.number(),granted_credits:Xo.number(),avatar:Xo.string(),team_name:Xo.string(),team_tier:Xo.string()}).passthrough(),{action:Y8,safeAction:Bn}=w1(Z8,async e=>await e.get("/auth/me")),X8={[Wm.id]:Wm,[oa.id]:oa,[Qc.id]:Qc},Q8=Qo.object({id:Qo.string(),slug:Qo.string().nullable(),url:Qo.string(),version:Qo.string(),chain_id:Qo.number().nullable(),kms_contract_address:Qo.string().nullable().transform(e=>e),gateway_app_id:Qo.string().nullable().transform(e=>e)}).passthrough(),io=Q8.transform(e=>{if(e.chain_id!=null){let t=X8[e.chain_id];if(t)return{...e,chain:t}}return e}),eS=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(),tS=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(eS),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(),rS=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(),oS=K.object({tier:K.string(),capacity:rS,nodes:K.array(tS),kms_list:K.array(io)}).passthrough(),{action:nS,safeAction:Va}=w1(oS,async e=>await e.get("/teepods/available")),C1=Se.object({id:Se.string(),name:Se.string(),description:Se.string(),vcpu:Se.number(),memory_mb:Se.number(),hourly_rate:Se.string(),requires_gpu:Se.boolean(),default_disk_size_gb:Se.number().default(20),family:Se.string().nullable()}).passthrough(),sS=Se.object({name:Se.string(),items:Se.array(C1),total:Se.number()}).strict(),iS=Se.object({result:Se.array(sS)}).strict(),aS=Se.object({items:Se.array(C1),total:Se.number(),family:Se.string()}).strict(),cS=Se.object({family:Se.string()}).strict(),{action:mS,safeAction:uS}=Y(iS,async e=>await e.get("/instance-types")),{action:pS,safeAction:fS}=Y(aS,async(e,t)=>{let r=cS.parse(t);return await e.get(`/instance-types/${r.family}`)}),E1=Mt.object({id:Mt.string(),name:Mt.string(),slug:Mt.string().nullable(),tier:Mt.string(),role:Mt.string(),created_at:Mt.string()}).passthrough(),lS=Mt.object({has_more:Mt.boolean(),next_cursor:Mt.string().nullable(),total:Mt.number().nullable()}).passthrough(),dS=Mt.object({data:Mt.array(E1),pagination:lS}).passthrough(),{action:hS,safeAction:gS}=Y(dS,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:yS,safeAction:bS}=Y(E1,async(e,t)=>await e.get(`/workspaces/${t}`)),xS=A.object({id:A.string(),name:A.string(),status:A.string(),uptime:A.string(),app_url:A.string().nullable(),app_id:A.string(),instance_id:A.string().nullable(),configuration:A.any().optional(),exited_at:A.string().nullable(),boot_progress:A.string().nullable(),boot_error:A.string().nullable(),shutdown_progress:A.string().nullable(),image_version:A.string().nullable()}),vS=A.object({id:A.number(),username:A.string()}),_d=A.object({id:A.number(),name:A.string(),region_identifier:A.string().nullable().optional()}),S1=A.object({vcpu:A.number(),memory:A.number(),disk_size:A.number(),gpu_count:A.number().default(0)}),k1=A.object({app:A.string(),instance:A.string()}),wS=A.object({hosted:xS,name:A.string(),managed_user:vS.nullable(),node:_d.nullable(),listed:A.boolean().default(!1),status:A.string(),in_progress:A.boolean().default(!1),dapp_dashboard_url:A.string().nullable(),syslog_endpoint:A.string().nullable(),allow_upgrade:A.boolean().default(!1),project_id:A.string().nullable(),project_type:A.string().nullable(),billing_period:A.string().nullable(),kms_info:io.nullable(),vcpu:A.number().nullable(),memory:A.number().nullable(),disk_size:A.number().nullable(),gateway_domain:A.string().nullable(),public_urls:A.array(k1),machine_info:S1.nullable().optional(),updated_at:A.string().nullable().optional()}),I1=A.object({id:A.number(),name:A.string(),status:A.string(),in_progress:A.boolean().optional().default(!1),teepod_id:A.number().nullable(),teepod:_d.optional().nullable(),app_id:A.string(),vm_uuid:A.string().nullable(),instance_id:A.string().nullable(),vcpu:A.number(),memory:A.number(),disk_size:A.number(),base_image:A.string().nullable(),encrypted_env_pubkey:A.string().nullable(),listed:A.boolean().optional().default(!1),project_id:A.string().optional().nullable(),project_type:A.string().optional().nullable(),instance_type:A.string().optional().nullable(),public_sysinfo:A.boolean().optional().default(!1),public_logs:A.boolean().optional().default(!1),dapp_dashboard_url:A.string().optional().nullable(),syslog_endpoint:A.string().optional().nullable(),kms_info:io.optional().nullable(),contract_address:A.string().optional().nullable(),deployer_address:A.string().optional().nullable(),scheduled_delete_at:A.string().optional().nullable(),public_urls:A.array(k1).optional().default([]),gateway_domain:A.string().optional().nullable(),machine_info:S1.optional().nullable(),updated_at:A.string().optional().nullable()}),Pp=A.object({id:A.number(),name:A.string(),status:A.string(),teepod_id:A.number(),teepod:_d.optional().nullable(),user_id:A.number().optional().nullable(),app_id:A.string(),vm_uuid:A.string().nullable(),instance_id:A.string().nullable(),app_url:A.string().optional().nullable().default(null),base_image:A.string().nullable(),vcpu:A.number(),memory:A.number(),disk_size:A.number(),manifest_version:A.number().optional().nullable().default(2),version:A.string().optional().nullable().default("1.0.0"),runner:A.string().optional().nullable().default("docker-compose"),docker_compose_file:A.string().optional().nullable(),features:A.array(A.string()).optional().nullable().default(["kms","tproxy-net"]),created_at:A.string(),encrypted_env_pubkey:A.string().nullable()});function Bi(e){return typeof e!="string"||e.length<5||e.length>63?!1:/^[a-zA-Z](?!.*--)([a-zA-Z0-9-]*[a-zA-Z0-9])?$/.test(e)}function _1(e){if(typeof e!="string")return kp();let t=e;return t=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),t=t.replace(/_/g,"-"),t=t.replace(/[^a-z0-9\s-]/gi,"-").replace(/\s+/g,"-"),t=t.replace(/-+/g,"-").replace(/^-+/,"").replace(/-+$/,""),t.length===0||(/^\d/.test(t)&&(t=`dstack-app-${t}`),t.length<5&&(t=`dstack-app-${t}`),t=t.slice(0,63).replace(/-+$/,""),t.length===0)||!Bi(t)?kp():t}function kp(){let e=Date.now().toString(36),t=Math.random().toString(36).substring(2,6);return`dstack-app-${e}-${t}`}var Nr=Pi.object({id:Pi.string().optional(),uuid:Pi.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:Pi.string().optional(),instance_id:Pi.string().optional(),name:Pi.string().refine(Bi,{message:"Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens"}).optional()}),en=e=>e.refine(t=>{let r=t;return!!(r.id||r.uuid||r.app_id||r.instance_id||r.name)},{message:"One of id, uuid, app_id, instance_id, or name must be provided"}),CS=en(Nr),fe=CS.transform(e=>{let t;if(e.id)t=e.id;else if(e.uuid)t=e.uuid;else if(e.app_id)t=e.app_id;else if(e.instance_id)t=e.instance_id;else{if(e.name)return{cvmId:e.name};throw new Error("No valid identifier provided")}let r=/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i,o=/^[0-9a-f]{40}$/i,n;return r.test(t)?n=t.replace(/-/g,""):o.test(t)?n=`app_${t}`:n=t,{cvmId:n}}),ES=fe,{action:SS,safeAction:Oe}=Y(I1,async(e,t)=>{let{cvmId:r}=ES.parse(t);return await e.get(`/cvms/${r}`)}),kS=Qt.object({page:Qt.number().int().min(1).optional(),page_size:Qt.number().int().min(1).optional(),node_id:Qt.number().int().min(1).optional(),teepod_id:Qt.number().int().min(1).optional(),user_id:Qt.string().optional()}).strict(),IS=Qt.object({items:Qt.array(wS),total:Qt.number(),page:Qt.number(),page_size:Qt.number(),pages:Qt.number()}).strict(),{action:_S,safeAction:qa}=Y(IS,async(e,t)=>{let r=kS.parse(t??{});return await e.get("/cvms/paginated",{params:r})}),AS=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}),Sd="Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens",PS=q.object({node_id:q.number().optional(),teepod_id:q.number().optional(),region:q.string().optional(),name:q.string().min(5,Sd).max(63,Sd).refine(e=>Bi(e),Sd),instance_type:q.string().optional(),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().transform(e=>!e.instance_type&&!e.vcpu&&!e.memory?{...e,instance_type:"tdx.small"}:e);function TS(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:$S,safeAction:Ad}=Y(AS,async(e,t)=>{let r=PS.parse(t),o=TS(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)}),RS=Z.object({id:Z.number(),name:Z.string(),status:Z.string(),teepod_id:Z.number(),teepod:Z.object({id:Z.number(),name:Z.string()}).nullable(),user_id:Z.number().nullable(),app_id:Z.string().nullable(),vm_uuid:Z.string().nullable(),instance_id:Z.string().nullable(),app_url:Z.string().nullable().default(null),base_image:Z.string().nullable(),vcpu:Z.number(),memory:Z.number(),disk_size:Z.number(),manifest_version:Z.number().nullable().default(2),version:Z.string().nullable().default("1.0.0"),runner:Z.string().nullable().default("docker-compose"),docker_compose_file:Z.string().nullable(),features:Z.array(Z.string()).nullable().default(["kms","tproxy-net"]),created_at:Z.string(),encrypted_env_pubkey:Z.string().nullable().optional(),app_auth_contract_address:Z.string().nullable().optional(),deployer_address:Z.string().nullable().optional()}).passthrough(),gQ=Z.object({encrypted_env:Z.string().optional().nullable(),app_id:Z.string(),compose_hash:Z.string(),kms_id:Z.string().optional(),contract_address:Z.string().optional(),deployer_address:Z.string().optional(),env_keys:Z.array(Z.string()).optional().nullable()}).passthrough(),{action:BS,safeAction:Tp}=Y(RS,async(e,t)=>await e.post("/cvms",t)),A1=ut.object({allowed_envs:ut.array(ut.string()).optional(),docker_compose_file:ut.string(),features:ut.array(ut.string()).optional(),name:ut.string().optional(),manifest_version:ut.number().optional(),kms_enabled:ut.boolean().optional(),public_logs:ut.boolean().optional(),public_sysinfo:ut.boolean().optional(),tproxy_enabled:ut.boolean().optional(),pre_launch_script:ut.string().optional(),env_pubkey:ut.string().optional(),salt:ut.string().optional().nullable()}).passthrough();function kd(e){return e==null?e:Array.isArray(e)?e.map(kd):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=kd(o),t},{}):e}function P1(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 T1(e){let t=kd(e),r=JSON.stringify(t,null,4);return r=r.replace(/": /g,'":'),r}function FS(e){let t=P1(e),r=T1(t);return MS.createHash("sha256").update(r,"utf8").digest("hex")}function DS(e){let t=e;return{...e,getHash:()=>FS(t),toString:()=>T1(P1(t))}}var NS=A1.transform(e=>DS(e)),LS=fe,{action:zS,safeAction:Ka}=Y(NS,async(e,t)=>{let{cvmId:r}=LS.parse(t);return await e.get(`/cvms/${r}/compose_file`)}),OS=Mr.object({id:Mr.string().optional(),uuid:Mr.string().regex(/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i).optional(),app_id:Mr.string().refine(e=>!e.startsWith("app_")&&e.length===40,"app_id should be 40 characters without prefix").transform(e=>e.startsWith("app_")?e:`app_${e}`).optional(),instance_id:Mr.string().refine(e=>!e.startsWith("instance_")&&e.length===40,"instance_id should be 40 characters without prefix").transform(e=>e.startsWith("instance_")?e:`instance_${e}`).optional(),app_compose:A1,update_env_vars:Mr.boolean().optional().nullable()}).refine(e=>!!(e.id||e.uuid||e.app_id||e.instance_id),"One of id, uuid, app_id, or instance_id must be provided").transform(e=>({cvmId:e.id||e.uuid||e.app_id||e.instance_id,request:{...e.app_compose,update_env_vars:e.update_env_vars},_raw:e})),US=Mr.object({app_id:Mr.string().nullable(),device_id:Mr.string().nullable(),compose_hash:Mr.string(),kms_info:io.nullable().optional()}).passthrough(),{action:HS,safeAction:Pd}=Y(US,async(e,t)=>{let r=OS.parse(t);return await e.post(`/cvms/${r.cvmId}/compose_file/provision`,r.request)}),jS=lr.object({id:lr.string().optional(),uuid:lr.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:lr.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:lr.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:lr.string().min(1,"Compose hash is required"),encrypted_env:lr.string().optional(),env_keys:lr.array(lr.string()).optional(),update_env_vars:lr.boolean().optional().nullable()}).refine(e=>!!(e.id||e.uuid||e.app_id||e.instance_id),"One of id, uuid, app_id, or instance_id must be provided").transform(e=>({cvmId:e.id||e.uuid||e.app_id||e.instance_id,compose_hash:e.compose_hash,encrypted_env:e.encrypted_env,env_keys:e.env_keys,update_env_vars:e.update_env_vars??void 0,_raw:e})),GS=lr.any().transform(()=>{}),{action:VS,safeAction:Td}=Y(GS,async(e,t)=>{let r=jS.parse(t);return await e.patch(`/cvms/${r.cvmId}/compose_file`,{compose_hash:r.compose_hash,encrypted_env:r.encrypted_env,env_keys:r.env_keys,update_env_vars:r.update_env_vars})}),qS=en(Nr.extend({encrypted_env:Ye.string().describe("Encrypted environment variables (hex string)"),env_keys:Ye.array(Ye.string()).optional().describe("List of allowed environment variable keys"),compose_hash:Ye.string().optional().describe("Compose hash for verification (Phase 2, required when env_keys changes)"),transaction_hash:Ye.string().optional().describe("On-chain transaction hash for verification (Phase 2, required when env_keys changes)")})).transform(e=>{let{cvmId:t}=fe.parse(e);return{cvmId:t,request:{encrypted_env:e.encrypted_env,env_keys:e.env_keys,compose_hash:e.compose_hash,transaction_hash:e.transaction_hash},_raw:e}}),KS=Ye.object({status:Ye.literal("in_progress"),message:Ye.string(),correlation_id:Ye.string(),allowed_envs_changed:Ye.boolean()}),WS=Ye.object({status:Ye.literal("precondition_required"),message:Ye.string(),compose_hash:Ye.string(),app_id:Ye.string(),device_id:Ye.string(),kms_info:io}),JS=Ye.union([KS,WS]),{action:ZS,safeAction:YS}=Y(JS,async(e,t)=>{let r=qS.parse(t);try{return await e.patch(`/cvms/${r.cvmId}/envs`,r.request)}catch(o){if(o instanceof Dr&&o.status===465){let n=o.detail;if(n&&typeof n=="object"){let s=n;return{status:"precondition_required",message:s.message||"Compose hash verification required",compose_hash:s.compose_hash,app_id:s.app_id,device_id:s.device_id,kms_info:s.kms_info}}}throw o}}),XS=en(Nr.extend({docker_compose_file:Et.string().describe("Docker Compose YAML content"),compose_hash:Et.string().optional().describe("Compose hash for verification (Phase 2, contract-owned KMS only)"),transaction_hash:Et.string().optional().describe("On-chain transaction hash for verification (Phase 2, contract-owned KMS only)")})).transform(e=>{let{cvmId:t}=fe.parse(e);return{cvmId:t,request:{docker_compose_file:e.docker_compose_file,compose_hash:e.compose_hash,transaction_hash:e.transaction_hash},_raw:e}}),QS=Et.object({status:Et.literal("in_progress"),message:Et.string(),correlation_id:Et.string()}),ek=Et.object({status:Et.literal("precondition_required"),message:Et.string(),compose_hash:Et.string(),app_id:Et.string(),device_id:Et.string(),kms_info:io}),tk=Et.union([QS,ek]),{action:rk,safeAction:ok}=Y(tk,async(e,t)=>{let r=XS.parse(t),o={"Content-Type":"text/yaml"};r.request.compose_hash&&(o["X-Compose-Hash"]=r.request.compose_hash),r.request.transaction_hash&&(o["X-Transaction-Hash"]=r.request.transaction_hash);try{return await e.patch(`/cvms/${r.cvmId}/docker-compose`,r.request.docker_compose_file,{headers:o})}catch(n){if(n instanceof Dr&&n.status===465){let s=n.detail;if(s&&typeof s=="object"){let i=s;return{status:"precondition_required",message:i.message||"Compose hash verification required",compose_hash:i.compose_hash,app_id:i.app_id,device_id:i.device_id,kms_info:i.kms_info}}}throw n}}),nk=en(Nr.extend({pre_launch_script:St.string().describe("Pre-launch script content (shell script)"),compose_hash:St.string().optional().describe("Compose hash for verification (Phase 2, contract-owned KMS only)"),transaction_hash:St.string().optional().describe("On-chain transaction hash for verification (Phase 2, contract-owned KMS only)")})).transform(e=>{let{cvmId:t}=fe.parse(e);return{cvmId:t,request:{pre_launch_script:e.pre_launch_script,compose_hash:e.compose_hash,transaction_hash:e.transaction_hash},_raw:e}}),sk=St.object({status:St.literal("in_progress"),message:St.string(),correlation_id:St.string()}),ik=St.object({status:St.literal("precondition_required"),message:St.string(),compose_hash:St.string(),app_id:St.string(),device_id:St.string(),kms_info:io}),ak=St.union([sk,ik]),{action:ck,safeAction:mk}=Y(ak,async(e,t)=>{let r=nk.parse(t),o={"Content-Type":"text/plain"};r.request.compose_hash&&(o["X-Compose-Hash"]=r.request.compose_hash),r.request.transaction_hash&&(o["X-Transaction-Hash"]=r.request.transaction_hash);try{return await e.patch(`/cvms/${r.cvmId}/pre-launch-script`,r.request.pre_launch_script,{headers:o})}catch(n){if(n instanceof Dr&&n.status===465){let s=n.detail;if(s&&typeof s=="object"){let i=s;return{status:"precondition_required",message:i.message||"Compose hash verification required",compose_hash:i.compose_hash,app_id:i.app_id,device_id:i.device_id,kms_info:i.kms_info}}}throw n}}),pk=fe,{action:fk,safeAction:lk}=Y(uk.string(),async(e,t)=>{let{cvmId:r}=pk.parse(t);return await e.get(`/cvms/${r}/pre-launch-script`)}),dk=l1.object({kms_id:l1.string().min(1,"KMS ID is required")}),{action:hk,safeAction:gk}=Y(io,async(e,t)=>{let r=dk.parse(t);return await e.get(`/kms/${r.kms_id}`)}),yk=Fr.object({page:Fr.number().int().min(1).optional(),page_size:Fr.number().int().min(1).optional(),is_onchain:Fr.boolean().optional()}).strict(),bk=Fr.object({items:Fr.array(io),total:Fr.number(),page:Fr.number(),page_size:Fr.number(),pages:Fr.number()}).strict(),{action:xk,safeAction:$d}=Y(bk,async(e,t)=>{let r=yk.parse(t??{});return await e.get("/kms",{params:r})}),vk=Ri.object({kms:Ri.string().min(1,"KMS ID or slug is required"),app_id:Ri.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(),wk=Ri.object({public_key:Ri.string(),signature:Ri.string()}).strict(),{action:Ck,safeAction:$p}=Y(wk,async(e,t)=>{let r=vk.parse(t);return await e.get(`/kms/${r.kms}/pubkey/${r.app_id}`)}),Ek=Rn.object({counts:Rn.number().int().min(1).max(20).optional().default(1)}).strict(),Sk=Rn.object({app_ids:Rn.array(Rn.object({app_id:Rn.string(),nonce:Rn.number().int().min(0)}))}).strict(),{action:kk,safeAction:Ik}=Y(Sk,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()}`)}),_k=fe,{action:Ak,safeAction:Rd}=Y(Pp,async(e,t)=>{let{cvmId:r}=_k.parse(t);return await e.post(`/cvms/${r}/start`)}),Pk=fe,{action:Tk,safeAction:Bd}=Y(Pp,async(e,t)=>{let{cvmId:r}=Pk.parse(t);return await e.post(`/cvms/${r}/stop`)}),$k=fe,{action:Rk,safeAction:Bk}=Y(Pp,async(e,t)=>{let{cvmId:r}=$k.parse(t);return await e.post(`/cvms/${r}/shutdown`)}),Fk=en(Nr.extend({force:Mk.boolean().optional()})),{action:Dk,safeAction:Md}=Y(Pp,async(e,t)=>{let r=Fk.parse(t),{cvmId:o}=fe.parse(r),{force:n=!1}=r;return await e.post(`/cvms/${o}/restart`,{force:n})}),Lk=fe,{action:zk,safeAction:Fd}=Y(Nk.void(),async(e,t)=>{let{cvmId:r}=Lk.parse(t);await e.delete(`/cvms/${r}`)}),Ok=oe.object({name:oe.string(),mount_point:oe.string(),total_size:oe.number(),free_size:oe.number()}),Uk=oe.object({os_name:oe.string(),os_version:oe.string(),kernel_version:oe.string(),cpu_model:oe.string(),num_cpus:oe.number(),total_memory:oe.number(),available_memory:oe.number(),used_memory:oe.number(),free_memory:oe.number(),total_swap:oe.number(),used_swap:oe.number(),free_swap:oe.number(),uptime:oe.number(),loadavg_one:oe.number(),loadavg_five:oe.number(),loadavg_fifteen:oe.number(),disks:oe.array(Ok)}),Hk=oe.object({is_online:oe.boolean(),is_public:oe.boolean().default(!1),error:oe.string().nullable(),sysinfo:Uk.nullable(),status:oe.string().nullable(),in_progress:oe.boolean().default(!1),boot_progress:oe.string().nullable(),boot_error:oe.string().nullable()}),jk=fe,{action:Gk,safeAction:Vk}=Y(Hk,async(e,t)=>{let{cvmId:r}=jk.parse(t);return await e.get(`/cvms/${r}/stats`)}),qk=Rr.object({app:Rr.string(),instance:Rr.string()}),Kk=Rr.object({is_online:Rr.boolean(),is_public:Rr.boolean().default(!0),error:Rr.string().nullable(),internal_ip:Rr.string().nullable(),latest_handshake:Rr.string().nullable(),public_urls:Rr.array(qk).nullable()}),Wk=fe,{action:Jk,safeAction:Zk}=Y(Kk,async(e,t)=>{let{cvmId:r}=Wk.parse(t);return await e.get(`/cvms/${r}/network`)}),Xk=fe,{action:Qk,safeAction:eI}=Y(Yk.string(),async(e,t)=>{let{cvmId:r}=Xk.parse(t);return await e.get(`/cvms/${r}/docker-compose.yml`)}),tI=Ee.object({id:Ee.string(),names:Ee.array(Ee.string()),image:Ee.string(),image_id:Ee.string(),command:Ee.string().nullable().optional(),created:Ee.number(),state:Ee.string(),status:Ee.string(),log_endpoint:Ee.string().nullable()}),rI=Ee.object({is_online:Ee.boolean(),is_public:Ee.boolean().default(!0),error:Ee.string().nullable(),docker_compose_file:Ee.string().nullable(),manifest_version:Ee.number().nullable(),version:Ee.string().nullable(),runner:Ee.string().nullable(),features:Ee.array(Ee.string()).nullable(),containers:Ee.array(tI).nullable()}),oI=fe,{action:nI,safeAction:sI}=Y(rI,async(e,t)=>{let{cvmId:r}=oI.parse(t);return await e.get(`/cvms/${r}/composition`)}),iI=z.object({common_name:z.string().nullable(),organization:z.string().nullable(),country:z.string().nullable(),state:z.string().nullable(),locality:z.string().nullable()}),aI=z.object({common_name:z.string().nullable(),organization:z.string().nullable(),country:z.string().nullable()}),cI=z.object({subject:iI,issuer:aI,serial_number:z.string(),not_before:z.string(),not_after:z.string(),version:z.string(),fingerprint:z.string(),signature_algorithm:z.string(),sans:z.array(z.string()).nullable(),is_ca:z.boolean(),position_in_chain:z.number().nullable(),quote:z.string().nullable(),app_id:z.string().nullable().optional(),cert_usage:z.string().nullable().optional()}),mI=z.object({imr:z.number(),event_type:z.number(),digest:z.string(),event:z.string(),event_payload:z.string()}),uI=z.object({mrtd:z.string(),rootfs_hash:z.string().nullable().optional(),rtmr0:z.string(),rtmr1:z.string(),rtmr2:z.string(),rtmr3:z.string(),event_log:z.array(mI),app_compose:z.string()}),pI=z.object({name:z.string().nullable(),is_online:z.boolean(),is_public:z.boolean().default(!0),error:z.string().nullable(),app_certificates:z.array(cI).nullable(),tcb_info:uI.nullable(),compose_file:z.string().nullable()}),fI=fe,{action:lI,safeAction:dI}=Y(pI,async(e,t)=>{let{cvmId:r}=fI.parse(t);return await e.get(`/cvms/${r}/attestation`)}),hI=en(Nr.extend({vcpu:$i.number().optional(),memory:$i.number().optional(),disk_size:$i.number().optional(),instance_type:$i.string().optional(),allow_restart:$i.boolean().optional()})),{action:gI,safeAction:yI}=Y($i.void(),async(e,t)=>{let r=hI.parse(t),{cvmId:o}=fe.parse(r),{...n}=r;await e.patch(`/cvms/${o}/resources`,n)}),bI=en(Nr.extend({public_sysinfo:d1.boolean(),public_logs:d1.boolean()})),{action:xI,safeAction:vI}=Y(I1,async(e,t)=>{let r=bI.parse(t),{cvmId:o}=fe.parse(r),{public_sysinfo:n,public_logs:s}=r;return await e.patch(`/cvms/${o}/visibility`,{public_sysinfo:n,public_logs:s})}),h1=it.object({name:it.string(),os_image_hash:it.string().nullable(),is_current:it.boolean()}),wI=it.object({version:it.union([it.tuple([it.number(),it.number(),it.number(),it.number()]),it.tuple([it.number(),it.number(),it.number()])]),prod:h1.nullable(),dev:h1.nullable()}),CI=it.array(wI),EI=fe,{action:SI,safeAction:kI}=Y(CI,async(e,t)=>{let{cvmId:r}=EI.parse(t);return await e.get(`/cvms/${r}/available-os-images`)}),II=en(Nr.extend({os_image_name:$1.string().min(1,"OS image name is required")})),{action:_I,safeAction:AI}=Y($1.void(),async(e,t)=>{let r=II.parse(t),{cvmId:o}=fe.parse(r),{os_image_name:n}=r;await e.patch(`/cvms/${o}/os-image`,{os_image_name:n})}),PI=$r.object({id:$r.string().optional(),instance_id:$r.string().optional(),name:$r.string(),status:$r.string(),uptime:$r.string().optional(),exited_at:$r.string().optional(),boot_progress:$r.string().optional(),boot_error:$r.string().optional(),shutdown_progress:$r.string().optional()}),TI=fe,{action:$I,safeAction:RI}=Y(PI,async(e,t)=>{let{cvmId:r}=TI.parse(t);return await e.get(`/cvms/${r}/state`)});function kt(e={}){let t=J8(e),r={getCurrentUser:Y8,safeGetCurrentUser:Bn,getAvailableNodes:nS,safeGetAvailableNodes:Va,listAllInstanceTypeFamilies:mS,safeListAllInstanceTypeFamilies:uS,listFamilyInstanceTypes:pS,safeListFamilyInstanceTypes:fS,listWorkspaces:hS,safeListWorkspaces:gS,getWorkspace:yS,safeGetWorkspace:bS,getCvmInfo:SS,safeGetCvmInfo:Oe,getCvmList:_S,safeGetCvmList:qa,provisionCvm:$S,safeProvisionCvm:Ad,commitCvmProvision:BS,safeCommitCvmProvision:Tp,getCvmComposeFile:zS,safeGetCvmComposeFile:Ka,provisionCvmComposeFileUpdate:HS,safeProvisionCvmComposeFileUpdate:Pd,commitCvmComposeFileUpdate:VS,safeCommitCvmComposeFileUpdate:Td,updateCvmEnvs:ZS,safeUpdateCvmEnvs:YS,updateDockerCompose:rk,safeUpdateDockerCompose:ok,updatePreLaunchScript:ck,safeUpdatePreLaunchScript:mk,getCvmPreLaunchScript:fk,safeGetCvmPreLaunchScript:lk,startCvm:Ak,safeStartCvm:Rd,stopCvm:Tk,safeStopCvm:Bd,shutdownCvm:Rk,safeShutdownCvm:Bk,restartCvm:Dk,safeRestartCvm:Md,deleteCvm:zk,safeDeleteCvm:Fd,getCvmStats:Gk,safeGetCvmStats:Vk,getCvmNetwork:Jk,safeGetCvmNetwork:Zk,getCvmDockerCompose:Qk,safeGetCvmDockerCompose:eI,getCvmContainersStats:nI,safeGetCvmContainersStats:sI,getCvmAttestation:lI,safeGetCvmAttestation:dI,updateCvmResources:gI,safeUpdateCvmResources:yI,updateCvmVisibility:xI,safeUpdateCvmVisibility:vI,getAvailableOsImages:SI,safeGetAvailableOsImages:kI,updateOsImage:_I,safeUpdateOsImage:AI,getKmsInfo:hk,safeGetKmsInfo:gk,getKmsList:xk,safeGetKmsList:$d,getAppEnvEncryptPubKey:Ck,safeGetAppEnvEncryptPubKey:$p,nextAppIds:kk,safeNextAppIds:Ik,getCvmState:$I,safeGetCvmState:RI};return t.extend(r)}function _p(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 R1=class extends Error{constructor(e,t,r){super(e),this.code=t,this.details=r,this.name="NetworkError"}};var Br=class extends Error{constructor(e,t,r){super(e),this.hash=t,this.details=r,this.name="TransactionError"}};async function BI(e,t){try{let r=await e.walletClient.getChainId();return{isCorrectNetwork:r===t,currentChainId:r}}catch(r){throw new R1(`Failed to check network status: ${r instanceof Error?r.message:"Unknown error"}`,"NETWORK_CHECK_FAILED",r)}}async function MI(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 R1(`Failed to check balance: ${o instanceof Error?o.message:"Unknown error"}`,"BALANCE_CHECK_FAILED",o)}}async function FI(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 Br(`Transaction confirmation timeout after ${o}ms`,t));return}setTimeout(m,n);return}a(u)}else{if(Date.now()-i>=o){c(new Br(`Transaction receipt timeout after ${o}ms`,t));return}setTimeout(m,n)}}catch(u){if(Date.now()-i>=o){c(new Br(`Transaction receipt timeout after ${o}ms`,t,u));return}setTimeout(m,n)}};m()})}async function B1(e,t){let{targetChainId:r,minBalance:o,requiredAddress:n}=t,s=await BI(e,r),i=await MI(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 Dd(){let e={state:"idle"},t,r,o=a=>{e={...e,...a}},n=()=>{t&&(clearTimeout(t),t=void 0),r&&(r.abort(),r=void 0),e={state:"idle"}},s=()=>{r&&r.abort(),t&&(clearTimeout(t),t=void 0),o({state:"error",aborted:!0,error:"Transaction aborted by user"})};return{get status(){return{...e}},get isIdle(){return e.state==="idle"},get isSubmitting(){return e.state==="submitting"},get isPending(){return e.state==="pending"},get isSuccess(){return e.state==="success"},get isError(){return e.state==="error"},get isTimeout(){return e.state==="timeout"},get isAborted(){return e.aborted===!0},get isComplete(){return["success","error","timeout"].includes(e.state)},abort:s,reset:n,execute:async(a,c,m,u={})=>{let{timeout:p=6e4,confirmations:f=1,onSubmitted:d,onConfirmed:h,onError:g,signal:y}=u;try{if(n(),r=new AbortController,y){if(y.aborted)throw new Br("Operation was aborted before execution");y.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 Br("Transaction aborted");let b=await a(c,...m);if(r.signal.aborted)throw new Br("Transaction aborted after submission",b);o({state:"pending",hash:b,submitTime:Date.now()}),d?.(b),p>0&&(t=setTimeout(()=>{e.state==="pending"&&!r?.signal.aborted&&o({state:"timeout",error:`Transaction timeout after ${p}ms`})},p));let x=await Promise.race([FI(c.publicClient,b,{timeout:p,confirmations:f}),new Promise((S,I)=>{r?.signal.addEventListener("abort",()=>{I(new Br("Transaction aborted while waiting for receipt",b))})})]);t&&(clearTimeout(t),t=void 0);let w=x.status==="success";if(o({state:w?"success":"error",receipt:x,confirmTime:Date.now(),error:w?void 0:"Transaction failed on-chain"}),w)h?.(x);else{let S=new Br("Transaction failed on-chain",b,x);throw g?.(S,b),S}return{hash:b,receipt:x,success:w}}catch(b){let x=b instanceof Br?b:new Br(`Transaction execution failed: ${b instanceof Error?b.message:"Unknown error"}`,e.hash,b);throw o({state:"error",error:x.message}),g?.(x,e.hash),x}}}}async function M1(e,t,r,o={},n={}){let{maxRetries:s=3,initialDelay:i=1e3,maxDelay:a=1e4,backoffFactor:c=2,retryCondition:m=()=>!0}=n,u,p=i;for(let f=0;f<=s;f++)try{return await Dd().execute(e,t,r,o)}catch(d){if(u=d instanceof Error?d:new Error(String(d)),f===s||!m(u))break;await new Promise(h=>setTimeout(h,p)),p=Math.min(p*c,a)}throw u}var F1=[{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}],DI=Be.object({chain:Be.unknown().optional(),rpcUrl:Be.string().optional(),kmsContractAddress:Be.string(),privateKey:Be.string().optional(),walletClient:Be.unknown().optional(),publicClient:Be.unknown().optional(),allowAnyDevice:Be.boolean().optional().default(!1),deviceId:Be.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),composeHash:Be.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),disableUpgrades:Be.boolean().optional().default(!1),skipPrerequisiteChecks:Be.boolean().optional().default(!1),minBalance:Be.string().optional()}).passthrough(),NI=DI.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"]}),LI=Be.object({appId:Be.string(),appAuthAddress:Be.string(),deployer:Be.string(),transactionHash:Be.string(),blockNumber:Be.bigint().optional(),gasUsed:Be.bigint().optional()}).passthrough();function zI(e,t,r){try{let o=pr({abi:F1,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 OI(e,t){let r=NI.parse(e),{chain:o,rpcUrl:n,kmsContractAddress:s,privateKey:i,walletClient:a,publicClient:c,allowAnyDevice:m=!1,deviceId:u="0000000000000000000000000000000000000000000000000000000000000000",composeHash:p="0000000000000000000000000000000000000000000000000000000000000000",disableUpgrades:f=!1,skipPrerequisiteChecks:d=!1,minBalance:h,timeout:g=12e4,retryOptions:y,signal:b,onTransactionStateChange:x,onTransactionSubmitted:w,onTransactionConfirmed:S}=r,I="0000000000000000000000000000000000000000000000000000000000000000",_=u!==I&&u!=="0x"+I?!1:m,B,R,M,U;if(i){let pe=La(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=$n({chain:o,transport:no(n)})}if(!o)throw new Error("Chain required for walletClient");R=Na({account:pe,chain:o,transport:no(n)}),M=pe.address,U=o.id}else if(a){if(typeof a!="object"||!a)throw new Error("walletClient is invalid");if(R=a,c){if(typeof c!="object"||!c)throw new Error("publicClient is invalid");B=c}else{if(!o)throw new Error("Chain required for publicClient");B=$n({chain:o,transport:no(n)})}if(!R.account?.address)throw new Error("WalletClient needs an account");M=R.account.address,o?U=o.id:U=await R.getChainId()}else throw new Error("Need privateKey or walletClient");let G={publicClient:B,walletClient:R,address:M,chainId:U},V=Dd();if(x&&typeof x=="function"){let pe=()=>{x(V.status),V.isComplete||setTimeout(pe,100)};setTimeout(pe,10)}if(!d){let pe={targetChainId:U,minBalance:h?Pn(h):Pn("0.001")},bo=await B1(G,pe);if(!bo.networkValid)throw new Error(`Wrong network. Need chain ${pe.targetChainId}, got ${bo.details.currentChainId}`);if(!bo.balanceValid){let rr=Number(pe.minBalance)/1e18,df=Number(bo.details.balance)/1e18;throw new Error(`Not enough ETH. Need ${rr}, have ${df.toFixed(6)}`)}}let ue=_p(u),Ae=_p(p),Je=`0x${ue.slice(2).padEnd(64,"0")}`,Nt=`0x${Ae.slice(2).padEnd(64,"0")}`,L=async pe=>{try{let rr=await pe.publicClient.getCode({address:s});if(!rr||rr==="0x")throw new Error(`No contract at ${s}`)}catch(rr){if(rr instanceof Error&&rr.message.includes("No contract at"))throw rr}let bo={address:s,abi:F1,functionName:"deployAndRegisterApp",args:[pe.address,f,_,Je,Nt],account:pe.walletClient.account||pe.address,chain:o||null};return await pe.walletClient.writeContract(bo)},ke=y?await M1(L,G,[],{timeout:g,confirmations:1,onSubmitted:w,onConfirmed:S,signal:b},y):await V.execute(L,G,[],{timeout:g,confirmations:1,onSubmitted:w,onConfirmed:S,signal:b}),hr=zI(ke.receipt,M,s);return t?.schema===!1?hr:(t?.schema||LI).parse(hr)}async function D1(e,t){try{return{success:!0,data:await OI(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}],UI=Ce.object({chain:Ce.unknown().optional(),rpcUrl:Ce.string().optional(),appId:Ce.string(),composeHash:Ce.string(),privateKey:Ce.string().optional(),walletClient:Ce.unknown().optional(),publicClient:Ce.unknown().optional(),skipPrerequisiteChecks:Ce.boolean().optional().default(!1),minBalance:Ce.string().optional(),timeout:Ce.number().optional().default(12e4),retryOptions:Ce.unknown().optional(),signal:Ce.unknown().optional(),onTransactionStateChange:Ce.function().optional(),onTransactionSubmitted:Ce.function().optional(),onTransactionConfirmed:Ce.function().optional()}).passthrough().refine(e=>{let t=!!e.privateKey,r=!!e.walletClient;return t!==r},{message:"Either 'privateKey' or 'walletClient' must be provided, but not both",path:["privateKey","walletClient"]}).refine(e=>{let t=!!e.publicClient,r=!!e.walletClient,o=!!e.chain;return t&&r?!0:o},{message:"Chain is required when publicClient or walletClient is not provided",path:["chain"]}),HI=Ce.object({composeHash:Ce.string(),appId:Ce.string(),transactionHash:Ce.string(),blockNumber:Ce.bigint().optional(),gasUsed:Ce.bigint().optional()}).passthrough();function jI(e,t,r,o){console.log(e.logs);try{let n=pr({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 GI(e,t){let r=UI.parse(e),{chain:o,rpcUrl:n,appId:s,composeHash:i,privateKey:a,walletClient:c,publicClient:m,timeout:u=12e4,retryOptions:p,signal:f,onTransactionStateChange:d,onTransactionSubmitted:h,onTransactionConfirmed:g,skipPrerequisiteChecks:y=!1,minBalance:b}=r,x,w,S,I,P=s.startsWith("0x")?s:`0x${s}`;if(a){let V=La(a);if(m)x=m;else{if(!o)throw new Error("Chain required when creating publicClient");x=$n({chain:o,transport:no(n)})}if(!o)throw new Error("Chain required when creating walletClient");w=Na({account:V,chain:o,transport:no(n)}),S=V.address,I=o.id}else if(c){if(w=c,m)x=m;else{if(!o)throw new Error("Chain required when creating publicClient");x=$n({chain:o,transport:no(n)})}if(!w.account?.address)throw new Error("WalletClient must have an account with address");S=w.account.address,I=o?o.id:await w.getChainId()}else throw new Error("Either privateKey or walletClient must be provided");let _={publicClient:x,walletClient:w,address:S,chainId:I},B=Dd();if(d&&typeof d=="function"){let V=()=>{d(B.status),B.isComplete||setTimeout(V,100)};setTimeout(V,10)}if(!y){let V={targetChainId:I,minBalance:b?Pn(b):Pn("0.001")},ue=await B1(_,V);if(!ue.networkValid)throw new Error(`Network mismatch: Expected chain ${V.targetChainId}, but wallet is on chain ${ue.details.currentChainId}`);if(!ue.balanceValid){let Ae=Number(V.minBalance)/1e18,Je=Number(ue.details.balance)/1e18;throw new Error(`Insufficient balance: Required ${Ae} ETH, but account has ${Je.toFixed(6)} ETH`)}}let R=async V=>await V.walletClient.writeContract({address:P,abi:N1,functionName:"addComposeHash",args:[_p(i)],account:V.walletClient.account||V.address,chain:o||null}),M=p?await M1(R,_,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:f},p):await B.execute(R,_,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:f}),U=jI(M.receipt,_p(i),P,s);return t?.schema===!1?U:(t?.schema||HI).parse(U)}async function L1(e,t){try{return{success:!0,data:await GI(e,t)}}catch(r){let o=r instanceof Error?r.message:"Unknown blockchain error";return{success:!1,error:{isRequestError:!0,message:o,status:500,detail:o}}}}var YQ=Ti.object({target:Ti.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),interval:Ti.number().min(5).max(30).default(5).describe("Polling interval in seconds"),timeout:Ti.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),maxRetries:Ti.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),retryDelay:Ti.number().min(0).default(5e3).describe("Delay between retries in milliseconds")});var VI=pt.object({vm_uuid:pt.string(),status:pt.string(),uptime:pt.string().nullable().optional(),in_progress:pt.boolean(),boot_progress:pt.string().nullable().optional(),boot_error:pt.string().nullable().optional(),operation_type:pt.string().nullable().optional(),operation_started_at:pt.string().nullable().optional(),correlation_id:pt.string().nullable().optional()}),qI=pt.record(pt.string(),VI),KI=pt.object({vmUuids:pt.array(pt.string())}),{action:QQ,safeAction:eee}=Y(qI,async(e,t)=>{let{vmUuids:r}=KI.parse(t);return await e.post("/status/batch",{vm_uuids:r})}),WI=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function JI(e){let t={},r=e.toString();r=r.replace(/\r\n?/gm,`
|
|
70
|
-
`);let o;for(;(o=
|
|
71
|
-
`),s=s.replace(/\\r/g,"\r")),t[n]=s}return t}function
|
|
72
|
-
`)){if(o.length<=t){r.push(o);continue}if(o.indexOf(" ")===-1){r.push(...
|
|
73
|
-
`))},warn:(e,...t)=>{
|
|
74
|
-
`))},info:(e,...t)=>{
|
|
75
|
-
`))},success:(e,...t)=>{
|
|
76
|
-
`))},debug:(e,...t)=>{
|
|
77
|
-
`))},table:(e,t)=>{if(!
|
|
78
|
-
`)},startSpinner:e=>{if(
|
|
69
|
+
`,h,g,I1(l.status,l.statusText,l.headers,l._data))}c&&c({request:p,response:l,options:d})}})}get raw(){return this.fetchInstance}on(e,t){this.emitter.on(e,t)}off(e,t){this.emitter.off(e,t)}once(e,t){let r=o=>{t(o),this.emitter.off(e,r)};this.emitter.on(e,r)}async get(e,t){try{return await this.fetchInstance(e,{...t,method:"GET"})}catch(r){let o=this.convertToRequestError(r);throw this.emitError(o)}}async post(e,t,r){try{return await this.fetchInstance(e,{...r,method:"POST",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async put(e,t,r){try{return await this.fetchInstance(e,{...r,method:"PUT",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async patch(e,t,r){try{return await this.fetchInstance(e,{...r,method:"PATCH",body:t})}catch(o){let n=this.convertToRequestError(o);throw this.emitError(n)}}async delete(e,t){try{return await this.fetchInstance(e,{...t,method:"DELETE"})}catch(r){let o=this.convertToRequestError(r);throw this.emitError(o)}}convertToRequestError(e){return e&&typeof e=="object"&&"data"in e?Md.fromFetchError(e):e instanceof Error?Md.fromError(e):new Md("Unknown error occurred",{detail:"Unknown error occurred"})}emitError(e){let t=lS(e);return this.emitter.emit("error",t),t}async safeRequest(e){try{return{success:!0,data:await e()}}catch(t){if(t instanceof Dr)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 yS(e={}){return new gS(e)}function B1(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 M1(e){if(e?.schema!==void 0&&e?.schema!==!1&&(typeof e.schema!="object"||e.schema===null||!("parse"in e.schema)||typeof e.schema.parse!="function"))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 F1(e,t){function r(i,a){return o(i,a)}async function o(i,a){B1(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=M1(a);if(c)return c;let m=await(async()=>{try{return{success:!0,data:await t(i)}}catch(p){return p&&typeof p=="object"&&"status"in p?{success:!1,error:p}:p&&typeof p=="object"&&"issues"in p?{success:!1,error:p}:{success:!1,error:{name:"Error",message:p instanceof Error?p.message:String(p)}}}})();return m.success?a?.schema===!1?{success:!0,data:m.data}:(a?.schema||e).safeParse(m.data):m}return{action:r,safeAction:n}}function X(e,t){function r(i,...a){let[c,m]=a;return o(i,c,m)}async function o(i,a,c){B1(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=M1(c);if(m)return m;let u=await(async()=>{try{return{success:!0,data:await t(i,a)}}catch(l){return l&&typeof l=="object"&&"status"in l?{success:!1,error:l}:l&&typeof l=="object"&&"issues"in l?{success:!1,error:l}:{success:!1,error:{name:"Error",message:l instanceof Error?l.message:String(l)}}}})();return u.success?c?.schema===!1?{success:!0,data:u.data}:(c?.schema||e).safeParse(u.data):u}return{action:r,safeAction:n}}var bS=Xo.object({username:Xo.string(),email:Xo.string(),credits:Xo.number(),granted_credits:Xo.number(),avatar:Xo.string(),team_name:Xo.string(),team_tier:Xo.string()}).passthrough(),{action:xS,safeAction:Bn}=F1(bS,async e=>await e.get("/auth/me")),vS={[tu.id]:tu,[aa.id]:aa,[im.id]:im},wS=Qo.object({id:Qo.string(),slug:Qo.string().nullable(),url:Qo.string(),version:Qo.string(),chain_id:Qo.number().nullable(),kms_contract_address:Qo.string().nullable().transform(e=>e),gateway_app_id:Qo.string().nullable().transform(e=>e)}).passthrough(),io=wS.transform(e=>{if(e.chain_id!=null){let t=vS[e.chain_id];if(t)return{...e,chain:t}}return e}),CS=W.object({name:W.string(),is_dev:W.boolean(),version:W.union([W.tuple([W.number(),W.number(),W.number()]),W.tuple([W.number(),W.number(),W.number(),W.number()])]),os_image_hash:W.string().nullable().optional()}).passthrough(),ES=W.object({teepod_id:W.number(),name:W.string(),listed:W.boolean(),resource_score:W.number(),remaining_vcpu:W.number(),remaining_memory:W.number(),remaining_cvm_slots:W.number(),images:W.array(CS),support_onchain_kms:W.boolean().optional(),fmspc:W.string().nullable().optional(),device_id:W.string().nullable().optional(),region_identifier:W.string().nullable().optional(),default_kms:W.string().nullable().optional(),kms_list:W.array(W.string()).default([])}).passthrough(),SS=W.object({max_instances:W.number().nullable().optional(),max_vcpu:W.number().nullable().optional(),max_memory:W.number().nullable().optional(),max_disk:W.number().nullable().optional()}).passthrough(),kS=W.object({tier:W.string(),capacity:SS,nodes:W.array(ES),kms_list:W.array(io)}).passthrough(),{action:IS,safeAction:Ja}=F1(kS,async e=>await e.get("/teepods/available")),D1=Ie.object({id:Ie.string(),name:Ie.string(),description:Ie.string(),vcpu:Ie.number(),memory_mb:Ie.number(),hourly_rate:Ie.string(),requires_gpu:Ie.boolean(),default_disk_size_gb:Ie.number().default(20),family:Ie.string().nullable()}).passthrough(),_S=Ie.object({name:Ie.string(),items:Ie.array(D1),total:Ie.number()}).strict(),AS=Ie.object({result:Ie.array(_S)}).strict(),PS=Ie.object({items:Ie.array(D1),total:Ie.number(),family:Ie.string()}).strict(),TS=Ie.object({family:Ie.string()}).strict(),{action:$S,safeAction:RS}=X(AS,async e=>await e.get("/instance-types")),{action:BS,safeAction:MS}=X(PS,async(e,t)=>{let r=TS.parse(t);return await e.get(`/instance-types/${r.family}`)}),N1=Mt.object({id:Mt.string(),name:Mt.string(),slug:Mt.string().nullable(),tier:Mt.string(),role:Mt.string(),created_at:Mt.string()}).passthrough(),FS=Mt.object({has_more:Mt.boolean(),next_cursor:Mt.string().nullable(),total:Mt.number().nullable()}).passthrough(),DS=Mt.object({data:Mt.array(N1),pagination:FS}).passthrough(),{action:NS,safeAction:LS}=X(DS,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:US,safeAction:zS}=X(N1,async(e,t)=>await e.get(`/workspaces/${t}`)),OS=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()}),HS=P.object({id:P.number(),username:P.string()}),Ld=P.object({id:P.number(),name:P.string(),region_identifier:P.string().nullable().optional()}),L1=P.object({vcpu:P.number(),memory:P.number(),disk_size:P.number(),gpu_count:P.number().default(0)}),U1=P.object({app:P.string(),instance:P.string()}),jS=P.object({hosted:OS,name:P.string(),managed_user:HS.nullable(),node:Ld.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:io.nullable(),vcpu:P.number().nullable(),memory:P.number().nullable(),disk_size:P.number().nullable(),gateway_domain:P.string().nullable(),public_urls:P.array(U1),machine_info:L1.nullable().optional(),updated_at:P.string().nullable().optional()}),z1=P.object({id:P.number(),name:P.string(),status:P.string(),in_progress:P.boolean().optional().default(!1),teepod_id:P.number().nullable(),teepod:Ld.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(),instance_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:io.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(U1).optional().default([]),gateway_domain:P.string().optional().nullable(),machine_info:L1.optional().nullable(),updated_at:P.string().optional().nullable()}),Dp=P.object({id:P.number(),name:P.string(),status:P.string(),teepod_id:P.number(),teepod:Ld.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().default(null),base_image:P.string().nullable(),vcpu:P.number(),memory:P.number(),disk_size:P.number(),manifest_version:P.number().optional().nullable().default(2),version:P.string().optional().nullable().default("1.0.0"),runner:P.string().optional().nullable().default("docker-compose"),docker_compose_file:P.string().optional().nullable(),features:P.array(P.string()).optional().nullable().default(["kms","tproxy-net"]),created_at:P.string(),encrypted_env_pubkey:P.string().nullable()});function Mi(e){return typeof e!="string"||e.length<5||e.length>63?!1:/^[a-zA-Z](?!.*--)([a-zA-Z0-9-]*[a-zA-Z0-9])?$/.test(e)}function O1(e){if(typeof e!="string")return Rp();let t=e;return t=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),t=t.replace(/_/g,"-"),t=t.replace(/[^a-z0-9\s-]/gi,"-").replace(/\s+/g,"-"),t=t.replace(/-+/g,"-").replace(/^-+/,"").replace(/-+$/,""),t.length===0||(/^\d/.test(t)&&(t=`dstack-app-${t}`),t.length<5&&(t=`dstack-app-${t}`),t=t.slice(0,63).replace(/-+$/,""),t.length===0)||!Mi(t)?Rp():t}function Rp(){let e=Date.now().toString(36),t=Math.random().toString(36).substring(2,6);return`dstack-app-${e}-${t}`}var Nr=Ti.object({id:Ti.string().optional(),uuid:Ti.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:Ti.string().optional(),instance_id:Ti.string().optional(),name:Ti.string().refine(Mi,{message:"Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens"}).optional()}),en=e=>e.refine(t=>{let r=t;return!!(r.id||r.uuid||r.app_id||r.instance_id||r.name)},{message:"One of id, uuid, app_id, instance_id, or name must be provided"}),GS=en(Nr),fe=GS.transform(e=>{let t;if(e.id)t=e.id;else if(e.uuid)t=e.uuid;else if(e.app_id)t=e.app_id;else if(e.instance_id)t=e.instance_id;else{if(e.name)return{cvmId:e.name};throw new Error("No valid identifier provided")}let r=/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i,o=/^[0-9a-f]{40}$/i,n;return r.test(t)?n=t.replace(/-/g,""):o.test(t)?n=`app_${t}`:n=t,{cvmId:n}}),VS=fe,{action:qS,safeAction:Oe}=X(z1,async(e,t)=>{let{cvmId:r}=VS.parse(t);return await e.get(`/cvms/${r}`)}),KS=Qt.object({page:Qt.number().int().min(1).optional(),page_size:Qt.number().int().min(1).optional(),node_id:Qt.number().int().min(1).optional(),teepod_id:Qt.number().int().min(1).optional(),user_id:Qt.string().optional()}).strict(),WS=Qt.object({items:Qt.array(jS),total:Qt.number(),page:Qt.number(),page_size:Qt.number(),pages:Qt.number()}).strict(),{action:JS,safeAction:Za}=X(WS,async(e,t)=>{let r=KS.parse(t??{});return await e.get("/cvms/paginated",{params:r})}),ZS=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}),Fd="Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens",YS=q.object({node_id:q.number().optional(),teepod_id:q.number().optional(),region:q.string().optional(),name:q.string().min(5,Fd).max(63,Fd).refine(e=>Mi(e),Fd),instance_type:q.string().optional(),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().transform(e=>!e.instance_type&&!e.vcpu&&!e.memory?{...e,instance_type:"tdx.small"}:e);function XS(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:QS,safeAction:Ud}=X(ZS,async(e,t)=>{let r=YS.parse(t),o=XS(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)}),ek=Y.object({id:Y.number(),name:Y.string(),status:Y.string(),teepod_id:Y.number(),teepod:Y.object({id:Y.number(),name:Y.string()}).nullable(),user_id:Y.number().nullable(),app_id:Y.string().nullable(),vm_uuid:Y.string().nullable(),instance_id:Y.string().nullable(),app_url:Y.string().nullable().default(null),base_image:Y.string().nullable(),vcpu:Y.number(),memory:Y.number(),disk_size:Y.number(),manifest_version:Y.number().nullable().default(2),version:Y.string().nullable().default("1.0.0"),runner:Y.string().nullable().default("docker-compose"),docker_compose_file:Y.string().nullable(),features:Y.array(Y.string()).nullable().default(["kms","tproxy-net"]),created_at:Y.string(),encrypted_env_pubkey:Y.string().nullable().optional(),app_auth_contract_address:Y.string().nullable().optional(),deployer_address:Y.string().nullable().optional()}).passthrough(),ree=Y.object({encrypted_env:Y.string().optional().nullable(),app_id:Y.string(),compose_hash:Y.string(),kms_id:Y.string().optional(),contract_address:Y.string().optional(),deployer_address:Y.string().optional(),env_keys:Y.array(Y.string()).optional().nullable()}).passthrough(),{action:tk,safeAction:Np}=X(ek,async(e,t)=>await e.post("/cvms",t)),H1=pt.object({allowed_envs:pt.array(pt.string()).optional(),docker_compose_file:pt.string(),features:pt.array(pt.string()).optional(),name:pt.string().optional(),manifest_version:pt.number().optional(),kms_enabled:pt.boolean().optional(),public_logs:pt.boolean().optional(),public_sysinfo:pt.boolean().optional(),tproxy_enabled:pt.boolean().optional(),pre_launch_script:pt.string().optional(),env_pubkey:pt.string().optional(),salt:pt.string().optional().nullable()}).passthrough();function Dd(e){return e==null?e:Array.isArray(e)?e.map(Dd):e&&typeof e=="object"&&e.constructor===Object?Object.keys(e).sort().reduce((t,r)=>{let o=e[r];return t[r]=Dd(o),t},{}):e}function j1(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 G1(e){let t=Dd(e),r=JSON.stringify(t,null,4);return r=r.replace(/": /g,'":'),r}function ok(e){let t=j1(e),r=G1(t);return rk.createHash("sha256").update(r,"utf8").digest("hex")}function nk(e){let t=e;return{...e,getHash:()=>ok(t),toString:()=>G1(j1(t))}}var sk=H1.transform(e=>nk(e)),ik=fe,{action:ak,safeAction:Ya}=X(sk,async(e,t)=>{let{cvmId:r}=ik.parse(t);return await e.get(`/cvms/${r}/compose_file`)}),ck=Mr.object({id:Mr.string().optional(),uuid:Mr.string().regex(/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i).optional(),app_id:Mr.string().refine(e=>!e.startsWith("app_")&&e.length===40,"app_id should be 40 characters without prefix").transform(e=>e.startsWith("app_")?e:`app_${e}`).optional(),instance_id:Mr.string().refine(e=>!e.startsWith("instance_")&&e.length===40,"instance_id should be 40 characters without prefix").transform(e=>e.startsWith("instance_")?e:`instance_${e}`).optional(),app_compose:H1,update_env_vars:Mr.boolean().optional().nullable()}).refine(e=>!!(e.id||e.uuid||e.app_id||e.instance_id),"One of id, uuid, app_id, or instance_id must be provided").transform(e=>({cvmId:e.id||e.uuid||e.app_id||e.instance_id,request:{...e.app_compose,update_env_vars:e.update_env_vars},_raw:e})),mk=Mr.object({app_id:Mr.string().nullable(),device_id:Mr.string().nullable(),compose_hash:Mr.string(),kms_info:io.nullable().optional()}).passthrough(),{action:uk,safeAction:zd}=X(mk,async(e,t)=>{let r=ck.parse(t);return await e.post(`/cvms/${r.cvmId}/compose_file/provision`,r.request)}),pk=fr.object({id:fr.string().optional(),uuid:fr.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:fr.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:fr.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:fr.string().min(1,"Compose hash is required"),encrypted_env:fr.string().optional(),env_keys:fr.array(fr.string()).optional(),update_env_vars:fr.boolean().optional().nullable()}).refine(e=>!!(e.id||e.uuid||e.app_id||e.instance_id),"One of id, uuid, app_id, or instance_id must be provided").transform(e=>({cvmId:e.id||e.uuid||e.app_id||e.instance_id,compose_hash:e.compose_hash,encrypted_env:e.encrypted_env,env_keys:e.env_keys,update_env_vars:e.update_env_vars??void 0,_raw:e})),lk=fr.any().transform(()=>{}),{action:fk,safeAction:Od}=X(lk,async(e,t)=>{let r=pk.parse(t);return await e.patch(`/cvms/${r.cvmId}/compose_file`,{compose_hash:r.compose_hash,encrypted_env:r.encrypted_env,env_keys:r.env_keys,update_env_vars:r.update_env_vars})}),dk=en(Nr.extend({encrypted_env:Ye.string().describe("Encrypted environment variables (hex string)"),env_keys:Ye.array(Ye.string()).optional().describe("List of allowed environment variable keys"),compose_hash:Ye.string().optional().describe("Compose hash for verification (Phase 2, required when env_keys changes)"),transaction_hash:Ye.string().optional().describe("On-chain transaction hash for verification (Phase 2, required when env_keys changes)")})).transform(e=>{let{cvmId:t}=fe.parse(e);return{cvmId:t,request:{encrypted_env:e.encrypted_env,env_keys:e.env_keys,compose_hash:e.compose_hash,transaction_hash:e.transaction_hash},_raw:e}}),hk=Ye.object({status:Ye.literal("in_progress"),message:Ye.string(),correlation_id:Ye.string(),allowed_envs_changed:Ye.boolean()}),gk=Ye.object({status:Ye.literal("precondition_required"),message:Ye.string(),compose_hash:Ye.string(),app_id:Ye.string(),device_id:Ye.string(),kms_info:io}),yk=Ye.union([hk,gk]),{action:bk,safeAction:xk}=X(yk,async(e,t)=>{let r=dk.parse(t);try{return await e.patch(`/cvms/${r.cvmId}/envs`,r.request)}catch(o){if(o instanceof Dr&&o.status===465){let n=o.detail;if(n&&typeof n=="object"){let s=n;return{status:"precondition_required",message:s.message||"Compose hash verification required",compose_hash:s.compose_hash,app_id:s.app_id,device_id:s.device_id,kms_info:s.kms_info}}}throw o}}),vk=en(Nr.extend({docker_compose_file:Et.string().describe("Docker Compose YAML content"),compose_hash:Et.string().optional().describe("Compose hash for verification (Phase 2, contract-owned KMS only)"),transaction_hash:Et.string().optional().describe("On-chain transaction hash for verification (Phase 2, contract-owned KMS only)")})).transform(e=>{let{cvmId:t}=fe.parse(e);return{cvmId:t,request:{docker_compose_file:e.docker_compose_file,compose_hash:e.compose_hash,transaction_hash:e.transaction_hash},_raw:e}}),wk=Et.object({status:Et.literal("in_progress"),message:Et.string(),correlation_id:Et.string()}),Ck=Et.object({status:Et.literal("precondition_required"),message:Et.string(),compose_hash:Et.string(),app_id:Et.string(),device_id:Et.string(),kms_info:io}),Ek=Et.union([wk,Ck]),{action:Sk,safeAction:kk}=X(Ek,async(e,t)=>{let r=vk.parse(t),o={"Content-Type":"text/yaml"};r.request.compose_hash&&(o["X-Compose-Hash"]=r.request.compose_hash),r.request.transaction_hash&&(o["X-Transaction-Hash"]=r.request.transaction_hash);try{return await e.patch(`/cvms/${r.cvmId}/docker-compose`,r.request.docker_compose_file,{headers:o})}catch(n){if(n instanceof Dr&&n.status===465){let s=n.detail;if(s&&typeof s=="object"){let i=s;return{status:"precondition_required",message:i.message||"Compose hash verification required",compose_hash:i.compose_hash,app_id:i.app_id,device_id:i.device_id,kms_info:i.kms_info}}}throw n}}),Ik=en(Nr.extend({pre_launch_script:St.string().describe("Pre-launch script content (shell script)"),compose_hash:St.string().optional().describe("Compose hash for verification (Phase 2, contract-owned KMS only)"),transaction_hash:St.string().optional().describe("On-chain transaction hash for verification (Phase 2, contract-owned KMS only)")})).transform(e=>{let{cvmId:t}=fe.parse(e);return{cvmId:t,request:{pre_launch_script:e.pre_launch_script,compose_hash:e.compose_hash,transaction_hash:e.transaction_hash},_raw:e}}),_k=St.object({status:St.literal("in_progress"),message:St.string(),correlation_id:St.string()}),Ak=St.object({status:St.literal("precondition_required"),message:St.string(),compose_hash:St.string(),app_id:St.string(),device_id:St.string(),kms_info:io}),Pk=St.union([_k,Ak]),{action:Tk,safeAction:$k}=X(Pk,async(e,t)=>{let r=Ik.parse(t),o={"Content-Type":"text/plain"};r.request.compose_hash&&(o["X-Compose-Hash"]=r.request.compose_hash),r.request.transaction_hash&&(o["X-Transaction-Hash"]=r.request.transaction_hash);try{return await e.patch(`/cvms/${r.cvmId}/pre-launch-script`,r.request.pre_launch_script,{headers:o})}catch(n){if(n instanceof Dr&&n.status===465){let s=n.detail;if(s&&typeof s=="object"){let i=s;return{status:"precondition_required",message:i.message||"Compose hash verification required",compose_hash:i.compose_hash,app_id:i.app_id,device_id:i.device_id,kms_info:i.kms_info}}}throw n}}),Bk=fe,{action:Mk,safeAction:Fk}=X(Rk.string(),async(e,t)=>{let{cvmId:r}=Bk.parse(t);return await e.get(`/cvms/${r}/pre-launch-script`)}),Dk=_1.object({kms_id:_1.string().min(1,"KMS ID is required")}),{action:Nk,safeAction:Lk}=X(io,async(e,t)=>{let r=Dk.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(),zk=Fr.object({items:Fr.array(io),total:Fr.number(),page:Fr.number(),page_size:Fr.number(),pages:Fr.number()}).strict(),{action:Ok,safeAction:Hd}=X(zk,async(e,t)=>{let r=Uk.parse(t??{});return await e.get("/kms",{params:r})}),Hk=Bi.object({kms:Bi.string().min(1,"KMS ID or slug is required"),app_id:Bi.string().refine(e=>e.length===40||e.startsWith("0x")&&e.length===42,"App ID must be exactly 40 characters or 42 characters with 0x prefix")}).strict(),jk=Bi.object({public_key:Bi.string(),signature:Bi.string()}).strict(),{action:Gk,safeAction:Lp}=X(jk,async(e,t)=>{let r=Hk.parse(t);return await e.get(`/kms/${r.kms}/pubkey/${r.app_id}`)}),Vk=Rn.object({counts:Rn.number().int().min(1).max(20).optional().default(1)}).strict(),qk=Rn.object({app_ids:Rn.array(Rn.object({app_id:Rn.string(),nonce:Rn.number().int().min(0)}))}).strict(),{action:Kk,safeAction:Wk}=X(qk,async(e,t)=>{let r=Vk.parse(t??{}),o=new URLSearchParams;return o.append("counts",r.counts.toString()),await e.get(`/kms/phala/next_app_id?${o.toString()}`)}),Jk=fe,{action:Zk,safeAction:jd}=X(Dp,async(e,t)=>{let{cvmId:r}=Jk.parse(t);return await e.post(`/cvms/${r}/start`)}),Yk=fe,{action:Xk,safeAction:Gd}=X(Dp,async(e,t)=>{let{cvmId:r}=Yk.parse(t);return await e.post(`/cvms/${r}/stop`)}),Qk=fe,{action:eI,safeAction:tI}=X(Dp,async(e,t)=>{let{cvmId:r}=Qk.parse(t);return await e.post(`/cvms/${r}/shutdown`)}),oI=en(Nr.extend({force:rI.boolean().optional()})),{action:nI,safeAction:Vd}=X(Dp,async(e,t)=>{let r=oI.parse(t),{cvmId:o}=fe.parse(r),{force:n=!1}=r;return await e.post(`/cvms/${o}/restart`,{force:n})}),iI=fe,{action:aI,safeAction:qd}=X(sI.void(),async(e,t)=>{let{cvmId:r}=iI.parse(t);await e.delete(`/cvms/${r}`)}),cI=se.object({name:se.string(),mount_point:se.string(),total_size:se.number(),free_size:se.number()}),mI=se.object({os_name:se.string(),os_version:se.string(),kernel_version:se.string(),cpu_model:se.string(),num_cpus:se.number(),total_memory:se.number(),available_memory:se.number(),used_memory:se.number(),free_memory:se.number(),total_swap:se.number(),used_swap:se.number(),free_swap:se.number(),uptime:se.number(),loadavg_one:se.number(),loadavg_five:se.number(),loadavg_fifteen:se.number(),disks:se.array(cI)}),uI=se.object({is_online:se.boolean(),is_public:se.boolean().default(!1),error:se.string().nullable(),sysinfo:mI.nullable(),status:se.string().nullable(),in_progress:se.boolean().default(!1),boot_progress:se.string().nullable(),boot_error:se.string().nullable()}),pI=fe,{action:lI,safeAction:fI}=X(uI,async(e,t)=>{let{cvmId:r}=pI.parse(t);return await e.get(`/cvms/${r}/stats`)}),dI=Rr.object({app:Rr.string(),instance:Rr.string()}),hI=Rr.object({is_online:Rr.boolean(),is_public:Rr.boolean().default(!0),error:Rr.string().nullable(),internal_ip:Rr.string().nullable(),latest_handshake:Rr.string().nullable(),public_urls:Rr.array(dI).nullable()}),gI=fe,{action:yI,safeAction:bI}=X(hI,async(e,t)=>{let{cvmId:r}=gI.parse(t);return await e.get(`/cvms/${r}/network`)}),vI=fe,{action:wI,safeAction:CI}=X(xI.string(),async(e,t)=>{let{cvmId:r}=vI.parse(t);return await e.get(`/cvms/${r}/docker-compose.yml`)}),EI=ke.object({id:ke.string(),names:ke.array(ke.string()),image:ke.string(),image_id:ke.string(),command:ke.string().nullable().optional(),created:ke.number(),state:ke.string(),status:ke.string(),log_endpoint:ke.string().nullable()}),SI=ke.object({is_online:ke.boolean(),is_public:ke.boolean().default(!0),error:ke.string().nullable(),docker_compose_file:ke.string().nullable(),manifest_version:ke.number().nullable(),version:ke.string().nullable(),runner:ke.string().nullable(),features:ke.array(ke.string()).nullable(),containers:ke.array(EI).nullable()}),kI=fe,{action:II,safeAction:_I}=X(SI,async(e,t)=>{let{cvmId:r}=kI.parse(t);return await e.get(`/cvms/${r}/composition`)}),AI=H.object({common_name:H.string().nullable(),organization:H.string().nullable(),country:H.string().nullable(),state:H.string().nullable(),locality:H.string().nullable()}),PI=H.object({common_name:H.string().nullable(),organization:H.string().nullable(),country:H.string().nullable()}),TI=H.object({subject:AI,issuer:PI,serial_number:H.string(),not_before:H.string(),not_after:H.string(),version:H.string(),fingerprint:H.string(),signature_algorithm:H.string(),sans:H.array(H.string()).nullable(),is_ca:H.boolean(),position_in_chain:H.number().nullable(),quote:H.string().nullable(),app_id:H.string().nullable().optional(),cert_usage:H.string().nullable().optional()}),$I=H.object({imr:H.number(),event_type:H.number(),digest:H.string(),event:H.string(),event_payload:H.string()}),RI=H.object({mrtd:H.string(),rootfs_hash:H.string().nullable().optional(),rtmr0:H.string(),rtmr1:H.string(),rtmr2:H.string(),rtmr3:H.string(),event_log:H.array($I),app_compose:H.string()}),BI=H.object({name:H.string().nullable(),is_online:H.boolean(),is_public:H.boolean().default(!0),error:H.string().nullable(),app_certificates:H.array(TI).nullable(),tcb_info:RI.nullable(),compose_file:H.string().nullable()}),MI=fe,{action:FI,safeAction:DI}=X(BI,async(e,t)=>{let{cvmId:r}=MI.parse(t);return await e.get(`/cvms/${r}/attestation`)}),NI=en(Nr.extend({vcpu:Ri.number().optional(),memory:Ri.number().optional(),disk_size:Ri.number().optional(),instance_type:Ri.string().optional(),allow_restart:Ri.boolean().optional()})),{action:LI,safeAction:UI}=X(Ri.void(),async(e,t)=>{let r=NI.parse(t),{cvmId:o}=fe.parse(r),{...n}=r;await e.patch(`/cvms/${o}/resources`,n)}),zI=en(Nr.extend({public_sysinfo:A1.boolean(),public_logs:A1.boolean()})),{action:OI,safeAction:HI}=X(z1,async(e,t)=>{let r=zI.parse(t),{cvmId:o}=fe.parse(r),{public_sysinfo:n,public_logs:s}=r;return await e.patch(`/cvms/${o}/visibility`,{public_sysinfo:n,public_logs:s})}),P1=at.object({name:at.string(),os_image_hash:at.string().nullable(),is_current:at.boolean()}),jI=at.object({version:at.union([at.tuple([at.number(),at.number(),at.number(),at.number()]),at.tuple([at.number(),at.number(),at.number()])]),prod:P1.nullable(),dev:P1.nullable()}),GI=at.array(jI),VI=fe,{action:qI,safeAction:KI}=X(GI,async(e,t)=>{let{cvmId:r}=VI.parse(t);return await e.get(`/cvms/${r}/available-os-images`)}),WI=en(Nr.extend({os_image_name:V1.string().min(1,"OS image name is required")})),{action:JI,safeAction:ZI}=X(V1.void(),async(e,t)=>{let r=WI.parse(t),{cvmId:o}=fe.parse(r),{os_image_name:n}=r;await e.patch(`/cvms/${o}/os-image`,{os_image_name:n})}),YI=$r.object({id:$r.string().optional(),instance_id:$r.string().optional(),name:$r.string(),status:$r.string(),uptime:$r.string().optional(),exited_at:$r.string().optional(),boot_progress:$r.string().optional(),boot_error:$r.string().optional(),shutdown_progress:$r.string().optional()}),XI=fe,{action:QI,safeAction:e_}=X(YI,async(e,t)=>{let{cvmId:r}=XI.parse(t);return await e.get(`/cvms/${r}/state`)});function kt(e={}){let t=yS(e),r={getCurrentUser:xS,safeGetCurrentUser:Bn,getAvailableNodes:IS,safeGetAvailableNodes:Ja,listAllInstanceTypeFamilies:$S,safeListAllInstanceTypeFamilies:RS,listFamilyInstanceTypes:BS,safeListFamilyInstanceTypes:MS,listWorkspaces:NS,safeListWorkspaces:LS,getWorkspace:US,safeGetWorkspace:zS,getCvmInfo:qS,safeGetCvmInfo:Oe,getCvmList:JS,safeGetCvmList:Za,provisionCvm:QS,safeProvisionCvm:Ud,commitCvmProvision:tk,safeCommitCvmProvision:Np,getCvmComposeFile:ak,safeGetCvmComposeFile:Ya,provisionCvmComposeFileUpdate:uk,safeProvisionCvmComposeFileUpdate:zd,commitCvmComposeFileUpdate:fk,safeCommitCvmComposeFileUpdate:Od,updateCvmEnvs:bk,safeUpdateCvmEnvs:xk,updateDockerCompose:Sk,safeUpdateDockerCompose:kk,updatePreLaunchScript:Tk,safeUpdatePreLaunchScript:$k,getCvmPreLaunchScript:Mk,safeGetCvmPreLaunchScript:Fk,startCvm:Zk,safeStartCvm:jd,stopCvm:Xk,safeStopCvm:Gd,shutdownCvm:eI,safeShutdownCvm:tI,restartCvm:nI,safeRestartCvm:Vd,deleteCvm:aI,safeDeleteCvm:qd,getCvmStats:lI,safeGetCvmStats:fI,getCvmNetwork:yI,safeGetCvmNetwork:bI,getCvmDockerCompose:wI,safeGetCvmDockerCompose:CI,getCvmContainersStats:II,safeGetCvmContainersStats:_I,getCvmAttestation:FI,safeGetCvmAttestation:DI,updateCvmResources:LI,safeUpdateCvmResources:UI,updateCvmVisibility:OI,safeUpdateCvmVisibility:HI,getAvailableOsImages:qI,safeGetAvailableOsImages:KI,updateOsImage:JI,safeUpdateOsImage:ZI,getKmsInfo:Nk,safeGetKmsInfo:Lk,getKmsList:Ok,safeGetKmsList:Hd,getAppEnvEncryptPubKey:Gk,safeGetAppEnvEncryptPubKey:Lp,nextAppIds:Kk,safeNextAppIds:Wk,getCvmState:QI,safeGetCvmState:e_};return t.extend(r)}function Mp(e){if(typeof e=="string"){if(e.startsWith("0x")&&ue(e))return e;if(ue(`0x${e}`))return`0x${e}`}throw new Error(`Invalid hex value: ${e}`)}var q1=class extends Error{constructor(e,t,r){super(e),this.code=t,this.details=r,this.name="NetworkError"}};var Br=class extends Error{constructor(e,t,r){super(e),this.hash=t,this.details=r,this.name="TransactionError"}};async function t_(e,t){try{let r=await e.walletClient.getChainId();return{isCorrectNetwork:r===t,currentChainId:r}}catch(r){throw new q1(`Failed to check network status: ${r instanceof Error?r.message:"Unknown error"}`,"NETWORK_CHECK_FAILED",r)}}async function r_(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 q1(`Failed to check balance: ${o instanceof Error?o.message:"Unknown error"}`,"BALANCE_CHECK_FAILED",o)}}async function o_(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 Br(`Transaction confirmation timeout after ${o}ms`,t));return}setTimeout(m,n);return}a(u)}else{if(Date.now()-i>=o){c(new Br(`Transaction receipt timeout after ${o}ms`,t));return}setTimeout(m,n)}}catch(u){if(Date.now()-i>=o){c(new Br(`Transaction receipt timeout after ${o}ms`,t,u));return}setTimeout(m,n)}};m()})}async function K1(e,t){let{targetChainId:r,minBalance:o,requiredAddress:n}=t,s=await t_(e,r),i=await r_(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 Kd(){let e={state:"idle"},t,r,o=a=>{e={...e,...a}},n=()=>{t&&(clearTimeout(t),t=void 0),r&&(r.abort(),r=void 0),e={state:"idle"}},s=()=>{r&&r.abort(),t&&(clearTimeout(t),t=void 0),o({state:"error",aborted:!0,error:"Transaction aborted by user"})};return{get status(){return{...e}},get isIdle(){return e.state==="idle"},get isSubmitting(){return e.state==="submitting"},get isPending(){return e.state==="pending"},get isSuccess(){return e.state==="success"},get isError(){return e.state==="error"},get isTimeout(){return e.state==="timeout"},get isAborted(){return e.aborted===!0},get isComplete(){return["success","error","timeout"].includes(e.state)},abort:s,reset:n,execute:async(a,c,m,u={})=>{let{timeout:p=6e4,confirmations:l=1,onSubmitted:d,onConfirmed:h,onError:g,signal:y}=u;try{if(n(),r=new AbortController,y){if(y.aborted)throw new Br("Operation was aborted before execution");y.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 Br("Transaction aborted");let b=await a(c,...m);if(r.signal.aborted)throw new Br("Transaction aborted after submission",b);o({state:"pending",hash:b,submitTime:Date.now()}),d?.(b),p>0&&(t=setTimeout(()=>{e.state==="pending"&&!r?.signal.aborted&&o({state:"timeout",error:`Transaction timeout after ${p}ms`})},p));let x=await Promise.race([o_(c.publicClient,b,{timeout:p,confirmations:l}),new Promise((S,A)=>{r?.signal.addEventListener("abort",()=>{A(new Br("Transaction aborted while waiting for receipt",b))})})]);t&&(clearTimeout(t),t=void 0);let v=x.status==="success";if(o({state:v?"success":"error",receipt:x,confirmTime:Date.now(),error:v?void 0:"Transaction failed on-chain"}),v)h?.(x);else{let S=new Br("Transaction failed on-chain",b,x);throw g?.(S,b),S}return{hash:b,receipt:x,success:v}}catch(b){let x=b instanceof Br?b:new Br(`Transaction execution failed: ${b instanceof Error?b.message:"Unknown error"}`,e.hash,b);throw o({state:"error",error:x.message}),g?.(x,e.hash),x}}}}async function W1(e,t,r,o={},n={}){let{maxRetries:s=3,initialDelay:i=1e3,maxDelay:a=1e4,backoffFactor:c=2,retryCondition:m=()=>!0}=n,u,p=i;for(let l=0;l<=s;l++)try{return await Kd().execute(e,t,r,o)}catch(d){if(u=d instanceof Error?d:new Error(String(d)),l===s||!m(u))break;await new Promise(h=>setTimeout(h,p)),p=Math.min(p*c,a)}throw u}var J1=[{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}],n_=De.object({chain:De.unknown().optional(),rpcUrl:De.string().optional(),kmsContractAddress:De.string(),privateKey:De.string().optional(),walletClient:De.unknown().optional(),publicClient:De.unknown().optional(),allowAnyDevice:De.boolean().optional().default(!1),deviceId:De.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),composeHash:De.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),disableUpgrades:De.boolean().optional().default(!1),skipPrerequisiteChecks:De.boolean().optional().default(!1),minBalance:De.string().optional()}).passthrough(),s_=n_.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"]}),i_=De.object({appId:De.string(),appAuthAddress:De.string(),deployer:De.string(),transactionHash:De.string(),blockNumber:De.bigint().optional(),gasUsed:De.bigint().optional()}).passthrough();function a_(e,t,r){try{let o=pr({abi:J1,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 c_(e,t){let r=s_.parse(e),{chain:o,rpcUrl:n,kmsContractAddress:s,privateKey:i,walletClient:a,publicClient:c,allowAnyDevice:m=!1,deviceId:u="0000000000000000000000000000000000000000000000000000000000000000",composeHash:p="0000000000000000000000000000000000000000000000000000000000000000",disableUpgrades:l=!1,skipPrerequisiteChecks:d=!1,minBalance:h,timeout:g=12e4,retryOptions:y,signal:b,onTransactionStateChange:x,onTransactionSubmitted:v,onTransactionConfirmed:S}=r,A="0000000000000000000000000000000000000000000000000000000000000000",k=u!==A&&u!=="0x"+A?!1:m,$,M,B,L;if(i){let le=Ha(i);if(c){if(typeof c!="object"||!c)throw new Error("publicClient is invalid");$=c}else{if(!o)throw new Error("Chain required for publicClient");$=$n({chain:o,transport:no(n)})}if(!o)throw new Error("Chain required for walletClient");M=Oa({account:le,chain:o,transport:no(n)}),B=le.address,L=o.id}else if(a){if(typeof a!="object"||!a)throw new Error("walletClient is invalid");if(M=a,c){if(typeof c!="object"||!c)throw new Error("publicClient is invalid");$=c}else{if(!o)throw new Error("Chain required for publicClient");$=$n({chain:o,transport:no(n)})}if(!M.account?.address)throw new Error("WalletClient needs an account");B=M.account.address,o?L=o.id:L=await M.getChainId()}else throw new Error("Need privateKey or walletClient");let U={publicClient:$,walletClient:M,address:B,chainId:L},z=Kd();if(x&&typeof x=="function"){let le=()=>{x(z.status),z.isComplete||setTimeout(le,100)};setTimeout(le,10)}if(!d){let le={targetChainId:L,minBalance:h?Pn(h):Pn("0.001")},bo=await K1(U,le);if(!bo.networkValid)throw new Error(`Wrong network. Need chain ${le.targetChainId}, got ${bo.details.currentChainId}`);if(!bo.balanceValid){let rr=Number(le.minBalance)/1e18,Sl=Number(bo.details.balance)/1e18;throw new Error(`Not enough ETH. Need ${rr}, have ${Sl.toFixed(6)}`)}}let re=Mp(u),K=Mp(p),ge=`0x${re.slice(2).padEnd(64,"0")}`,Nt=`0x${K.slice(2).padEnd(64,"0")}`,O=async le=>{try{let rr=await le.publicClient.getCode({address:s});if(!rr||rr==="0x")throw new Error(`No contract at ${s}`)}catch(rr){if(rr instanceof Error&&rr.message.includes("No contract at"))throw rr}let bo={address:s,abi:J1,functionName:"deployAndRegisterApp",args:[le.address,l,k,ge,Nt],account:le.walletClient.account||le.address,chain:o||null};return await le.walletClient.writeContract(bo)},Ae=y?await W1(O,U,[],{timeout:g,confirmations:1,onSubmitted:v,onConfirmed:S,signal:b},y):await z.execute(O,U,[],{timeout:g,confirmations:1,onSubmitted:v,onConfirmed:S,signal:b}),hr=a_(Ae.receipt,B,s);return t?.schema===!1?hr:(t?.schema||i_).parse(hr)}async function Z1(e,t){try{return{success:!0,data:await c_(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 Y1=[{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}],m_=Se.object({chain:Se.unknown().optional(),rpcUrl:Se.string().optional(),appId:Se.string(),composeHash:Se.string(),privateKey:Se.string().optional(),walletClient:Se.unknown().optional(),publicClient:Se.unknown().optional(),skipPrerequisiteChecks:Se.boolean().optional().default(!1),minBalance:Se.string().optional(),timeout:Se.number().optional().default(12e4),retryOptions:Se.unknown().optional(),signal:Se.unknown().optional(),onTransactionStateChange:Se.function().optional(),onTransactionSubmitted:Se.function().optional(),onTransactionConfirmed:Se.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"]}),u_=Se.object({composeHash:Se.string(),appId:Se.string(),transactionHash:Se.string(),blockNumber:Se.bigint().optional(),gasUsed:Se.bigint().optional()}).passthrough();function p_(e,t,r,o){console.log(e.logs);try{let n=pr({abi:Y1,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 l_(e,t){let r=m_.parse(e),{chain:o,rpcUrl:n,appId:s,composeHash:i,privateKey:a,walletClient:c,publicClient:m,timeout:u=12e4,retryOptions:p,signal:l,onTransactionStateChange:d,onTransactionSubmitted:h,onTransactionConfirmed:g,skipPrerequisiteChecks:y=!1,minBalance:b}=r,x,v,S,A,_=s.startsWith("0x")?s:`0x${s}`;if(a){let z=Ha(a);if(m)x=m;else{if(!o)throw new Error("Chain required when creating publicClient");x=$n({chain:o,transport:no(n)})}if(!o)throw new Error("Chain required when creating walletClient");v=Oa({account:z,chain:o,transport:no(n)}),S=z.address,A=o.id}else if(c){if(v=c,m)x=m;else{if(!o)throw new Error("Chain required when creating publicClient");x=$n({chain:o,transport:no(n)})}if(!v.account?.address)throw new Error("WalletClient must have an account with address");S=v.account.address,A=o?o.id:await v.getChainId()}else throw new Error("Either privateKey or walletClient must be provided");let k={publicClient:x,walletClient:v,address:S,chainId:A},$=Kd();if(d&&typeof d=="function"){let z=()=>{d($.status),$.isComplete||setTimeout(z,100)};setTimeout(z,10)}if(!y){let z={targetChainId:A,minBalance:b?Pn(b):Pn("0.001")},re=await K1(k,z);if(!re.networkValid)throw new Error(`Network mismatch: Expected chain ${z.targetChainId}, but wallet is on chain ${re.details.currentChainId}`);if(!re.balanceValid){let K=Number(z.minBalance)/1e18,ge=Number(re.details.balance)/1e18;throw new Error(`Insufficient balance: Required ${K} ETH, but account has ${ge.toFixed(6)} ETH`)}}let M=async z=>await z.walletClient.writeContract({address:_,abi:Y1,functionName:"addComposeHash",args:[Mp(i)],account:z.walletClient.account||z.address,chain:o||null}),B=p?await W1(M,k,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:l},p):await $.execute(M,k,[],{timeout:u,confirmations:1,onSubmitted:h,onConfirmed:g,signal:l}),L=p_(B.receipt,Mp(i),_,s);return t?.schema===!1?L:(t?.schema||u_).parse(L)}async function X1(e,t){try{return{success:!0,data:await l_(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 Nee=$i.object({target:$i.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),interval:$i.number().min(5).max(30).default(5).describe("Polling interval in seconds"),timeout:$i.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),maxRetries:$i.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),retryDelay:$i.number().min(0).default(5e3).describe("Delay between retries in milliseconds")});var f_=lt.object({vm_uuid:lt.string(),status:lt.string(),uptime:lt.string().nullable().optional(),in_progress:lt.boolean(),boot_progress:lt.string().nullable().optional(),boot_error:lt.string().nullable().optional(),operation_type:lt.string().nullable().optional(),operation_started_at:lt.string().nullable().optional(),correlation_id:lt.string().nullable().optional()}),d_=lt.record(lt.string(),f_),h_=lt.object({vmUuids:lt.array(lt.string())}),{action:Uee,safeAction:zee}=X(d_,async(e,t)=>{let{vmUuids:r}=h_.parse(t);return await e.post("/status/batch",{vm_uuids:r})}),g_=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function y_(e){let t={},r=e.toString();r=r.replace(/\r\n?/gm,`
|
|
70
|
+
`);let o;for(;(o=g_.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 Up(e){let t=y_(e),r=[];for(let[o,n]of Object.entries(t))r.push({key:o,value:n});return r}import ft from"chalk";import v_ from"ora";function w_(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 C_(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 Q1(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(...C_(o,t));continue}let n=w_(o,t);r.push(...n)}if(r.length===0){let o=e.trim();r.push(o)}return r}var f={error:(e,...t)=>{Qe()||(process.stderr.write(`${ft.red("\u2717")} ${ft.red(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
|
|
73
|
+
`))},warn:(e,...t)=>{Qe()||(process.stderr.write(`${ft.yellow("\u26A0")} ${ft.yellow(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
|
|
74
|
+
`))},info:(e,...t)=>{Qe()||(process.stderr.write(`${ft.blue("\u2139")} ${ft.blue(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
|
|
75
|
+
`))},success:(e,...t)=>{Qe()||(process.stderr.write(`${ft.green("\u2713")} ${ft.green(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
|
|
76
|
+
`))},debug:(e,...t)=>{Qe()||process.env.DEBUG&&(process.stderr.write(`${ft.gray("\u{1F50D}")} ${ft.gray(e)}`),t.length>0&&process.stderr.write(` ${t.map(String).join(" ")}`),process.stderr.write(`
|
|
77
|
+
`))},table:(e,t)=>{if(!Qe()){if(e.length===0){console.log(ft.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(ft.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(ft.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(Qe())return;let{borderStyle:r="single",keyColor:o=ft.blue,valueColor:n=ft.white,maxWidth:s=process.stdout.columns||80}=t||{},a={single:{topLeft:"\u250C",topRight:"\u2510",bottomLeft:"\u2514",bottomRight:"\u2518",horizontal:"\u2500",vertical:"\u2502",cross:"\u253C",leftT:"\u251C",rightT:"\u2524"},double:{topLeft:"\u2554",topRight:"\u2557",bottomLeft:"\u255A",bottomRight:"\u255D",horizontal:"\u2550",vertical:"\u2551",cross:"\u256C",leftT:"\u2560",rightT:"\u2563"},rounded:{topLeft:"\u256D",topRight:"\u256E",bottomLeft:"\u2570",bottomRight:"\u256F",horizontal:"\u2500",vertical:"\u2502",cross:"\u253C",leftT:"\u251C",rightT:"\u2524"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomLeft:"\u2517",bottomRight:"\u251B",horizontal:"\u2501",vertical:"\u2503",cross:"\u254B",leftT:"\u2523",rightT:"\u252B"},none:{topLeft:"",topRight:"",bottomLeft:"",bottomRight:"",horizontal:"",vertical:"",cross:"",leftT:"",rightT:""}}[r],c=0,m=0;for(let[h,g]of Object.entries(e)){c=Math.max(c,h.length);let y=String(g??"");m=Math.max(m,y.length)}let u=4,p=1,l=s-u-p;if(c+m>l){let h=c/(c+m);c=Math.floor(l*h),m=l-c}let d=c+m+u+p;r!=="none"&&console.log(a.topLeft+a.horizontal.repeat(d-2)+a.topRight);for(let[h,g]of Object.entries(e)){let y=h,b=String(g??""),x=Q1(y,c),v=Q1(b,m),S=Math.max(x.length,v.length);for(;x.length<S;)x.push("");for(;v.length<S;)v.push("");for(let A=0;A<S;A++){let _=x[A].padEnd(c),k=v[A].padEnd(m);console.log(r!=="none"?`${a.vertical} ${o(_)} ${a.vertical} ${n(k)} ${a.vertical}`:`${o(_)} : ${n(k)}`)}}r!=="none"&&console.log(a.bottomLeft+a.horizontal.repeat(d-2)+a.bottomRight)},break:()=>{Qe()||process.stderr.write(`
|
|
78
|
+
`)},startSpinner:e=>{if(Qe())return{stop:()=>{}};let t=v_(e).start();return{stop:(r=!0,o)=>{o&&(t.text=o),r?t.succeed():t.fail()}}},logDetailedError(e,t){if(Qe())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
|
|
84
|
-
Run 'phala init' to create one.`);try{let t=
|
|
83
|
+
`)}};var k_=Nr.extend({api_version:zp.enum(Wa).optional(),gateway_domain:zp.string().optional(),gateway_port:zp.number().int().positive().optional()}),Jd="phala.toml";function ev(){return E_.join(process.cwd(),Jd)}function I_(){return Wd.existsSync(ev())}function __(){let e=ev();if(!Wd.existsSync(e))throw new Error(`Project configuration file not found: ${Jd}
|
|
84
|
+
Run 'phala init' to create one.`);try{let t=Wd.readFileSync(e,"utf8"),r=S_.parse(t),o=k_.parse(r);if(o.id||o.uuid||o.app_id||o.instance_id||o.name){let{cvmId:n}=fe.parse(o);return{...o,cvm_id:n}}return o}catch(t){if(t instanceof zp.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 ${Ld}: ${t instanceof Error?t.message:String(t)}`)}}function zd(){return n_()?s_():{}}function U1(e){if(!e)return;let{cvmId:t}=fe.parse({id:e});return t}import Mp from"crypto";import Lr from"fs";import Mi from"os";import Ud from"path";var Wa=Ud.join(Mi.homedir(),".phala-cloud"),Ja=Ud.join(Wa,"api-key"),Od=Ud.join(Wa,"docker-credentials.json");function H1(){if(!Lr.existsSync(Wa))try{Lr.mkdirSync(Wa,{recursive:!0})}catch(e){throw l.error(`Failed to create directory ${Wa}:`,e),e}}function j1(){let e=[Mi.hostname(),Mi.platform(),Mi.arch(),Mi.cpus()[0]?.model||"",Mi.userInfo().username],t=Mp.createHash("sha256");return t.update(e.join("|")),t.digest()}function i_(e){try{let t=j1(),r=Mp.randomBytes(16),o=Mp.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 a_(e){try{let t=j1(),r=e.split(":");if(r.length!==2)throw new Error("Invalid encrypted format");let o=Buffer.from(r[0],"hex"),n=r[1],s=Mp.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 Fp(e){H1();try{let t=i_(e);Lr.writeFileSync(Ja,t,{mode:384})}catch(t){throw l.error("Failed to save API key:",t),t}}function tn(){try{if(process.env.PHALA_CLOUD_API_KEY)return process.env.PHALA_CLOUD_API_KEY;if(Lr.existsSync(Ja)){let e=Lr.readFileSync(Ja,"utf8").trim();return a_(e)}return null}catch(e){return l.error("Failed to read API key:",e),null}}async function zr(){try{Lr.existsSync(Ja)?(Lr.unlinkSync(Ja),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 Hd(e){H1();try{Lr.writeFileSync(Od,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 ao(){try{if(Lr.existsSync(Od)){let e=Lr.readFileSync(Od,"utf8");return JSON.parse(e)}return null}catch(e){return l.error("Failed to read Docker credentials:",e),null}}async function W(){let e=tn();return kt({apiKey:e})}async function Dp(e){return kt({apiKey:e})}import{z as C}from"zod";var c_=C.object({password:C.string(),registry:C.string().nullable(),username:C.string()}),Mee=C.object({docker_compose_file:C.string(),docker_config:c_.optional().nullable(),features:C.array(C.string()),kms_enabled:C.boolean(),manifest_version:C.number(),name:C.string(),public_logs:C.boolean(),public_sysinfo:C.boolean(),runner:C.string().optional(),salt:C.string().nullable().optional(),tproxy_enabled:C.boolean(),version:C.string().optional()}).passthrough(),G1=C.object({id:C.number(),name:C.string(),status:C.string(),teepod_id:C.number().nullable(),teepod:C.object({id:C.number(),name:C.string()}).nullable(),user_id:C.number().nullable(),app_id:C.string(),vm_uuid:C.string().nullable(),instance_id:C.string().nullable(),app_url:C.string().nullable(),base_image:C.string().nullable(),vcpu:C.number(),memory:C.number(),disk_size:C.number(),manifest_version:C.number().nullable(),version:C.string().nullable(),runner:C.string().nullable(),docker_compose_file:C.string().nullable(),features:C.array(C.string()).nullable(),created_at:C.string(),encrypted_env_pubkey:C.string().nullable()}),Fee=C.object({key:C.string(),value:C.string()}),m_=C.object({is_online:C.boolean(),is_public:C.boolean(),error:C.string().nullable(),internal_ip:C.string(),latest_handshake:C.string(),public_urls:C.array(C.object({app:C.string(),instance:C.string()}))}),V1=C.object({id:C.number(),name:C.string(),status:C.string(),teepod_id:C.number(),teepod:C.object({id:C.number(),name:C.string()}),user_id:C.number().nullable(),app_id:C.string(),vm_uuid:C.string().nullable(),instance_id:C.string().nullable(),app_url:C.string().nullable(),base_image:C.string().nullable(),vcpu:C.number(),memory:C.number(),disk_size:C.number(),manifest_version:C.number().nullable(),version:C.string().nullable(),runner:C.string().nullable(),docker_compose_file:C.string().nullable(),features:C.array(C.string()).nullable(),created_at:C.string(),encrypted_env_pubkey:C.string().nullable()}),q1=C.object({is_online:C.boolean(),is_public:C.boolean(),error:C.string().nullable(),app_certificates:C.array(C.object({subject:C.object({common_name:C.string().nullable(),organization:C.string().nullable(),country:C.string().nullable(),state:C.string().nullable().optional(),locality:C.string().nullable().optional()}),issuer:C.object({common_name:C.string().nullable(),organization:C.string().nullable(),country:C.string().nullable()}),serial_number:C.string(),not_before:C.string(),not_after:C.string(),version:C.string(),fingerprint:C.string(),signature_algorithm:C.string(),sans:C.string().nullable(),is_ca:C.boolean(),position_in_chain:C.number(),quote:C.string().nullable()})).nullable(),tcb_info:C.object({mrtd:C.string(),rootfs_hash:C.string(),rtmr0:C.string(),rtmr1:C.string(),rtmr2:C.string(),rtmr3:C.string(),event_log:C.array(C.object({imr:C.number(),event_type:C.number(),digest:C.string(),event:C.string(),event_payload:C.string()}))}).nullable(),compose_file:C.string().nullable()}),u_=C.object({name:C.string(),description:C.string().optional(),version:C.array(C.number()).optional(),is_dev:C.boolean().optional(),os_image_hash:C.string().nullable().optional(),rootfs_hash:C.string().optional(),shared_ro:C.boolean().optional(),cmdline:C.string().optional(),kernel:C.string().optional(),initrd:C.string().optional(),hda:C.string().nullable().optional(),rootfs:C.string().optional(),bios:C.string().optional()}),Dee=C.object({teepod_id:C.number().nullable(),id:C.number().optional(),name:C.string(),listed:C.boolean().optional(),resource_score:C.number().optional(),remaining_vcpu:C.number().optional(),remaining_memory:C.number().optional(),remaining_cvm_slots:C.number().optional(),images:C.array(u_).optional(),region_identifier:C.string().optional(),dedicated_for_team_id:C.number().nullable().optional(),support_onchain_kms:C.boolean().optional(),fmspc:C.string().nullable().optional(),device_id:C.string().nullable().optional()});import p_ from"inquirer";async function f_(e){let t=await W(),r=e.replace(/^app_/,""),o=await Oe(t,{app_id:r});if(!o.success)throw new Error(o.error.message);return o.data}async function K1(e){let t=await W(),r=await Ka(t,{id:e});if(!r.success)throw new Error(r.error.message);return r.data}async function W1(){let e=l.startSpinner("Fetching available CVMs"),t=await W(),r=await qa(t);if(e.stop(!0),!r.success){l.error(`Failed to fetch CVMs: ${r.error.message}`);return}let n=r.data.items;if(!n||n.length===0){l.info("No CVMs found for your account");return}let s=n.map(a=>{let c=a,m=c.hosted?.app_id||c.hosted?.id,u=c.name||c.hosted?.name,p=c.status||c.hosted?.status;return{name:`${u||"Unnamed"} (${m}) - Status: ${p||"Unknown"}`,value:m}}),{selectedCvm:i}=await p_.prompt([{type:"list",name:"selectedCvm",message:"Select a CVM:",choices:s}]);return i}async function J1(e){let t=await W(),r=e.replace(/^app_/,""),o=await t.get(`cvms/app_${r}/attestation`);try{return q1.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 W(),o=e.replace(/^app_/,""),n=await r.post(`cvms/app_${o}/replicas`,t);return V1.parse(n)}async function jd(e,t,r,o,n){let s=await W(),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 W()).post("cvms/pubkey/from_cvm_configuration",e)}async function X1(e){let r=await(await W()).post("cvms/from_cvm_configuration",e);return G1.parse(r)}async function Q1(e,t){let r=await W(),o=e.replace(/^app_/,"");return await r.put(`cvms/app_${o}/compose`,t)}async function e6(e=!1){let t=await W(),r="teepods/available";return e&&(r+="?v03x_only=1"),await t.get(r)}function Np(e,t){let r=[];t.follow&&r.push("follow"),t.tail&&r.push(`lines=${t.tail}`),t.timestamps&&r.push("timestamps"),r.push("ansi");let o=e.includes("?")?"&":"?";return e+o+r.join("&")}async function t6(e,t){let r=e.body?.getReader();if(!r)throw new Error("No response body available for streaming");let o=new TextDecoder;for(;;){let{done:n,value:s}=await r.read();if(n)break;t(o.decode(s,{stream:!0}))}}async function r6(e){let t=await f_(e);if(!t.syslog_endpoint)throw new Error(`No syslog endpoint available for CVM '${e}'`);return`${t.syslog_endpoint}&ch=serial`}async function o6(e,t){let o=await(await W()).get(`cvms/${e}/composition`);if(!o.containers?.length)throw new Error(`No containers found for CVM '${e}'`);let n=o.containers;if(t&&(n=n.filter(i=>i.names.some(a=>a===t||a===`/${t}`)||i.id.startsWith(t)),!n.length))throw new Error(`Container '${t}' not found in CVM '${e}'`);let s=n.find(i=>i.log_endpoint);if(!s?.log_endpoint)throw new Error(`No log endpoints available for CVM '${e}'`);return s.log_endpoint}async function n6(e,t={}){let r=await r6(e),o=Np(r,t),n=await fetch(o);if(!n.ok)throw new Error(`Failed to fetch serial logs: ${n.status} ${n.statusText}`);return n.text()}async function s6(e,t={}){let r=await o6(e,t.container),o=Np(r,t),n=await fetch(o);if(!n.ok)throw new Error(`Failed to fetch container logs: ${n.status} ${n.statusText}`);return n.text()}async function i6(e,t,r={},o){let n=await r6(e),s=Np(n,{...r,follow:!0}),i=await fetch(s,{signal:o});if(!i.ok)throw new Error(`Failed to stream serial logs: ${i.status} ${i.statusText}`);await t6(i,t)}async function a6(e,t,r={},o){let n=await o6(e,r.container),s=Np(n,{...r,follow:!0}),i=await fetch(s,{signal:o});if(!i.ok)throw new Error(`Failed to stream container logs: ${i.status} ${i.statusText}`);await t6(i,t)}async function m6(e){let{registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,stdin:a,env:c,cwd:m}=e,u=h_(r);if((u.length>0?t.getNode(u):null)?.group){let y=r.slice(u.length),b=ji(y,void 0);if(b.flags["--help"]||b.positionals.length===0)return c6({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:u})}let f=t.resolveCommand(u);if(!f)return u.length>1&&t.getNode([u[0]])?.group?c6({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i,groupPath:[u[0]]}):d_({registry:t,argv:r,executableName:o,version:n,stdout:s,stderr:i});let{definition:d,consumed:h}=f,g=r.slice(h.length);try{let y=ji(g,d.meta.options);if(y.flags["--version"])return s.write(`${n}
|
|
87
|
-
`)
|
|
88
|
-
|
|
89
|
-
`)
|
|
90
|
-
|
|
91
|
-
`)
|
|
92
|
-
`),
|
|
93
|
-
`))},
|
|
94
|
-
`)
|
|
95
|
-
`)
|
|
96
|
-
`)
|
|
97
|
-
`)
|
|
98
|
-
`)
|
|
99
|
-
`),
|
|
100
|
-
`),
|
|
101
|
-
`),1}
|
|
102
|
-
`),
|
|
103
|
-
`),0;if(
|
|
104
|
-
`),0;
|
|
105
|
-
`),1}catch(
|
|
106
|
-
`),1;throw
|
|
86
|
+
${r}`)}throw new Error(`Failed to parse ${Jd}: ${t instanceof Error?t.message:String(t)}`)}}function Zd(){return I_()?__():{}}function tv(e){if(!e)return;let{cvmId:t}=fe.parse({id:e});return t}import Op from"crypto";import Lr from"fs";import Fi from"os";import Xd from"path";var Xa=Xd.join(Fi.homedir(),".phala-cloud"),Qa=Xd.join(Xa,"api-key"),Yd=Xd.join(Xa,"docker-credentials.json");function rv(){if(!Lr.existsSync(Xa))try{Lr.mkdirSync(Xa,{recursive:!0})}catch(e){throw f.error(`Failed to create directory ${Xa}:`,e),e}}function ov(){let e=[Fi.hostname(),Fi.platform(),Fi.arch(),Fi.cpus()[0]?.model||"",Fi.userInfo().username],t=Op.createHash("sha256");return t.update(e.join("|")),t.digest()}function A_(e){try{let t=ov(),r=Op.randomBytes(16),o=Op.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 f.error("Encryption failed:",t),new Error("Failed to encrypt data")}}function P_(e){try{let t=ov(),r=e.split(":");if(r.length!==2)throw new Error("Invalid encrypted format");let o=Buffer.from(r[0],"hex"),n=r[1],s=Op.createDecipheriv("aes-256-cbc",t.slice(0,32),o),i=s.update(n,"hex","utf8");return i+=s.final("utf8"),i}catch(t){throw f.error("Decryption failed:",t),new Error("Failed to decrypt data")}}async function Hp(e){rv();try{let t=A_(e);Lr.writeFileSync(Qa,t,{mode:384})}catch(t){throw f.error("Failed to save API key:",t),t}}function tn(){try{if(process.env.PHALA_CLOUD_API_KEY)return process.env.PHALA_CLOUD_API_KEY;if(Lr.existsSync(Qa)){let e=Lr.readFileSync(Qa,"utf8").trim();return P_(e)}return null}catch(e){return f.error("Failed to read API key:",e),null}}async function Ur(){try{Lr.existsSync(Qa)?(Lr.unlinkSync(Qa),f.success("API key removed successfully.")):f.warn("No API key found to remove.")}catch(e){throw f.error("Failed to remove API key:",e),e}}async function Qd(e){rv();try{Lr.writeFileSync(Yd,JSON.stringify(e,null,2),{mode:384}),f.success("Docker information saved successfully.")}catch(t){throw f.error("Failed to save Docker information:",t),t}}async function ao(){try{if(Lr.existsSync(Yd)){let e=Lr.readFileSync(Yd,"utf8");return JSON.parse(e)}return null}catch(e){return f.error("Failed to read Docker credentials:",e),null}}async function J(){let e=tn();return kt({apiKey:e})}async function jp(e){return kt({apiKey:e})}import{z as C}from"zod";var T_=C.object({password:C.string(),registry:C.string().nullable(),username:C.string()}),vte=C.object({docker_compose_file:C.string(),docker_config:T_.optional().nullable(),features:C.array(C.string()),kms_enabled:C.boolean(),manifest_version:C.number(),name:C.string(),public_logs:C.boolean(),public_sysinfo:C.boolean(),runner:C.string().optional(),salt:C.string().nullable().optional(),tproxy_enabled:C.boolean(),version:C.string().optional()}).passthrough(),nv=C.object({id:C.number(),name:C.string(),status:C.string(),teepod_id:C.number().nullable(),teepod:C.object({id:C.number(),name:C.string()}).nullable(),user_id:C.number().nullable(),app_id:C.string(),vm_uuid:C.string().nullable(),instance_id:C.string().nullable(),app_url:C.string().nullable(),base_image:C.string().nullable(),vcpu:C.number(),memory:C.number(),disk_size:C.number(),manifest_version:C.number().nullable(),version:C.string().nullable(),runner:C.string().nullable(),docker_compose_file:C.string().nullable(),features:C.array(C.string()).nullable(),created_at:C.string(),encrypted_env_pubkey:C.string().nullable()}),wte=C.object({key:C.string(),value:C.string()}),$_=C.object({is_online:C.boolean(),is_public:C.boolean(),error:C.string().nullable(),internal_ip:C.string(),latest_handshake:C.string(),public_urls:C.array(C.object({app:C.string(),instance:C.string()}))}),sv=C.object({id:C.number(),name:C.string(),status:C.string(),teepod_id:C.number(),teepod:C.object({id:C.number(),name:C.string()}),user_id:C.number().nullable(),app_id:C.string(),vm_uuid:C.string().nullable(),instance_id:C.string().nullable(),app_url:C.string().nullable(),base_image:C.string().nullable(),vcpu:C.number(),memory:C.number(),disk_size:C.number(),manifest_version:C.number().nullable(),version:C.string().nullable(),runner:C.string().nullable(),docker_compose_file:C.string().nullable(),features:C.array(C.string()).nullable(),created_at:C.string(),encrypted_env_pubkey:C.string().nullable()}),iv=C.object({is_online:C.boolean(),is_public:C.boolean(),error:C.string().nullable(),app_certificates:C.array(C.object({subject:C.object({common_name:C.string().nullable(),organization:C.string().nullable(),country:C.string().nullable(),state:C.string().nullable().optional(),locality:C.string().nullable().optional()}),issuer:C.object({common_name:C.string().nullable(),organization:C.string().nullable(),country:C.string().nullable()}),serial_number:C.string(),not_before:C.string(),not_after:C.string(),version:C.string(),fingerprint:C.string(),signature_algorithm:C.string(),sans:C.string().nullable(),is_ca:C.boolean(),position_in_chain:C.number(),quote:C.string().nullable()})).nullable(),tcb_info:C.object({mrtd:C.string(),rootfs_hash:C.string(),rtmr0:C.string(),rtmr1:C.string(),rtmr2:C.string(),rtmr3:C.string(),event_log:C.array(C.object({imr:C.number(),event_type:C.number(),digest:C.string(),event:C.string(),event_payload:C.string()}))}).nullable(),compose_file:C.string().nullable()}),R_=C.object({name:C.string(),description:C.string().optional(),version:C.array(C.number()).optional(),is_dev:C.boolean().optional(),os_image_hash:C.string().nullable().optional(),rootfs_hash:C.string().optional(),shared_ro:C.boolean().optional(),cmdline:C.string().optional(),kernel:C.string().optional(),initrd:C.string().optional(),hda:C.string().nullable().optional(),rootfs:C.string().optional(),bios:C.string().optional()}),Cte=C.object({teepod_id:C.number().nullable(),id:C.number().optional(),name:C.string(),listed:C.boolean().optional(),resource_score:C.number().optional(),remaining_vcpu:C.number().optional(),remaining_memory:C.number().optional(),remaining_cvm_slots:C.number().optional(),images:C.array(R_).optional(),region_identifier:C.string().optional(),dedicated_for_team_id:C.number().nullable().optional(),support_onchain_kms:C.boolean().optional(),fmspc:C.string().nullable().optional(),device_id:C.string().nullable().optional()});import B_ from"inquirer";async function M_(e){let t=await J(),r=e.replace(/^app_/,""),o=await Oe(t,{app_id:r});if(!o.success)throw new Error(o.error.message);return o.data}async function av(e){let t=await J(),r=await Ya(t,{id:e});if(!r.success)throw new Error(r.error.message);return r.data}async function cv(){let e=f.startSpinner("Fetching available CVMs"),t=await J(),r=await Za(t);if(e.stop(!0),!r.success){f.error(`Failed to fetch CVMs: ${r.error.message}`);return}let n=r.data.items;if(!n||n.length===0){f.info("No CVMs found for your account");return}let s=n.map(a=>{let c=a,m=c.hosted?.app_id||c.hosted?.id,u=c.name||c.hosted?.name,p=c.status||c.hosted?.status;return{name:`${u||"Unnamed"} (${m}) - Status: ${p||"Unknown"}`,value:m}}),{selectedCvm:i}=await B_.prompt([{type:"list",name:"selectedCvm",message:"Select a CVM:",choices:s}]);return i}async function mv(e){let t=await J(),r=e.replace(/^app_/,""),o=await t.get(`cvms/app_${r}/attestation`);try{return iv.parse(o)}catch(n){return f.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 uv(e,t){let r=await J(),o=e.replace(/^app_/,""),n=await r.post(`cvms/app_${o}/replicas`,t);return sv.parse(n)}async function e0(e,t,r,o,n){let s=await J(),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 pv(e){return await(await J()).post("cvms/pubkey/from_cvm_configuration",e)}async function lv(e){let r=await(await J()).post("cvms/from_cvm_configuration",e);return nv.parse(r)}async function fv(e,t){let r=await J(),o=e.replace(/^app_/,"");return await r.put(`cvms/app_${o}/compose`,t)}async function dv(e=!1){let t=await J(),r="teepods/available";return e&&(r+="?v03x_only=1"),await t.get(r)}function Gp(e,t){let r=[];t.follow&&r.push("follow"),t.tail&&r.push(`lines=${t.tail}`),t.timestamps&&r.push("timestamps"),r.push("ansi");let o=e.includes("?")?"&":"?";return e+o+r.join("&")}async function hv(e,t){let r=e.body?.getReader();if(!r)throw new Error("No response body available for streaming");let o=new TextDecoder;for(;;){let{done:n,value:s}=await r.read();if(n)break;t(o.decode(s,{stream:!0}))}}async function gv(e){let t=await M_(e);if(!t.syslog_endpoint)throw new Error(`No syslog endpoint available for CVM '${e}'`);return`${t.syslog_endpoint}&ch=serial`}async function yv(e,t){let o=await(await J()).get(`cvms/${e}/composition`);if(!o.containers?.length)throw new Error(`No containers found for CVM '${e}'`);let n=o.containers;if(t&&(n=n.filter(i=>i.names.some(a=>a===t||a===`/${t}`)||i.id.startsWith(t)),!n.length))throw new Error(`Container '${t}' not found in CVM '${e}'`);let s=n.find(i=>i.log_endpoint);if(!s?.log_endpoint)throw new Error(`No log endpoints available for CVM '${e}'`);return s.log_endpoint}async function bv(e,t={}){let r=await gv(e),o=Gp(r,t),n=await fetch(o);if(!n.ok)throw new Error(`Failed to fetch serial logs: ${n.status} ${n.statusText}`);return n.text()}async function xv(e,t={}){let r=await yv(e,t.container),o=Gp(r,t),n=await fetch(o);if(!n.ok)throw new Error(`Failed to fetch container logs: ${n.status} ${n.statusText}`);return n.text()}async function vv(e,t,r={},o){let n=await gv(e),s=Gp(n,{...r,follow:!0}),i=await fetch(s,{signal:o});if(!i.ok)throw new Error(`Failed to stream serial logs: ${i.status} ${i.statusText}`);await hv(i,t)}async function wv(e,t,r={},o){let n=await yv(e,r.container),s=Gp(n,{...r,follow:!0}),i=await fetch(s,{signal:o});if(!i.ok)throw new Error(`Failed to stream container logs: ${i.status} ${i.statusText}`);await hv(i,t)}import Ni from"chalk";import Mn from"semver";import F_ from"os";import Cv from"path";import ec from"fs-extra";var Vp=Cv.join(F_.homedir(),".phala-cloud"),r0=Cv.join(Vp,"config.json"),t0={apiUrl:"https://cloud-api.phala.network",cloudUrl:"https://cloud.phala.com",defaultTeepodId:3,defaultImage:"dstack-dev-0.3.5",defaultVcpu:1,defaultMemory:2048,defaultDiskSize:20};function D_(){if(!ec.existsSync(Vp))try{ec.mkdirSync(Vp,{recursive:!0})}catch(e){throw new Error(`Failed to create directory ${Vp}: ${String(e)}`)}}function qp(){try{if(ec.existsSync(r0)){let e=ec.readFileSync(r0,"utf8");return{...t0,...JSON.parse(e)}}return t0}catch{return t0}}function o0(e){D_();try{ec.writeFileSync(r0,JSON.stringify({...qp(),...e},null,2),{mode:384})}catch(t){throw new Error(`Failed to save configuration: ${String(t)}`)}}function Di(e){return qp()[e]}function Ev(e,t){let r=qp();r[e]=t,o0(r)}function Sv(){return qp()}function Kp(){return typeof process.versions.bun=="string"?"bun":"node"}function tc(e,t){if(t==="bun")return"bun";let r=e.npm_config_user_agent;if(r){let n=(r.split(" ")[0]??"").split("/")[0];if(n==="pnpm")return"pnpm";if(n==="yarn")return"yarn";if(n==="npm")return"npm";if(n==="bun")return"bun"}return"npm"}function rc(e,t){switch(e){case"bun":return`bun add -g ${t}`;case"pnpm":return`pnpm add -g ${t}`;case"yarn":return`yarn global add ${t}`;default:return`npm i -g ${t}`}}function kv(e,t){switch(e){case"bun":return{command:"bun",args:["add","-g",t]};case"pnpm":return{command:"pnpm",args:["add","-g",t]};case"yarn":return{command:"yarn",args:["global","add",t]};default:return{command:"npm",args:["i","-g",t]}}}var N_=200,L_=1440*60*1e3;function Wp(e){return e?e==="1"||e.toLowerCase()==="true":!1}function Iv(e){return typeof e=="string"&&e.trim().length>0}function U_(e){return e.startsWith("@")?e.replace("/","%2F"):e}function z_(e){let r=Mn.parse(e)?.prerelease?.[0];return typeof r=="string"&&r.length>0?r:void 0}function Av(e,t,r){if(Iv(t.PHALA_UPDATE_CHANNEL))return t.PHALA_UPDATE_CHANNEL;let o=r.get("updateCheckChannel");return Iv(o)?o:z_(e)??"latest"}function O_(e){return e.replace(/[^a-zA-Z0-9_-]/g,"_")}function n0(e,t){return`${e}_${O_(t)}`}function _v(e,t){let r=e.get(t);if(typeof r=="number"&&Number.isFinite(r))return r;if(typeof r=="string"){let o=Number(r);return Number.isFinite(o)?o:void 0}}function Pv(){return{get(e){return Di(e)},save(e){o0(e)}}}function Jp(e){let{executableName:t,packageName:r,currentVersion:o,runtime:n,env:s,isJson:i,stderrIsTTY:a,configStore:c=Pv()}=e;try{if(!a||i||Wp(s.CI)||Wp(s.PHALA_DISABLE_UPDATE_CHECK)||c.get("disableUpdateNotice")===!0)return null;let m=Mn.valid(o);if(!m)return null;let u=Av(o,s,c),p=n0("updateCheckLatest",u),l=c.get(p)??(u==="latest"?c.get("updateCheckLatest"):void 0),d=typeof l=="string"?Mn.valid(l):null;if(!d||!Mn.gt(d,m))return null;let h=tc(s,n),g=u==="latest"?`${r}@latest`:`${r}@${u}`,y=rc(h,g);return{message:`${[Ni.yellow(`Update available: v${m} -> v${d}${u==="latest"?"":` (${u})`}.`),Ni.gray(`Update with: "${t} self update" (or "${y}").`),Ni.gray(`Disable with: PHALA_DISABLE_UPDATE_CHECK=1 or "${t} config set disableUpdateNotice true".`)].join(`
|
|
87
|
+
`)}
|
|
88
|
+
`,currentVersion:m,latestVersion:d,packageName:r}}catch{return null}}async function Tv(e){let{executableName:t,packageName:r,currentVersion:o,runtime:n,env:s,isJson:i,stderrIsTTY:a,now:c=Date.now(),timeoutMs:m=N_,ttlMs:u=L_,fetchImpl:p=fetch,configStore:l=Pv()}=e;try{if(!a||i||Wp(s.CI)||Wp(s.PHALA_DISABLE_UPDATE_CHECK)||l.get("disableUpdateNotice")===!0)return null;let d=Jp({executableName:t,packageName:r,currentVersion:o,runtime:n,env:s,isJson:i,stderrIsTTY:a,configStore:l});if(d)return d;let h=Av(o,s,l),g=n0("updateCheckLastAt",h),y=_v(l,g)??(h==="latest"?_v(l,"updateCheckLastAt"):void 0);if(y&&c-y<u)return null;let x=`https://registry.npmjs.org/${U_(r)}`,v=new AbortController,S=setTimeout(()=>v.abort(),m);S.unref?.();let A,_=null;try{if(A=await p(x,{signal:v.signal,headers:{accept:"application/json"}}),!A.ok)return null;let k=await A.json();if(!k||typeof k!="object")return null;let $=k["dist-tags"];if(!$||typeof $!="object")return null;let M=$[h]??$.latest;if(typeof M!="string")return null;_=Mn.valid(M);let B=Mn.valid(o);if(!_||!B||!Mn.gt(_,B))return null;let L=tc(s,n),U=h==="latest"?`${r}@latest`:`${r}@${h}`,z=rc(L,U);return{message:`${[Ni.yellow(`Update available: v${B} -> v${_}${h==="latest"?"":` (${h})`}.`),Ni.gray(`Update with: "${t} self update" (or "${z}").`),Ni.gray(`Disable with: PHALA_DISABLE_UPDATE_CHECK=1 or "${t} config set disableUpdateNotice true".`)].join(`
|
|
89
|
+
`)}
|
|
90
|
+
`,currentVersion:B,latestVersion:_,packageName:r}}finally{clearTimeout(S);let k=n0("updateCheckLatest",h);l.save({[g]:c,..._?{[k]:_}:{},...h==="latest"?{updateCheckLastAt:c,..._?{updateCheckLatest:_}:{}}:{}})}}catch{return null}}async function Rv(e){let{registry:t,argv:r,executableName:o,version:n,packageName:s,packageVersion:i,runtime:a,stdout:c,stderr:m,stdin:u,env:p,cwd:l}=e,d=G_(r);if((d.length>0?t.getNode(d):null)?.group){let v=r.slice(d.length),S=Ki(v,void 0);if(S.flags["--help"]||S.positionals.length===0)return $v({registry:t,argv:r,executableName:o,version:n,packageName:s,packageVersion:i,runtime:a,env:p,stdout:c,stderr:m,groupPath:d})}let g=t.resolveCommand(d);if(!g)return d.length>1&&t.getNode([d[0]])?.group?$v({registry:t,argv:r,executableName:o,version:n,packageName:s,packageVersion:i,runtime:a,env:p,stdout:c,stderr:m,groupPath:[d[0]]}):j_({registry:t,argv:r,executableName:o,version:n,packageName:s,packageVersion:i,runtime:a,env:p,stdout:c,stderr:m});let{definition:y,consumed:b}=g,x=r.slice(b.length);try{let v=Ki(x,y.meta.options);if(v.flags["--version"])return c.write(`${n}
|
|
91
|
+
`),0;if(v.flags["--help"])return c.write(`${V0({executableName:o,definition:y,registry:t})}
|
|
92
|
+
`),0;let A=!(y.path[0]==="self"&&y.path[1]==="update")?Tv({executableName:o,packageName:s,currentVersion:i,runtime:a,env:p,isJson:v.flags["--json"]===!0,stderrIsTTY:m.isTTY===!0}):Promise.resolve(null);y.meta.stability==="deprecated"&&m.write(Li.yellow(`Warning: This command is deprecated and may be removed in a future version.
|
|
93
|
+
`));let _=U0(y.meta,v),k={..._.options,..._.positionals,options:_.options,positionals:_.positionals,raw:_.raw},$,M="cvmId"in k?k.cvmId:void 0,B="interactive"in k&&k.interactive===!0;if(v.flags["--debug"]&&(console.log("[DISPATCHER DEBUG] 'cvmId' in mergedInput:","cvmId"in k),console.log("[DISPATCHER DEBUG] rawCvmId:",M),console.log("[DISPATCHER DEBUG] mergedInput keys:",Object.keys(k))),B){let K=await cv();K&&($={app_id:K})}if(!$&&M&&typeof M=="string"&&($={id:M}),!$){let K=Zd().cvm_id;K&&($={id:K})}v.flags["--debug"]&&(console.log("[DISPATCHER DEBUG] final cvmId:",JSON.stringify($)),console.log("[DISPATCHER DEBUG] cvmId type:",typeof $),console.log("[DISPATCHER DEBUG] cvmId is undefined:",$===void 0));let L={argv:x,rawFlags:v.flags,rawPositionals:v.positionals,cwd:l,env:p,stdout:c,stderr:m,stdin:u,projectConfig:Zd(),cvmId:$,cli:{executableName:o,packageName:s,packageVersion:i,runtime:a},success(K){if(Qe()){let ge=typeof K=="string"?{success:!0,message:K}:{success:!0,...typeof K=="object"&&K!==null?K:{data:K}};c.write(`${JSON.stringify(ge,null,2)}
|
|
94
|
+
`)}else typeof K=="string"?c.write(`${Li.green("\u2713")} ${Li.green(K)}
|
|
95
|
+
`):(c.write(`${Li.green("\u2713")} Success
|
|
96
|
+
`),c.write(`${JSON.stringify(K,null,2)}
|
|
97
|
+
`))},fail(K,ge){Qe()?c.write(`${JSON.stringify({success:!1,error:K,...ge&&{details:ge}},null,2)}
|
|
98
|
+
`):(m.write(`${Li.red("\u2717")} ${Li.red(K)}
|
|
99
|
+
`),ge&&m.write(`${JSON.stringify(ge,null,2)}
|
|
100
|
+
`))}};v.flags["--debug"]&&console.log("[DISPATCHER DEBUG] context.cvmId after creation:",JSON.stringify(L.cvmId));let U=y.schema.parse(k);v.flags["--debug"]&&console.log("[DISPATCHER DEBUG] context.cvmId before handler:",JSON.stringify(L.cvmId));let z=await y.run(U,L),re=await A;return typeof z=="number"?(z===0&&re&&!Qe()&&m.write(re.message),z):(re&&!Qe()&&m.write(re.message),0)}catch(v){if(v instanceof H_)return m.write(V_(v)),1;if(s0(v))return m.write(`${v.message}
|
|
101
|
+
`),1;throw v}}function j_(e){let{registry:t,argv:r,executableName:o,version:n,packageName:s,packageVersion:i,runtime:a,env:c,stdout:m,stderr:u}=e;try{let p=Ki(r,void 0);if(p.flags["--version"])return m.write(`${n}
|
|
102
|
+
`),0;if(p.flags["--help"])return m.write(`${yc({registry:t,executableName:o})}
|
|
103
|
+
`),0;if(p.positionals.length===0){m.write(`${yc({registry:t,executableName:o})}
|
|
104
|
+
`);let d=Jp({executableName:o,packageName:s,currentVersion:i,runtime:a,env:c,isJson:!1,stderrIsTTY:u.isTTY===!0});return d&&u.write(d.message),0}let l=p.positionals.join(" ");return u.write(`Unknown command "${l}". Run \`${o} --help\` for a list of commands.
|
|
105
|
+
`),1}catch(p){if(s0(p))return u.write(`${p.message}
|
|
106
|
+
`),1;throw p}}function $v(e){let{registry:t,argv:r,executableName:o,version:n,packageName:s,packageVersion:i,runtime:a,env:c,stdout:m,stderr:u,groupPath:p}=e;try{let l=r.slice(p.length),d=Ki(l,void 0);if(d.flags["--version"])return m.write(`${n}
|
|
107
|
+
`),0;if(d.flags["--help"]||d.positionals.length===0){if(m.write(`${G0({registry:t,executableName:o,groupPath:p})}
|
|
108
|
+
`),!d.flags["--help"]){let y=Jp({executableName:o,packageName:s,currentVersion:i,runtime:a,env:c,isJson:!1,stderrIsTTY:u.isTTY===!0});y&&u.write(y.message)}return 0}let h=d.positionals.join(" "),g=p.join(" ");return u.write(`Unknown subcommand "${h}" for "${g}". Run \`${o} ${g} --help\` for a list of subcommands.
|
|
109
|
+
`),1}catch(l){if(s0(l))return u.write(`${l.message}
|
|
110
|
+
`),1;throw l}}function G_(e){let t=[];for(let r of e){if(r.startsWith("-"))break;t.push(r)}return t}function V_(e){let t=e.issues[0];return t?`Invalid value for "${t.path.length>0?t.path.join("."):"input"}": ${t.message}
|
|
107
111
|
`:`${e.message}
|
|
108
|
-
`}function
|
|
112
|
+
`}function s0(e){return e instanceof Error&&Object.prototype.hasOwnProperty.call(e,"code")&&typeof e.code=="string"}function Bv(e){return{name:e,children:new Map,aliasMap:new Map}}var Zp=class{constructor(){this.root=Bv(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=Bv(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 Mv={path:["auth"],meta:{name:"auth",description:"Authenticate with Phala Cloud",stability:"deprecated"}};import q_ from"prompts";function R(e){return{path:e.path,meta:e.meta,schema:e.schema,run:e.handler}}var xe=process.env.CLOUD_URL||"https://cloud.phala.com";var Fn=1,Dn=2048,Nn=40,i0="dstack-0.3.6",Fv=`version: '3.8'
|
|
109
113
|
services:
|
|
110
114
|
postgres:
|
|
111
115
|
image: ankane/pgvector:latest
|
|
@@ -150,7 +154,7 @@ networks:
|
|
|
150
154
|
driver: bridge
|
|
151
155
|
|
|
152
156
|
volumes:
|
|
153
|
-
postgres-data:`,
|
|
157
|
+
postgres-data:`,Dv=`version: '3.8'
|
|
154
158
|
services:
|
|
155
159
|
app:
|
|
156
160
|
image: {{imageName}}
|
|
@@ -161,33 +165,33 @@ services:
|
|
|
161
165
|
{{#each envVars}} - {{{this}}}
|
|
162
166
|
{{/each}}
|
|
163
167
|
restart: always
|
|
164
|
-
`;import{z as
|
|
168
|
+
`;import{z as Yp}from"zod";var Nv={name:"login",description:"Authenticate with Phala Cloud (use 'phala login' instead)",stability:"deprecated",arguments:[{name:"api-key",description:"API key for authentication (optional, triggers device flow if not provided)",required:!1,target:"apiKey"}],options:[{name:"manual",description:"Manually enter API key instead of using device flow",type:"boolean"},{name:"no-open",description:"Don't automatically open browser for device flow",type:"boolean"}]},Lv=Yp.object({apiKey:Yp.string().min(1,"API key cannot be empty").optional(),manual:Yp.boolean().optional(),noOpen:Yp.boolean().optional()});async function a0(e){try{await Hp(e);let t=await jp(e),r=await Bn(t),o=r.data;if(!r.success||!o?.username)throw await Ur(),new Error("Invalid API key");return o}catch(t){throw await Ur(),t instanceof Error?t:new Error(String(t))}}async function K_(){let e,t=await q_({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 a0(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 a0(t.apiKey)),{apiKey:t.apiKey,user:e}}async function W_(e,t){f.warn('The "phala auth login" command is deprecated and will be removed in a future version.'),f.info('Please use "phala login" instead for a better experience.'),f.break();try{let r=e.apiKey,o;if(r)o=await a0(r);else{let n=await K_();r=n.apiKey,o=n.user}if(!o)throw new Error("Failed to validate API key");return f.success(`Welcome ${o.username}! API key validated and saved successfully`),f.break(),f.info(`Open in Web UI at ${xe}/dashboard/`),0}catch(r){return f.error("Failed to set API key"),f.logDetailedError(r),1}}var Uv=R({path:["auth","login"],meta:Nv,schema:Lv,handler:W_});import{z as J_}from"zod";var zv={name:"logout",description:"Remove the stored API key (use 'phala logout' instead)",stability:"deprecated"},Ov=J_.object({});async function Z_(e,t){f.warn('The "phala auth logout" command is deprecated and will be removed in a future version.'),f.info('Please use "phala logout" instead.'),f.break();try{return await Ur(),f.success("API key removed successfully"),0}catch(r){return f.error("Failed to remove API key"),f.logDetailedError(r),1}}var Hv=R({path:["auth","logout"],meta:zv,schema:Ov,handler:Z_});import{z as Xp}from"zod";var Ft={name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json",negatedName:"no-json"},c0={name:"debug",shorthand:"d",description:"Enable debug output",type:"boolean",target:"debug"},jv={name:"status",description:"Check Phala Cloud status and authentication",stability:"stable",options:[...jn,Ft,c0],examples:[{name:"Show login status in human-readable format",value:"phala status"},{name:"Get status as JSON",value:"phala status --json"}]},Qp=Xp.object({json:Xp.boolean().default(!1),debug:Xp.boolean().default(!1),apiToken:Xp.string().optional()});async function m0(e,t){Pe(e.json);let r=e.debug||t.env.DEBUG?.toLowerCase()==="true",o=e.apiToken||tn();if(!o)return f.warn('Not authenticated. Please set an API key with "phala login"'),0;r&&f.debug(`Using API key: ${o.substring(0,5)}...`);try{let n=kt({apiKey:o}),s=await Bn(n);if(!s.success)return f.error("Failed to get user information"),s.error&&f.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}
|
|
165
169
|
`),t.stdout.write(`Logged in as: ${i.username}
|
|
166
170
|
`),t.stdout.write(`Current Workspace: ${i.team_name}
|
|
167
|
-
`),0)}catch(n){return
|
|
171
|
+
`),0)}catch(n){return f.error("Authentication failed. Your API key may be invalid or expired."),f.info('Please set a new API key with "phala login"'),r&&f.logDetailedError(n),t.fail("Authentication failed. Your API key may be invalid or expired."),1}}var Gv=R({path:["status"],meta:jv,schema:Qp,handler:m0});var Vv={name:"status",description:"Check authentication status (use 'phala status' instead)",stability:"deprecated",options:[...jn,Ft,c0]},qv=Qp;var Kv=R({path:["auth","status"],meta:Vv,schema:qv,handler:async(e,t)=>(e.json||(f.warn('The "phala auth status" command is deprecated and will be removed in a future version.'),f.info('Please use "phala status" instead.'),f.break()),m0(e,t))});var u0={group:Mv,commands:[Uv,Hv,Kv]};var Wv={path:["config"],meta:{name:"config",description:"Manage your local configuration",stability:"stable"}};import{z as Jv}from"zod";var Zv={name:"get",description:"Get a configuration value",stability:"stable",arguments:[{name:"key",description:"Configuration key",required:!0}]},Yv=Jv.object({key:Jv.string()});async function Y_(e,t){try{let r=Di(e.key);return r===void 0?(t.stderr.write(`Configuration key '${e.key}' not found
|
|
168
172
|
`),1):(t.stdout.write(`${e.key}: ${JSON.stringify(r)}
|
|
169
173
|
`),0)}catch(r){return t.stderr.write(`Failed to get configuration value
|
|
170
|
-
`),
|
|
174
|
+
`),f.logDetailedError(r),1}}var Xv=R({path:["config","get"],meta:Zv,schema:Yv,handler:Y_});import{z as Qv}from"zod";var e6={name:"list",aliases:["ls"],description:"List all configuration values",stability:"stable",options:[{name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json"}]},t6=Qv.object({json:Qv.boolean().default(!1)});async function X_(e,t){Pe(e.json);try{let r=Sv();if(e.json)return t.success(r),0;t.stdout.write(`Configuration values:
|
|
171
175
|
`);for(let[o,n]of Object.entries(r))t.stdout.write(`${o}: ${JSON.stringify(n)}
|
|
172
|
-
`);return 0}catch(r){return
|
|
176
|
+
`);return 0}catch(r){return f.logDetailedError(r),t.fail("Failed to list configuration values"),1}}var r6=R({path:["config","list"],meta:e6,schema:t6,handler:X_});import{z as p0}from"zod";var o6={name:"set",description:"Set a configuration value",stability:"stable",arguments:[{name:"key",description:"Configuration key",required:!0},{name:"value",description:"Configuration value",required:!0}]},n6=p0.object({key:p0.string(),value:p0.string()});async function Q_(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 Ev(e.key,r),t.stdout.write(`Configuration value for '${e.key}' set successfully
|
|
173
177
|
`),0}catch(r){return t.stderr.write(`Failed to set configuration value
|
|
174
|
-
`),
|
|
175
|
-
`)){if(!n.trim()||n.trim().startsWith("#"))continue;let s=-1,i=!1,a="";for(let g=0;g<n.length;g++)if((n[g]==='"'||n[g]==="'"||n[g]==="`")&&(g===0||n[g-1]!=="\\"))i&&n[g]===a?(i=!1,a=""):i||(i=!0,a=n[g]);else if(n[g]==="="&&!i){s=g;break}else if(n[g]==="#"&&!i)break;if(s===-1){n.trim().startsWith("#");continue}let c=n.substring(0,s).trim(),m=n.substring(s+1),u=!1,p="",
|
|
176
|
-
`))):m=m.trim(),c&&(r[c]=m)}}return Object.entries(r).map(([o,n])=>({key:o,value:n}))};import{execSync as mo,spawn as
|
|
178
|
+
`),f.logDetailedError(r),1}}var s6=R({path:["config","set"],meta:o6,schema:n6,handler:Q_});var l0={group:Wv,commands:[Xv,r6,s6]};var i6={path:["cvms"],meta:{name:"cvms",description:"Manage Phala Confidential Virtual Machines (CVMs)",stability:"unstable"}};import tl from"chalk";import{z as el}from"zod";var a6={name:"attestation",description:"Get attestation information for a CVM",stability:"unstable",arguments:[Be],options:[Ft,Re],examples:[{name:"Show attestation summary",value:"phala cvms attestation"},{name:"Output full attestation JSON",value:"phala cvms attestation --json"}]},c6=el.object({cvmId:el.string().optional(),interactive:el.boolean().default(!1),json:el.boolean().default(!1)});async function eA(e,t){if(Pe(e.json),!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=await J(),o=await Oe(r,t.cvmId);if(!o.success)return t.fail(o.error.message),1;let n=o.data;if(!n)return t.fail("CVM not found"),1;let s=n.app_id,i=f.startSpinner(`Fetching attestation information for CVM app_${s}...`);try{let a=await mv(s);if(i.stop(!0),!a)return t.fail("No attestation information found"),1;if(e.json)return t.success(a),0;if(f.success("Attestation Summary:"),f.keyValueTable({Status:a.is_online?tl.green("Online"):tl.red("Offline"),"Public Access":a.is_public?tl.green("Enabled"):tl.yellow("Disabled"),Error:a.error||"None",Certificates:`${a.app_certificates?.length||0} found`},{borderStyle:"rounded"}),a.app_certificates?.length&&a.app_certificates.forEach((c,m)=>{f.break(),f.success(`Certificate #${m+1} (${c.position_in_chain===0?"End Entity":"CA"}):`),f.keyValueTable({Subject:`${c.subject.common_name||"Unknown"}${c.subject.organization?` (${c.subject.organization})`:""}`,Issuer:`${c.issuer.common_name||"Unknown"}${c.issuer.organization?` (${c.issuer.organization})`:""}`,"Serial Number":c.serial_number,Validity:`${new Date(c.not_before).toLocaleString()} to ${new Date(c.not_after).toLocaleString()}`,Fingerprint:c.fingerprint,"Signature Algorithm":c.signature_algorithm,"Is CA":c.is_ca?"Yes":"No","Position in Chain":c.position_in_chain},{borderStyle:"rounded"})}),a.tcb_info&&(f.break(),f.success("Trusted Computing Base (TCB) Information:"),f.keyValueTable({Mrtd:a.tcb_info.mrtd,"Rootfs Hash":a.tcb_info.rootfs_hash,Rtmr0:a.tcb_info.rtmr0,Rtmr1:a.tcb_info.rtmr1,Rtmr2:a.tcb_info.rtmr2,Rtmr3:a.tcb_info.rtmr3,"Event Log Entries":`${a.tcb_info.event_log.length} entries`},{borderStyle:"rounded"}),a.tcb_info.event_log?.length)){f.break(),f.success("Event Log (Showing entries to reproduce RTMR3):");let c=a.tcb_info.event_log.filter(m=>m.event).map(m=>({Event:m.event,IMR:m.imr.toString(),"Event Type":m.event_type.toString(),Payload:m.event_payload}));f.table(c,[{key:"Event",header:"Event"},{key:"IMR",header:"IMR"},{key:"Event Type",header:"Type"},{key:"Payload",header:"Payload"}]),a.tcb_info.event_log.length>c.length&&f.info("To see all full attestation data, use --json"),f.break(),f.success("To reproduce RTMR3, use the tool at https://rtmr3-calculator.vercel.app/")}return 0}catch(a){throw i.stop(!1),a}}catch(r){return f.logDetailedError(r),t.fail(`Failed to get attestation information: ${r instanceof Error?r.message:String(r)}`),1}}var m6=R({path:["cvms","attestation"],meta:a6,schema:c6,handler:eA});import y6 from"fs";import sA from"path";import f0 from"fs";import d0 from"path";import tA from"inquirer";function Dt(e,t=process.cwd()){let r=d0.resolve(t,e);if(!f0.existsSync(r))throw new Error(`File not found at ${r}`);return!0}async function co(e,t,r="file",o=process.cwd()){return(await tA.prompt([{type:"input",name:r,message:e,default:t,validate:s=>{let i=d0.resolve(o,s);return f0.existsSync(i)?!0:`File not found at ${i}`}}]))[r]}function Ui(e,t){for(let r of e){let o=d0.join(process.cwd(),r);if(f0.existsSync(o))return t?f.info(t.replace("{path}",o)):f.info(`File detected: ${o}`),r}}import*as u6 from"fs";var oc=(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=u6.readFileSync(t,"utf8");for(let n of o.split(`
|
|
179
|
+
`)){if(!n.trim()||n.trim().startsWith("#"))continue;let s=-1,i=!1,a="";for(let g=0;g<n.length;g++)if((n[g]==='"'||n[g]==="'"||n[g]==="`")&&(g===0||n[g-1]!=="\\"))i&&n[g]===a?(i=!1,a=""):i||(i=!0,a=n[g]);else if(n[g]==="="&&!i){s=g;break}else if(n[g]==="#"&&!i)break;if(s===-1){n.trim().startsWith("#");continue}let c=n.substring(0,s).trim(),m=n.substring(s+1),u=!1,p="",l=-1;for(let g=0;g<m.length;g++)if((m[g]==='"'||m[g]==="'"||m[g]==="`")&&(g===0||m[g-1]!=="\\"))u&&m[g]===p?(u=!1,p=""):u||(u=!0,p=m[g]);else if(m[g]==="#"&&!u&&g>0&&m[g-1]===" "){l=g-1;break}else if(m[g]==="#"&&!u&&g===0){l=g;break}l!==-1&&(m=m.substring(0,l)),m===void 0&&(m="");let d=m.charAt(0),h=m.charAt(m.length-1);d==='"'&&h==='"'||d==="'"&&h==="'"||d==="`"&&h==="`"?(m=m.substring(1,m.length-1),d==='"'&&(m=m.replace(/\\\\n/g,`
|
|
180
|
+
`))):m=m.trim(),c&&(r[c]=m)}}return Object.entries(r).map(([o,n])=>({key:o,value:n}))};import{execSync as mo,spawn as rA}from"child_process";import*as ne from"fs";import*as h0 from"net";import*as zr from"os";import*as tr from"path";var Xe={version:"0.5.3",baseUrl:"https://github.com/Dstack-TEE/dstack/releases/download/v0.5.3",installDir:tr.join(zr.homedir(),".phala-cloud","simulator"),defaultLogPath:tr.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:tr.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:tr.join(zr.homedir(),".phala-cloud","simulator","0.5.3","dstack.sock")},win32:{filename:"dstack-simulator-0.5.3-x86_64-pc-windows-msvc.tgz",extractedFolder:"dstack-simulator-0.5.3-x86_64-pc-windows-msvc",socketPath:"127.0.0.1:8090"}}};function p6(){try{if(!ne.existsSync(Xe.installDir))return!1;let e=zr.platform();if(!Xe.platforms[e])throw new Error(`Unsupported platform: ${e}`);let t=tr.join(Xe.installDir,Xe.platforms[e].extractedFolder);if(!ne.existsSync(t))return!1;let o=tr.join(t,e==="win32"?"dstack-simulator.exe":"dstack-simulator");return ne.existsSync(o)}catch(e){return f.error("Error checking if simulator is installed:",e),!1}}function nc(){let e=zr.platform();if(!Xe.platforms[e])throw new Error(`Unsupported platform: ${e}. Only darwin, linux, and win32 are supported.`);return e}async function l6(e){let t=r=>{f.info(r),e&&e(r)};try{let r=nc(),o=Xe.platforms[r];if(r==="win32"){try{mo("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.")}ne.existsSync(Xe.installDir)||(f.info(`Creating installation directory at ${Xe.installDir}`),ne.mkdirSync(Xe.installDir,{recursive:!0})),process.chdir(Xe.installDir);let n=`${Xe.baseUrl}/${o.filename}`;f.info(`Downloading simulator from ${n}`),mo(`wget ${n}`,{stdio:"inherit"});let s=tr.join(Xe.installDir,o.extractedFolder);ne.existsSync(s)||ne.mkdirSync(s,{recursive:!0}),f.info(`Extracting ${o.filename} to ${s}`);let i=`tar -xvf "${o.filename}" -C "${s}" --strip-components=1`;f.debug(`Running: ${i}`);try{mo(i,{stdio:"inherit"}),ne.unlinkSync(o.filename)}catch(a){throw f.error(`Failed to extract ${o.filename}:`,a),new Error("Failed to extract simulator archive. Make sure you have sufficient permissions and disk space.")}f.success("Simulator installation completed successfully")}catch(r){throw f.error("Error installing simulator:",r),new Error(`Failed to install simulator: ${r}`)}}var g0=()=>tr.join(zr.tmpdir(),"dstack-simulator.pid");function oA(e){return Buffer.byteLength(e,"utf8")>104}function rl(){try{let e=g0();if(ne.existsSync(e)){let t=Number.parseInt(ne.readFileSync(e,"utf-8").trim(),10);try{return process.kill(t,0),t}catch{ne.unlinkSync(e)}}return null}catch(e){return f.warn("Error checking simulator PID:",e),null}}function nA(e,t){try{let r=g0();t&&f.info(`Saving simulator PID ${e} to: ${r}`),ne.writeFileSync(r,e.toString(),"utf-8")}catch(r){f.warn("Failed to save simulator PID:",r)}}async function f6(e={}){try{let t=nc(),r=Xe.platforms[t],o=tr.join(Xe.installDir,r.extractedFolder),n=rl();if(n)throw new Error(`Simulator is already running with PID: ${n}`);if(t!=="win32"&&oA(r.socketPath))throw new Error(`Socket path is too long (${r.socketPath.length} chars, max 104): ${r.socketPath}`);if(t!=="win32"&&ne.existsSync(r.socketPath)){f.warn(`Removing existing socket file: ${r.socketPath}`);try{ne.unlinkSync(r.socketPath)}catch(m){f.warn(`Failed to remove existing socket file: ${m}`)}}process.chdir(o);let s=t==="win32"?"dstack-simulator.exe":"./dstack-simulator";e.verbose&&t!=="win32"&&f.info(`Using socket path: ${r.socketPath}`);let i={background:e.background??!0,logToFile:e.logToFile??!0,logFilePath:e.logFilePath??Xe.defaultLogPath};if(i.logToFile){let m=tr.dirname(i.logFilePath);ne.existsSync(m)||ne.mkdirSync(m,{recursive:!0}),e.verbose&&f.info(`Simulator logs will be written to: ${i.logFilePath}`)}e.verbose&&f.info(`Starting simulator with: ${s}`);let a=i.logToFile?["ignore",ne.openSync(i.logFilePath,"a"),ne.openSync(i.logFilePath,"a")]:"inherit",c=rA(s,[],{stdio:a,shell:t==="win32",detached:i.background});if(i.logToFile&&Array.isArray(a)&&(typeof a[1]=="number"&&ne.closeSync(a[1]),typeof a[2]=="number"&&ne.closeSync(a[2])),i.logToFile){let u=`
|
|
177
181
|
=== Simulator started at ${new Date().toISOString()} ===
|
|
178
182
|
Command: ${s}
|
|
179
183
|
|
|
180
|
-
`;
|
|
181
|
-
phala cvms get app_${S.app_id}`),0):(
|
|
182
|
-
Available KMS Instances:`);for(let i of s)
|
|
183
|
-
`).filter(r=>r.trim()!==""&&!r.trim().startsWith("#")).map(r=>{let[o,...n]=r.split("=");return{key:o.trim(),value:n.join("=").trim()}})}async function
|
|
184
|
-
phala cvms get ${s.app_id}`),0}catch(r){return
|
|
185
|
-
${
|
|
186
|
-
${
|
|
187
|
-
${
|
|
188
|
-
${
|
|
189
|
-
`),!t.cvmId)return
|
|
190
|
-
${
|
|
184
|
+
`;ne.appendFileSync(i.logFilePath,u)}return c.pid&&nA(c.pid,e.verbose),i.background&&(c.unref(),e.verbose&&f.success("Simulator is running in the background")),await b0(),c}catch(t){throw f.error("Error running simulator:",t),new Error(`Failed to run simulator: ${t}`)}}async function sc(){try{let e=nc(),t=Xe.platforms[e];if(e==="darwin"||e==="linux"){let r=t.socketPath;return ne.existsSync(r)?new Promise(o=>{let n=h0.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=h0.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 f.error("Error checking if simulator is running:",e),!1}}async function d6(){try{let e=rl();if(!await sc()&&!e)return f.info("Simulator is not running"),!0;let r=nc(),o=!1;if(r==="win32")try{e?(f.info(`Stopping simulator process (PID: ${e})...`),process.kill(e,"SIGTERM")):mo("taskkill /F /IM dstack-simulator.exe",{stdio:"ignore"}),o=!0}catch(s){if(s.code!=="ESRCH")return f.error("Failed to stop simulator:",s),!1;o=!0}else try{e?(f.info(`Stopping simulator process (PID: ${e})...`),process.kill(e,"SIGTERM")):mo("pkill -f dstack-simulator",{stdio:"ignore"}),o=!0}catch(s){if(s.code!=="ESRCH")return f.error("Failed to stop simulator:",s),!1;o=!0}let n=g0();if(ne.existsSync(n))try{ne.unlinkSync(n)}catch(s){f.warn("Failed to remove PID file:",s)}return await Ln(),o&&f.success("Simulator stopped successfully"),o}catch(e){return f.error("Error stopping simulator:",e),!1}}function y0(){let e=nc(),t=Xe.platforms[e];return e==="win32"?"http://127.0.0.1:8090":`${t.socketPath||"/tmp/dstack.sock"}`}async function b0(e){try{let t=y0(),r=e||t;await mo(`export DSTACK_SIMULATOR_ENDPOINT=${r}`);let o=r.replace(/dstack\.sock$/,"tappd.sock");return await mo(`export TAPPD_SIMULATOR_ENDPOINT=${o}`),f.success("Setting environment for current process..."),f.success(` DSTACK_SIMULATOR_ENDPOINT=${r}`),f.success(` TAPPD_SIMULATOR_ENDPOINT=${o}`),r}catch(t){throw f.error("Error setting simulator endpoint environment variable:",t),new Error(`Failed to set simulator endpoint: ${t}`)}}async function Ln(){try{return await mo("unset DSTACK_SIMULATOR_ENDPOINT"),await mo("unset TAPPD_SIMULATOR_ENDPOINT"),f.debug("Deleted simulator endpoint environment variables from current process"),!0}catch(e){return f.warn("Error while unsetting simulator endpoint environment variables:",e),!1}}import b6 from"inquirer";import{z as dr}from"zod";var h6={name:"create",description:'Create a new CVM (use "phala deploy" instead)',stability:"deprecated",options:[{name:"name",shorthand:"n",description:"Name of the CVM",type:"string",target:"name"},{name:"compose",shorthand:"c",description:"Path to Docker Compose file",type:"string",target:"compose"},{name:"vcpu",description:`Number of vCPUs, default is ${Fn}`,type:"string",target:"vcpu"},{name:"memory",description:`Memory in MB, default is ${Dn}`,type:"string",target:"memory"},{name:"disk-size",description:`Disk size in GB, default is ${Nn}`,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"}]},g6=dr.object({name:dr.string().optional(),compose:dr.string().optional(),vcpu:dr.string().optional(),memory:dr.string().optional(),diskSize:dr.string().optional(),teepodId:dr.string().optional(),image:dr.string().optional(),envFile:dr.string().optional(),skipEnv:dr.boolean().default(!1),debug:dr.boolean().default(!1)});async function iA(e){if(e)return e;let{value:t}=await b6.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 aA(e){if(e)return e;let r=Ui(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return await co("Enter the path to your Docker Compose file:",r,"file")}async function cA(e){if(e.envFile)return oc([],e.envFile);if(e.skipEnv)return f.info("Skipping environment variable prompt"),[];let{shouldSkip:t}=await b6.prompt([{type:"confirm",name:"shouldSkip",message:"Do you want to skip environment variable prompt?",default:!0}]);if(t)return f.info("Skipping environment variable prompt"),[];let r=await co("Enter the path to your environment file:",".env","file");return oc([],r)}function x0(e,t){if(!e)return t;let r=Number(e);return Number.isFinite(r)?r:t}function mA(e,t){return!Number.isFinite(t)||t<=0?`Invalid ${e}: ${t}`:null}async function uA(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 pA(e,t){let r=e.images??[];return t?r.find(o=>o.name===t):r.find(o=>o.name===i0)}async function lA(e,t){try{f.warn('\u26A0\uFE0F This command is deprecated. Please use "phala deploy" instead.'),f.warn("\u26A0\uFE0F This legacy API will be maintained but may have limited support.\\n");let r=await iA(e.name),o=await aA(e.compose),n=sA.resolve(o);if(!y6.existsSync(n))return f.error(`Docker Compose file not found: ${n}`),1;let s=y6.readFileSync(n,"utf8");await Ln(),process.env.DSTACK_DOCKER_USERNAME&&process.env.DSTACK_DOCKER_PASSWORD?f.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?f.info(`\u{1F510} Using private AWS ECR registry: ${process.env.DSTACK_AWS_ECR_REGISTRY}`):f.info("\u{1F510} Using public DockerHub registry...");let i=[];try{i=await cA(e)}catch(A){return f.error(`Failed to read environment file: ${A instanceof Error?A.message:String(A)}`),1}let a=x0(e.vcpu,Fn),c=x0(e.memory,Dn),m=x0(e.diskSize,Nn);for(let[A,_]of[["number of vCPUs",a],["memory",c],["disk size",m]]){let k=mA(A,_);if(k)return f.error(k),1}let u=f.startSpinner("Fetching available TEEPods"),p=await dv(!0);u.stop(!0);let l=await uA(e.teepodId,p);if(!l)return f.error("Failed to find suitable TEEPod"),1;let d=pA(l,e.image);if(!d)return f.error(e.image?`Failed to find selected image: ${e.image}`:`Failed to find default image ${i0}`),1;let h={teepod_id:l.teepod_id,name:r,image:d.name,vcpu:a,memory:c,disk_size:m,compose_manifest:{docker_compose_file:s,docker_config:{url:"",username:"",password:""},features:["kms","tproxy-net"],kms_enabled:!0,manifest_version:2,name:r,public_logs:!0,public_sysinfo:!0,runner:"docker-compose",tproxy_enabled:!0},listed:!1},g=f.startSpinner("Getting public key from CVM"),y=await pv(h);if(g.stop(!0),!y)return f.error("Failed to get public key from CVM"),1;let b=f.startSpinner("Encrypting environment variables"),x=await(0,er.encryptEnvVars)(i,y.app_env_encrypt_pubkey);b.stop(!0),e.debug&&(f.debug("Public key:",y.app_env_encrypt_pubkey),f.debug("Encrypted environment variables:",x),f.debug("Environment variables:",JSON.stringify(i)));let v=f.startSpinner("Creating CVM"),S=await lv({...h,encrypted_env:x,app_env_encrypt_pubkey:y.app_env_encrypt_pubkey,app_id_salt:y.app_id_salt});return v.stop(!0),S?(f.success("CVM created successfully"),f.break(),f.keyValueTable({"CVM ID":S.id,Name:S.name,Status:S.status,"App ID":`app_${S.app_id}`,"App URL":S.app_url||`${xe}/dashboard/cvms/app_${S.app_id}`},{borderStyle:"rounded"}),f.info(""),f.success(`Your CVM is being created. You can check its status with:
|
|
185
|
+
phala cvms get app_${S.app_id}`),0):(f.error("Failed to create CVM"),1)}catch(r){return f.error(`Failed to create CVM: ${r instanceof Error?r.message:String(r)}`),1}}var x6=R({path:["cvms","create"],meta:h6,schema:g6,handler:lA});import fA from"inquirer";import{z as ic}from"zod";var v6={name:"delete",description:"Delete a CVM",stability:"unstable",arguments:[Be],options:[Re,{name:"force",shorthand:"f",description:"Skip confirmation prompt",type:"boolean",target:"force"},{name:"yes",shorthand:"y",description:"Alias for --force (skip confirmation prompt)",type:"boolean",target:"yes"}],examples:[{name:"Delete a CVM interactively",value:"phala cvms delete"},{name:"Delete CVM by app_id",value:"phala cvms delete app_123 --force"},{name:"Delete CVM by UUID",value:"phala cvms delete 550e8400-e29b-41d4-a716-446655440000 -f"},{name:"Delete CVM by name",value:"phala cvms delete my-app --yes"}]},w6=ic.object({cvmId:ic.string().optional(),interactive:ic.boolean().default(!1),force:ic.boolean().default(!1),yes:ic.boolean().default(!1)});async function dA(e,t){if(!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=await J(),o=await Oe(r,t.cvmId);if(!o.success)return t.fail(o.error.message),1;let n=o.data;if(!n)return t.fail("CVM not found"),1;let s=n.name||`app_${n.app_id}`;if(!e.force&&!e.yes){let{confirm:c}=await fA.prompt([{type:"confirm",name:"confirm",message:`Are you sure you want to delete CVM "${s}"? This action cannot be undone.`,default:!1}]);if(!c)return f.info("Deletion cancelled"),0}let i=f.startSpinner(`Deleting CVM ${s}`),a=await qd(r,t.cvmId);return i.stop(!0),a.success?(f.success(`CVM ${s} deleted successfully`),0):(f.error(`Failed to delete CVM ${s}: ${a.error.message}`),1)}catch(r){return f.error("Failed to delete CVM"),f.logDetailedError(r),1}}var C6=R({path:["cvms","delete"],meta:v6,schema:w6,handler:dA});import v0 from"chalk";import{z as ol}from"zod";var E6={name:"get",description:"Get details of a CVM",stability:"unstable",arguments:[Be],options:[Ft,Re],examples:[{name:"Show CVM details interactively",value:"phala cvms get"},{name:"Get CVM by app_id",value:"phala cvms get app_abc123"},{name:"Get CVM by UUID",value:"phala cvms get 550e8400-e29b-41d4-a716-446655440000"},{name:"Get CVM by name",value:"phala cvms get my-app"}]},S6=ol.object({cvmId:ol.string().optional(),json:ol.boolean().default(!1),interactive:ol.boolean().default(!1)});async function hA(e,t){if(Pe(e.json),!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=f.startSpinner("Fetching CVM details"),o=await J(),n=await Oe(o,t.cvmId);if(r.stop(!0),!n.success)return t.fail(n.error.message),1;let s=n.data;if(!s)return t.fail("CVM not found"),1;if(e.json)return t.success(s),0;f.break();let i=s.status==="running"?v0.green(s.status):s.status==="stopped"?v0.red(s.status):v0.yellow(s.status);return f.keyValueTable({Name:s.name,"App ID":`app_${s.app_id}`,Status:i,vCPU:s.vcpu,Memory:`${s.memory} MB`,"Disk Size":`${s.disk_size} GB`,"Dstack Image":s.base_image,"App URL":`${xe}/dashboard/cvms/app_${s.app_id}`}),0}catch(r){return f.logDetailedError(r),t.fail(`Failed to get CVM details: ${r instanceof Error?r.message:String(r)}`),1}}var k6=R({path:["cvms","get"],meta:E6,schema:S6,handler:hA});import w0 from"chalk";import{z as I6}from"zod";var _6={name:"list",aliases:["ls"],description:"List all CVMs",stability:"unstable",options:[Ft],examples:[{name:"Display CVMs in table format",value:"phala cvms list"},{name:"Print CVMs as JSON",value:"phala cvms list --json"}]},A6=I6.object({json:I6.boolean().default(!1)});async function gA(e,t){Pe(e.json);try{let r=f.startSpinner("Fetching CVMs"),o=await J(),n=await Za(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 f.info("No CVMs found"),0;for(let i of s){let a=i,c=a.status==="running"?w0.green(a.status):a.status==="stopped"?w0.red(a.status):w0.yellow(a.status??"unknown");f.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":`${xe}/dashboard/cvms/${a.hosted?.id?.replace(/-/g,"")||"unknown"}`},{borderStyle:"rounded"}),f.break()}return f.success(`Found ${s.length} CVMs`),f.break(),f.info(`Go to ${xe}/dashboard/ to view your CVMs`),0}catch(r){return f.logDetailedError(r),t.fail(`Failed to list CVMs: ${r instanceof Error?r.message:String(r)}`),1}}var P6=R({path:["cvms","list"],meta:_6,schema:A6,handler:gA});import{z as yA}from"zod";var T6={name:"list-nodes",description:"List all available worker nodes.",stability:"unstable"},$6=yA.object({});async function bA(e,t){try{let r=await J(),o=await Ja(r);if(!o.success)throw new Error(o.error.message);let{nodes:n,kms_list:s}=o.data;if(!n||n.length===0)return f.info("No available nodes found."),0;f.info("Available Nodes:");for(let i of n)if(f.info("----------------------------------------"),f.info(` ID: ${i.teepod_id}`),f.info(` Name: ${i.name}`),f.info(` Region: ${i.region_identifier}`),f.info(` FMSPC: ${i.fmspc||"N/A"}`),f.info(` Device ID: ${i.device_id||"N/A"}`),f.info(` Support Onchain KMS: ${i.support_onchain_kms}`),f.info(" Images:"),i.images&&i.images.length>0)for(let a of i.images)f.info(` - ${a.name}`),f.info(` Hash: ${a.os_image_hash||"N/A"}`);else f.info(" N/A");if(s&&s.length>0){f.info(`
|
|
186
|
+
Available KMS Instances:`);for(let i of s)f.info("----------------------------------------"),f.info(` ID: ${i.id}`),f.info(` URL: ${i.url}`),f.info(` Version: ${i.version}`),f.info(` Chain ID: ${i.chain_id}`),f.info(` Contract Address: ${i.kms_contract_address}`),f.info(` Gateway App ID: ${i.gateway_app_id}`)}return 0}catch(r){return f.error("Failed to list available nodes"),f.logDetailedError(r),1}}var R6=R({path:["cvms","list-nodes"],meta:T6,schema:$6,handler:bA});function nl(e,t){return async function(o,n){if(Pe(o.json),!n.cvmId)return n.fail("No CVM ID provided. Use --interactive to select interactively."),1;let{cvmId:s}=fe.parse(n.cvmId),i=t(o),a=e.logType==="serial"?"serial":"container";try{if(o.follow){if(o.json)return n.fail("Cannot use --json with --follow"),1;f.info(`Streaming ${a} logs (press Ctrl+C to stop)...`),f.break();let m=new AbortController,u=!1,p=()=>{u=!0,m.abort()};process.on("SIGINT",p),process.on("SIGTERM",p);try{await e.streamLogs(s,l=>process.stdout.write(l),i,m.signal)}catch(l){if(l.name!=="AbortError")throw l}finally{process.removeListener("SIGINT",p),process.removeListener("SIGTERM",p)}return u&&(f.break(),f.info("Stopped streaming logs")),0}let c=await e.fetchLogs(s,i);return o.json?(n.success({logs:c,cvm_id:s}),0):(c.trim()?console.log(c):f.info("No logs available"),0)}catch(c){return f.logDetailedError(c),n.fail(`Failed to fetch ${a} logs: ${c instanceof Error?c.message:String(c)}`),1}}}import{z as rn}from"zod";var B6={name:"logs",description:"Fetch container logs from a CVM",stability:"unstable",arguments:[Be],options:[{name:"tail",shorthand:"n",description:"Number of lines to show from the end of the logs",type:"number",target:"tail"},{name:"follow",shorthand:"f",description:"Follow log output (stream logs in real-time)",type:"boolean",target:"follow"},{name:"timestamps",shorthand:"t",description:"Show timestamps with log entries",type:"boolean",target:"timestamps"},{name:"container",shorthand:"c",description:"Container name or ID to fetch logs from (defaults to first container)",type:"string",target:"container"},Ft,Re],examples:[{name:"Show container logs from a CVM",value:"phala cvms logs app_abc123"},{name:"Show last 100 lines of logs",value:"phala cvms logs app_abc123 --tail 100"},{name:"Follow logs in real-time",value:"phala cvms logs app_abc123 --follow"},{name:"Show logs from a specific container",value:"phala cvms logs app_abc123 --container my-service"},{name:"Show logs with timestamps",value:"phala cvms logs app_abc123 --timestamps"}]},M6=rn.object({cvmId:rn.string().optional(),tail:rn.number().optional(),follow:rn.boolean().default(!1),timestamps:rn.boolean().default(!1),container:rn.string().optional(),json:rn.boolean().default(!1),interactive:rn.boolean().default(!1)});var xA=nl({logType:"container",fetchLogs:xv,streamLogs:wv},e=>({tail:e.tail,timestamps:e.timestamps,container:e.container})),F6=R({path:["cvms","logs"],meta:B6,schema:M6,handler:xA});import L6 from"fs";import vA from"path";import{z as sl}from"zod";var D6={name:"replicate",description:"Create a replica of an existing CVM",stability:"unstable",arguments:[{name:"cvm-id",description:"UUID of the CVM to replicate",required:!0,target:"cvmId"}],options:[{name:"teepod-id",description:"TEEPod ID to use for the replica",type:"string",target:"teepodId"},{name:"env-file",shorthand:"e",description:"Path to environment file",type:"string",target:"envFile"}],examples:[{name:"Replicate a CVM",value:"phala cvms replicate 1234 --teepod-id 5"}]},N6=sl.object({cvmId:sl.string().min(1,"CVM ID is required"),teepodId:sl.string().optional(),envFile:sl.string().optional()});function wA(e){return L6.readFileSync(e,"utf-8").split(`
|
|
187
|
+
`).filter(r=>r.trim()!==""&&!r.trim().startsWith("#")).map(r=>{let[o,...n]=r.split("=");return{key:o.trim(),value:n.join("=").trim()}})}async function CA(e,t){try{let r=e.cvmId.replace(/-/g,""),o;if(e.envFile){let i=vA.resolve(process.cwd(),e.envFile);if(!L6.existsSync(i))throw new Error(`Environment file not found: ${i}`);let a=wA(i),c=await av(r);f.info("Encrypting environment variables..."),o=await(0,er.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 uv(r,n);return f.success(`Successfully created replica of CVM UUID: ${r} with App ID: ${s.app_id}`),f.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.com"}/dashboard/cvms/${s.vm_uuid.replace(/-/g,"")}`},{borderStyle:"rounded"}),f.success(`Your CVM replica is being created. You can check its status with:
|
|
188
|
+
phala cvms get ${s.app_id}`),0}catch(r){return f.error("Failed to create CVM replica"),f.logDetailedError(r),1}}var U6=R({path:["cvms","replicate"],meta:D6,schema:N6,handler:CA});import on from"chalk";import S0 from"inquirer";async function uo(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&&f.warn(`CVM is busy, retrying in ${o}ms... (attempt ${c+1}/${r})`),await new Promise(l=>setTimeout(l,o));else throw m}let a=i;throw new Error(`Failed after ${r} retries due to conflicts: ${a?.message||String(i)}`)}import{z as po}from"zod";var z6={name:"resize",description:"Resize resources for a CVM",stability:"unstable",arguments:[Be],options:[Re,{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"}]},O6=po.object({cvmId:po.string().optional(),interactive:po.boolean().default(!1),vcpu:po.string().optional(),memory:po.string().optional(),diskSize:po.string().optional(),allowRestart:po.string().optional(),yes:po.boolean().default(!1),json:po.boolean().default(!1)});function C0(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 EA(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(["true","1","yes","y"].includes(t))return!0;if(["false","0","no","n"].includes(t))return!1;throw new Error(`Invalid value for --allow-restart: ${e}`)}async function E0(e,t){return(await S0.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 SA(e,t){if(Pe(e.json),!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=await J(),o=await Oe(r,t.cvmId);if(!o.success)return t.fail(o.error.message),1;let n=o.data;if(!n)return t.fail("CVM not found"),1;let s=n.app_id,i,a,c,m;try{i=C0(e.vcpu,"--vcpu"),a=C0(e.memory,"--memory"),c=C0(e.diskSize,"--disk-size"),m=EA(e.allowRestart)}catch(u){return f.error(u instanceof Error?u.message:String(u)),1}if(Pl()?(i===void 0&&(i=await E0("Enter number of vCPUs:",n.vcpu)),a===void 0&&(a=await E0("Enter memory in MB:",n.memory)),c===void 0&&(c=await E0("Enter disk size in GB:",n.disk_size)),m===void 0&&(m=(await S0.prompt([{type:"confirm",name:"allowRestart",message:"Allow restart of the CVM if needed for resizing?",default:!1}])).allowRestart)):(i===void 0&&(i=n.vcpu),a===void 0&&(a=n.memory),c===void 0&&(c=n.disk_size),m===void 0&&(m=!0)),Pl()){if(f.keyValueTable({vCPUs:n.vcpu!==i?`${on.red(n.vcpu)} -> ${on.green(i)}`:n.vcpu,Memory:n.memory!==a?`${on.red(n.memory)} MB -> ${on.green(a)} MB`:n.memory,"Disk Size":n.disk_size!==c?`${on.red(n.disk_size)} GB -> ${on.green(c)} GB`:n.disk_size,"Allow Restart":m?on.green("Yes"):on.red("No")}),!e.yes){let{confirm:p}=await S0.prompt([{type:"confirm",name:"confirm",message:`Are you sure you want to resize CVM app_${s}?`,default:!1}]);if(!p)return f.info("Resize operation cancelled"),0}let u=f.startSpinner(`Resizing CVM with App ID app_${s}`);await uo(()=>e0(s,i,a,c,m?1:0),{spinner:u}),u.stop(!0),f.break(),f.success(`Your CVM is being resized. You can check the dashboard for more details:
|
|
189
|
+
${xe}/dashboard/cvms/app_${s}`)}else await uo(()=>e0(s,i,a,c,m?1:0)),t.success({app_id:s,vcpu:i,memory:a,disk_size:c,allow_restart:m});return 0}catch(r){return f.error("Failed to resize CVM"),f.logDetailedError(r),t.fail(r instanceof Error?r.message:String(r)),1}}var H6=R({path:["cvms","resize"],meta:z6,schema:O6,handler:SA});async function il(e,t=3e5){let r=tn(),o=kt({apiKey:r}),n=Date.now(),s=2e3;for(f.info("Waiting for CVM to be ready...");Date.now()-n<t;){try{let i=await Oe(o,{uuid:e});if(!i.success)f.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(f.info(` [${u}s] status=${c}, in_progress=${m}`),c==="running"&&!m){let p=Math.floor((Date.now()-n)/1e3);f.success(`CVM is ready (took ${p}s)`);return}}}catch(i){f.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 k0}from"zod";var j6={name:"restart",description:"Restart a CVM",stability:"stable",arguments:[Be],options:[Re],examples:[{name:"Restart CVM by app_id",value:"phala cvms restart app_123"},{name:"Restart CVM by UUID",value:"phala cvms restart 550e8400-e29b-41d4-a716-446655440000"},{name:"Restart CVM by name",value:"phala cvms restart my-app"}]},G6=k0.object({cvmId:k0.string().optional(),interactive:k0.boolean().default(!1)});async function kA(e,t){if(!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=await J(),o=await Oe(r,t.cvmId);if(!o.success)return t.fail(o.error.message),1;let n=o.data;n.in_progress&&(f.warn("CVM is currently in progress (updating/restarting). Waiting for operation to complete..."),await il(n.vm_uuid,3e5));let s=f.startSpinner("Restarting CVM"),i=t.cvmId,a=await uo(()=>Vd(r,i),{spinner:s});if(s.stop(!0),!a.success)return f.error(`Failed to restart CVM: ${a.error.message}`),1;let c=a.data;return f.break(),f.keyValueTable({"CVM ID":c.id,Name:c.name,Status:c.status,"App ID":`app_${c.app_id}`,"App URL":c.app_url||`${xe}/dashboard/cvms/app_${c.app_id}`},{borderStyle:"rounded"}),f.break(),f.success(`Your CVM is being restarted. You can check the dashboard for more details:
|
|
190
|
+
${xe}/dashboard/cvms/app_${c.app_id}`),0}catch(r){return f.error("Failed to restart CVM"),f.logDetailedError(r),1}}var V6=R({path:["cvms","restart"],meta:j6,schema:G6,handler:kA});import{z as Un}from"zod";var q6={name:"serial-logs",description:"Fetch VM serial console logs from a CVM",stability:"unstable",arguments:[Be],options:[{name:"tail",shorthand:"n",description:"Number of lines to show from the end of the logs",type:"number",target:"tail"},{name:"follow",shorthand:"f",description:"Follow log output (stream logs in real-time)",type:"boolean",target:"follow"},{name:"timestamps",shorthand:"t",description:"Show timestamps with log entries",type:"boolean",target:"timestamps"},Ft,Re],examples:[{name:"Show VM serial logs",value:"phala cvms serial-logs app_abc123"},{name:"Show last 100 lines of serial logs",value:"phala cvms serial-logs app_abc123 --tail 100"},{name:"Follow serial logs in real-time",value:"phala cvms serial-logs app_abc123 --follow"},{name:"Show serial logs with timestamps",value:"phala cvms serial-logs app_abc123 --timestamps"}]},K6=Un.object({cvmId:Un.string().optional(),tail:Un.number().optional(),follow:Un.boolean().default(!1),timestamps:Un.boolean().default(!1),json:Un.boolean().default(!1),interactive:Un.boolean().default(!1)});var IA=nl({logType:"serial",fetchLogs:bv,streamLogs:vv},e=>({tail:e.tail,timestamps:e.timestamps})),W6=R({path:["cvms","serial-logs"],meta:q6,schema:K6,handler:IA});import{z as I0}from"zod";var J6={name:"start",description:"Start a stopped CVM",stability:"stable",arguments:[Be],options:[Re],examples:[{name:"Start CVM by app_id",value:"phala cvms start app_123"},{name:"Start CVM by UUID",value:"phala cvms start 550e8400-e29b-41d4-a716-446655440000"},{name:"Start CVM by name",value:"phala cvms start my-app"}]},Z6=I0.object({cvmId:I0.string().optional(),interactive:I0.boolean().default(!1)});async function _A(e,t){if(!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=await J(),o=f.startSpinner("Starting CVM"),n=t.cvmId,s=await uo(()=>jd(r,n),{spinner:o});if(o.stop(!0),!s.success)return f.error(`Failed to start CVM: ${s.error.message}`),1;let i=s.data;return f.break(),f.keyValueTable({"CVM ID":i.id,Name:i.name,Status:i.status,"App ID":`app_${i.app_id}`},{borderStyle:"rounded"}),f.break(),f.success(`Your CVM is being started. You can check the dashboard for more details:
|
|
191
|
+
${xe}/dashboard/cvms/app_${i.app_id}`),0}catch(r){return f.error("Failed to start CVM"),f.logDetailedError(r),1}}var Y6=R({path:["cvms","start"],meta:J6,schema:Z6,handler:_A});import{z as _0}from"zod";var X6={name:"stop",description:"Stop a running CVM",stability:"stable",arguments:[Be],options:[Re],examples:[{name:"Stop CVM by app_id",value:"phala cvms stop app_123"},{name:"Stop CVM by UUID",value:"phala cvms stop 550e8400-e29b-41d4-a716-446655440000"},{name:"Stop CVM by name",value:"phala cvms stop my-app"}]},Q6=_0.object({cvmId:_0.string().optional(),interactive:_0.boolean().default(!1)});async function AA(e,t){if(!t.cvmId)return t.fail("No CVM ID provided. Use --interactive to select interactively."),1;try{let r=await J(),o=f.startSpinner("Stopping CVM"),n=t.cvmId,s=await uo(()=>Gd(r,n),{spinner:o});if(o.stop(!0),!s.success)return f.error(`Failed to stop CVM: ${s.error.message}`),1;let i=s.data;return f.break(),f.keyValueTable({"CVM ID":i.id,Name:i.name,Status:i.status,"App ID":`app_${i.app_id}`},{borderStyle:"rounded"}),f.break(),f.success(`Your CVM is being stopped. You can check the dashboard for more details:
|
|
192
|
+
${xe}/dashboard/cvms/app_${i.app_id}`),0}catch(r){return f.error("Failed to stop CVM"),f.logDetailedError(r),1}}var ew=R({path:["cvms","stop"],meta:X6,schema:Q6,handler:AA});import PA from"fs";import{z as zi}from"zod";var tw={name:"upgrade",description:'Upgrade a CVM to a new version (use "phala deploy" instead)',stability:"deprecated",arguments:[Be],options:[Re,{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"}]},rw=zi.object({cvmId:zi.string().optional(),interactive:zi.boolean().default(!1),compose:zi.string().optional(),envFile:zi.string().optional(),debug:zi.boolean().default(!1)});async function TA(e){if(e.compose)return e.compose;let r=Ui(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");return co("Enter the path to your Docker Compose file:",r,"file")}async function $A(e,t){try{if(f.warn('\u26A0\uFE0F This command is deprecated. Please use "phala deploy" instead.'),f.warn(`\u26A0\uFE0F This legacy API will be maintained but may have limited support.
|
|
193
|
+
`),!t.cvmId)return f.error("No CVM ID provided. Use --interactive to select interactively."),1;let r=await J(),o=await Oe(r,t.cvmId);if(!o.success)return f.error(o.error.message),1;let n=o.data;if(!n)return f.error("CVM not found"),1;let s=n.app_id,i=n,a=await TA(e),c="";if(a)try{c=PA.readFileSync(a,"utf8")}catch(h){return f.error(`Failed to read Docker Compose file: ${h instanceof Error?h.message:String(h)}`),1}await Ln(),process.env.DSTACK_DOCKER_USERNAME&&process.env.DSTACK_DOCKER_PASSWORD?f.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?f.info(`\u{1F510} Using private AWS ECR registry: ${process.env.DSTACK_AWS_ECR_REGISTRY}`):f.info("\u{1F510} Using public DockerHub registry...");let m,u=[];if(e.envFile)try{let h=oc([],e.envFile);m=await(0,er.encryptEnvVars)(h,i.encrypted_env_pubkey),u=h.map(g=>g.key)}catch(h){return f.error(`Failed to read environment file: ${h instanceof Error?h.message:String(h)}`),1}let p={compose_manifest:{docker_compose_file:c,manifest_version:1,runner:"docker-compose",version:"1.0.0",features:["kms","tproxy-net"],name:`app_${s}`,allowed_envs:u},encrypted_env:m,allow_restart:!0,env_keys:u},l=f.startSpinner(`Upgrading CVM app_${s}`),d=await fv(s,p);return d?(l.stop(!0),d.detail&&f.info(`Details: ${d.detail}`),f.break(),f.success(`Your CVM is being upgraded. You can check the dashboard for more details:
|
|
194
|
+
${xe}/dashboard/cvms/app_${s}`),0):(l.stop(!1),f.error("Failed to upgrade CVM"),1)}catch(r){return f.error(`Failed to upgrade CVM: ${r instanceof Error?r.message:String(r)}`),e.debug&&f.error("Full Error:",r),1}}var ow=R({path:["cvms","upgrade"],meta:tw,schema:rw,handler:$A});var A0={group:i6,commands:[m6,x6,C6,k6,P6,R6,F6,U6,H6,V6,W6,Y6,ew,ow]};import{z as pe}from"zod";var nw={name:"deploy",description:"Create a new CVM with on-chain KMS in one step.",stability:"stable",arguments:[],options:[...jn,z0,O0,{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:`[DEPRECATED] Use --instance-type instead. Number of vCPUs, default is ${Fn}`,type:"string",target:"vcpu"},{name:"memory",description:`[DEPRECATED] Use --instance-type instead. Memory with optional unit, e.g., 2G, 1024MB, default is ${Dn}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 ${Nn}GB`,type:"string",target:"diskSize"},{name:"image",description:"OS image version (optional, auto-selected if not specified)",type:"string",target:"image"},{name:"region",shorthand:"r",description:"Preferred region (e.g., us-west, eu-central). Optional - auto-selected if not specified.",type:"string",target:"region"},{name:"node-id",description:"Node ID (optional, auto-selected if not specified)",type:"string",target:"nodeId"},{name:"env",shorthand:"e",description:"Environment variable (KEY=VALUE) or path to env file. Can be specified multiple times.",type:"string[]",target:"env"},{name:"env-file",description:"[DEPRECATED] Use -e instead. Path to environment file.",type:"string",target:"envFile",hidden:!0},{name:"interactive",shorthand:"i",description:"Enable interactive mode for required parameters",type:"boolean",target:"interactive"},{name:"kms-id",description:"KMS ID to use.",type:"string",target:"kmsId"},{name:"custom-app-id",description:"Custom App ID to use.",type:"string",target:"customAppId"},{name:"pre-launch-script",description:"Path to pre-launch script",type:"string",target:"preLaunchScript"},{name:"private-key",description:"Private key for signing transactions.",type:"string",target:"privateKey"},{name:"rpc-url",description:"RPC URL for the blockchain.",type:"string",target:"rpcUrl"},{name:"wait",description:"Wait for CVM to complete deployment/update before returning (only applies to updates)",type:"boolean",target:"wait"},{name:"ssh-pubkey",description:"Path to SSH public key file (default: ~/.ssh/id_rsa.pub)",type:"string",target:"sshPubkey"},{name:"dev-os",description:"Use development OS image (requires SSH public key)",type:"boolean",target:"devOs"},{name:"non-dev-os",description:"Use non-development OS image (SSH public key only if explicitly specified)",type:"boolean",target:"nonDevOs"}],examples:[{name:"Deploy with auto-selection (simplest)",value:"phala deploy"},{name:"Deploy with environment variables",value:"phala deploy -e NODE_ENV=production -e DEBUG=true"},{name:"Deploy with env file",value:"phala deploy -e .env"},{name:"Deploy with env file and overrides",value:"phala deploy -e .env -e NODE_ENV=production"},{name:"Deploy with specific instance type",value:"phala deploy --instance-type tdx.medium"},{name:"Deploy to specific region",value:"phala deploy --region us-west"},{name:"Deploy with instance type and region",value:"phala deploy --instance-type tdx.small --region eu-central"},{name:"Deploy with manual resource specs (deprecated, use --instance-type)",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"}]},sw=pe.object({compose:pe.string().optional(),json:pe.boolean().default(!0),debug:pe.boolean().default(!1),apiKey:pe.string().optional(),name:pe.string().optional(),instanceType:pe.string().optional(),vcpu:pe.string().optional(),memory:pe.string().optional(),diskSize:pe.string().optional(),image:pe.string().optional(),region:pe.string().optional(),nodeId:pe.string().optional(),env:pe.array(pe.string()).optional(),envFile:pe.string().optional(),interactive:pe.boolean().default(!1),kmsId:pe.string().optional(),cvmId:pe.string().optional(),customAppId:pe.string().optional(),preLaunchScript:pe.string().optional(),privateKey:pe.string().optional(),rpcUrl:pe.string().optional(),wait:pe.boolean().default(!1),sshPubkey:pe.string().optional(),devOs:pe.boolean().default(!1),nonDevOs:pe.boolean().default(!1)});import lo from"path";import pw from"os";function RA(e){let t=e.indexOf("=");if(t===-1)return!1;let r=e.substring(0,t);return r.includes("/")||r.includes("\\")?!1:/^[A-Za-z_][A-Za-z0-9_]*$/.test(r)}function iw(e){let t={files:[],keyValues:[]};for(let r of e)if(RA(r)){let o=r.indexOf("="),n=r.substring(0,o),s=r.substring(o+1);t.keyValues.push({key:n,value:s})}else t.files.push(r);return t}function aw(e){let t=new Map;for(let r of e)t.set(r.key,r.value);return Array.from(t.entries()).map(([r,o])=>({key:r,value:o}))}function cw(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 mw(e){let t=cw(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 uw(e){let t=cw(e,"GB"),r=Math.round(t/(1024*1024*1024));if(r%1!==0)throw new Error(`Disk size must be a multiple of 1GB. Got: ${r}GB`);return r}import al from"dedent";import Or from"fs-extra";import cl from"inquirer";function BA(e,t){if(e instanceof Nd)return t.json?{success:!1,error_code:e.errorCode,message:e.message,details:e.structuredDetails,suggestions:e.suggestions,links:e.links}:R1(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=`
|
|
191
195
|
Error [${s}]: ${i}
|
|
192
196
|
`;if(a&&a.length>0){u+=`
|
|
193
197
|
Details:
|
|
@@ -201,7 +205,7 @@ Learn more:
|
|
|
201
205
|
`;for(let p of m)u+=` - ${p.label}: ${p.url}
|
|
202
206
|
`}return u}}let r=e instanceof Error?e.message:String(e||"Unknown error");return t.json?{success:!1,error:r}:`
|
|
203
207
|
Error: ${r}
|
|
204
|
-
`}async function
|
|
208
|
+
`}async function MA({apiKey:e,interactive:t}){if(e)return kt({apiKey:e});if(process.env.PHALA_CLOUD_API_KEY)return kt({apiKey:process.env.PHALA_CLOUD_API_KEY});let r=tn();if(r)return kt({apiKey:r});if(t){let{apiKey:o}=await cl.prompt([{type:"password",name:"apiKey",message:"Enter your API key:",validate:n=>n.trim()?!0:"API key is required"}]);return kt({apiKey:o})}throw new Error("API key is required. Please run 'phala auth login' or set PHALA_CLOUD_API_KEY environment variable")}async function FA({dockerComposePath:e,interactive:t}){if(!e)if(t){let o=Ui(["docker-compose.yml","docker-compose.yaml"],"Detected docker compose file: {path}");e=await co("Enter the path to your Docker Compose file:",o,"file")}else throw new Error(al(`
|
|
205
209
|
Docker Compose file is required.
|
|
206
210
|
|
|
207
211
|
Usage examples:
|
|
@@ -216,7 +220,7 @@ Error: ${r}
|
|
|
216
220
|
--private-key <key> Private key for deployment
|
|
217
221
|
|
|
218
222
|
Run with --interactive for guided setup
|
|
219
|
-
`));if(!
|
|
223
|
+
`));if(!Or.existsSync(e))throw new Error(`Docker compose file not found: ${e}`);return Or.readFileSync(e,"utf8")}var DA=async(e,t)=>{let r=e.privateKey||process.env.PRIVATE_KEY;if(e.kmsId&&t&&!e.privateKey)if(e.interactive)r=(await cl.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},NA=async e=>{let t=e.name;if(e.name){if(!Mi(e.name))throw new Error(`Invalid CVM name: "${e.name}". Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens.`);return e.name}let r=lo.basename(process.cwd()),o=O1(r);return e.interactive?t=(await cl.prompt([{type:"input",name:"name",message:"Enter a name for the CVM:",default:o,validate:s=>s.trim()?Mi(s.trim())?!0:"Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens":"CVM name is required"}])).name:t=o,t},LA=async e=>{let t=[];if(e.envFile&&typeof e.envFile=="string"){f.warn("--env-file is deprecated. Use -e <file> or -e KEY=VALUE instead.");try{let r=Or.readFileSync(e.envFile,{encoding:"utf8"});t.push(...Up(r))}catch(r){throw new Error(`Error reading environment file ${e.envFile}: ${r instanceof Error?r.message:String(r)}`)}}if(e.env&&e.env.length>0){let r=iw(e.env);for(let o of r.files){let n=lo.resolve(process.cwd(),o);if(!Or.existsSync(n))throw new Error(`Environment file not found: ${o}`);try{let s=Or.readFileSync(n,{encoding:"utf8"});t.push(...Up(s))}catch(s){throw new Error(`Error reading environment file ${o}: ${s instanceof Error?s.message:String(s)}`)}}t.push(...r.keyValues)}if(e.interactive&&t.length===0&&!e.env&&!e.envFile){let{envPath:r}=await cl.prompt([{type:"input",name:"envPath",message:"Enter the path to your environment file (leave empty to skip):",default:"",validate:o=>{if(!o||o.trim()==="")return!0;let n=lo.resolve(process.cwd(),o);return Or.existsSync(n)?!0:`File not found at ${n}`}}]);if(r.trim()){let o=lo.resolve(process.cwd(),r.trim()),n=Or.readFileSync(o,{encoding:"utf8"});t.push(...Up(n))}}if(t.length!==0)return aw(t)},UA=async e=>{let t=e.sshPubkey;if(!(e.nonDevOs&&!e.sshPubkey)){if(t){if(t.startsWith("~")&&(t=lo.join(pw.homedir(),t.slice(1))),!Or.existsSync(t))throw new Error(`SSH public key file not found: ${t}`)}else{let r=pw.homedir(),o=[lo.join(r,".ssh","id_rsa.pub"),lo.join(r,".ssh","id_ed25519.pub"),lo.join(r,".ssh","id_ecdsa.pub"),lo.join(r,".ssh","id_dsa.pub")];for(let n of o)if(Or.existsSync(n)){t=n;break}if(!t){if(e.devOs)throw new Error(al(`
|
|
220
224
|
SSH public key is required for dev images but not found.
|
|
221
225
|
|
|
222
226
|
Searched for:
|
|
@@ -228,30 +232,30 @@ Error: ${r}
|
|
|
228
232
|
Please either:
|
|
229
233
|
1. Create an SSH key pair: ssh-keygen -t rsa
|
|
230
234
|
2. Specify a different key file: --ssh-pubkey <path>
|
|
231
|
-
`));return}}try{let r=
|
|
232
|
-
`);let u=await
|
|
233
|
-
`);else{let g=
|
|
235
|
+
`));return}}try{let r=Or.readFileSync(t,"utf8").trim();return f.info(`Using SSH public key from ${t}`),r}catch(r){throw new Error(`Failed to read SSH public key from ${t}: ${r instanceof Error?r.message:String(r)}`)}}};var zA=(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=mw(e.memory)),e.diskSize&&(n.disk_size=uw(e.diskSize)),e.nodeId&&(n.teepod_id=Number(e.nodeId)),e.region&&(n.region=e.region),e.image&&(n.image=e.image),e.kmsId&&(n.kms_id=e.kmsId),e.devOs?n.prefer_dev=!0:e.nonDevOs&&(n.prefer_dev=!1),n},OA=async(e,t,r,o,n,s)=>{let i=await NA(e),a=await UA(e),c=[...r||[]];a&&c.push({key:"DSTACK_AUTHORIZED_KEYS",value:a});let m=zA(e,i,t,c);n.write(`Provisioning CVM ${i}...
|
|
236
|
+
`);let u=await Ud(o,m);if(!u.success){let g=BA(u.error,e);throw f.error("Error in provisioning CVM:",g),u.error}let p=u.data,l;if(e.kmsId&&!p.app_id){let g=await Hd(o);if(!g.success)throw new Error(`Failed to get KMS list: ${g.error.message}`);let b=g.data.items.find($=>$.slug===e.kmsId||$.id===e.kmsId);if(!b||!b.chain_id)throw new Error(`KMS ${e.kmsId} not found or invalid`);let x=await DA(e,b.chain_id),v=await Z1({chain:b.chain,rpcUrl:e.rpcUrl,kmsContractAddress:b.kms_contract_address,privateKey:x,deviceId:p.device_id,composeHash:p.compose_hash});if(!v.success){f.logDetailedError(v,"Deploy App Auth");let $=typeof v=="object"&&v!==null?JSON.stringify(v):String(v);throw new Error(`Deployment contract failed: ${$}`)}let S=v.data,A=await Lp(o,{app_id:S.appId,kms:b.slug});if(!A.success)throw f.logDetailedError(A.error,"Get App Env Encrypt PubKey"),new Error(`Failed to get app env encrypt pubkey: ${A.error.message}`);let _=A.data,k=await(0,er.encryptEnvVars)(c,_.public_key);l=await Np(o,{app_id:S.appId,encrypted_env:k,compose_hash:p.compose_hash,kms_id:b.slug,contract_address:S.appAuthAddress,deployer_address:S.deployer})}else{let g=c&&c.length>0?await(0,er.encryptEnvVars)(c,p.app_env_encrypt_pubkey):void 0;l=await Np(o,{app_id:p.app_id,encrypted_env:g,compose_hash:p.compose_hash,kms_id:e.kmsId})}if(!l.success)throw f.logDetailedError(l.error,"Commit CVM Provision"),new Error(`Failed to commit CVM provision: ${l.error.message}`);let h=l.data;if(e?.json!==!1)n.write(`${JSON.stringify({success:!0,vm_uuid:h.vm_uuid,name:h.name,app_id:h.app_id,dashboard_url:`${xe}/dashboard/cvms/${h.vm_uuid}`},null,2)}
|
|
237
|
+
`);else{let g=al`
|
|
234
238
|
CVM created successfully!
|
|
235
239
|
|
|
236
240
|
CVM ID: ${h.vm_uuid}
|
|
237
241
|
Name: ${h.name}
|
|
238
242
|
App ID: ${h.app_id}
|
|
239
|
-
Dashboard URL: ${
|
|
243
|
+
Dashboard URL: ${xe}/dashboard/cvms/${h.vm_uuid}
|
|
240
244
|
`;n.write(`${g}
|
|
241
|
-
`)}},
|
|
245
|
+
`)}},HA=async(e,t,r,o,n)=>{let[s,i]=await Promise.all([Oe(o,{id:e.uuid}),Ya(o,{id:e.uuid})]);if(!s.success)throw f.logDetailedError(s.error,"Get CVM Info"),new Error(`Failed to get cvm info: ${s.error.message}`);if(!i.success)throw f.logDetailedError(i.error,"Get CVM Compose File"),new Error(`Failed to get cvm compose file: ${i.error.message}`);let a=s.data,c=i.data;c.docker_compose_file=t,r&&r.length>0&&(c.allowed_envs=r.map(h=>h.key)),f.info(`Preparing update for CVM ${e.uuid}...`);let m=await zd(o,{id:e.uuid,app_compose:c});if(!m.success)throw f.logDetailedError(m.error,"Provision CVM Compose File Update"),new Error(`Failed to provision cvm compose file: ${m.error.message}`);let u=m.data,p;if(a.kms_info?.chain_id){if(!e.privateKey)throw new Error("Private key is required for contract DstackApp");let h=await X1({chain:a.kms_info?.chain,rpcUrl:e.rpcUrl,appId:a.app_id,composeHash:u.compose_hash,privateKey:e.privateKey});if(!h.success){f.logDetailedError(h,"Add Compose Hash");let g=typeof h=="object"&&h!==null?JSON.stringify(h):String(h);throw new Error(`Failed to add compose hash: ${g}`)}if(r&&r.length>0){let g=a.kms_info?.slug||a.kms_info?.id;if(!g)throw new Error("KMS slug or id is required for decentralized KMS");let y=await Lp(o,{app_id:a.app_id,kms:g});if(!y.success)throw f.logDetailedError(y.error,"Get App Env Encrypt PubKey"),new Error(`Failed to get app env encrypt pubkey: ${y.error.message}`);let b=y.data;p=await(0,er.encryptEnvVars)(r,b.public_key)}}else if(r&&r.length>0){if(!a.encrypted_env_pubkey)throw new Error("CVM encrypted_env_pubkey is required for centralized KMS");p=await(0,er.encryptEnvVars)(r,a.encrypted_env_pubkey)}let l={id:e.uuid,compose_hash:u.compose_hash,encrypted_env:p,env_keys:r?.length?r.map(h=>h.key):void 0,update_env_vars:r?.length?!0:void 0},d=await Od(o,l);if(!d.success)throw f.logDetailedError(d.error,"Commit CVM Compose File Update"),new Error(`Failed to commit CVM compose file update: ${d.error.message}`);if(e.wait){f.info("Waiting for update to complete...");try{await il(e.uuid,3e5)}catch(h){throw f.logDetailedError(h,"Wait for CVM Ready"),new Error(`Wait failed: ${h instanceof Error?h.message:String(h)}`)}}e?.json!==!1?n.write(`${JSON.stringify({success:!0,vm_uuid:e.uuid,name:a.name,app_id:a.app_id,dashboard_url:`${xe}/dashboard/cvms/${e.uuid}`},null,2)}
|
|
242
246
|
`):n.write(`CVM compose file updated successfully!
|
|
243
|
-
`)};async function
|
|
244
|
-
`):t.stderr.write(`${
|
|
245
|
-
`),r}}async function
|
|
246
|
-
`);m.write(
|
|
247
|
-
Operation completed. Full log available at: ${c}`),s()):i(new Error(`Process exited with code ${
|
|
248
|
-
`).filter(d=>d&&!d.startsWith("#")).map(d=>{let h=d.indexOf("#");return h>0?d.substring(0,h).trim():d.trim()}).filter(d=>d.includes("=")).map(d=>{let[h,g]=d.split("=",2),y=h.trim();return(g?g.trim():"")===""?null:`${y}=${y}`}).filter(Boolean));let c=t,u=
|
|
249
|
-
`).filter(s=>s&&!s.includes("<none>")).filter(s=>s.includes(`${o}/`)).map(s=>({imageName:s}))}catch(t){return
|
|
250
|
-
`),0}var
|
|
247
|
+
`)};async function lw(e,t){Pe(e.json||!1);try{let r=e.compose,o=await MA({apiKey:e.apiKey,interactive:e.interactive}),n=await FA({dockerComposePath:r,interactive:e.interactive}),s=await LA(e);e.debug&&(console.log("[DEBUG] context.cvmId:",JSON.stringify(t.cvmId)),console.log("[DEBUG] input.cvmId:",e.cvmId));let i=t.cvmId?.id||t.cvmId?.uuid||t.cvmId?.app_id||t.cvmId?.instance_id;e.debug&&(console.log("[DEBUG] resolved uuid:",i),console.log("[DEBUG] isUpdate:",!!i)),!!i?await HA({...e,uuid:i},n,s,o,t.stdout):await OA(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)}
|
|
248
|
+
`):t.stderr.write(`${al`${r instanceof Error?r.message:String(r)}`}
|
|
249
|
+
`),r}}async function jA(e,t){try{return await lw(e,t),0}catch{return 1}}var fw=R({path:["deploy"],meta:nw,schema:sw,handler:jA});import{z as d3}from"zod";var dw={path:["docker"],meta:{name:"docker",description:"Login to Docker Hub and manage Docker images",stability:"unstable"}};import t3 from"fs";import Sw from"path";import kw from"inquirer";import{exec as JA,spawn as ZA}from"child_process";import fo from"fs";import xw from"os";import ac from"path";import{promisify as YA}from"util";import{execa as XA}from"execa";import QA from"handlebars";import{INVALID as GA,ParseStatus as VA,ZodIssueCode as Oi,ZodParsedType as hw,ZodType as qA,addIssueToContext as Hi,z as gw}from"zod";var KA="ZodDecimal",WA=/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/,yw=class e extends qA{constructor(){super(...arguments);this.max=this.lte;this.min=this.gte}_parse(r){if(r.data!==null&&typeof r.data=="object"&&"toNumber"in r.data&&(r.data=r.data.toNumber()),this._def.coerce&&(r.data=Number(r.data)),this._getType(r)!==hw.number){let i=this._getOrReturnCtx(r);return Hi(i,{code:Oi.invalid_type,expected:hw.number,received:i.parsedType}),GA}let n,s=new VA;for(let i of this._def.checks)if(i.kind==="precision"){let a=r.data.toString().match(WA);Math.max((a[1]?a[1].length:0)-(a[2]?Number.parseInt(a[2],10):0),0)>i.value&&(n=this._getOrReturnCtx(r,n),Hi(n,{code:Oi.custom,message:i.message,params:{precision:i.value}}),s.dirty())}else i.kind==="wholeNumber"?r.data.toString().split(".")[0].length>i.value&&(n=this._getOrReturnCtx(r,n),Hi(n,{code:Oi.custom,message:i.message,params:{wholeNumber:i.value}}),s.dirty()):i.kind==="min"?(i.inclusive?r.data<i.value:r.data<=i.value)&&(n=this._getOrReturnCtx(r,n),Hi(n,{code:Oi.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?r.data>i.value:r.data>=i.value)&&(n=this._getOrReturnCtx(r,n),Hi(n,{code:Oi.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="finite"&&(Number.isFinite(r.data)||(n=this._getOrReturnCtx(r,n),Hi(n,{code:Oi.not_finite,message:i.message}),s.dirty()));return{status:s.value,value:r.data}}static{this.create=r=>new e({checks:[],typeName:KA,coerce:r?.coerce??!1})}setLimit(r,o,n,s){return new e({...this._def,checks:[...this._def.checks,{kind:r,value:o,inclusive:n,message:s}]})}_addCheck(r){return new e({...this._def,checks:[...this._def.checks,r]})}lte(r,o){return this.setLimit("max",r,!0,o)}lt(r,o){return this.setLimit("max",r,!1,o)}gt(r,o){return this.setLimit("min",r,!1,o)}gte(r,o){return this.setLimit("min",r,!0,o)}precision(r,o){return this._addCheck({kind:"precision",value:r,message:o})}wholeNumber(r,o){return this._addCheck({kind:"wholeNumber",value:r,message:o})}get minValue(){let r=null;for(let o of this._def.checks)o.kind==="min"&&(r===null||o.value>r)&&(r=o.value);return r}get maxValue(){let r=null;for(let o of this._def.checks)o.kind==="max"&&(r===null||o.value<r)&&(r=o.value);return r}positive(r){return this._addCheck({kind:"min",value:0,inclusive:!1,message:r})}negative(r){return this._addCheck({kind:"max",value:0,inclusive:!1,message:r})}nonpositive(r){return this._addCheck({kind:"max",value:0,inclusive:!0,message:r})}nonnegative(r){return this._addCheck({kind:"min",value:0,inclusive:!0,message:r})}finite(r){return this._addCheck({kind:"finite",message:r})}safe(r){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:r})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:r})}get isFinite(){let r=null,o=null;for(let n of this._def.checks){if(n.kind==="finite")return!0;n.kind==="min"?(o===null||n.value>o)&&(o=n.value):n.kind==="max"&&(r===null||n.value<r)&&(r=n.value)}return Number.isFinite(o)&&Number.isFinite(r)}},bw=gw.object({template:gw.string().min(1,"Template cannot be empty")});var cc=YA(JA),vw=".phala-cloud/logs",e3=".phala-cloud/compose",ww=10,It=class{constructor(t,r,o){this.image=t,this.username=r||"",this.registry=o||""}ensureLogsDir(){let t=ac.resolve(vw);fo.existsSync(t)||fo.mkdirSync(t,{recursive:!0})}getLogFilePath(t,r){let o=new Date().toISOString().replace(/[:.]/g,"-");return ac.resolve(vw,`${r||this.image}-${t}-${o}.log`)}getSystemArchitecture(){let t=xw.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=ZA(t,r);this.ensureLogsDir();let c=this.getLogFilePath(o,n),m=fo.createWriteStream(c,{flags:"a"}),u=[],p=(l,d=!1)=>{let h=l.toString().split(`
|
|
250
|
+
`);m.write(l);for(let g of h)if(g.trim()){u.push(g),u.length>ww&&u.shift(),console.clear(),console.log(`Latest ${ww} lines (full log at ${c}):`),console.log("-".repeat(50));for(let y of u)d?console.error(y):console.log(y)}};a.stdout.on("data",l=>p(l)),a.stderr.on("data",l=>p(l,!0)),a.on("close",l=>{m.end(),l===0?(console.log(`
|
|
251
|
+
Operation completed. Full log available at: ${c}`),s()):i(new Error(`Process exited with code ${l}. Check log file: ${c}`))}),a.on("error",l=>{m.end(),i(l)})})}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=f.startSpinner(`Building Docker image ${this.username}/${this.image}:${r}`);Dt(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 f.error(`Failed to build Docker image: ${o instanceof Error?o.message:String(o)}`),!1}}async pushImage(t){try{let r=f.startSpinner(`Pushing Docker image ${t} to Docker Hub`);if(!await ao())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 f.error(`Failed to push Docker image: ${r instanceof Error?r.message:String(r)}`),!1}}async login(t,r,o){try{let n=f.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 XA("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 f.error(`Failed to login to Docker Hub: ${n instanceof Error?n.message:String(n)}`),!1}}async checkLogin(){try{let t=xw.homedir(),r=ac.join(t,".docker","config.json");if(!fo.existsSync(r))return!1;let o=JSON.parse(fo.readFileSync(r,"utf-8"));return!!(o?.auths&&Object.keys(o.auths).length>0)}catch(t){return f.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"?Fv:Dv,s=bw.parse({template:n}),i=ac.resolve(e3);fo.existsSync(i)||(f.info(`Creating directory: ${i}`),fo.mkdirSync(i,{recursive:!0}));let a=[];r&&(a=fo.readFileSync(r,"utf-8").split(`
|
|
252
|
+
`).filter(d=>d&&!d.startsWith("#")).map(d=>{let h=d.indexOf("#");return h>0?d.substring(0,h).trim():d.trim()}).filter(d=>d.includes("=")).map(d=>{let[h,g]=d.split("=",2),y=h.trim();return(g?g.trim():"")===""?null:`${y}=${y}`}).filter(Boolean));let c=t,u=QA.compile(s.template,{noEscape:!0})({imageName:c,envVars:a.map(l=>l.replace(/=.*/,`=\${${l.split("=")[0]}}`))}),p=ac.join(i,`${t.replace(/.*\/+([\w-]+):.*$/g,"$1")}-tee-compose.yaml`);return fo.writeFileSync(p,u),f.success(`Backup of docker compose file created at: ${p}`),p}async runComposeLocally(t,r){try{let o=f.startSpinner(`Running Docker Compose file at ${t}`);Dt(t);let n=["-f",t,"up","-d"];return r&&(Dt(r),n.splice(2,0,"--env-file",r)),await cc(`docker compose ${n.join(" ")}`),o.stop(!0,"Docker Compose file running successfully"),!0}catch(o){return f.error(`Failed to run Docker Compose file: ${o instanceof Error?o.message:String(o)}`),!1}}async runSimulator(t,r){try{f.info(`Running TEE simulator with image ${t}`),f.info("Pulling latest simulator image..."),await cc(`docker pull ${t}`),f.info("Starting simulator in background...");let{stdout:o}=await cc(`docker run -d --name tee-simulator --rm -p ${r}:${r} ${t}`),n=o.trim();return f.success(`TEE simulator running successfully. Container ID: ${n}`),f.break(),f.break(),f.info("Useful commands:"),f.info(`- View logs: docker logs -f ${n}`),f.info(`- Stop simulator: docker stop ${n}`),b0(`http://localhost:${r}`),!0}catch(o){return f.error(`Failed to run TEE simulator: ${o instanceof Error?o.message:String(o)}`),!1}}async stopSimulator(){try{let t=f.startSpinner("Stopping TEE simulator...");return await cc("docker stop tee-simulator"),await Ln(),t.stop(!0,"TEE simulator stopped successfully"),!0}catch(t){return f.error(`Failed to stop TEE simulator: ${t instanceof Error?t.message:String(t)}`),!1}}static async listLocalImages(){try{let{stdout:t}=await cc('docker images --format "{{.Repository}}:{{.Tag}}"'),o=(await ao())?.username;return t.split(`
|
|
253
|
+
`).filter(s=>s&&!s.includes("<none>")).filter(s=>s.includes(`${o}/`)).map(s=>({imageName:s}))}catch(t){return f.error(`Failed to list local Docker images: ${t instanceof Error?t.message:String(t)}`),[]}}};import{z as ml}from"zod";var Cw={name:"build",description:"Build a Docker image",stability:"unstable",options:[{name:"image",shorthand:"i",description:"Image name",type:"string",target:"image"},{name:"tag",shorthand:"t",description:"Image tag",type:"string",target:"tag"},{name:"file",shorthand:"f",description:"Path to Dockerfile",type:"string",target:"file"}],examples:[{name:"Build docker image with prompts",value:"phala docker build"},{name:"Build docker image with options",value:"phala docker build --image myapp --tag latest"}]},Ew=ml.object({image:ml.string().optional(),tag:ml.string().optional(),file:ml.string().default("Dockerfile")});async function r3(e,t){try{let r=await ao();if(!r)return f.error('Docker information not found. Please login first with "phala docker login"'),1;let o=e.image;o||(o=(await kw.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 kw.prompt([{type:"input",name:"tag",message:"Enter the Docker image tag:",default:"latest",validate:m=>m.trim()?!0:"Tag is required"}])).tag);let s=Sw.resolve(process.cwd(),e.file);if(!t3.existsSync(s)){f.info(`Default Dockerfile not found at ${s}`);let c=await co("Enter the path to your Dockerfile:","Dockerfile","file");s=Sw.resolve(process.cwd(),c)}return await new It(o,r.username,r.registry).buildImage(s,n)?(f.success(`Docker image ${r.username}/${o}:${n} built successfully`),0):(f.error("Failed to build Docker image"),1)}catch(r){return f.error("Failed to build Docker image"),f.logDetailedError(r),1}}var Iw=R({path:["docker","build"],meta:Cw,schema:Ew,handler:r3});import uc from"fs";import ul from"path";import pc from"inquirer";import{z as mc}from"zod";var _w={name:"generate",description:"Generate a Docker Compose file",stability:"unstable",options:[{name:"image",shorthand:"i",description:"Docker image name to use in the compose file (e.g. phala/phala-cloud)",type:"string",target:"image"},{name:"env-file",shorthand:"e",description:"Path to environment variables file",type:"string",target:"envFile"},{name:"output",shorthand:"o",description:"Output path for generated docker-compose.yml",type:"string",target:"output"},{name:"template",description:"Template to use for the generated docker-compose.yml",type:"string",target:"template"}]},Aw=mc.object({image:mc.string().optional(),envFile:mc.string().optional(),output:mc.string().optional(),template:mc.string().optional()});async function o3(e){if(e)return e;let t=await It.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 pc.prompt([{type:"list",name:"selectedImage",message:"Select an image to use in the compose file:",choices:r}]);return o}async function n3(e){if(e)return Dt(e),e;let t=ul.join(process.cwd(),".env");if(uc.existsSync(t)){let{useDefault:o}=await pc.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(o)return t}let{envPath:r}=await pc.prompt([{type:"input",name:"envPath",message:"Enter path to environment variables file:",validate:o=>{try{return Dt(o),!0}catch{return`File not found: ${o}`}}}]);return r}async function s3(e){let t=e??ul.join(process.cwd(),"docker-compose.yml");if(uc.existsSync(t)){let{confirmOverwrite:o}=await pc.prompt([{type:"confirm",name:"confirmOverwrite",message:`File ${t} already exists. Overwrite?`,default:!1}]);if(!o){let{customPath:n}=await pc.prompt([{type:"input",name:"customPath",message:"Enter alternative output path:",default:ul.join(process.cwd(),"docker-generated-compose.yml")}]);t=n}}let r=ul.dirname(t);return uc.existsSync(r)||(f.info(`Creating directory: ${r}`),uc.mkdirSync(r,{recursive:!0})),t}async function i3(e,t){try{let r=await ao();if(!r||!r.username)throw new Error('Docker Hub username not found. Please login first with "phala docker login"');let o=await o3(e.image),n=await n3(e.envFile),s=await s3(e.output);n?f.info(`Generating Docker Compose file for ${o} using env file: ${n}`):f.info(`Generating Docker Compose file for ${o} without env file`);let a=await new It("",r.username,r.registry).buildComposeFile(o,n,e.template);return a!==s&&uc.copyFileSync(a,s),f.success(`Docker Compose file generated successfully: ${s}`),0}catch(r){return f.error("Failed to generate Docker Compose file"),f.logDetailedError(r),1}}var Pw=R({path:["docker","generate"],meta:_w,schema:Aw,handler:i3});import Rw from"prompts";import{z as pl}from"zod";var Tw={name:"login",description:"Login to Docker Hub",stability:"unstable",options:[{name:"username",shorthand:"u",description:"Docker Hub username",type:"string",target:"username"},{name:"password",shorthand:"p",description:"Docker Hub password",type:"string",target:"password"},{name:"registry",shorthand:"r",description:"Docker registry URL",type:"string",target:"registry"}]},$w=pl.object({username:pl.string().optional(),password:pl.string().optional(),registry:pl.string().optional()});async function a3(e,t){try{let r=e.username,o=e.password,n=e.registry;if(!r){f.info("First we need your Docker Hub username to check if you are already logged in.");let c=await Rw({type:"text",name:"username",message:"Enter your Docker Hub username:",validate:m=>m.length>0?!0:"Username cannot be empty"});if(!c.username)return f.error("Username is required"),1;r=c.username}let s=new It("",r,n);if(await s.login(r))return f.success(`${r} is logged in to Docker Hub`),await Qd({username:r,registry:n||null}),0;if(!o){let c=await Rw({type:"password",name:"password",message:"Enter your Docker Hub password:",validate:m=>m.length>0?!0:"Password cannot be empty"});if(!c.password)return f.error("Password is required"),1;o=c.password}return await s.login(r,o,n)?(await Qd({username:r,registry:n||null}),f.success("Logged in to Docker Hub successfully"),0):(f.error("Failed to login to Docker Hub"),1)}catch(r){return f.error("Failed to login to Docker Hub"),f.logDetailedError(r),1}}var Bw=R({path:["docker","login"],meta:Tw,schema:$w,handler:a3});import c3 from"inquirer";import{z as Mw}from"zod";var Fw={name:"push",description:"Push a Docker image to Docker Hub",stability:"unstable",options:[{name:"image",shorthand:"i",description:"Full image name (e.g. username/image:tag)",type:"string",target:"image"}]},Dw=Mw.object({image:Mw.string().optional()});async function m3(e){if(e)return e;let t=await It.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 c3.prompt([{type:"list",name:"selectedImage",message:"Select an image to push:",choices:r}]);return o}async function u3(e,t){try{let r=await ao();if(!r)throw new Error('Docker information not found. Please login first with "phala docker login"');let o=await m3(e.image);return await new It("",r.username,r.registry).pushImage(o)?(f.success(`Docker image ${o} pushed successfully`),0):(f.error("Failed to push Docker image"),1)}catch(r){return f.error("Failed to push Docker image"),f.logDetailedError(r),1}}var Nw=R({path:["docker","push"],meta:Fw,schema:Dw,handler:u3});import zw from"fs";import Ow from"path";import fl from"inquirer";import{z as ll}from"zod";var Lw={name:"run",description:"Run a Docker Compose setup",stability:"unstable",options:[{name:"compose",shorthand:"c",description:"Path to docker-compose.yml file",type:"string",target:"compose"},{name:"env-file",shorthand:"e",description:"Path to environment variables file",type:"string",target:"envFile"},{name:"skip-env",description:"Skip environment variables file prompt",type:"boolean",target:"skipEnv"}]},Uw=ll.object({compose:ll.string().optional(),envFile:ll.string().optional(),skipEnv:ll.boolean().default(!0)});async function p3(e){if(e)return Dt(e),e;let t=Ow.join(process.cwd(),"docker-compose.yml");if(zw.existsSync(t)){let{useDefault:o}=await fl.prompt([{type:"confirm",name:"useDefault",message:"Use docker-compose.yml in current directory?",default:!0}]);if(o)return t}let{composePath:r}=await fl.prompt([{type:"input",name:"composePath",message:"Enter path to docker-compose.yml file:",validate:o=>{try{return Dt(o),!0}catch{return"File not found"}}}]);return r}async function l3(e,t){if(t)return e;if(e)return Dt(e),e;let r=Ow.join(process.cwd(),".env");if(zw.existsSync(r)){let{useDefault:n}=await fl.prompt([{type:"confirm",name:"useDefault",message:"Use .env file in current directory?",default:!0}]);if(n)return r}let{envPath:o}=await fl.prompt([{type:"input",name:"envPath",message:"Enter path to environment variables file:",validate:n=>{try{return Dt(n),!0}catch{return`File not found: ${n}`}}}]);return o}async function f3(e,t){try{let r=await p3(e.compose),o=await l3(e.envFile,e.skipEnv),n=new It("");return o?(f.info(`Validating env file: ${o}`),Dt(o),f.info(`Running Docker Compose with compose file: ${r} and env file: ${o}`)):f.info(`Running Docker Compose with compose file: ${r} without env file`),await n.runComposeLocally(r,o)?(f.success("Docker Compose is running"),0):(f.error("Failed to run Docker Compose"),1)}catch(r){return f.error("Failed to run Docker Compose"),f.logDetailedError(r),1}}var Hw=R({path:["docker","run"],meta:Lw,schema:Uw,handler:f3});var h3={name:"docker",description:"Login to Docker Hub and manage Docker images",stability:"unstable"},g3=d3.object({});async function y3(e,t){return t.stdout.write(`Available docker subcommands: login, build, push, generate, run. Use 'phala docker <command> --help' for details.
|
|
254
|
+
`),0}var b3=R({path:["docker"],meta:h3,schema:g3,handler:y3}),P0={group:dw,commands:[b3,Bw,Iw,Nw,Pw,Hw]};import ji from"chalk";import x3 from"open";import v3 from"ora";import w3 from"prompts";import{z as dl}from"zod";var jw={name:"login",description:"Authenticate with Phala Cloud",stability:"stable",arguments:[{name:"api-key",description:"API key for authentication (optional, triggers device flow if not provided)",required:!1,target:"apiKey"}],options:[{name:"manual",description:"Manually enter API key instead of using device flow",type:"boolean"},{name:"no-open",description:"Don't automatically open browser for device flow",type:"boolean"}]},Gw=dl.object({apiKey:dl.string().min(1,"API key cannot be empty").optional(),manual:dl.boolean().optional(),noOpen:dl.boolean().optional()});function C3(e){let{detail:t}=e;if(t&&typeof t=="object"&&!Array.isArray(t)){let r=t;if(r.error&&typeof r.error=="string")return{error:r.error,error_description:typeof r.error_description=="string"?r.error_description:void 0}}return null}async function T0(e){try{await Hp(e);let t=await jp(e),r=await Bn(t),o=r.data;if(!r.success||!o?.username)throw await Ur(),new Error("Invalid API key");return o}catch(t){throw await Ur(),t instanceof Error?t:new Error(String(t))}}async function E3(){let e,t=await w3({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 T0(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 T0(t.apiKey)),{apiKey:t.apiKey,user:e}}async function S3(e){let t=kt({useCookieAuth:!0}),r=await t.post("/auth/device/code",{client_id:"phala-cli",scope:"user:profile cvms:* nodes:*"}),{device_code:o,user_code:n,verification_uri_complete:s,interval:i,expires_in:a}=r;if(console.log(),console.log(ji.bold("To authenticate, visit:")),console.log(ji.cyan(s)),console.log(),console.log(ji.bold("And enter code:"),ji.yellow(n)),console.log(),!e.noOpen)try{await x3(s),console.log("Opening browser automatically...")}catch{console.warn("Could not open browser automatically. Please visit the URL above.")}let c=v3("Waiting for authorization...").start(),m=Date.now()+a*1e3;for(;Date.now()<m;){await new Promise(u=>setTimeout(u,i*1e3));try{let u=await t.post("/auth/device/token",{device_code:o,grant_type:"urn:ietf:params:oauth:grant-type:device_code"});return c.succeed("Authorization successful!"),u.access_token}catch(u){if(u instanceof Fp){let p=C3(u);if(p)switch(p.error){case"authorization_pending":continue;case"expired_token":throw c.fail("Authorization expired"),new Error(p.error_description||"Device authorization expired. Please try again.");case"access_denied":throw c.fail("Authorization denied"),new Error(p.error_description||"You denied the authorization request.");default:throw c.fail("Authorization failed"),new Error(`Authorization failed: ${p.error_description||p.error}`)}}throw c.fail("Request failed"),u}}throw c.fail("Authorization timed out"),new Error("Authorization timed out. Please try again.")}async function k3(e,t){try{let r,o;if(e.apiKey)r=e.apiKey;else if(e.manual){let n=await E3();r=n.apiKey,o=n.user}else r=await S3({noOpen:e.noOpen});if(o||(o=await T0(r)),!o)throw new Error("Failed to validate API key");return console.log(ji.green(`Welcome ${o.username}! API key validated and saved successfully`)),0}catch(r){return console.error(ji.red(`Failed to authenticate: ${r instanceof Error?r.message:String(r)}`)),1}}var Vw=R({path:["login"],meta:jw,schema:Gw,handler:k3});import{z as I3}from"zod";var qw={name:"logout",description:"Remove the stored API key",stability:"stable"},Kw=I3.object({});async function _3(e,t){try{return await Ur(),f.success("API key removed successfully"),0}catch(r){return f.error("Failed to remove API key"),f.logDetailedError(r),1}}var Ww=R({path:["logout"],meta:qw,schema:Kw,handler:_3});var Jw={path:["nodes"],meta:{name:"nodes",description:"List and manage TEE nodes",stability:"unstable"}};import{z as Zw}from"zod";var Yw={name:"list",aliases:["ls"],description:"List all available worker nodes",stability:"unstable",options:[{name:"json",description:"Output in JSON format",type:"boolean"}]},$0=Zw.object({json:Zw.boolean().optional().default(!1)});async function Xw(e,t){Pe(e.json);try{let r=await J(),o=await Ja(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 f.info("No available nodes found."),0;f.info("Available Nodes:");for(let i of n)if(f.info("----------------------------------------"),f.info(` ID: ${i.teepod_id}`),f.info(` Name: ${i.name}`),f.info(` Region: ${i.region_identifier}`),f.info(` FMSPC: ${i.fmspc||"N/A"}`),f.info(` Device ID: ${i.device_id||"N/A"}`),f.info(` Support Onchain KMS: ${i.support_onchain_kms}`),f.info(" Images:"),i.images&&i.images.length>0)for(let a of i.images)f.info(` - ${a.name}`),f.info(` Hash: ${a.os_image_hash||"N/A"}`);else f.info(" N/A");if(s&&s.length>0){f.info("\\nAvailable KMS Instances:");for(let i of s)f.info("----------------------------------------"),f.info(` Slug: ${i.slug}`),f.info(` URL: ${i.url}`),f.info(` Version: ${i.version}`),i.chain_id&&(f.info(` Chain ID: ${i.chain_id}`),f.info(` Contract Address: ${i.kms_contract_address}`),f.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 A3={name:"nodes",description:"List and manage TEE nodes",stability:"unstable"},Qw=R({path:["nodes","list"],meta:Yw,schema:$0,handler:Xw}),e5=R({path:["nodes"],meta:A3,schema:$0,handler:Xw});var R0={group:Jw,commands:[e5,Qw]};import{z as R3}from"zod";var t5={path:["simulator"],meta:{name:"simulator",description:"TEE simulator commands",stability:"unstable"}};import{z as B0}from"zod";var r5={name:"start",description:"Start the TEE simulator",stability:"unstable",options:[{name:"port",shorthand:"p",description:"Simulator port (default: 8090)",type:"string",target:"port"},{name:"verbose",shorthand:"v",description:"Enable verbose output",type:"boolean",target:"verbose"}]},o5=B0.object({port:B0.string().default("8090"),verbose:B0.boolean().default(!1)});async function P3(e,t){try{return p6()||await l6(),await sc()?(f.success("TEE simulator is already running"),0):(await f6({verbose:e.verbose}),f.success("TEE simulator started successfully"),0)}catch(r){return f.error("Failed to start TEE simulator"),f.logDetailedError(r),1}}var n5=R({path:["simulator","start"],meta:r5,schema:o5,handler:P3});import{z as T3}from"zod";var s5={name:"stop",description:"Stop the TEE simulator",stability:"unstable"},i5=T3.object({});async function $3(e,t){try{return await d6()?(f.success("TEE simulator stopped successfully"),0):(f.error("Failed to stop TEE simulator"),1)}catch(r){return f.error("Failed to stop TEE simulator"),f.logDetailedError(r),1}}var a5=R({path:["simulator","stop"],meta:s5,schema:i5,handler:$3});var B3={name:"simulator",description:"TEE simulator commands",stability:"unstable"},M3=R3.object({});async function F3(e,t){try{let r=await sc(),o=rl();if(r&&o){let s=y0(),i=s.replace(/dstack\.sock$/,"tappd.sock");t.stdout.write(`\u2713 TEE simulator is running (PID: ${o})\\n`),t.stdout.write(`
|
|
251
255
|
Set these environment variables to use the simulator:
|
|
252
256
|
`),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
|
|
253
257
|
`),t.stdout.write(`To start the simulator, run:
|
|
254
|
-
`),t.stdout.write(" phala simulator start\\n");return 0}catch(r){return t.stderr.write(`Error checking simulator status: ${r instanceof Error?r.message:String(r)}\\n`),1}}var
|
|
258
|
+
`),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 D3=R({path:["simulator"],meta:B3,schema:M3,handler:F3}),M0={group:t5,commands:[D3,n5,a5]};import{z as Gi}from"zod";import{readFileSync as z3}from"fs";import{dirname as O3,join as H3}from"path";import{fileURLToPath as j3}from"url";function c5(e,t,r){switch(t){case"bash":return N3(e,r);case"zsh":return L3(e,r);case"fish":return U3(e,r)}}function N3(e,t){let r=t?`
|
|
255
259
|
# Version check (once per day)
|
|
256
260
|
local completion_version="${t}"
|
|
257
261
|
local check_file=~/."${e}"/completion-check
|
|
@@ -288,7 +292,7 @@ ${r}
|
|
|
288
292
|
}
|
|
289
293
|
|
|
290
294
|
complete -F _${e}_completions ${e}
|
|
291
|
-
`.trim()}function
|
|
295
|
+
`.trim()}function L3(e,t){let r=t?`
|
|
292
296
|
# Version check (once per day)
|
|
293
297
|
local completion_version="${t}"
|
|
294
298
|
local check_file=~/."${e}"/completion-check
|
|
@@ -333,7 +337,7 @@ ${r}
|
|
|
333
337
|
}
|
|
334
338
|
|
|
335
339
|
_${e}
|
|
336
|
-
`.trim()}function
|
|
340
|
+
`.trim()}function U3(e,t){let r=t?`
|
|
337
341
|
# Version check (once per day)
|
|
338
342
|
set -l completion_version "${t}"
|
|
339
343
|
set -l check_file ~/."${e}"/completion-check
|
|
@@ -366,10 +370,10 @@ ${r}
|
|
|
366
370
|
end
|
|
367
371
|
|
|
368
372
|
complete -c ${e} -f -a "(__${e}_complete)"
|
|
369
|
-
`.trim()}function
|
|
370
|
-
`),0}var
|
|
371
|
-
`),0;let r=e.shell||
|
|
372
|
-
`),1;let o=
|
|
373
|
+
`.trim()}function G3(){try{let e=j3(import.meta.url),t=O3(e),r=H3(t,"../package.json");return JSON.parse(z3(r,"utf-8")).version}catch{return"unknown"}}var V3={name:"__complete",description:"Internal command for shell completion",stability:"stable",arguments:[{name:"line",description:"Full command line",required:!0},{name:"fragment",description:"Current word being completed",required:!0}]},q3=Gi.object({line:Gi.string(),fragment:Gi.string()});async function K3(e,t){return t.stdout.write(`
|
|
374
|
+
`),0}var Xme=R({path:["__complete"],meta:V3,schema:q3,handler:K3}),W3={name:"completion",description:"Generate shell completion scripts",stability:"stable",options:[{name:"shell",type:"string",description:"Shell type (bash, zsh, fish)"},{name:"fig",type:"boolean",description:"Generate Fig/Amazon Q completion spec"}]},J3=Gi.object({shell:Gi.enum(["bash","zsh","fish"]).optional(),fig:Gi.boolean().optional()});async function Z3(e,t){if(e.fig)return t.stdout.write(`Fig spec generation requires registry access. See fig-spec.ts for implementation.
|
|
375
|
+
`),0;let r=e.shell||Y3();if(!r)return t.stderr.write(`Could not detect shell. Please specify with --shell (bash, zsh, or fish)
|
|
376
|
+
`),1;let o=G3(),n=c5("phala",r,o);switch(t.stdout.write(`# Add this to your shell configuration file:
|
|
373
377
|
|
|
374
378
|
`),t.stdout.write(`${n}
|
|
375
379
|
|
|
@@ -382,11 +386,12 @@ complete -c ${e} -f -a "(__${e}_complete)"
|
|
|
382
386
|
`),t.stdout.write(`# source ~/.zshrc
|
|
383
387
|
`);break;case"fish":t.stdout.write(`# For fish, run:
|
|
384
388
|
`),t.stdout.write(`# phala completion --shell fish > ~/.config/fish/completions/phala.fish
|
|
385
|
-
`);break}return 0}function
|
|
386
|
-
Supported fields: id, uuid, app_id, or instance_id`),1;let o=e["--"]??[],n=
|
|
387
|
-
`),0}let b=
|
|
388
|
-
Supported fields: id, uuid, app_id, or instance_id`),1;let i=e.gatewayDomain??t.projectConfig.gateway_domain,a=e.port!=="443"?e.port:t.projectConfig.gateway_port?.toString()??"443",c,m;if(i)m=i,c=s.startsWith("app_")?s.substring(4):s;else try{let
|
|
389
|
-
`),0}let x=r.isRemote?"download":"upload",
|
|
389
|
+
`);break}return 0}function Y3(){let e=process.env.SHELL||"";return e.includes("bash")?"bash":e.includes("zsh")?"zsh":e.includes("fish")?"fish":null}var m5=R({path:["completion"],meta:W3,schema:J3,handler:Z3});import{spawn as nP}from"child_process";import sP from"chalk";import{execSync as X3}from"child_process";import{existsSync as u5,readFileSync as Q3}from"fs";import{homedir as lc,platform as eP}from"os";import{basename as tP,join as fc}from"path";import p5 from"chalk";var zn=class extends Error{constructor(r,o){super(`CVM is not running (current status: ${p5.yellow(r)})`);this.status=r;this.cvmId=o;this.name="CvmNotRunningError"}},On=class extends Error{constructor(r){super("CVM is not registered on any gateway.");this.cvmId=r;this.name="NoGatewayError"}};function hl(e){let t=e.lastIndexOf(":");if(t>0){let r=e.substring(t+1);if(/^\d+$/.test(r))return{host:e.substring(0,t),port:r}}return{host:e}}function F0(){let e=[fc(lc(),".ssh","id_rsa"),fc(lc(),".ssh","id_ed25519"),fc(lc(),".ssh","id_ecdsa"),fc(lc(),".ssh","id_dsa")];for(let t of e)if(u5(t))return t}function l5(e){if(e){let t=e.startsWith("~")?fc(lc(),e.slice(1)):e;if(!u5(t))throw new Error(`SSH key file not found: ${t}`);return t}return F0()}function gl(e){return e?e.toLowerCase().includes("dev"):!1}async function yl(e,t){let r=await e.getCvmInfo({id:t});if(!r.gateway_domain)throw new On(t);if(r.status!=="running")throw new zn(r.status,t);return{appId:r.app_id,gatewayDomain:r.gateway_domain,status:r.status,baseImage:r.base_image}}function bl(e,t){return`${e}-22.${t}`}function xl(e,t){return e!=="443"?e:t||"443"}function vl(e){return/^[a-zA-Z0-9_./:@=-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}function rP(){try{return X3("openssl version",{encoding:"utf-8"}).toLowerCase().includes("libressl")}catch{return!1}}function oP(e){if(tP(e).toLowerCase().includes("ed25519"))return!0;try{let r=Q3(e,"utf-8");return r.includes("ssh-ed25519")||r.includes("ED25519")}catch{return!1}}function wl(e){eP()==="darwin"&&rP()&&oP(e)&&(f.warn("Detected LibreSSL with ed25519 key on macOS. This combination may cause SSH connection issues."),f.info(`If\xB7you\xB7experience\xB7problems,\xB7install\xB7OpenSSL\xB7via\xB7Homebrew:\xB7${p5.cyan("brew\xB7install\xB7openssl")}`),f.info("Then ensure Homebrew's OpenSSL is in your PATH before /usr/bin"))}function Cl(e,t){return["-o",`ProxyCommand=${e?"openssl s_client -quiet -connect %h:%p":"openssl s_client -quiet -connect %h:%p 2>/dev/null"}`,"-o","StrictHostKeyChecking=no","-o","UserKnownHostsFile=/dev/null","-o",`ConnectTimeout=${t}`]}import{z as ho}from"zod";var f5={name:"ssh",description:"Connect to a CVM via SSH",stability:"unstable",arguments:[{name:"cvm-name",description:"CVM name. If not provided, reads from phala.toml",required:!1,target:"cvmId"}],options:[{name:"port",shorthand:"p",description:"Gateway port. Priority: CLI option > phala.toml gateway_port > 443",type:"string",target:"port"},{name:"gateway",shorthand:"g",description:"Gateway domain. Priority: CLI option > phala.toml gateway_domain > API. When specified, skips API call for offline usage",type:"string",target:"gatewayDomain"},{name:"timeout",shorthand:"t",description:"Connection timeout in seconds (default: 30)",type:"string",target:"timeout"},{name:"verbose",shorthand:"v",description:"Show verbose connection details",type:"boolean",target:"verbose"},{name:"dry-run",description:"Print the SSH command without executing it",type:"boolean",target:"dryRun"}],passThrough:{description:"All arguments after -- are passed directly to ssh. Common options: -i (identity file), -L (local forward), -R (remote forward), -D (SOCKS proxy), -N (no command), -v (ssh verbose). Any trailing arguments are executed as remote command. Note: -o ProxyCommand is blocked.",examples:["-- -L 8080:localhost:80","-- -i ~/.ssh/key -D 1080 -N","-- ls -la /app"]},examples:[{name:"Connect using configuration from phala.toml",value:"phala ssh"},{name:"Connect to a specific CVM (queries API for gateway)",value:"phala ssh app_123"},{name:"Offline mode: connect without API (using phala.toml gateway)",value:"phala ssh app_123 -g dstack-gateway.example.com -p 16185"},{name:"Connect with custom SSH key",value:"phala ssh app_123 -- -i ~/.ssh/custom_key"},{name:"Forward local port 8080 to remote port 80",value:"phala ssh app_123 -- -L 8080:localhost:80"},{name:"SOCKS proxy without remote command",value:"phala ssh app_123 -- -D 1080 -N"},{name:"Execute remote command",value:"phala ssh app_123 -- ls -la /app"},{name:"Connect with verbose output for debugging",value:"phala ssh app_123 -v"},{name:"Print the SSH command without executing",value:"phala ssh app_123 --dry-run -- -L 8080:localhost:80"}]},d5=ho.object({cvmId:ho.string().optional(),port:ho.string().default("443"),gatewayDomain:ho.string().optional(),timeout:ho.string().default("30"),verbose:ho.boolean().default(!1),dryRun:ho.boolean().default(!1),"--":ho.array(ho.string()).optional()});function iP(e){for(let t=0;t<e.length;t++){let r=e[t];if(r==="-o"&&t+1<e.length&&e[t+1].toLowerCase().startsWith("proxycommand")||r.toLowerCase().startsWith("-oproxycommand"))return"-o ProxyCommand"}return null}async function aP(e,t){try{let r=t.cvmId?.id||t.cvmId?.uuid||t.cvmId?.app_id||t.cvmId?.instance_id;if(!r)return f.error(`No CVM ID provided. Either pass a CVM ID as argument or configure it in phala.toml.
|
|
390
|
+
Supported fields: id, uuid, app_id, or instance_id`),1;let o=e["--"]??[],n=iP(o);if(n)return f.error(`${n} is not allowed as it would break the TLS gateway connection.`),1;let s=e.gatewayDomain??t.projectConfig.gateway_domain,i=e.port!=="443"?e.port:t.projectConfig.gateway_port?.toString()??"443",a,c;if(s)c=s,a=r.startsWith("app_")?r.substring(4):r;else try{let x=await J(),v=await yl(x,r);a=v.appId,c=v.gatewayDomain,gl(v.baseImage)||f.warn("This CVM is not using a dev image. SSH access may not be available.")}catch(x){return x instanceof On?f.error(x.message):x instanceof zn?(f.error(x.message),f.info("Please start the CVM first using: phala cvms start")):f.error(x instanceof Error?x.message:"Failed to fetch CVM info"),1}let m=hl(c),u=xl(i,m.port),p=bl(a,m.host),l=F0();l&&wl(l),e.verbose&&f.info(`Connecting to ${sP.cyan(p)}:${u}...`);let d=Cl(e.verbose,e.timeout),{options:h,command:g}=cP(o),y=[];if(e.verbose&&y.push("-v"),y.push(...d,"-p",u,...h,`root@${p}`,...g),e.dryRun){let x=y.map(v=>vl(v));return t.stdout.write(`ssh ${x.join(" ")}
|
|
391
|
+
`),0}let b=nP("ssh",y,{stdio:"inherit"});return b.on("error",x=>{f.break(),f.error(`SSH connection failed: ${x.message}`)}),new Promise(x=>{b.on("close",v=>{f.break(),v===0?(f.success("Connection closed"),x(0)):(f.error(`Connection failed with code ${v}`),x(v??1))})})}catch(r){return f.error("Failed to connect via SSH"),r instanceof Error?f.error(r.message):f.error(String(r)),1}}function cP(e){let t=[],r=[],o=new Set(["-b","-c","-D","-E","-e","-F","-I","-i","-J","-L","-l","-m","-O","-o","-P","-p","-R","-S","-W","-w"]),n=0,s=!1;for(;n<e.length;){let i=e[n];if(s){r.push(i),n++;continue}if(i.startsWith("-")){t.push(i);let a=i.length===2?i:i.slice(0,2);o.has(a)&&i.length===2&&n+1<e.length&&(n++,t.push(e[n])),n++}else s=!0,r.push(i),n++}return{options:t,command:r}}var h5=R({path:["ssh"],meta:f5,schema:d5,handler:aP});import{spawn as mP}from"child_process";import D0 from"chalk";import{z as go}from"zod";var g5={name:"cp",description:"Copy files to/from a CVM via SCP",stability:"unstable",arguments:[{name:"source",description:"Source path. Local file or remote in format 'cvm-name:path'. Use ':path' to read cvm_id from phala.toml",required:!0,target:"source"},{name:"destination",description:"Destination path. Local file or remote in format 'cvm-name:path'. Use ':path' to read cvm_id from phala.toml",required:!0,target:"destination"}],options:[{name:"identity",shorthand:"i",description:"SSH identity file (private key)",type:"string",target:"identity"},{name:"port",shorthand:"p",description:"SSH port. Priority: CLI option > phala.toml gateway_port > 443",type:"string",target:"port"},{name:"gateway",shorthand:"g",description:"Gateway domain. Priority: CLI option > phala.toml gateway_domain > API. When specified, skips API call for offline usage",type:"string",target:"gatewayDomain"},{name:"recursive",shorthand:"r",description:"Recursively copy directories",type:"boolean",target:"recursive"},{name:"verbose",shorthand:"v",description:"Show verbose SCP details",type:"boolean",target:"verbose"},{name:"dry-run",description:"Print the SCP command without executing it",type:"boolean",target:"dryRun"}],examples:[{name:"Upload using phala.toml cvm_id",value:"phala cp ./local.txt :/root/remote.txt"},{name:"Upload to a specific CVM (queries API for gateway)",value:"phala cp ./local.txt app_123:/root/remote.txt"},{name:"Download from CVM",value:"phala cp app_123:/root/remote.txt ./local.txt"},{name:"Offline mode: copy without API (using phala.toml gateway)",value:"phala cp -g dstack-gateway.example.com -p 16185 ./file.txt app_123:/root/"},{name:"Upload directory recursively",value:"phala cp -r ./local_dir app_123:/root/remote_dir"},{name:"Copy with custom SSH key",value:"phala cp -i ~/.ssh/custom_key app_123:/root/file.txt ./file.txt"},{name:"Print the SCP command without executing",value:"phala cp ./local.txt app_123:/root/remote.txt --dry-run"}]},y5=go.object({source:go.string(),destination:go.string(),identity:go.string().optional(),port:go.string().default("443"),gatewayDomain:go.string().optional(),recursive:go.boolean().default(!1),verbose:go.boolean().default(!1),dryRun:go.boolean().default(!1)});function b5(e){let t=e.match(/^([^:]+):(.+)$/);return t?{isRemote:!0,cvmId:t[1],path:t[2]}:{isRemote:!1,path:e}}async function uP(e,t){try{let r=b5(e.source),o=b5(e.destination);if(r.isRemote===o.isRemote)return f.error("Either source or destination must be a remote path in format: cvm-id:path"),f.info("Examples:"),f.info(" phala cp ./local.txt app_123:/root/remote.txt"),f.info(" phala cp app_123:/root/remote.txt ./local.txt"),1;let n=r.isRemote?r:o,s;if(n.cvmId?s=tv(n.cvmId):s=t.cvmId?.id||t.cvmId?.uuid||t.cvmId?.app_id||t.cvmId?.instance_id,!s)return f.error(`No CVM ID provided. Either use format cvm-id:path or configure it in phala.toml.
|
|
392
|
+
Supported fields: id, uuid, app_id, or instance_id`),1;let i=e.gatewayDomain??t.projectConfig.gateway_domain,a=e.port!=="443"?e.port:t.projectConfig.gateway_port?.toString()??"443",c,m;if(i)m=i,c=s.startsWith("app_")?s.substring(4):s;else try{let _=await J(),k=await yl(_,s);c=k.appId,m=k.gatewayDomain,gl(k.baseImage)||f.warn("This CVM is not using a dev image. SCP access may not be available.")}catch(_){return _ instanceof On?f.error(_.message):_ instanceof zn?(f.error(_.message),f.info("Please start the CVM first using: phala cvms start")):f.error(_ instanceof Error?_.message:"Failed to fetch CVM info"),1}let u=hl(m),p=xl(a,u.port),l=bl(c,u.host),d=l5(e.identity);d?wl(d):f.warn("No default SSH key found. SCP will use ssh-agent or prompt for password."),e.verbose&&f.info(`Connecting to ${D0.cyan(l)}:${p}...`);let g=[...Cl(e.verbose,"30"),"-P",p];e.verbose&&g.unshift("-v"),d&&g.push("-i",d),e.recursive&&g.push("-r");let y=r.isRemote?`root@${l}:${r.path}`:r.path,b=o.isRemote?`root@${l}:${o.path}`:o.path;if(g.push(y,b),e.dryRun){let _=g.map(k=>vl(k));return t.stdout.write(`scp ${_.join(" ")}
|
|
393
|
+
`),0}let x=r.isRemote?"download":"upload",v=r.isRemote?o.path:r.path,S=r.isRemote?r.path:o.path;f.info(`${x==="upload"?"Uploading":"Downloading"} ${D0.cyan(v)} ${x==="upload"?"to":"from"} ${D0.cyan(S)}...`);let A=mP("scp",g,{stdio:"inherit"});return A.on("error",_=>{f.break(),f.error(`SCP failed: ${_.message}`)}),new Promise(_=>{A.on("close",k=>{f.break(),k===0?(f.success(`${x==="upload"?"Upload":"Download"} completed`),_(0)):(f.error(`Transfer failed with code ${k}`),_(k??1))})})}catch(r){return f.error("Failed to copy file via SCP"),r instanceof Error&&f.error(r.message),1}}var x5=R({path:["cp"],meta:g5,schema:y5,handler:uP});var v5={path:["self"],meta:{name:"self",description:"Self management commands",stability:"stable"}};import gP from"prompts";import{execa as yP}from"execa";import bP from"semver";import{z as Vi}from"zod";var pP={name:"json",shorthand:"j",description:"Output in JSON format",type:"boolean",target:"json",negatedName:"no-json"},lP={name:"yes",shorthand:"y",description:"Skip confirmation prompt",type:"boolean",target:"yes"},fP={name:"dry-run",description:"Print the update command without executing it",type:"boolean",target:"dryRun"},dP={name:"package-manager",description:"Override package manager (npm|pnpm|yarn|bun)",type:"string",target:"packageManager",aliases:["pm"],argumentName:"name"},hP={name:"channel",description:"Release channel/dist-tag (e.g. latest, beta, next)",type:"string",target:"channel",argumentName:"tag"},w5={name:"update",description:"Update the Phala CLI",stability:"stable",options:[pP,lP,fP,dP,hP],examples:[{name:"Update CLI",value:"phala self update"},{name:"Dry run (print command)",value:"phala self update --dry-run"},{name:"Use beta channel",value:"phala self update --channel beta"}]},C5=Vi.object({json:Vi.boolean().default(!1),yes:Vi.boolean().default(!1),dryRun:Vi.boolean().default(!1),packageManager:Vi.enum(["npm","pnpm","yarn","bun"]).optional(),channel:Vi.string().regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/).optional()});function dc(e){return typeof e=="string"&&e.trim().length>0}function xP(e){if(typeof e!="object"||e===null||!("code"in e))return;let t=e.code;return typeof t=="string"?t:void 0}function vP(e){let r=bP.parse(e)?.prerelease?.[0];return typeof r=="string"&&r.length>0?r:void 0}function wP(e,t,r,o){let n=[],s=o instanceof Error&&typeof o.message=="string"?o.message:String(o),i=xP(o);(/permission denied|eacces|not permitted/i.test(s)||o instanceof Error&&(i==="EACCES"||i==="EPERM"))&&n.push(`Permission error while running "${r}". Ensure your global install prefix is writable (avoid sudo if possible).`),/command not found|not recognized as an internal|ENOENT/i.test(s)&&n.push(`Package manager "${t}" not found. Install it or rerun with --package-manager npm|pnpm|yarn|bun.`);let a=e.NVM_DIR;t==="npm"&&dc(a)&&n.push(`Detected nvm (NVM_DIR=${a}). Make sure the intended Node version is active (e.g. "nvm use <version>") and your npm global bin is on PATH.`);let c=e.FNM_DIR;return t==="npm"&&dc(c)&&n.push(`Detected fnm (FNM_DIR=${c}). Ensure your shell has fnm env loaded (e.g. eval "$(fnm env)") so the correct node/npm are on PATH.`),n}function CP(e,t,r){if(dc(e))return e.trim();if(dc(r.PHALA_UPDATE_CHANNEL))return r.PHALA_UPDATE_CHANNEL;let o=Di("updateCheckChannel");return dc(o)?o:vP(t)??"latest"}async function EP(e,t){Pe(e.json);let r=t.cli?.packageName??"phala",o=t.cli?.runtime??Kp(),n=e.packageManager??tc(t.env,o),s=t.cli?.packageVersion??"0.0.0",i=CP(e.channel,s,t.env),a=i==="latest"?`${r}@latest`:`${r}@${i}`,c=rc(n,a),{command:m,args:u}=kv(n,a);if(e.json&&e.dryRun)return t.success({command:c,dryRun:!0}),0;if(e.dryRun)return t.stdout.write(`${c}
|
|
394
|
+
`),0;if(!(e.yes||e.json||t.stderr.isTTY!==!0||await gP({type:"confirm",name:"ok",message:`Run "${c}"?`,initial:!0}).then(l=>l.ok===!0)))return e.json&&t.success({command:c,ran:!1}),0;try{return await yP(m,u,{stdio:"inherit"}),e.json?(t.success({command:c,ran:!0}),0):(f.success("Update completed"),0)}catch(l){let d=wP(t.env,n,c,l);if(f.logDetailedError(l),t.fail("Self update failed",{command:c,hints:d.length>0?d:void 0}),!e.json&&d.length>0)for(let h of d)f.info(h);return 1}}var E5=R({path:["self","update"],meta:w5,schema:C5,handler:EP});var N0={group:v5,commands:[E5]};var AP=_P(import.meta.url),PP=kP(AP),TP=IP(PP,"../package.json"),El=JSON.parse(SP(TP,"utf-8")),$P="+e88f795",RP=`v${El.version}${$P}`,BP=Kp(),_e=new Zp;_e.registerCommand(Gv);_e.registerCommand(fw);_e.registerCommand(Vw);_e.registerCommand(Ww);_e.registerCommand(m5);_e.registerCommand(h5);_e.registerCommand(x5);_e.registerGroup(N0.group);for(let e of N0.commands)_e.registerCommand(e);_e.registerGroup(u0.group);for(let e of u0.commands)_e.registerCommand(e);_e.registerGroup(l0.group);for(let e of l0.commands)_e.registerCommand(e);_e.registerGroup(A0.group);for(let e of A0.commands)_e.registerCommand(e);_e.registerGroup(P0.group);for(let e of P0.commands)_e.registerCommand(e);_e.registerGroup(R0.group);for(let e of R0.commands)_e.registerCommand(e);_e.registerGroup(M0.group);for(let e of M0.commands)_e.registerCommand(e);process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function MP(){let e=await Rv({registry:_e,argv:process.argv.slice(2),executableName:El.name??"phala",version:RP,packageName:El.name??"phala",packageVersion:El.version,runtime:BP,cwd:process.cwd(),env:process.env,stdout:process.stdout,stderr:process.stderr,stdin:process.stdin});process.exit(e)}MP().catch(e=>{console.error("An error occurred:",e),process.exit(1)});
|
|
390
395
|
/*! Bundled license information:
|
|
391
396
|
|
|
392
397
|
@noble/hashes/esm/utils.js:
|