var AbsHelper=function(){"use strict";var ux=Object.defineProperty;var dx=(jt,gt,mn)=>gt in jt?ux(jt,gt,{enumerable:!0,configurable:!0,writable:!0,value:mn}):jt[gt]=mn;var Hn=(jt,gt,mn)=>dx(jt,typeof gt!="symbol"?gt+"":gt,mn);function jt(e){if(typeof window>"u")return;const t=n=>e(n.detail);return window.addEventListener("eip6963:announceProvider",t),window.dispatchEvent(new CustomEvent("eip6963:requestProvider")),()=>window.removeEventListener("eip6963:announceProvider",t)}function gt(){const e=new Set;let t=[];const n=()=>jt(s=>{t.some(({info:i})=>i.uuid===s.info.uuid)||(t=[...t,s],e.forEach(i=>i(t,{added:[s]})))});let r=n();return{_listeners(){return e},clear(){e.forEach(s=>s([],{removed:[...t]})),t=[]},destroy(){this.clear(),e.clear(),r==null||r()},findProvider({rdns:s}){return t.find(i=>i.info.rdns===s)},getProviders(){return t},reset(){this.clear(),r==null||r(),r=n()},subscribe(s,{emitImmediately:i}={}){return e.add(s),i&&s(t,{added:t}),()=>e.delete(s)}}}const mn="1.0.8";let Ne=class Fo extends Error{constructor(t,n={}){var a;const r=n.cause instanceof Fo?n.cause.details:(a=n.cause)!=null&&a.message?n.cause.message:n.details,s=n.cause instanceof Fo&&n.cause.docsPath||n.docsPath,i=[t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...s?[`Docs: https://abitype.dev${s}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${mn}`].join(` `);super(i),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"}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=s,this.metaMessages=n.metaMessages,this.shortMessage=t}};function wt(e,t){const n=e.exec(t);return n==null?void 0:n.groups}const ko=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Do=/^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)?$/,Uo=/^\(.+?\).*?$/,zo=/^tuple(?(\[(\d*)\])*)$/;function di(e){let t=e.type;if(zo.test(e.type)&&"components"in e){t="(";const n=e.components.length;for(let s=0;s[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)$/;function Qf(e){return _o.test(e)}function Jf(e){return wt(_o,e)}const Ho=/^event (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)$/;function ep(e){return Ho.test(e)}function tp(e){return wt(Ho,e)}const Go=/^function (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)(?: (?external|public{1}))?(?: (?pure|view|nonpayable|payable{1}))?(?: returns\s?\((?.*?)\))?$/;function np(e){return Go.test(e)}function rp(e){return wt(Go,e)}const qo=/^struct (?[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?.*?)\}$/;function Qr(e){return qo.test(e)}function sp(e){return wt(qo,e)}const jo=/^constructor\((?.*?)\)(?:\s(?payable{1}))?$/;function ip(e){return jo.test(e)}function ap(e){return wt(jo,e)}const Vo=/^fallback\(\) external(?:\s(?payable{1}))?$/;function op(e){return Vo.test(e)}function cp(e){return wt(Vo,e)}const up=/^receive\(\) external payable$/;function dp(e){return up.test(e)}const Ko=new Set(["memory","indexed","storage","calldata"]),lp=new Set(["indexed"]),li=new Set(["calldata","memory","storage"]);class fp extends Ne{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"})}}class pp extends Ne{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"})}}class yp extends Ne{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"})}}class hp extends Ne{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"})}}class mp extends Ne{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class bp extends Ne{constructor({param:t,name:n}){super("Invalid ABI parameter.",{details:t,metaMessages:[`"${n}" 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"})}}class gp extends Ne{constructor({param:t,type:n,modifier:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${r}" not allowed${n?` in "${n}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}}class wp extends Ne{constructor({param:t,type:n,modifier:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${r}" not allowed${n?` in "${n}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${r}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}}class xp extends Ne{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"})}}class bn extends Ne{constructor({signature:t,type:n}){super(`Invalid ${n} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class vp extends Ne{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class Ep extends Ne{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"})}}class Tp extends Ne{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"})}}class Ap extends Ne{constructor({current:t,depth:n}){super("Unbalanced parentheses.",{metaMessages:[`"${t.trim()}" has too many ${n>0?"opening":"closing"} parentheses.`],details:`Depth "${n}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}function Ip(e,t,n){let r="";if(n)for(const s of Object.entries(n)){if(!s)continue;let i="";for(const a of s[1])i+=`[${a.type}${a.name?`:${a.name}`:""}]`;r+=`(${s[0]}{${i}})`}return t?`${t}:${e}${r}`:e}const fi=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 pi(e,t={}){if(np(e))return Bp(e,t);if(ep(e))return Pp(e,t);if(Qf(e))return Sp(e,t);if(ip(e))return Cp(e,t);if(op(e))return Mp(e);if(dp(e))return{type:"receive",stateMutability:"payable"};throw new vp({signature:e})}function Bp(e,t={}){const n=rp(e);if(!n)throw new bn({signature:e,type:"function"});const r=$e(n.parameters),s=[],i=r.length;for(let o=0;o[a-zA-Z$_][a-zA-Z0-9$_]*)(?(?:\[\d*?\])+?)?(?:\s(?calldata|indexed|memory|storage{1}))?(?:\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Rp=/^\((?.+?)\)(?(?:\[\d*?\])+?)?(?:\s(?calldata|indexed|memory|storage{1}))?(?:\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Lp=/^u?int$/;function xt(e,t){var l,p;const n=Ip(e,t==null?void 0:t.type,t==null?void 0:t.structs);if(fi.has(n))return fi.get(n);const r=Uo.test(e),s=wt(r?Rp:Np,e);if(!s)throw new mp({param:e});if(s.name&&Fp(s.name))throw new bp({param:e,name:s.name});const i=s.name?{name:s.name}:{},a=s.modifier==="indexed"?{indexed:!0}:{},o=(t==null?void 0:t.structs)??{};let c,d={};if(r){c="tuple";const h=$e(s.type),b=[],g=h.length;for(let P=0;P[a-zA-Z$_][a-zA-Z0-9$_]*)(?(?:\[\d*?\])+?)?$/;function Yo(e,t,n=new Set){const r=[],s=e.length;for(let i=0;it(e,i)}function tt(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new Yp(e.type);return`${e.name}(${Jr(e.inputs,{includeName:t})})`}function Jr(e,{includeName:t=!1}={}){return e?e.map(n=>Dp(n,{includeName:t})).join(t?", ":","):""}function Dp(e,{includeName:t}){return e.type.startsWith("tuple")?`(${Jr(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}function ke(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function le(e){return ke(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}const Jo="2.32.0";let qn={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:n})=>t?`${e??"https://viem.sh"}${t}${n?`#${n}`:""}`:void 0,version:`viem@${Jo}`},N=class $o extends Error{constructor(t,n={}){var o;const r=(()=>{var c;return n.cause instanceof $o?n.cause.details:(c=n.cause)!=null&&c.message?n.cause.message:n.details})(),s=n.cause instanceof $o&&n.cause.docsPath||n.docsPath,i=(o=qn.getDocsUrl)==null?void 0:o.call(qn,{...n,docsPath:s}),a=[t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...i?[`Docs: ${i}`]:[],...r?[`Details: ${r}`]:[],...qn.version?[`Version: ${qn.version}`]:[]].join(` `);super(a,n.cause?{cause:n.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=r,this.docsPath=s,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Jo}walk(t){return ec(this,t)}};function ec(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?ec(e.cause,t):t?null:e}class tc extends N{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(` `),{docsPath:t,name:"AbiConstructorNotFoundError"})}}class es extends N{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(` `),{docsPath:t,name:"AbiConstructorParamsNotFoundError"})}}class nc extends N{constructor({data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for given parameters.`].join(` `),{metaMessages:[`Params: (${Jr(n,{includeName:!0})})`,`Data: ${t} (${r} 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=n,this.size=r}}class jn extends N{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}}class Up extends N{constructor({expectedLength:t,givenLength:n,type:r}){super([`ABI encoding array length mismatch for type ${r}.`,`Expected length: ${t}`,`Given length: ${n}`].join(` `),{name:"AbiEncodingArrayLengthMismatchError"})}}class zp extends N{constructor({expectedSize:t,value:n}){super(`Size of bytes "${n}" (bytes${le(n)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class _p extends N{constructor({expectedLength:t,givenLength:n}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${t}`,`Given length (values): ${n}`].join(` `),{name:"AbiEncodingLengthMismatchError"})}}class Hp extends N{constructor(t,{docsPath:n}){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(` `),{docsPath:n,name:"AbiErrorInputsNotFoundError"})}}class rc extends N{constructor(t,{docsPath:n}={}){super([`Error ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it."].join(` `),{docsPath:n,name:"AbiErrorNotFoundError"})}}class sc extends N{constructor(t,{docsPath:n}){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(` `),{docsPath:n,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=t}}class Gp extends N{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}}class ic extends N{constructor(t,{docsPath:n}){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(` `),{docsPath:n,name:"AbiEventSignatureNotFoundError"})}}class ac extends N{constructor(t,{docsPath:n}={}){super([`Event ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join(` `),{docsPath:n,name:"AbiEventNotFoundError"})}}class gn extends N{constructor(t,{docsPath:n}={}){super([`Function ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(` `),{docsPath:n,name:"AbiFunctionNotFoundError"})}}class oc extends N{constructor(t,{docsPath:n}){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(` `),{docsPath:n,name:"AbiFunctionOutputsNotFoundError"})}}class qp extends N{constructor(t,{docsPath:n}){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(` `),{docsPath:n,name:"AbiFunctionSignatureNotFoundError"})}}class jp extends N{constructor(t,n){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${tt(t.abiItem)}\`, and`,`\`${n.type}\` in \`${tt(n.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}let Vp=class extends N{constructor({expectedSize:t,givenSize:n}){super(`Expected bytes${t}, got bytes${n}.`,{name:"BytesSizeMismatchError"})}};class Vn extends N{constructor({abiItem:t,data:n,params:r,size:s}){super([`Data size of ${s} bytes is too small for non-indexed event parameters.`].join(` `),{metaMessages:[`Params: (${Jr(r,{includeName:!0})})`,`Data: ${n} (${s} 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=n,this.params=r,this.size=s}}class ts extends N{constructor({abiItem:t,param:n}){super([`Expected a topic for indexed event parameter${n.name?` "${n.name}"`:""} on event "${tt(t,{includeName:!0})}".`].join(` `),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t}}class Kp extends N{constructor(t,{docsPath:n}){super([`Type "${t}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(` `),{docsPath:n,name:"InvalidAbiEncodingType"})}}class Zp extends N{constructor(t,{docsPath:n}){super([`Type "${t}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(` `),{docsPath:n,name:"InvalidAbiDecodingType"})}}let cc=class extends N{constructor(t){super([`Value "${t}" is not a valid array.`].join(` `),{name:"InvalidArrayError"})}};class Yp extends N{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(` `),{name:"InvalidDefinitionTypeError"})}}class Wp extends N{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}let uc=class extends N{constructor({offset:t,position:n,size:r}){super(`Slice ${n==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${r}).`,{name:"SliceOffsetOutOfBoundsError"})}},dc=class extends N{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (${t}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}};class lc extends N{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} is expected to be ${n} ${r} long, but is ${t} ${r} long.`,{name:"InvalidBytesLengthError"})}}function Vt(e,{dir:t,size:n=32}={}){return typeof e=="string"?Lt(e,{dir:t,size:n}):Xp(e,{dir:t,size:n})}function Lt(e,{dir:t,size:n=32}={}){if(n===null)return e;const r=e.replace("0x","");if(r.length>n*2)throw new dc({size:Math.ceil(r.length/2),targetSize:n,type:"hex"});return`0x${r[t==="right"?"padEnd":"padStart"](n*2,"0")}`}function Xp(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new dc({size:e.length,targetSize:n,type:"bytes"});const r=new Uint8Array(n);for(let s=0;st)throw new ty({givenSize:le(e),maxSize:t})}function ns(e,t){const n=typeof t=="string"?{to:t}:t,r=n.to;return r==="number"?Be(e,n):r==="bigint"?se(e,n):r==="string"?ny(e,n):r==="boolean"?pc(e,n):Ee(e,n)}function se(e,t={}){const{signed:n}=t;t.size&&qe(e,{size:t.size});const r=BigInt(e);if(!n)return r;const s=(e.length-2)/2,i=(1n<t.toString(16).padStart(2,"0"));function te(e,t={}){return typeof e=="number"||typeof e=="bigint"?j(e,t):typeof e=="string"?wn(e,t):typeof e=="boolean"?yc(e,t):fe(e,t)}function yc(e,t={}){const n=`0x${Number(e)}`;return typeof t.size=="number"?(qe(n,{size:t.size}),Vt(n,{size:t.size})):n}function fe(e,t={}){let n="";for(let s=0;si||s=vt.zero&&e<=vt.nine)return e-vt.zero;if(e>=vt.A&&e<=vt.F)return e-(vt.A-10);if(e>=vt.a&&e<=vt.f)return e-(vt.a-10)}function Ee(e,t={}){let n=e;t.size&&(qe(n,{size:t.size}),n=Vt(n,{dir:"right",size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);const s=r.length/2,i=new Uint8Array(s);for(let a=0,o=0;a>mc&rs)}:{h:Number(e>>mc&rs)|0,l:Number(e&rs)|0}}function uy(e,t=!1){const n=e.length;let r=new Uint32Array(n),s=new Uint32Array(n);for(let i=0;ie<>>32-n,ly=(e,t,n)=>t<>>32-n,fy=(e,t,n)=>t<>>64-n,py=(e,t,n)=>e<>>64-n,xn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function hi(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Kn(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function nt(e,...t){if(!hi(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 yy(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Kn(e.outputLen),Kn(e.blockLen)}function vn(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 bc(e,t){nt(e);const n=t.outputLen;if(e.length>>t}const my=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function by(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function gy(e){for(let t=0;te:gy,wc=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",wy=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Zn(e){if(nt(e),wc)return e.toHex();let t="";for(let n=0;n=Et._0&&e<=Et._9)return e-Et._0;if(e>=Et.A&&e<=Et.F)return e-(Et.A-10);if(e>=Et.a&&e<=Et.f)return e-(Et.a-10)}function bi(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(wc)return Uint8Array.fromHex(e);const t=e.length,n=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const r=new Uint8Array(n);for(let s=0,i=0;se().update(ss(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function vy(e=32){if(xn&&typeof xn.getRandomValues=="function")return xn.getRandomValues(new Uint8Array(e));if(xn&&typeof xn.randomBytes=="function")return Uint8Array.from(xn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}const Ey=BigInt(0),Yn=BigInt(1),Ty=BigInt(2),Ay=BigInt(7),Iy=BigInt(256),By=BigInt(113),Ec=[],Tc=[],Ac=[];for(let e=0,t=Yn,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Ec.push(2*(5*r+n)),Tc.push((e+1)*(e+2)/2%64);let s=Ey;for(let i=0;i<7;i++)t=(t<>Ay)*By)%Iy,t&Ty&&(s^=Yn<<(Yn<n>32?fy(e,t,n):dy(e,t,n),Pc=(e,t,n)=>n>32?py(e,t,n):ly(e,t,n);function Cy(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let a=0;a<10;a++)n[a]=e[a]^e[a+10]^e[a+20]^e[a+30]^e[a+40];for(let a=0;a<10;a+=2){const o=(a+8)%10,c=(a+2)%10,d=n[c],u=n[c+1],l=Bc(d,u,1)^n[o],p=Pc(d,u,1)^n[o+1];for(let h=0;h<50;h+=10)e[a+h]^=l,e[a+h+1]^=p}let s=e[2],i=e[3];for(let a=0;a<24;a++){const o=Tc[a],c=Bc(s,i,o),d=Pc(s,i,o),u=Ec[a];s=e[u],i=e[u+1],e[u]=c,e[u+1]=d}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)n[o]=e[a+o];for(let o=0;o<10;o++)e[a+o]^=~n[(o+2)%10]&n[(o+4)%10]}e[0]^=Py[r],e[1]^=Sy[r]}En(n)}let My=class Xf extends gi{constructor(t,n,r,s=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=s,this.rounds=i,Kn(r),!(0=r&&this.keccak();const a=Math.min(r-this.posOut,i-s);t.set(n.subarray(this.posOut,this.posOut+a),s),this.posOut+=a,s+=a}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Kn(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(bc(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,En(this.state)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:s,rounds:i,enableXOF:a}=this;return t||(t=new Xf(n,r,s,a,i)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=i,t.suffix=r,t.outputLen=s,t.enableXOF=a,t.destroyed=this.destroyed,t}};const Ny=(e,t,n)=>vc(()=>new My(t,e,n)),Ry=Ny(1,136,256/8);function he(e,t){const n=t||"hex",r=Ry(ke(e,{strict:!1})?je(e):e);return n==="bytes"?r:te(r)}const Ly=e=>he(je(e));function Oy(e){return Ly(e)}function Fy(e){let t=!0,n="",r=0,s="",i=!1;for(let a=0;a{const t=typeof e=="string"?e:Xr(e);return Fy(t)};function Sc(e){return Oy($y(e))}const is=Sc;let be=class extends N{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"})}},as=class extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const n=super.get(t);return super.has(t)&&n!==void 0&&(this.delete(t),super.set(t,n)),n}set(t,n){if(super.set(t,n),this.maxSize&&this.size>this.maxSize){const r=this.keys().next().value;r&&this.delete(r)}return this}};const wi=new as(8192);function Wn(e,t){if(wi.has(`${e}.${t}`))return wi.get(`${e}.${t}`);const n=e.substring(2).toLowerCase(),r=he(Kt(n),"bytes"),s=n.split("");for(let a=0;a<40;a+=2)r[a>>1]>>4>=8&&s[a]&&(s[a]=s[a].toUpperCase()),(r[a>>1]&15)>=8&&s[a+1]&&(s[a+1]=s[a+1].toUpperCase());const i=`0x${s.join("")}`;return wi.set(`${e}.${t}`,i),i}function Xn(e,t){if(!ce(e,{strict:!1}))throw new be({address:e});return Wn(e,t)}const ky=/^0x[a-fA-F0-9]{40}$/,xi=new as(8192);function ce(e,t){const{strict:n=!0}=t??{},r=`${e}.${n}`;if(xi.has(r))return xi.get(r);const s=ky.test(e)?e.toLowerCase()===e?!0:n?Wn(e)===e:!0:!1;return xi.set(r,s),s}function Ue(e){return typeof e[0]=="string"?Ve(e):Dy(e)}function Dy(e){let t=0;for(const s of e)t+=s.length;const n=new Uint8Array(t);let r=0;for(const s of e)n.set(s,r),r+=s.length;return n}function Ve(e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}function Yt(e,t,n,{strict:r}={}){return ke(e,{strict:!1})?os(e,t,n,{strict:r}):Nc(e,t,n,{strict:r})}function Cc(e,t){if(typeof t=="number"&&t>0&&t>le(e)-1)throw new uc({offset:t,position:"start",size:le(e)})}function Mc(e,t,n){if(typeof t=="number"&&typeof n=="number"&&le(e)!==n-t)throw new uc({offset:n,position:"end",size:le(e)})}function Nc(e,t,n,{strict:r}={}){Cc(e,t);const s=e.slice(t,n);return r&&Mc(s,t,n),s}function os(e,t,n,{strict:r}={}){Cc(e,t);const s=`0x${e.replace("0x","").slice((t??0)*2,(n??e.length)*2)}`;return r&&Mc(s,t,n),s}const Uy=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Rc=/^(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 Re(e,t){if(e.length!==t.length)throw new _p({expectedLength:e.length,givenLength:t.length});const n=zy({params:e,values:t}),r=Ei(n);return r.length===0?"0x":r}function zy({params:e,values:t}){const n=[];for(let r=0;r0?Ue([o,a]):o}}if(s)return{dynamic:!0,encoded:a}}return{dynamic:!1,encoded:Ue(i.map(({encoded:a})=>a))}}function Gy(e,{param:t}){const[,n]=t.type.split("bytes"),r=le(e);if(!n){let s=e;return r%32!==0&&(s=Lt(s,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Ue([Lt(j(r,{size:32})),s])}}if(r!==Number.parseInt(n))throw new zp({expectedSize:Number.parseInt(n),value:e});return{dynamic:!1,encoded:Lt(e,{dir:"right"})}}function qy(e){if(typeof e!="boolean")throw new N(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Lt(yc(e))}}function jy(e,{signed:t,size:n=256}){if(typeof n=="number"){const r=2n**(BigInt(n)-(t?1n:0n))-1n,s=t?-r-1n:0n;if(e>r||es))}}function Ti(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}const Ot=e=>Yt(Sc(e),0,4);function Ft(e){const{abi:t,args:n=[],name:r}=e,s=ke(r,{strict:!1}),i=t.filter(o=>s?o.type==="function"?Ot(o)===r:o.type==="event"?is(o)===r:!1:"name"in o&&o.name===r);if(i.length===0)return;if(i.length===1)return i[0];let a;for(const o of i){if(!("inputs"in o))continue;if(!n||n.length===0){if(!o.inputs||o.inputs.length===0)return o;continue}if(!o.inputs||o.inputs.length===0||o.inputs.length!==n.length)continue;if(n.every((d,u)=>{const l="inputs"in o&&o.inputs[u];return l?Ai(d,l):!1})){if(a&&"inputs"in a&&a.inputs){const d=Lc(o.inputs,a.inputs,n);if(d)throw new jp({abiItem:o,type:d[0]},{abiItem:a,type:d[1]})}a=o}}return a||i[0]}function Ai(e,t){const n=typeof e,r=t.type;switch(r){case"address":return ce(e,{strict:!1});case"bool":return n==="boolean";case"function":return n==="string";case"string":return n==="string";default:return r==="tuple"&&"components"in t?Object.values(t.components).every((s,i)=>Ai(Object.values(e)[i],s)):/^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(r)?n==="number"||n==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)?Array.isArray(e)&&e.every(s=>Ai(s,{...t,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function Lc(e,t,n){for(const r in e){const s=e[r],i=t[r];if(s.type==="tuple"&&i.type==="tuple"&&"components"in s&&"components"in i)return Lc(s.components,i.components,n[r]);const a=[s.type,i.type];if(a.includes("address")&&a.includes("bytes20")?!0:a.includes("address")&&a.includes("string")?ce(n[r],{strict:!1}):a.includes("address")&&a.includes("bytes")?ce(n[r],{strict:!1}):!1)return a}}const Oc="/docs/contract/encodeEventTopics";function Qn(e){var c;const{abi:t,eventName:n,args:r}=e;let s=t[0];if(n){const d=Ft({abi:t,name:n});if(!d)throw new ac(n,{docsPath:Oc});s=d}if(s.type!=="event")throw new ac(void 0,{docsPath:Oc});const i=tt(s),a=is(i);let o=[];if(r&&"inputs"in s){const d=(c=s.inputs)==null?void 0:c.filter(l=>"indexed"in l&&l.indexed),u=Array.isArray(r)?r:Object.values(r).length>0?(d==null?void 0:d.map(l=>r[l.name]))??[]:[];u.length>0&&(o=(d==null?void 0:d.map((l,p)=>Array.isArray(u[p])?u[p].map((h,b)=>Fc({param:l,value:u[p][b]})):typeof u[p]<"u"&&u[p]!==null?Fc({param:l,value:u[p]}):null))??[])}return[a,...o]}function Fc({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return he(je(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new Wp(e.type);return Re([e],[t])}function cs(e,{method:t}){var r,s;const n={};return e.transport.type==="fallback"&&((s=(r=e.transport).onResponse)==null||s.call(r,({method:i,response:a,status:o,transport:c})=>{o==="success"&&t===i&&(n[a]=c.request)})),i=>n[i]||e.request}async function $c(e,t){const{address:n,abi:r,args:s,eventName:i,fromBlock:a,strict:o,toBlock:c}=t,d=cs(e,{method:"eth_newFilter"}),u=i?Qn({abi:r,args:s,eventName:i}):void 0,l=await e.request({method:"eth_newFilter",params:[{address:n,fromBlock:typeof a=="bigint"?j(a):a,toBlock:typeof c=="bigint"?j(c):c,topics:u}]});return{abi:r,args:s,eventName:i,id:l,request:d(l),strict:!!o,type:"event"}}function ee(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}const kc="/docs/contract/encodeFunctionData";function Zy(e){const{abi:t,args:n,functionName:r}=e;let s=t[0];if(r){const i=Ft({abi:t,args:n,name:r});if(!i)throw new gn(r,{docsPath:kc});s=i}if(s.type!=="function")throw new gn(void 0,{docsPath:kc});return{abi:[s],functionName:Ot(tt(s))}}function ge(e){const{args:t}=e,{abi:n,functionName:r}=(()=>{var o;return e.abi.length===1&&((o=e.functionName)!=null&&o.startsWith("0x"))?e:Zy(e)})(),s=n[0],i=r,a="inputs"in s&&s.inputs?Re(s.inputs,t??[]):void 0;return Ve([i,a??"0x"])}const Dc={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."},Uc={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},Yy={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"};class zc extends N{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class _c extends N{constructor({length:t,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class Wy extends N{constructor({count:t,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const Xy={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 Wy({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new _c({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new zc({offset:e});const 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 zc({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const 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();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function us(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(Xy);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}function Qy(e,t={}){typeof t.size<"u"&&qe(e,{size:t.size});const n=fe(e,t);return se(n,t)}function Jy(e,t={}){let n=e;if(typeof t.size<"u"&&(qe(n,{size:t.size}),n=De(n)),n.length>1||n[0]>1)throw new Qp(n);return!!n[0]}function Tt(e,t={}){typeof t.size<"u"&&qe(e,{size:t.size});const n=fe(e,t);return Be(n,t)}function Hc(e,t={}){let n=e;return typeof t.size<"u"&&(qe(n,{size:t.size}),n=De(n,{dir:"right"})),new TextDecoder().decode(n)}function Wt(e,t){const n=typeof t=="string"?Ee(t):t,r=us(n);if(le(n)===0&&e.length>0)throw new jn;if(le(t)&&le(t)<32)throw new nc({data:typeof t=="string"?t:fe(t),params:e,size:le(t)});let s=0;const i=[];for(let a=0;a48?Qy(s,{signed:n}):Tt(s,{signed:n}),32]}function ih(e,t,{staticPosition:n}){const r=t.components.length===0||t.components.some(({name:a})=>!a),s=r?[]:{};let i=0;if(Jn(t)){const a=Tt(e.readBytes(Ii)),o=n+a;for(let c=0;ca.type==="error"&&r===Ot(tt(a)));if(!i)throw new sc(r,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:i,args:"inputs"in i&&i.inputs&&i.inputs.length>0?Wt(i.inputs,Yt(n,4)):void 0,errorName:i.name}}const me=(e,t,n)=>JSON.stringify(e,(r,s)=>typeof s=="bigint"?s.toString():s,n);function jc({abiItem:e,args:t,includeFunctionName:n=!0,includeName:r=!1}){if("name"in e&&"inputs"in e&&e.inputs)return`${n?e.name:""}(${e.inputs.map((s,i)=>`${r&&s.name?`${s.name}: `:""}${typeof t[i]=="object"?me(t[i]):t[i]}`).join(", ")})`}const oh={gwei:9,wei:18},ch={ether:-9,wei:9};function Vc(e,t){let n=e.toString();const r=n.startsWith("-");r&&(n=n.slice(1)),n=n.padStart(t,"0");let[s,i]=[n.slice(0,n.length-t),n.slice(n.length-t)];return i=i.replace(/(0+)$/,""),`${r?"-":""}${s||"0"}${i?`.${i}`:""}`}function Bi(e,t="wei"){return Vc(e,oh[t])}function Pe(e,t="wei"){return Vc(e,ch[t])}class uh extends N{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}}class dh extends N{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}function Kc(e){return e.reduce((t,{slot:n,value:r})=>`${t} ${n}: ${r} `,"")}function lh(e){return e.reduce((t,{address:n,...r})=>{let s=`${t} ${n}: `;return r.nonce&&(s+=` nonce: ${r.nonce} `),r.balance&&(s+=` balance: ${r.balance} `),r.code&&(s+=` code: ${r.code} `),r.state&&(s+=` state: `,s+=Kc(r.state)),r.stateDiff&&(s+=` stateDiff: `,s+=Kc(r.stateDiff)),s},` State Override: `).slice(0,-1)}function er(e){const t=Object.entries(e).map(([r,s])=>s===void 0||s===!1?null:[r,s]).filter(Boolean),n=t.reduce((r,[s])=>Math.max(r,s.length),0);return t.map(([r,s])=>` ${`${r}:`.padEnd(n+1)} ${s}`).join(` `)}class fh extends N{constructor(){super(["Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.","Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others."].join(` `),{name:"FeeConflictError"})}}class ph extends N{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class yh extends N{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",er(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"})}}class hh extends N{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}class mh extends N{constructor(t,{account:n,docsPath:r,chain:s,data:i,gas:a,gasPrice:o,maxFeePerGas:c,maxPriorityFeePerGas:d,nonce:u,to:l,value:p}){var b;const h=er({chain:s&&`${s==null?void 0:s.name} (id: ${s==null?void 0:s.id})`,from:n==null?void 0:n.address,to:l,value:typeof p<"u"&&`${Bi(p)} ${((b=s==null?void 0:s.nativeCurrency)==null?void 0:b.symbol)||"ETH"}`,data:i,gas:a,gasPrice:typeof o<"u"&&`${Pe(o)} gwei`,maxFeePerGas:typeof c<"u"&&`${Pe(c)} gwei`,maxPriorityFeePerGas:typeof d<"u"&&`${Pe(d)} gwei`,nonce:u});super(t.shortMessage,{cause:t,docsPath:r,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Request Arguments:",h].filter(Boolean),name:"TransactionExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}class Zc extends N{constructor({blockHash:t,blockNumber:n,blockTag:r,hash:s,index:i}){let a="Transaction";r&&i!==void 0&&(a=`Transaction at block time "${r}" at index "${i}"`),t&&i!==void 0&&(a=`Transaction at block hash "${t}" at index "${i}"`),n&&i!==void 0&&(a=`Transaction at block number "${n}" at index "${i}"`),s&&(a=`Transaction with hash "${s}"`),super(`${a} could not be found.`,{name:"TransactionNotFoundError"})}}class Yc extends N{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"})}}class bh extends N{constructor({hash:t}){super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}const gh=e=>e,tr=e=>e;class Wc extends N{constructor(t,{account:n,docsPath:r,chain:s,data:i,gas:a,gasPrice:o,maxFeePerGas:c,maxPriorityFeePerGas:d,nonce:u,to:l,value:p,stateOverride:h}){var P;const b=n?ee(n):void 0;let g=er({from:b==null?void 0:b.address,to:l,value:typeof p<"u"&&`${Bi(p)} ${((P=s==null?void 0:s.nativeCurrency)==null?void 0:P.symbol)||"ETH"}`,data:i,gas:a,gasPrice:typeof o<"u"&&`${Pe(o)} gwei`,maxFeePerGas:typeof c<"u"&&`${Pe(c)} gwei`,maxPriorityFeePerGas:typeof d<"u"&&`${Pe(d)} gwei`,nonce:u});h&&(g+=` ${lh(h)}`),super(t.shortMessage,{cause:t,docsPath:r,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}}class wh extends N{constructor(t,{abi:n,args:r,contractAddress:s,docsPath:i,functionName:a,sender:o}){const c=Ft({abi:n,args:r,name:a}),d=c?jc({abiItem:c,args:r,includeFunctionName:!1,includeName:!1}):void 0,u=c?tt(c,{includeName:!0}):void 0,l=er({address:s&&gh(s),function:u,args:d&&d!=="()"&&`${[...Array((a==null?void 0:a.length)??0).keys()].map(()=>" ").join("")}${d}`,sender:o});super(t.shortMessage||`An unknown error occurred while executing the contract function "${a}".`,{cause:t,docsPath:i,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],l&&"Contract Call:",l].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=n,this.args=r,this.cause=t,this.contractAddress=s,this.functionName=a,this.sender=o}}class Pi extends N{constructor({abi:t,data:n,functionName:r,message:s}){let i,a,o,c;if(n&&n!=="0x")try{a=qc({abi:t,data:n});const{abiItem:u,errorName:l,args:p}=a;if(l==="Error")c=p[0];else if(l==="Panic"){const[h]=p;c=Dc[h]}else{const h=u?tt(u,{includeName:!0}):void 0,b=u&&p?jc({abiItem:u,args:p,includeFunctionName:!1,includeName:!1}):void 0;o=[h?`Error: ${h}`:"",b&&b!=="()"?` ${[...Array((l==null?void 0:l.length)??0).keys()].map(()=>" ").join("")}${b}`:""]}}catch(u){i=u}else s&&(c=s);let d;i instanceof sc&&(d=i.signature,o=[`Unable to decode signature "${d}" 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=${d}.`]),super(c&&c!=="execution reverted"||d?[`The contract function "${r}" reverted with the following ${d?"signature":"reason"}:`,c||d].join(` `):`The contract function "${r}" reverted.`,{cause:i,metaMessages:o,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=a,this.raw=n,this.reason=c,this.signature=d}}class xh extends N{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"})}}class vh extends N{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"})}}class ds extends N{constructor({data:t,message:n}){super(n||"",{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}}class Xt extends N{constructor({body:t,cause:n,details:r,headers:s,status:i,url:a}){super("HTTP request failed.",{cause:n,details:r,metaMessages:[i&&`Status: ${i}`,`URL: ${tr(a)}`,t&&`Request body: ${me(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=s,this.status=i,this.url=a}}class ls extends N{constructor({body:t,error:n,url:r}){super("RPC Request failed.",{cause:n,details:n.message,metaMessages:[`URL: ${tr(r)}`,`Request body: ${me(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=n.code,this.data=n.data}}class Xc extends N{constructor({body:t,url:n}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${tr(n)}`,`Request body: ${me(t)}`],name:"TimeoutError"})}}const Eh=-1;class Le extends N{constructor(t,{code:n,docsPath:r,metaMessages:s,name:i,shortMessage:a}){super(a,{cause:t,docsPath:r,metaMessages:s||(t==null?void 0:t.metaMessages),name:i||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||t.name,this.code=t instanceof ls?t.code:n??Eh}}class Te extends Le{constructor(t,n){super(t,n),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=n.data}}class nr extends Le{constructor(t){super(t,{code:nr.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}}Object.defineProperty(nr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});class rr extends Le{constructor(t){super(t,{code:rr.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}}Object.defineProperty(rr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});class sr extends Le{constructor(t,{method:n}={}){super(t,{code:sr.code,name:"MethodNotFoundRpcError",shortMessage:`The method${n?` "${n}"`:""} does not exist / is not available.`})}}Object.defineProperty(sr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});class ir extends Le{constructor(t){super(t,{code:ir.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(` `)})}}Object.defineProperty(ir,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class Qt extends Le{constructor(t){super(t,{code:Qt.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}}Object.defineProperty(Qt,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});class Jt extends Le{constructor(t){super(t,{code:Jt.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(` `)})}}Object.defineProperty(Jt,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});class ar extends Le{constructor(t){super(t,{code:ar.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}}Object.defineProperty(ar,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});class or extends Le{constructor(t){super(t,{code:or.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}}Object.defineProperty(or,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});class cr extends Le{constructor(t){super(t,{code:cr.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}}Object.defineProperty(cr,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});class en extends Le{constructor(t,{method:n}={}){super(t,{code:en.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${n?` "${n}"`:""} is not supported.`})}}Object.defineProperty(en,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});class An extends Le{constructor(t){super(t,{code:An.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}}Object.defineProperty(An,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});class ur extends Le{constructor(t){super(t,{code:ur.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}}Object.defineProperty(ur,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});class In extends Te{constructor(t){super(t,{code:In.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}}Object.defineProperty(In,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});class dr extends Te{constructor(t){super(t,{code:dr.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}}Object.defineProperty(dr,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});class lr extends Te{constructor(t,{method:n}={}){super(t,{code:lr.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${n?` " ${n}"`:""}.`})}}Object.defineProperty(lr,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});class fr extends Te{constructor(t){super(t,{code:fr.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}}Object.defineProperty(fr,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});class pr extends Te{constructor(t){super(t,{code:pr.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}}Object.defineProperty(pr,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});class yr extends Te{constructor(t){super(t,{code:yr.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}}Object.defineProperty(yr,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});class Bn extends Te{constructor(t){super(t,{code:Bn.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}}Object.defineProperty(Bn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});class hr extends Te{constructor(t){super(t,{code:hr.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}}Object.defineProperty(hr,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});class mr extends Te{constructor(t){super(t,{code:mr.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}}Object.defineProperty(mr,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});class br extends Te{constructor(t){super(t,{code:br.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}}Object.defineProperty(br,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});class gr extends Te{constructor(t){super(t,{code:gr.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}}Object.defineProperty(gr,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});class wr extends Te{constructor(t){super(t,{code:wr.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}}Object.defineProperty(wr,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});class Pn extends Te{constructor(t){super(t,{code:Pn.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}}Object.defineProperty(Pn,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});class Th extends Le{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}const Ah=3;function At(e,{abi:t,address:n,args:r,docsPath:s,functionName:i,sender:a}){const o=e instanceof ds?e:e instanceof N?e.walk(b=>"data"in b)||e.walk():{},{code:c,data:d,details:u,message:l,shortMessage:p}=o,h=e instanceof jn?new xh({functionName:i}):[Ah,Qt.code].includes(c)&&(d||u||l||p)?new Pi({abi:t,data:typeof d=="object"?d.data:d,functionName:i,message:o instanceof ls?u:p??l}):e;return new wh(h,{abi:t,args:r,contractAddress:n,docsPath:s,functionName:i,sender:a})}function Ih(e){const t=he(`0x${e.substring(4)}`).substring(26);return Wn(`0x${t}`)}async function Bh({hash:e,signature:t}){const n=ke(e)?e:te(e),{secp256k1:r}=await Promise.resolve().then(()=>tw);return`0x${(()=>{if(typeof t=="object"&&"r"in t&&"s"in t){const{r:d,s:u,v:l,yParity:p}=t,h=Number(p??l),b=Qc(h);return new r.Signature(se(d),se(u)).addRecoveryBit(b)}const a=ke(t)?t:te(t);if(le(a)!==65)throw new Error("invalid signature length");const o=Be(`0x${a.slice(130)}`),c=Qc(o);return r.Signature.fromCompact(a.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function Qc(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 Jc({hash:e,signature:t}){return Ih(await Bh({hash:e,signature:t}))}function $t(e,t="hex"){const n=eu(e),r=us(new Uint8Array(n.length));return n.encode(r),t==="hex"?fe(r.bytes):r.bytes}function eu(e){return Array.isArray(e)?Ph(e.map(t=>eu(t))):Sh(e)}function Ph(e){const t=e.reduce((s,i)=>s+i.length,0),n=tu(t);return{length:t<=55?1+t:1+n+t,encode(s){t<=55?s.pushByte(192+t):(s.pushByte(247+n),n===1?s.pushUint8(t):n===2?s.pushUint16(t):n===3?s.pushUint24(t):s.pushUint32(t));for(const{encode:i}of e)i(s)}}}function Sh(e){const t=typeof e=="string"?Ee(e):e,n=tu(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(s){t.length===1&&t[0]<128?s.pushBytes(t):t.length<=55?(s.pushByte(128+t.length),s.pushBytes(t)):(s.pushByte(183+n),n===1?s.pushUint8(t.length):n===2?s.pushUint16(t.length):n===3?s.pushUint24(t.length):s.pushUint32(t.length),s.pushBytes(t))}}}function tu(e){if(e<256)return 1;if(e<65536)return 2;if(e<16777216)return 3;if(e<4294967296)return 4;throw new N("Length is too large.")}function Ch(e){const{chainId:t,nonce:n,to:r}=e,s=e.contractAddress??e.address,i=he(Ve(["0x05",$t([t?j(t):"0x",s,n?j(n):"0x"])]));return r==="bytes"?Ee(i):i}async function nu(e){const{authorization:t,signature:n}=e;return Jc({hash:Ch(t),signature:n??t})}class Mh extends N{constructor(t,{account:n,docsPath:r,chain:s,data:i,gas:a,gasPrice:o,maxFeePerGas:c,maxPriorityFeePerGas:d,nonce:u,to:l,value:p}){var b;const h=er({from:n==null?void 0:n.address,to:l,value:typeof p<"u"&&`${Bi(p)} ${((b=s==null?void 0:s.nativeCurrency)==null?void 0:b.symbol)||"ETH"}`,data:i,gas:a,gasPrice:typeof o<"u"&&`${Pe(o)} gwei`,maxFeePerGas:typeof c<"u"&&`${Pe(c)} gwei`,maxPriorityFeePerGas:typeof d<"u"&&`${Pe(d)} gwei`,nonce:u});super(t.shortMessage,{cause:t,docsPath:r,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Estimate Gas Arguments:",h].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}}class tn extends N{constructor({cause:t,message:n}={}){var s;const r=(s=n==null?void 0:n.replace("execution reverted: ",""))==null?void 0:s.replace("execution reverted","");super(`Execution reverted ${r?`with reason: ${r}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}}Object.defineProperty(tn,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(tn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class nn extends N{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${Pe(n)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(nn,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class Si extends N{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${Pe(n)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}}Object.defineProperty(Si,"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/});class Ci extends N{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}}Object.defineProperty(Ci,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Mi extends N{constructor({cause:t,nonce:n}={}){super([`Nonce provided for the transaction ${n?`(${n}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(` `),{cause:t,name:"NonceTooLowError"})}}Object.defineProperty(Mi,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class Ni extends N{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}exceeds the maximum allowed nonce.`,{cause:t,name:"NonceMaxValueError"})}}Object.defineProperty(Ni,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class Ri extends N{constructor({cause:t}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(` `),{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(Ri,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class Li extends N{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:t,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(Li,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class Oi extends N{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction is too low.`,{cause:t,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(Oi,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class Fi extends N{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(Fi,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class xr extends N{constructor({cause:t,maxPriorityFeePerGas:n,maxFeePerGas:r}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${n?` = ${Pe(n)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${r?` = ${Pe(r)} gwei`:""}).`].join(` `),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(xr,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class vr extends N{constructor({cause:t}){super(`An error occurred while executing: ${t==null?void 0:t.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}function fs(e,t){const n=(e.details||"").toLowerCase(),r=e instanceof N?e.walk(s=>(s==null?void 0:s.code)===tn.code):e;return r instanceof N?new tn({cause:e,message:r.details}):tn.nodeMessage.test(n)?new tn({cause:e,message:e.details}):nn.nodeMessage.test(n)?new nn({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas}):Si.nodeMessage.test(n)?new Si({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas}):Ci.nodeMessage.test(n)?new Ci({cause:e,nonce:t==null?void 0:t.nonce}):Mi.nodeMessage.test(n)?new Mi({cause:e,nonce:t==null?void 0:t.nonce}):Ni.nodeMessage.test(n)?new Ni({cause:e,nonce:t==null?void 0:t.nonce}):Ri.nodeMessage.test(n)?new Ri({cause:e}):Li.nodeMessage.test(n)?new Li({cause:e,gas:t==null?void 0:t.gas}):Oi.nodeMessage.test(n)?new Oi({cause:e,gas:t==null?void 0:t.gas}):Fi.nodeMessage.test(n)?new Fi({cause:e}):xr.nodeMessage.test(n)?new xr({cause:e,maxFeePerGas:t==null?void 0:t.maxFeePerGas,maxPriorityFeePerGas:t==null?void 0:t.maxPriorityFeePerGas}):new vr({cause:e})}function Nh(e,{docsPath:t,...n}){const r=(()=>{const s=fs(e,n);return s instanceof vr?e:s})();return new Mh(r,{docsPath:t,...n})}function ps(e,{format:t}){if(!t)return{};const n={};function r(i){const a=Object.keys(i);for(const o of a)o in e&&(n[o]=e[o]),i[o]&&typeof i[o]=="object"&&!Array.isArray(i[o])&&r(i[o])}const s=t(e||{});return r(s),n}function ys(e,t){return({exclude:n,format:r})=>({exclude:n,format:s=>{const i=t(s);if(n)for(const a of n)delete i[a];return{...i,...r(s)}},type:e})}const Rh={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function rn(e){const t={};return typeof e.authorizationList<"u"&&(t.authorizationList=Oh(e.authorizationList)),typeof e.accessList<"u"&&(t.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(t.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?t.blobs=e.blobs.map(n=>fe(n)):t.blobs=e.blobs),typeof e.data<"u"&&(t.data=e.data),typeof e.from<"u"&&(t.from=e.from),typeof e.gas<"u"&&(t.gas=j(e.gas)),typeof e.gasPrice<"u"&&(t.gasPrice=j(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(t.maxFeePerBlobGas=j(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(t.maxFeePerGas=j(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(t.maxPriorityFeePerGas=j(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(t.nonce=j(e.nonce)),typeof e.to<"u"&&(t.to=e.to),typeof e.type<"u"&&(t.type=Rh[e.type]),typeof e.value<"u"&&(t.value=j(e.value)),t}const Lh=ys("transactionRequest",rn);function Oh(e){return e.map(t=>({address:t.address,r:t.r?j(BigInt(t.r)):t.r,s:t.s?j(BigInt(t.s)):t.s,chainId:j(t.chainId),nonce:j(t.nonce),...typeof t.yParity<"u"?{yParity:j(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:j(t.v)}:{}}))}function ru(e){if(!(!e||e.length===0))return e.reduce((t,{slot:n,value:r})=>{if(n.length!==66)throw new lc({size:n.length,targetSize:66,type:"hex"});if(r.length!==66)throw new lc({size:r.length,targetSize:66,type:"hex"});return t[n]=r,t},{})}function Fh(e){const{balance:t,nonce:n,state:r,stateDiff:s,code:i}=e,a={};if(i!==void 0&&(a.code=i),t!==void 0&&(a.balance=j(t)),n!==void 0&&(a.nonce=j(n)),r!==void 0&&(a.state=ru(r)),s!==void 0){if(a.state)throw new dh;a.stateDiff=ru(s)}return a}function $i(e){if(!e)return;const t={};for(const{address:n,...r}of e){if(!ce(n,{strict:!1}))throw new be({address:n});if(t[n])throw new uh({address:n});t[n]=Fh(r)}return t}const $h=2n**16n-1n,hs=2n**256n-1n;function dt(e){const{account:t,gasPrice:n,maxFeePerGas:r,maxPriorityFeePerGas:s,to:i}=e,a=t?ee(t):void 0;if(a&&!ce(a.address))throw new be({address:a.address});if(i&&!ce(i))throw new be({address:i});if(typeof n<"u"&&(typeof r<"u"||typeof s<"u"))throw new fh;if(r&&r>hs)throw new nn({maxFeePerGas:r});if(s&&r&&s>r)throw new xr({maxFeePerGas:r,maxPriorityFeePerGas:s})}class kh extends N{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class ki extends N{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}let Dh=class extends N{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Pe(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};class su extends N{constructor({blockHash:t,blockNumber:n}){let r="Block";t&&(r=`Block at hash "${t}"`),n&&(r=`Block at number "${n}"`),super(`${r} could not be found.`,{name:"BlockNotFoundError"})}}const iu={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Di(e){const t={...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?iu[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&&(t.authorizationList=zh(e.authorizationList)),t.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof t.v=="bigint"){if(t.v===0n||t.v===27n)return 0;if(t.v===1n||t.v===28n)return 1;if(t.v>=35n)return t.v%2n===0n?1:0}})(),t.type==="legacy"&&(delete t.accessList,delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas,delete t.yParity),t.type==="eip2930"&&(delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas),t.type==="eip1559"&&delete t.maxFeePerBlobGas,t}const Uh=ys("transaction",Di);function zh(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 Ui(e){const t=(e.transactions??[]).map(n=>typeof n=="string"?n:Di(n));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:t,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const _h=ys("block",Ui);async function lt(e,{blockHash:t,blockNumber:n,blockTag:r,includeTransactions:s}={}){var u,l,p;const i=r??"latest",a=s??!1,o=n!==void 0?j(n):void 0;let c=null;if(t?c=await e.request({method:"eth_getBlockByHash",params:[t,a]},{dedupe:!0}):c=await e.request({method:"eth_getBlockByNumber",params:[o||i,a]},{dedupe:!!o}),!c)throw new su({blockHash:t,blockNumber:n});return(((p=(l=(u=e.chain)==null?void 0:u.formatters)==null?void 0:l.block)==null?void 0:p.format)||Ui)(c)}async function zi(e){const t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function Hh(e,t){return au(e,t)}async function au(e,t){var i,a;const{block:n,chain:r=e.chain,request:s}=t||{};try{const o=((i=r==null?void 0:r.fees)==null?void 0:i.maxPriorityFeePerGas)??((a=r==null?void 0:r.fees)==null?void 0:a.defaultPriorityFee);if(typeof o=="function"){const d=n||await Y(e,lt,"getBlock")({}),u=await o({block:d,client:e,request:s});if(u===null)throw new Error;return u}if(typeof o<"u")return o;const c=await e.request({method:"eth_maxPriorityFeePerGas"});return se(c)}catch{const[o,c]=await Promise.all([n?Promise.resolve(n):Y(e,lt,"getBlock")({}),Y(e,zi,"getGasPrice")({})]);if(typeof o.baseFeePerGas!="bigint")throw new ki;const d=c-o.baseFeePerGas;return d<0n?0n:d}}async function Gh(e,t){return _i(e,t)}async function _i(e,t){var p,h;const{block:n,chain:r=e.chain,request:s,type:i="eip1559"}=t||{},a=await(async()=>{var b,g;return typeof((b=r==null?void 0:r.fees)==null?void 0:b.baseFeeMultiplier)=="function"?r.fees.baseFeeMultiplier({block:n,client:e,request:s}):((g=r==null?void 0:r.fees)==null?void 0:g.baseFeeMultiplier)??1.2})();if(a<1)throw new kh;const c=10**(((p=a.toString().split(".")[1])==null?void 0:p.length)??0),d=b=>b*BigInt(Math.ceil(a*c))/BigInt(c),u=n||await Y(e,lt,"getBlock")({});if(typeof((h=r==null?void 0:r.fees)==null?void 0:h.estimateFeesPerGas)=="function"){const b=await r.fees.estimateFeesPerGas({block:n,client:e,multiply:d,request:s,type:i});if(b!==null)return b}if(i==="eip1559"){if(typeof u.baseFeePerGas!="bigint")throw new ki;const b=typeof(s==null?void 0:s.maxPriorityFeePerGas)=="bigint"?s.maxPriorityFeePerGas:await au(e,{block:u,chain:r,request:s}),g=d(u.baseFeePerGas);return{maxFeePerGas:(s==null?void 0:s.maxFeePerGas)??g+b,maxPriorityFeePerGas:b}}return{gasPrice:(s==null?void 0:s.gasPrice)??d(await Y(e,zi,"getGasPrice")({}))}}async function ms(e,{address:t,blockTag:n="latest",blockNumber:r}){const s=await e.request({method:"eth_getTransactionCount",params:[t,typeof r=="bigint"?j(r):n]},{dedupe:!!r});return Be(s)}function Hi(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),r=typeof e.blobs[0]=="string"?e.blobs.map(i=>Ee(i)):e.blobs,s=[];for(const i of r)s.push(Uint8Array.from(t.blobToKzgCommitment(i)));return n==="bytes"?s:s.map(i=>fe(i))}function Gi(e){const{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),r=typeof e.blobs[0]=="string"?e.blobs.map(a=>Ee(a)):e.blobs,s=typeof e.commitments[0]=="string"?e.commitments.map(a=>Ee(a)):e.commitments,i=[];for(let a=0;afe(a))}function qh(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);const s=BigInt(32),i=BigInt(4294967295),a=Number(n>>s&i),o=Number(n&i),c=r?4:0,d=r?0:4;e.setUint32(t+c,a,r),e.setUint32(t+d,o,r)}function jh(e,t,n){return e&t^~e&n}function Vh(e,t,n){return e&t^e&n^t&n}let Kh=class extends gi{constructor(t,n,r,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(t),this.view=mi(this.buffer)}update(t){vn(this),t=ss(t),nt(t);const{view:n,buffer:r,blockLen:s}=this,i=t.length;for(let a=0;as-a&&(this.process(r,0),a=0);for(let l=a;lu.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l>>3,g=ut(h,17)^ut(h,19)^h>>>10;Dt[l]=g+Dt[l-7]+b+Dt[l-16]|0}let{A:r,B:s,C:i,D:a,E:o,F:c,G:d,H:u}=this;for(let l=0;l<64;l++){const p=ut(o,6)^ut(o,11)^ut(o,25),h=u+p+jh(o,c,d)+Zh[l]+Dt[l]|0,g=(ut(r,2)^ut(r,13)^ut(r,22))+Vh(r,s,i)|0;u=d,d=c,c=o,o=a+h|0,a=i,i=s,s=r,r=h+g|0}r=r+this.A|0,s=s+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,d=d+this.G|0,u=u+this.H|0,this.set(r,s,i,a,o,c,d,u)}roundClean(){En(Dt)}destroy(){this.set(0,0,0,0,0,0,0,0),En(this.buffer)}};const ou=vc(()=>new Yh),Wh=ou;function cu(e,t){const n=t||"hex",r=Wh(ke(e,{strict:!1})?je(e):e);return n==="bytes"?r:te(r)}function Xh(e){const{commitment:t,version:n=1}=e,r=e.to??(typeof t=="string"?"hex":"bytes"),s=cu(t,"bytes");return s.set([n],0),r==="bytes"?s:fe(s)}function uu(e){const{commitments:t,version:n}=e,r=e.to??(typeof t[0]=="string"?"hex":"bytes"),s=[];for(const i of t)s.push(Xh({commitment:i,to:r,version:n}));return s}const du=6,lu=32,qi=4096,fu=lu*qi,pu=fu*du-1-1*qi*du,yu=1;class Qh extends N{constructor({maxSize:t,size:n}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${n} bytes`],name:"BlobSizeTooLargeError"})}}class hu extends N{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class Jh extends N{constructor({hash:t,size:n}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${n}`],name:"InvalidVersionedHashSizeError"})}}class e0 extends N{constructor({hash:t,version:n}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${yu}`,`Received: ${n}`],name:"InvalidVersionedHashVersionError"})}}function t0(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),n=typeof e.data=="string"?Ee(e.data):e.data,r=le(n);if(!r)throw new hu;if(r>pu)throw new Qh({maxSize:pu,size:r});const s=[];let i=!0,a=0;for(;i;){const o=us(new Uint8Array(fu));let c=0;for(;co.bytes):s.map(o=>fe(o.bytes))}function mu(e){const{data:t,kzg:n,to:r}=e,s=e.blobs??t0({data:t,to:r}),i=e.commitments??Hi({blobs:s,kzg:n,to:r}),a=e.proofs??Gi({blobs:s,commitments:i,kzg:n,to:r}),o=[];for(let c=0;c"u"&&l)if(c){const T=await P();p.nonce=await c.consume({address:l.address,chainId:T,client:e})}else p.nonce=await Y(e,ms,"getTransactionCount")({address:l.address,blockTag:"pending"});if((d.includes("blobVersionedHashes")||d.includes("sidecars"))&&r&&a){const T=Hi({blobs:r,kzg:a});if(d.includes("blobVersionedHashes")){const R=uu({commitments:T,to:"hex"});p.blobVersionedHashes=R}if(d.includes("sidecars")){const R=Gi({blobs:r,commitments:T,kzg:a}),M=mu({blobs:r,commitments:T,proofs:R,to:"hex"});p.sidecars=M}}if(d.includes("chainId")&&(p.chainId=await P()),(d.includes("fees")||d.includes("type"))&&typeof u>"u")try{p.type=bu(p)}catch{let T=wu.get(e.uid);if(typeof T>"u"){const R=await b();T=typeof(R==null?void 0:R.baseFeePerGas)=="bigint",wu.set(e.uid,T)}p.type=T?"eip1559":"legacy"}if(d.includes("fees"))if(p.type!=="legacy"&&p.type!=="eip2930"){if(typeof p.maxFeePerGas>"u"||typeof p.maxPriorityFeePerGas>"u"){const T=await b(),{maxFeePerGas:R,maxPriorityFeePerGas:M}=await _i(e,{block:T,chain:s,request:p});if(typeof t.maxPriorityFeePerGas>"u"&&t.maxFeePerGas&&t.maxFeePerGas"u"){const T=await b(),{gasPrice:R}=await _i(e,{block:T,chain:s,request:p,type:"legacy"});p.gasPrice=R}}return d.includes("gas")&&typeof i>"u"&&(p.gas=await Y(e,gs,"estimateGas")({...p,account:l&&{address:l.address,type:"json-rpc"}})),dt(p),delete p.parameters,p}async function bs(e,{address:t,blockNumber:n,blockTag:r="latest"}){const s=typeof n=="bigint"?j(n):void 0,i=await e.request({method:"eth_getBalance",params:[t,s||r]});return BigInt(i)}async function gs(e,t){var s,i,a;const{account:n=e.account}=t,r=n?ee(n):void 0;try{let _=function(S){const{block:B,request:A,rpcStateOverride:k}=S;return e.request({method:"eth_estimateGas",params:k?[A,B??"latest",k]:B?[A,B]:[A]})};const{accessList:o,authorizationList:c,blobs:d,blobVersionedHashes:u,blockNumber:l,blockTag:p,data:h,gas:b,gasPrice:g,maxFeePerBlobGas:P,maxFeePerGas:T,maxPriorityFeePerGas:R,nonce:M,value:z,stateOverride:F,...$}=await Er(e,{...t,parameters:(r==null?void 0:r.type)==="local"?void 0:["blobVersionedHashes"]}),D=(typeof l=="bigint"?j(l):void 0)||p,x=$i(F),E=await(async()=>{if($.to)return $.to;if(c&&c.length>0)return await nu({authorization:c[0]}).catch(()=>{throw new N("`to` is required. Could not infer from `authorizationList`")})})();dt(t);const v=(a=(i=(s=e.chain)==null?void 0:s.formatters)==null?void 0:i.transactionRequest)==null?void 0:a.format,O=(v||rn)({...ps($,{format:v}),from:r==null?void 0:r.address,accessList:o,authorizationList:c,blobs:d,blobVersionedHashes:u,data:h,gas:b,gasPrice:g,maxFeePerBlobGas:P,maxFeePerGas:T,maxPriorityFeePerGas:R,nonce:M,to:E,value:z});let H=BigInt(await _({block:D,request:O,rpcStateOverride:x}));if(c){const S=await bs(e,{address:O.from}),B=await Promise.all(c.map(async A=>{const{address:k}=A,V=await _({block:D,request:{authorizationList:void 0,data:h,from:r==null?void 0:r.address,to:k,value:j(S)},rpcStateOverride:x}).catch(()=>100000n);return 2n*BigInt(V)}));H+=B.reduce((A,k)=>A+k,0n)}return H}catch(o){throw Nh(o,{...t,account:r,chain:e.chain})}}async function n0(e,t){const{abi:n,address:r,args:s,functionName:i,dataSuffix:a,...o}=t,c=ge({abi:n,args:s,functionName:i});try{return await Y(e,gs,"estimateGas")({data:`${c}${a?a.replace("0x",""):""}`,to:r,...o})}catch(d){const u=o.account?ee(o.account):void 0;throw At(d,{abi:n,address:r,args:s,docsPath:"/docs/contract/estimateContractGas",functionName:i,sender:u==null?void 0:u.address})}}function Tr(e,t){if(!ce(e,{strict:!1}))throw new be({address:e});if(!ce(t,{strict:!1}))throw new be({address:t});return e.toLowerCase()===t.toLowerCase()}const xu="/docs/contract/decodeEventLog";function ji(e){const{abi:t,data:n,strict:r,topics:s}=e,i=r??!0,[a,...o]=s;if(!a)throw new Gp({docsPath:xu});const c=t.find(g=>g.type==="event"&&a===is(tt(g)));if(!(c&&"name"in c)||c.type!=="event")throw new ic(a,{docsPath:xu});const{name:d,inputs:u}=c,l=u==null?void 0:u.some(g=>!("name"in g&&g.name)),p=l?[]:{},h=u.map((g,P)=>[g,P]).filter(([g])=>"indexed"in g&&g.indexed);for(let g=0;g!("indexed"in g&&g.indexed));if(b.length>0){if(n&&n!=="0x")try{const g=Wt(b,n);if(g)if(l)for(let P=0;P0?p:void 0}}function r0({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Wt([e],t)||[])[0]}function Vi(e){const{abi:t,args:n,logs:r,strict:s=!0}=e,i=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})();return r.map(a=>{var o;try{const c=t.find(u=>u.type==="event"&&a.topics[0]===is(u));if(!c)return null;const d=ji({...a,abi:[c],strict:s});return i&&!i.includes(d.eventName)||!s0({args:d.args,inputs:c.inputs,matchArgs:n})?null:{...d,...a}}catch(c){let d,u;if(c instanceof ic)return null;if(c instanceof Vn||c instanceof ts){if(s)return null;d=c.abiItem.name,u=(o=c.abiItem.inputs)==null?void 0:o.some(l=>!("name"in l&&l.name))}return{...a,args:u?[]:{},eventName:d}}}).filter(Boolean)}function s0(e){const{args:t,inputs:n,matchArgs:r}=e;if(!r)return!0;if(!t)return!1;function s(i,a,o){try{return i.type==="address"?Tr(a,o):i.type==="string"||i.type==="bytes"?he(je(a))===o:a===o}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((i,a)=>{if(i==null)return!0;const o=n[a];return o?(Array.isArray(i)?i:[i]).some(d=>s(o,d,t[a])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof r=="object"&&!Array.isArray(r)?Object.entries(r).every(([i,a])=>{if(a==null)return!0;const o=n.find(d=>d.name===i);return o?(Array.isArray(a)?a:[a]).some(d=>s(o,d,t[i])):!1}):!1}function ft(e,{args:t,eventName:n}={}){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,...n?{args:t,eventName:n}:{}}}async function Ki(e,{address:t,blockHash:n,fromBlock:r,toBlock:s,event:i,events:a,args:o,strict:c}={}){const d=c??!1,u=a??(i?[i]:void 0);let l=[];u&&(l=[u.flatMap(g=>Qn({abi:[g],eventName:g.name,args:a?void 0:o}))],i&&(l=l[0]));let p;n?p=await e.request({method:"eth_getLogs",params:[{address:t,topics:l,blockHash:n}]}):p=await e.request({method:"eth_getLogs",params:[{address:t,topics:l,fromBlock:typeof r=="bigint"?j(r):r,toBlock:typeof s=="bigint"?j(s):s}]});const h=p.map(b=>ft(b));return u?Vi({abi:u,args:o,logs:h,strict:d}):h}async function vu(e,t){const{abi:n,address:r,args:s,blockHash:i,eventName:a,fromBlock:o,toBlock:c,strict:d}=t,u=a?Ft({abi:n,name:a}):void 0,l=u?void 0:n.filter(p=>p.type==="event");return Y(e,Ki,"getLogs")({address:r,args:s,blockHash:i,event:u,events:l,fromBlock:o,toBlock:c,strict:d})}const Zi="/docs/contract/decodeFunctionResult";function sn(e){const{abi:t,args:n,functionName:r,data:s}=e;let i=t[0];if(r){const o=Ft({abi:t,args:n,name:r});if(!o)throw new gn(r,{docsPath:Zi});i=o}if(i.type!=="function")throw new gn(void 0,{docsPath:Zi});if(!i.outputs)throw new oc(i.name,{docsPath:Zi});const a=Wt(i.outputs,s);if(a&&a.length>1)return a;if(a&&a.length===1)return a[0]}const Sn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function ws(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Yi(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function rt(e,...t){if(!ws(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 Eu(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Yi(e.outputLen),Yi(e.blockLen)}function xs(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function i0(e,t){rt(e);const n=t.outputLen;if(e.length>>t}const Tu=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",a0=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Cn(e){if(rt(e),Tu)return e.toHex();let t="";for(let n=0;n=It._0&&e<=It._9)return e-It._0;if(e>=It.A&&e<=It.F)return e-(It.A-10);if(e>=It.a&&e<=It.f)return e-(It.a-10)}function Es(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Tu)return Uint8Array.fromHex(e);const t=e.length,n=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const r=new Uint8Array(n);for(let s=0,i=0;se().update(Xi(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function u0(e=32){if(Sn&&typeof Sn.getRandomValues=="function")return Sn.getRandomValues(new Uint8Array(e));if(Sn&&typeof Sn.randomBytes=="function")return Uint8Array.from(Sn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Qi=BigInt(0),Ji=BigInt(1);function Ts(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}function As(e){const t=e.toString(16);return t.length&1?"0"+t:t}function Bu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Qi:BigInt("0x"+e)}function Is(e){return Bu(Cn(e))}function Pu(e){return rt(e),Bu(Cn(Uint8Array.from(e).reverse()))}function ea(e,t){return Es(e.toString(16).padStart(t*2,"0"))}function Su(e,t){return ea(e,t).reverse()}function ze(e,t,n){let r;if(typeof t=="string")try{r=Es(t)}catch(s){throw new Error(e+" must be hex string or Uint8Array, cause: "+s)}else if(ws(t))r=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");return r.length,r}const ta=e=>typeof e=="bigint"&&Qi<=e;function d0(e,t,n){return ta(e)&&ta(t)&&ta(n)&&t<=e&&eQi;e>>=Ji,t+=1);return t}const Ar=e=>(Ji<new Uint8Array(h),s=h=>Uint8Array.of(h);let i=r(e),a=r(e),o=0;const c=()=>{i.fill(1),a.fill(0),o=0},d=(...h)=>n(a,i,...h),u=(h=r(0))=>{a=d(s(0),h),i=d(),h.length!==0&&(a=d(s(1),h),i=d())},l=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let h=0;const b=[];for(;h{c(),u(h);let g;for(;!(g=b(l()));)u();return c(),g}}function na(e,t,n={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function r(s,i,a){const o=e[s];if(a&&o===void 0)return;const c=typeof o;if(c!==i||o===null)throw new Error(`param "${s}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([s,i])=>r(s,i,!1)),Object.entries(n).forEach(([s,i])=>r(s,i,!0))}function Mu(e){const t=new WeakMap;return(n,...r)=>{const s=t.get(n);if(s!==void 0)return s;const i=e(n,...r);return t.set(n,i),i}}const p0="0.1.1";function y0(){return p0}class ue extends Error{constructor(t,n={}){const r=(()=>{var c;if(n.cause instanceof ue){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&"details"in n.cause&&typeof n.cause.details=="string"?n.cause.details:(c=n.cause)!=null&&c.message?n.cause.message:n.details})(),s=n.cause instanceof ue&&n.cause.docsPath||n.docsPath,a=`https://oxlib.sh${s??""}`,o=[t||"An error occurred.",...n.metaMessages?["",...n.metaMessages]:[],...r||s?["",r?`Details: ${r}`:void 0,s?`See: ${a}`:void 0]:[]].filter(c=>typeof c=="string").join(` `);super(o,n.cause?{cause:n.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@${y0()}`}),this.cause=n.cause,this.details=r,this.docs=a,this.docsPath=s,this.shortMessage=t}walk(t){return Nu(this,t)}}function Nu(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?Nu(e.cause,t):t?null:e}const h0="#__bigint";function m0(e,t,n){return JSON.stringify(e,(r,s)=>typeof s=="bigint"?s.toString()+h0:s,n)}function b0(e,t){if(Ou(e)>t)throw new P0({givenSize:Ou(e),maxSize:t})}const Bt={zero:48,nine:57,A:65,F:70,a:97,f:102};function Ru(e){if(e>=Bt.zero&&e<=Bt.nine)return e-Bt.zero;if(e>=Bt.A&&e<=Bt.F)return e-(Bt.A-10);if(e>=Bt.a&&e<=Bt.f)return e-(Bt.a-10)}function g0(e,t={}){const{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new S0({size:e.length,targetSize:r,type:"Bytes"});const s=new Uint8Array(r);for(let i=0;it)throw new L0({givenSize:Ze(e),maxSize:t})}function w0(e,t){if(typeof t=="number"&&t>0&&t>Ze(e)-1)throw new zu({offset:t,position:"start",size:Ze(e)})}function x0(e,t,n){if(typeof t=="number"&&typeof n=="number"&&Ze(e)!==n-t)throw new zu({offset:n,position:"end",size:Ze(e)})}function Lu(e,t={}){const{dir:n,size:r=32}=t;if(r===0)return e;const s=e.replace("0x","");if(s.length>r*2)throw new O0({size:Math.ceil(s.length/2),targetSize:r,type:"Hex"});return`0x${s[n==="right"?"padEnd":"padStart"](r*2,"0")}`}const v0=new TextEncoder;function E0(e){return e instanceof Uint8Array?e:typeof e=="string"?A0(e):T0(e)}function T0(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function A0(e,t={}){const{size:n}=t;let r=e;n&&(ra(e,n),r=cn(e,n));let s=r.slice(2);s.length%2&&(s=`0${s}`);const i=s.length/2,a=new Uint8Array(i);for(let o=0,c=0;ot.toString(16).padStart(2,"0"));function N0(e,t={}){const{strict:n=!1}=t;if(!e)throw new Du(e);if(typeof e!="string")throw new Du(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e))throw new Uu(e);if(!e.startsWith("0x"))throw new Uu(e)}function yt(...e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}function Fu(e,t={}){const n=`0x${Number(e)}`;return typeof t.size=="number"?(ra(n,t.size),on(n,t.size)):n}function $u(e,t={}){let n="";for(let s=0;si||st?[`- The contract "${r.name}" was not deployed until block ${r.blockCreated} (current block ${t}).`]:[`- The chain does not have the contract "${r.name}" configured.`]],name:"ChainDoesNotSupportContract"})}}class z0 extends N{constructor({chain:t,currentChainId:n}){super(`The current chain of the wallet (id: ${n}) does not match the target chain for the transaction (id: ${t.id} – ${t.name}).`,{metaMessages:[`Current Chain ID: ${n}`,`Expected Chain ID: ${t.id} – ${t.name}`],name:"ChainMismatchError"})}}class _0 extends N{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(` `),{name:"ChainNotFoundError"})}}class Zu extends N{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}}class Ir extends N{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}const ua="/docs/contract/encodeDeployData";function Bs(e){const{abi:t,args:n,bytecode:r}=e;if(!n||n.length===0)return r;const s=t.find(a=>"type"in a&&a.type==="constructor");if(!s)throw new tc({docsPath:ua});if(!("inputs"in s))throw new es({docsPath:ua});if(!s.inputs||s.inputs.length===0)throw new es({docsPath:ua});const i=Re(s.inputs,n);return Ve([r,i])}function Mn({blockNumber:e,chain:t,contract:n}){var s;const r=(s=t==null?void 0:t.contracts)==null?void 0:s[n];if(!r)throw new ca({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new ca({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}function Yu(e,{docsPath:t,...n}){const r=(()=>{const s=fs(e,n);return s instanceof vr?e:s})();return new Wc(r,{docsPath:t,...n})}function da(){let e=()=>{},t=()=>{};return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}const la=new Map;function Wu({fn:e,id:t,shouldSplitBatch:n,wait:r=0,sort:s}){const i=async()=>{const u=c();a();const l=u.map(({args:p})=>p);l.length!==0&&e(l).then(p=>{s&&Array.isArray(p)&&p.sort(s);for(let h=0;h{for(let h=0;hla.delete(t),o=()=>c().map(({args:u})=>u),c=()=>la.get(t)||[],d=u=>la.set(t,[...c(),u]);return{flush:a,async schedule(u){const{promise:l,resolve:p,reject:h}=da();return(n==null?void 0:n([...o(),u]))&&i(),c().length>0?(d({args:u,resolve:p,reject:h}),l):(d({args:u,resolve:p,reject:h}),setTimeout(i,r),l)}}}async function Br(e,t){var O,_,H,S;const{account:n=e.account,authorizationList:r,batch:s=!!((O=e.batch)!=null&&O.multicall),blockNumber:i,blockTag:a="latest",accessList:o,blobs:c,blockOverrides:d,code:u,data:l,factory:p,factoryData:h,gas:b,gasPrice:g,maxFeePerBlobGas:P,maxFeePerGas:T,maxPriorityFeePerGas:R,nonce:M,to:z,value:F,stateOverride:$,...q}=t,D=n?ee(n):void 0;if(u&&(p||h))throw new N("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(u&&z)throw new N("Cannot provide both `code` & `to` as parameters.");const x=u&&l,E=p&&h&&z&&l,v=x||E,C=x?q0({code:u,data:l}):E?j0({data:l,factory:p,factoryData:h,to:z}):l;try{dt(t);const A=(typeof i=="bigint"?j(i):void 0)||a,k=d?_u(d):void 0,V=$i($),U=(S=(H=(_=e.chain)==null?void 0:_.formatters)==null?void 0:H.transactionRequest)==null?void 0:S.format,X=(U||rn)({...ps(q,{format:U}),from:D==null?void 0:D.address,accessList:o,authorizationList:r,blobs:c,data:C,gas:b,gasPrice:g,maxFeePerBlobGas:P,maxFeePerGas:T,maxPriorityFeePerGas:R,nonce:M,to:v?void 0:z,value:F});if(s&&H0({request:X})&&!V&&!k)try{return await G0(e,{...X,blockNumber:i,blockTag:a})}catch(W){if(!(W instanceof Zu)&&!(W instanceof ca))throw W}const Q=(()=>{const W=[X,A];return V&&k?[...W,V,k]:V?[...W,V]:k?[...W,{},k]:W})(),Z=await e.request({method:"eth_call",params:Q});return Z==="0x"?{data:void 0}:{data:Z}}catch(B){const A=V0(B),{offchainLookup:k,offchainLookupSignature:V}=await Promise.resolve().then(()=>Vm);if(e.ccipRead!==!1&&(A==null?void 0:A.slice(0,10))===V&&z)return{data:await k(e,{data:A,to:z})};throw v&&(A==null?void 0:A.slice(0,10))==="0x101bb98d"?new vh({factory:p}):Yu(B,{...t,account:D,chain:e.chain})}}function H0({request:e}){const{data:t,to:n,...r}=e;return!(!t||t.startsWith(k0)||!n||Object.values(r).filter(s=>typeof s<"u").length>0)}async function G0(e,t){var g;const{batchSize:n=1024,wait:r=0}=typeof((g=e.batch)==null?void 0:g.multicall)=="object"?e.batch.multicall:{},{blockNumber:s,blockTag:i="latest",data:a,multicallAddress:o,to:c}=t;let d=o;if(!d){if(!e.chain)throw new Zu;d=Mn({blockNumber:s,chain:e.chain,contract:"multicall3"})}const l=(typeof s=="bigint"?j(s):void 0)||i,{schedule:p}=Wu({id:`${e.uid}.${l}`,wait:r,shouldSplitBatch(P){return P.reduce((R,{data:M})=>R+(M.length-2),0)>n*2},fn:async P=>{const T=P.map(z=>({allowFailure:!0,callData:z.data,target:z.to})),R=ge({abi:aa,args:[T],functionName:"aggregate3"}),M=await e.request({method:"eth_call",params:[{data:R,to:d},l]});return sn({abi:aa,args:[T],functionName:"aggregate3",data:M||"0x"})}}),[{returnData:h,success:b}]=await p({data:a,to:c});if(!b)throw new ds({data:h});return h==="0x"?{data:void 0}:{data:h}}function q0(e){const{code:t,data:n}=e;return Bs({abi:Wo(["constructor(bytes, bytes)"]),bytecode:Ku,args:[t,n]})}function j0(e){const{data:t,factory:n,factoryData:r,to:s}=e;return Bs({abi:Wo(["constructor(address, bytes, address, bytes)"]),bytecode:D0,args:[s,t,n,r]})}function V0(e){var n;if(!(e instanceof N))return;const t=e.walk();return typeof(t==null?void 0:t.data)=="object"?(n=t.data)==null?void 0:n.data:t.data}async function _e(e,t){const{abi:n,address:r,args:s,functionName:i,...a}=t,o=ge({abi:n,args:s,functionName:i});try{const{data:c}=await Y(e,Br,"call")({...a,data:o,to:r});return sn({abi:n,args:s,functionName:i,data:c||"0x"})}catch(c){throw At(c,{abi:n,address:r,args:s,docsPath:"/docs/contract/readContract",functionName:i})}}async function K0(e,t){const{abi:n,address:r,args:s,dataSuffix:i,functionName:a,...o}=t,c=o.account?ee(o.account):e.account,d=ge({abi:n,args:s,functionName:a});try{const{data:u}=await Y(e,Br,"call")({batch:!1,data:`${d}${i?i.replace("0x",""):""}`,to:r,...o,account:c}),l=sn({abi:n,args:s,functionName:a,data:u||"0x"}),p=n.filter(h=>"name"in h&&h.name===t.functionName);return{result:l,request:{abi:p,address:r,args:s,dataSuffix:i,functionName:a,...o,account:c}}}catch(u){throw At(u,{abi:n,address:r,args:s,docsPath:"/docs/contract/simulateContract",functionName:a,sender:c==null?void 0:c.address})}}const fa=new Map,Xu=new Map;let Z0=0;function Pt(e,t,n){const r=++Z0,s=()=>fa.get(e)||[],i=()=>{const u=s();fa.set(e,u.filter(l=>l.id!==r))},a=()=>{const u=s();if(!u.some(p=>p.id===r))return;const l=Xu.get(e);if(u.length===1&&l){const p=l();p instanceof Promise&&p.catch(()=>{})}i()},o=s();if(fa.set(e,[...o,{id:r,fns:t}]),o&&o.length>0)return a;const c={};for(const u in t)c[u]=(...l)=>{var h,b;const p=s();if(p.length!==0)for(const g of p)(b=(h=g.fns)[u])==null||b.call(h,...l)};const d=n(c);return typeof d=="function"&&Xu.set(e,d),a}async function pa(e){return new Promise(t=>setTimeout(t,e))}function Nn(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let s=!0;const i=()=>s=!1;return(async()=>{let o;t&&(o=await e({unpoll:i}));const c=await(n==null?void 0:n(o))??r;await pa(c);const d=async()=>{s&&(await e({unpoll:i}),await pa(r),d())};d()})(),i}const Y0=new Map,W0=new Map;function X0(e){const t=(s,i)=>({clear:()=>i.delete(s),get:()=>i.get(s),set:a=>i.set(s,a)}),n=t(e,Y0),r=t(e,W0);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function Q0(e,{cacheKey:t,cacheTime:n=Number.POSITIVE_INFINITY}){const r=X0(t),s=r.response.get();if(s&&n>0&&new Date().getTime()-s.created.getTime()`blockNumber.${e}`;async function Pr(e,{cacheTime:t=e.cacheTime}={}){const n=await Q0(()=>e.request({method:"eth_blockNumber"}),{cacheKey:J0(e.uid),cacheTime:t});return BigInt(n)}async function Ps(e,{filter:t}){const n="strict"in t&&t.strict,r=await t.request({method:"eth_getFilterChanges",params:[t.id]});if(typeof r[0]=="string")return r;const s=r.map(i=>ft(i));return!("abi"in t)||!t.abi?s:Vi({abi:t.abi,logs:s,strict:n})}async function Ss(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function em(e,t){const{abi:n,address:r,args:s,batch:i=!0,eventName:a,fromBlock:o,onError:c,onLogs:d,poll:u,pollingInterval:l=e.pollingInterval,strict:p}=t;return(typeof u<"u"?u:typeof o=="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")))?(()=>{const P=p??!1,T=me(["watchContractEvent",r,s,i,e.uid,a,l,P,o]);return Pt(T,{onLogs:d,onError:c},R=>{let M;o!==void 0&&(M=o-1n);let z,F=!1;const $=Nn(async()=>{var q;if(!F){try{z=await Y(e,$c,"createContractEventFilter")({abi:n,address:r,args:s,eventName:a,strict:P,fromBlock:o})}catch{}F=!0;return}try{let D;if(z)D=await Y(e,Ps,"getFilterChanges")({filter:z});else{const x=await Y(e,Pr,"getBlockNumber")({});M&&M{z&&await Y(e,Ss,"uninstallFilter")({filter:z}),$()}})})():(()=>{const P=p??!1,T=me(["watchContractEvent",r,s,i,e.uid,a,l,P]);let R=!0,M=()=>R=!1;return Pt(T,{onLogs:d,onError:c},z=>((async()=>{try{const F=(()=>{if(e.transport.type==="fallback"){const D=e.transport.transports.find(x=>x.config.type==="webSocket"||x.config.type==="ipc");return D?D.value:e.transport}return e.transport})(),$=a?Qn({abi:n,eventName:a,args:s}):[],{unsubscribe:q}=await F.subscribe({params:["logs",{address:r,topics:$}],onData(D){var E;if(!R)return;const x=D.result;try{const{eventName:v,args:C}=ji({abi:n,data:x.data,topics:x.topics,strict:p}),O=ft(x,{args:C,eventName:v});z.onLogs([O])}catch(v){let C,O;if(v instanceof Vn||v instanceof ts){if(p)return;C=v.abiItem.name,O=(E=v.abiItem.inputs)==null?void 0:E.some(H=>!("name"in H&&H.name))}const _=ft(x,{args:O?[]:{},eventName:C});z.onLogs([_])}},onError(D){var x;(x=z.onError)==null||x.call(z,D)}});M=q,R||M()}catch(F){c==null||c(F)}})(),()=>M()))})()}let St=class extends N{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(` `),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}};class Cs extends N{constructor({docsPath:t,metaMessages:n,type:r}){super(`Account type "${r}" is not supported.`,{docsPath:t,metaMessages:n,name:"AccountTypeNotSupportedError"})}}function un({chain:e,currentChainId:t}){if(!e)throw new _0;if(t!==e.id)throw new z0({chain:e,currentChainId:t})}function Sr(e,{docsPath:t,...n}){const r=(()=>{const s=fs(e,n);return s instanceof vr?e:s})();return new mh(r,{docsPath:t,...n})}async function Cr(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}const ya=new as(128);async function Mr(e,t){var R,M,z,F;const{account:n=e.account,chain:r=e.chain,accessList:s,authorizationList:i,blobs:a,data:o,gas:c,gasPrice:d,maxFeePerBlobGas:u,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:h,type:b,value:g,...P}=t;if(typeof n>"u")throw new St({docsPath:"/docs/actions/wallet/sendTransaction"});const T=n?ee(n):null;try{dt(t);const $=await(async()=>{if(t.to)return t.to;if(t.to!==null&&i&&i.length>0)return await nu({authorization:i[0]}).catch(()=>{throw new N("`to` is required. Could not infer from `authorizationList`.")})})();if((T==null?void 0:T.type)==="json-rpc"||T===null){let q;r!==null&&(q=await Y(e,Ke,"getChainId")({}),un({currentChainId:q,chain:r}));const D=(z=(M=(R=e.chain)==null?void 0:R.formatters)==null?void 0:M.transactionRequest)==null?void 0:z.format,E=(D||rn)({...ps(P,{format:D}),accessList:s,authorizationList:i,blobs:a,chainId:q,data:o,from:T==null?void 0:T.address,gas:c,gasPrice:d,maxFeePerBlobGas:u,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:h,to:$,type:b,value:g}),v=ya.get(e.uid),C=v?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:C,params:[E]},{retryCount:0})}catch(O){if(v===!1)throw O;const _=O;if(_.name==="InvalidInputRpcError"||_.name==="InvalidParamsRpcError"||_.name==="MethodNotFoundRpcError"||_.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[E]},{retryCount:0}).then(H=>(ya.set(e.uid,!0),H)).catch(H=>{const S=H;throw S.name==="MethodNotFoundRpcError"||S.name==="MethodNotSupportedRpcError"?(ya.set(e.uid,!1),_):S});throw _}}if((T==null?void 0:T.type)==="local"){const q=await Y(e,Er,"prepareTransactionRequest")({account:T,accessList:s,authorizationList:i,blobs:a,chain:r,data:o,gas:c,gasPrice:d,maxFeePerBlobGas:u,maxFeePerGas:l,maxPriorityFeePerGas:p,nonce:h,nonceManager:T.nonceManager,parameters:[...gu,"sidecars"],type:b,value:g,...P,to:$}),D=(F=r==null?void 0:r.serializers)==null?void 0:F.transaction,x=await T.signTransaction(q,{serializer:D});return await Y(e,Cr,"sendRawTransaction")({serializedTransaction:x})}throw(T==null?void 0:T.type)==="smart"?new Cs({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new Cs({docsPath:"/docs/actions/wallet/sendTransaction",type:T==null?void 0:T.type})}catch($){throw $ instanceof Cs?$:Sr($,{...t,account:T,chain:t.chain||void 0})}}async function Nr(e,t){const{abi:n,account:r=e.account,address:s,args:i,dataSuffix:a,functionName:o,...c}=t;if(typeof r>"u")throw new St({docsPath:"/docs/contract/writeContract"});const d=r?ee(r):null,u=ge({abi:n,args:i,functionName:o});try{return await Y(e,Mr,"sendTransaction")({data:`${u}${a?a.replace("0x",""):""}`,to:s,account:d,...c})}catch(l){throw At(l,{abi:n,address:s,args:i,docsPath:"/docs/contract/writeContract",functionName:o,sender:d==null?void 0:d.address})}}const Qu={"0x0":"reverted","0x1":"success"};function Ju(e){const t={...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(n=>ft(n)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Be(e.transactionIndex):null,status:e.status?Qu[e.status]:null,type:e.type?iu[e.type]||e.type:null};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),t}const tm=ys("transactionReceipt",Ju),ed="0x5792579257925792579257925792579257925792579257925792579257925792",td=j(0,{size:32});async function nm(e,t){const{account:n=e.account,capabilities:r,chain:s=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:c,version:d="2.0.0"}=t,u=n?ee(n):null,l=t.calls.map(p=>{const h=p,b=h.abi?ge({abi:h.abi,functionName:h.functionName,args:h.args}):h.data;return{data:h.dataSuffix&&b?Ue([b,h.dataSuffix]):b,to:h.to,value:h.value?j(h.value):void 0}});try{const p=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:o,calls:l,capabilities:r,chainId:j(s.id),from:u==null?void 0:u.address,id:c,version:d}]},{retryCount:0});return typeof p=="string"?{id:p}:p}catch(p){const h=p;if(i&&(h.name==="MethodNotFoundRpcError"||h.name==="MethodNotSupportedRpcError"||h.name==="UnknownRpcError"||h.details.toLowerCase().includes("does not exist / is not available")||h.details.toLowerCase().includes("missing or invalid. request()")||h.details.toLowerCase().includes("did not match any variant of untagged enum")||h.details.toLowerCase().includes("account upgraded to unsupported contract")||h.details.toLowerCase().includes("eip-7702 not supported")||h.details.toLowerCase().includes("unsupported wc_ method"))){if(r&&Object.values(r).some(R=>!R.optional)){const R="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new Bn(new N(R,{details:R}))}if(o&&l.length>1){const T="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new Pn(new N(T,{details:T}))}const b=[];for(const T of l){const R=Mr(e,{account:u,chain:s,data:T.data,to:T.to,value:T.value?se(T.value):void 0});b.push(R),a>0&&await new Promise(M=>setTimeout(M,a))}const g=await Promise.allSettled(b);if(g.every(T=>T.status==="rejected"))throw g[0].reason;const P=g.map(T=>T.status==="fulfilled"?T.value:td);return{id:Ue([...P,j(s.id,{size:32}),ed])}}throw Sr(p,{...t,account:u,chain:t.chain})}}async function nd(e,t){async function n(u){if(u.endsWith(ed.slice(2))){const p=De(os(u,-64,-32)),h=os(u,0,-64).slice(2).match(/.{1,64}/g),b=await Promise.all(h.map(P=>td.slice(2)!==P?e.request({method:"eth_getTransactionReceipt",params:[`0x${P}`]},{dedupe:!0}):void 0)),g=b.some(P=>P===null)?100:b.every(P=>(P==null?void 0:P.status)==="0x1")?200:b.every(P=>(P==null?void 0:P.status)==="0x0")?500:600;return{atomic:!1,chainId:Be(p),receipts:b.filter(Boolean),status:g,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[u]})}const{atomic:r=!1,chainId:s,receipts:i,version:a="2.0.0",...o}=await n(t.id),[c,d]=(()=>{const u=o.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{...o,atomic:r,chainId:s?Be(s):void 0,receipts:(i==null?void 0:i.map(u=>({...u,blockNumber:se(u.blockNumber),gasUsed:se(u.gasUsed),status:Qu[u.status]})))??[],statusCode:d,status:c,version:a}}async function rm(e,t){const{id:n,pollingInterval:r=e.pollingInterval,status:s=({statusCode:p})=>p>=200,timeout:i=6e4}=t,a=me(["waitForCallsStatus",e.uid,n]),{promise:o,resolve:c,reject:d}=da();let u;const l=Pt(a,{resolve:c,reject:d},p=>{const h=Nn(async()=>{const b=g=>{clearTimeout(u),h(),g(),l()};try{const g=await nd(e,{id:n});if(!s(g))return;b(()=>p.resolve(g))}catch(g){b(()=>p.reject(g))}},{interval:r,emitOnBegin:!0});return h});return u=i?setTimeout(()=>{l(),clearTimeout(u),d(new sm({id:n}))},i):void 0,await o}class sm extends N{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}const ha=256;let Ms=ha,Ns;function rd(e=11){if(!Ns||Ms+e>ha*2){Ns="",Ms=0;for(let t=0;t{const z=M(R);for(const $ in P)delete z[$];const F={...R,...z};return Object.assign(F,{extend:T(F)})}}return Object.assign(P,{extend:T(P)})}const Ls=new as(8192);function im(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Ls.get(n))return Ls.get(n);const r=e().finally(()=>Ls.delete(n));return Ls.set(n,r),r}function ma(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0}={}){return new Promise((s,i)=>{const a=async({count:o=0}={})=>{const c=async({error:d})=>{const u=typeof t=="function"?t({count:o,error:d}):t;u&&await pa(u),a({count:o+1})};try{const d=await e();s(d)}catch(d){if(o{var l;const{dedupe:s=!1,methods:i,retryDelay:a=150,retryCount:o=3,uid:c}={...t,...r},{method:d}=n;if((l=i==null?void 0:i.exclude)!=null&&l.includes(d))throw new en(new Error("method not supported"),{method:d});if(i!=null&&i.include&&!i.include.includes(d))throw new en(new Error("method not supported"),{method:d});const u=s?wn(`${c}.${me(n)}`):void 0;return im(()=>ma(async()=>{try{return await e(n)}catch(p){const h=p;switch(h.code){case nr.code:throw new nr(h);case rr.code:throw new rr(h);case sr.code:throw new sr(h,{method:n.method});case ir.code:throw new ir(h);case Qt.code:throw new Qt(h);case Jt.code:throw new Jt(h);case ar.code:throw new ar(h);case or.code:throw new or(h);case cr.code:throw new cr(h);case en.code:throw new en(h,{method:n.method});case An.code:throw new An(h);case ur.code:throw new ur(h);case In.code:throw new In(h);case dr.code:throw new dr(h);case lr.code:throw new lr(h);case fr.code:throw new fr(h);case pr.code:throw new pr(h);case yr.code:throw new yr(h);case Bn.code:throw new Bn(h);case hr.code:throw new hr(h);case mr.code:throw new mr(h);case br.code:throw new br(h);case gr.code:throw new gr(h);case wr.code:throw new wr(h);case Pn.code:throw new Pn(h);case 5e3:throw new In(h);default:throw p instanceof N?p:new Th(h)}}},{delay:({count:p,error:h})=>{var b;if(h&&h instanceof Xt){const g=(b=h==null?void 0:h.headers)==null?void 0:b.get("Retry-After");if(g!=null&&g.match(/\d/))return Number.parseInt(g)*1e3}return~~(1<om(p)}),{enabled:s,id:u})}}function om(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===An.code||e.code===Qt.code:e instanceof Xt&&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}function sd({key:e,methods:t,name:n,request:r,retryCount:s=3,retryDelay:i=150,timeout:a,type:o},c){const d=rd();return{config:{key:e,methods:t,name:n,request:r,retryCount:s,retryDelay:i,timeout:a,type:o},request:am(r,{methods:t,retryCount:s,retryDelay:i,uid:d}),value:c}}function ba(e,t={}){const{key:n="custom",methods:r,name:s="Custom Provider",retryDelay:i}=t;return({retryCount:a})=>sd({key:n,methods:r,name:s,request:e.request.bind(e),retryCount:t.retryCount??a,retryDelay:i,type:"custom"})}class cm extends N{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function um(e,{errorInstance:t=new Error("timed out"),timeout:n,signal:r}){return new Promise((s,i)=>{(async()=>{let a;try{const o=new AbortController;n>0&&(a=setTimeout(()=>{r&&o.abort()},n)),s(await e({signal:(o==null?void 0:o.signal)||null}))}catch(o){(o==null?void 0:o.name)==="AbortError"&&i(t),i(o)}finally{clearTimeout(a)}})()})}function dm(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const id=dm();function lm(e,t={}){return{async request(n){var l;const{body:r,onRequest:s=t.onRequest,onResponse:i=t.onResponse,timeout:a=t.timeout??1e4}=n,o={...t.fetchOptions??{},...n.fetchOptions??{}},{headers:c,method:d,signal:u}=o;try{const p=await um(async({signal:b})=>{const g={...o,body:Array.isArray(r)?me(r.map(M=>({jsonrpc:"2.0",id:M.id??id.take(),...M}))):me({jsonrpc:"2.0",id:r.id??id.take(),...r}),headers:{"Content-Type":"application/json",...c},method:d||"POST",signal:u||(a>0?b:null)},P=new Request(e,g),T=await(s==null?void 0:s(P,g))??{...g,url:e};return await fetch(T.url??e,T)},{errorInstance:new Xc({body:r,url:e}),timeout:a,signal:!0});i&&await i(p);let h;if((l=p.headers.get("Content-Type"))!=null&&l.startsWith("application/json"))h=await p.json();else{h=await p.text();try{h=JSON.parse(h||"{}")}catch(b){if(p.ok)throw b;h={error:h}}}if(!p.ok)throw new Xt({body:r,details:me(h.error)||p.statusText,headers:p.headers,status:p.status,url:e});return h}catch(p){throw p instanceof Xt||p instanceof Xc?p:new Xt({body:r,cause:p,url:e})}}}}function Rn(e,t={}){const{batch:n,fetchOptions:r,key:s="http",methods:i,name:a="HTTP JSON-RPC",onFetchRequest:o,onFetchResponse:c,retryDelay:d,raw:u}=t;return({chain:l,retryCount:p,timeout:h})=>{const{batchSize:b=1e3,wait:g=0}=typeof n=="object"?n:{},P=t.retryCount??p,T=h??t.timeout??1e4,R=l==null?void 0:l.rpcUrls.default.http[0];if(!R)throw new cm;const M=lm(R,{fetchOptions:r,onRequest:o,onResponse:c,timeout:T});return sd({key:s,methods:i,name:a,async request({method:z,params:F}){const $={method:z,params:F},{schedule:q}=Wu({id:R,wait:g,shouldSplitBatch(v){return v.length>b},fn:v=>M.request({body:v}),sort:(v,C)=>v.id-C.id}),D=async v=>n?q(v):[await M.request({body:v})],[{error:x,result:E}]=await D($);if(u)return{error:x,result:E};if(x)throw new ls({body:$,error:x,url:R});return E},retryCount:P,retryDelay:d,timeout:T,type:"http"},{fetchOptions:r,url:R})}}function ga(e,t){var r,s,i,a,o,c;if(!(e instanceof N))return!1;const n=e.walk(d=>d instanceof Pi);return n instanceof Pi?!!(((r=n.data)==null?void 0:r.errorName)==="ResolverNotFound"||((s=n.data)==null?void 0:s.errorName)==="ResolverWildcardNotSupported"||((i=n.data)==null?void 0:i.errorName)==="ResolverNotContract"||((a=n.data)==null?void 0:a.errorName)==="ResolverError"||((o=n.data)==null?void 0:o.errorName)==="HttpError"||(c=n.reason)!=null&&c.includes("Wildcard on non-extended resolvers is not supported")||t==="reverse"&&n.reason===Dc[50]):!1}function Os(e){const{abi:t,data:n}=e,r=Yt(n,0,4),s=t.find(i=>i.type==="function"&&r===Ot(tt(i)));if(!s)throw new qp(r,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:s.name,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Wt(s.inputs,Yt(n,4)):void 0}}const wa="/docs/contract/encodeErrorResult";function ad(e){const{abi:t,errorName:n,args:r}=e;let s=t[0];if(n){const c=Ft({abi:t,args:r,name:n});if(!c)throw new rc(n,{docsPath:wa});s=c}if(s.type!=="error")throw new rc(void 0,{docsPath:wa});const i=tt(s),a=Ot(i);let o="0x";if(r&&r.length>0){if(!s.inputs)throw new Hp(s.name,{docsPath:wa});o=Re(s.inputs,r)}return Ve([a,o])}const xa="/docs/contract/encodeFunctionResult";function fm(e){const{abi:t,functionName:n,result:r}=e;let s=t[0];if(n){const a=Ft({abi:t,name:n});if(!a)throw new gn(n,{docsPath:xa});s=a}if(s.type!=="function")throw new gn(void 0,{docsPath:xa});if(!s.outputs)throw new oc(s.name,{docsPath:xa});const i=(()=>{if(s.outputs.length===0)return[];if(s.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new cc(r)})();return Re(s.outputs,i)}const Fs="x-batch-gateway:true";async function od(e){const{data:t,ccipRequest:n}=e,{args:[r]}=Os({abi:oa,data:t}),s=[],i=[];return await Promise.all(r.map(async(a,o)=>{try{i[o]=a.urls.includes(Fs)?await od({data:a.data,ccipRequest:n}):await n(a),s[o]=!1}catch(c){s[o]=!0,i[o]=pm(c)}})),fm({abi:oa,functionName:"query",result:[s,i]})}function pm(e){return e.name==="HttpRequestError"&&e.status?ad({abi:oa,errorName:"HttpError",args:[e.status,e.shortMessage]}):ad({abi:[Uc],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}function cd(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;const t=`0x${e.slice(1,65)}`;return ke(t)?t:null}function $s(e){let t=new Uint8Array(32).fill(0);if(!e)return fe(t);const n=e.split(".");for(let r=n.length-1;r>=0;r-=1){const s=cd(n[r]),i=s?je(s):he(Kt(n[r]),"bytes");t=he(Ue([t,i]),"bytes")}return fe(t)}function ym(e){return`[${e.slice(2)}]`}function hm(e){const t=new Uint8Array(32).fill(0);return e?cd(e)||he(Kt(e)):fe(t)}function ks(e){const t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);const n=new Uint8Array(Kt(t).byteLength+2);let r=0;const s=t.split(".");for(let i=0;i255&&(a=Kt(ym(hm(s[i])))),n[r]=a.length,n.set(a,r+1),r+=a.length+1}return n.byteLength!==r+1?n.slice(0,r+1):n}async function mm(e,t){const{blockNumber:n,blockTag:r,coinType:s,name:i,gatewayUrls:a,strict:o}=t,{chain:c}=e,d=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Mn({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})(),u=c==null?void 0:c.ensTlds;if(u&&!u.some(l=>i.endsWith(l)))return null;try{const l=ge({abi:ju,functionName:"addr",...s!=null?{args:[$s(i),BigInt(s)]}:{args:[$s(i)]}}),p={address:d,abi:Gu,functionName:"resolve",args:[te(ks(i)),l,a??[Fs]],blockNumber:n,blockTag:r},b=await Y(e,_e,"readContract")(p);if(b[0]==="0x")return null;const g=sn({abi:ju,args:s!=null?[$s(i),BigInt(s)]:void 0,functionName:"addr",data:b[0]});return g==="0x"||De(g)==="0x00"?null:g}catch(l){if(o)throw l;if(ga(l,"resolve"))return null;throw l}}class bm extends N{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"})}}class Rr extends N{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}}class va extends N{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"})}}class gm extends N{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const wm=/(?https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?\/)?(?ipfs\/|ipns\/)?(?[\w\-.]+)(?\/.*)?/,xm=/^(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,})(\/(?[\w\-.]+))?(?\/.*)?$/,vm=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,Em=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function Tm(e){try{const t=await fetch(e,{method:"HEAD"});if(t.status===200){const n=t.headers.get("content-type");return n==null?void 0:n.startsWith("image/")}return!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!globalThis.hasOwnProperty("Image")?!1:new Promise(n=>{const r=new Image;r.onload=()=>{n(!0)},r.onerror=()=>{n(!1)},r.src=e})}}function ud(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function dd({uri:e,gatewayUrls:t}){const n=vm.test(e);if(n)return{uri:e,isOnChain:!0,isEncoded:n};const r=ud(t==null?void 0:t.ipfs,"https://ipfs.io"),s=ud(t==null?void 0:t.arweave,"https://arweave.net"),i=e.match(wm),{protocol:a,subpath:o,target:c,subtarget:d=""}=(i==null?void 0:i.groups)||{},u=a==="ipns:/"||o==="ipns/",l=a==="ipfs:/"||o==="ipfs/"||xm.test(e);if(e.startsWith("http")&&!u&&!l){let h=e;return t!=null&&t.arweave&&(h=e.replace(/https:\/\/arweave.net/g,t==null?void 0:t.arweave)),{uri:h,isOnChain:!1,isEncoded:!1}}if((u||l)&&c)return{uri:`${r}/${u?"ipns":"ipfs"}/${c}${d}`,isOnChain:!1,isEncoded:!1};if(a==="ar:/"&&c)return{uri:`${s}/${c}${d||""}`,isOnChain:!1,isEncoded:!1};let p=e.replace(Em,"");if(p.startsWith("s.json());return await Ea({gatewayUrls:e,uri:ld(n)})}catch{throw new va({uri:t})}}async function Ea({gatewayUrls:e,uri:t}){const{uri:n,isOnChain:r}=dd({uri:t,gatewayUrls:e});if(r||await Tm(n))return n;throw new va({uri:t})}function Im(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[n,r,s]=t.split("/"),[i,a]=n.split(":"),[o,c]=r.split(":");if(!i||i.toLowerCase()!=="eip155")throw new Rr({reason:"Only EIP-155 supported"});if(!a)throw new Rr({reason:"Chain ID not found"});if(!c)throw new Rr({reason:"Contract address not found"});if(!s)throw new Rr({reason:"Token ID not found"});if(!o)throw new Rr({reason:"ERC namespace not found"});return{chainID:Number.parseInt(a),namespace:o.toLowerCase(),contractAddress:c,tokenID:s}}async function Bm(e,{nft:t}){if(t.namespace==="erc721")return _e(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 _e(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 gm({namespace:t.namespace})}async function Pm(e,{gatewayUrls:t,record:n}){return/eip155:/i.test(n)?Sm(e,{gatewayUrls:t,record:n}):Ea({uri:n,gatewayUrls:t})}async function Sm(e,{gatewayUrls:t,record:n}){const r=Im(n),s=await Bm(e,{nft:r}),{uri:i,isOnChain:a,isEncoded:o}=dd({uri:s,gatewayUrls:t});if(a&&(i.includes("data:application/json;base64,")||i.startsWith("{"))){const d=o?atob(i.replace("data:application/json;base64,","")):i,u=JSON.parse(d);return Ea({uri:ld(u),gatewayUrls:t})}let c=r.tokenID;return r.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),Am({gatewayUrls:t,uri:i.replace(/(?:0x)?{id}/,c)})}async function fd(e,t){const{blockNumber:n,blockTag:r,key:s,name:i,gatewayUrls:a,strict:o}=t,{chain:c}=e,d=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Mn({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})(),u=c==null?void 0:c.ensTlds;if(u&&!u.some(l=>i.endsWith(l)))return null;try{const l={address:d,abi:Gu,functionName:"resolve",args:[te(ks(i)),ge({abi:qu,functionName:"text",args:[$s(i),s]}),a??[Fs]],blockNumber:n,blockTag:r},h=await Y(e,_e,"readContract")(l);if(h[0]==="0x")return null;const b=sn({abi:qu,functionName:"text",data:h[0]});return b===""?null:b}catch(l){if(o)throw l;if(ga(l,"resolve"))return null;throw l}}async function Cm(e,{blockNumber:t,blockTag:n,assetGatewayUrls:r,name:s,gatewayUrls:i,strict:a,universalResolverAddress:o}){const c=await Y(e,fd,"getEnsText")({blockNumber:t,blockTag:n,key:"avatar",name:s,universalResolverAddress:o,gatewayUrls:i,strict:a});if(!c)return null;try{return await Pm(e,{record:c,gatewayUrls:r})}catch{return null}}async function Mm(e,{address:t,blockNumber:n,blockTag:r,gatewayUrls:s,strict:i,universalResolverAddress:a}){let o=a;if(!o){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");o=Mn({blockNumber:n,chain:e.chain,contract:"ensUniversalResolver"})}const c=`${t.toLowerCase().substring(2)}.addr.reverse`;try{const d={address:o,abi:$0,functionName:"reverse",args:[te(ks(c))],blockNumber:n,blockTag:r},u=Y(e,_e,"readContract"),[l,p]=s?await u({...d,args:[...d.args,s]}):await u(d);return t.toLowerCase()!==p.toLowerCase()?null:l}catch(d){if(i)throw d;if(ga(d,"reverse"))return null;throw d}}async function Nm(e,t){const{blockNumber:n,blockTag:r,name:s}=t,{chain:i}=e,a=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!i)throw new Error("client chain not configured. universalResolverAddress is required.");return Mn({blockNumber:n,chain:i,contract:"ensUniversalResolver"})})(),o=i==null?void 0:i.ensTlds;if(o&&!o.some(d=>s.endsWith(d)))throw new Error(`${s} is not a valid ENS TLD (${o==null?void 0:o.join(", ")}) for chain "${i.name}" (id: ${i.id}).`);const[c]=await Y(e,_e,"readContract")({address:a,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[te(ks(s))],blockNumber:n,blockTag:r});return c}async function pd(e,t){var P,T,R;const{account:n=e.account,blockNumber:r,blockTag:s="latest",blobs:i,data:a,gas:o,gasPrice:c,maxFeePerBlobGas:d,maxFeePerGas:u,maxPriorityFeePerGas:l,to:p,value:h,...b}=t,g=n?ee(n):void 0;try{dt(t);const z=(typeof r=="bigint"?j(r):void 0)||s,F=(R=(T=(P=e.chain)==null?void 0:P.formatters)==null?void 0:T.transactionRequest)==null?void 0:R.format,q=(F||rn)({...ps(b,{format:F}),from:g==null?void 0:g.address,blobs:i,data:a,gas:o,gasPrice:c,maxFeePerBlobGas:d,maxFeePerGas:u,maxPriorityFeePerGas:l,to:p,value:h}),D=await e.request({method:"eth_createAccessList",params:[q,z]});return{accessList:D.accessList,gasUsed:BigInt(D.gasUsed)}}catch(M){throw Yu(M,{...t,account:g,chain:e.chain})}}async function Rm(e){const t=cs(e,{method:"eth_newBlockFilter"}),n=await e.request({method:"eth_newBlockFilter"});return{id:n,request:t(n),type:"block"}}async function yd(e,{address:t,args:n,event:r,events:s,fromBlock:i,strict:a,toBlock:o}={}){const c=s??(r?[r]:void 0),d=cs(e,{method:"eth_newFilter"});let u=[];c&&(u=[c.flatMap(h=>Qn({abi:[h],eventName:h.name,args:n}))],r&&(u=u[0]));const l=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof i=="bigint"?j(i):i,toBlock:typeof o=="bigint"?j(o):o,...u.length?{topics:u}:{}}]});return{abi:c,args:n,eventName:r?r.name:void 0,fromBlock:i,id:l,request:d(l),strict:!!a,toBlock:o,type:"event"}}async function hd(e){const t=cs(e,{method:"eth_newPendingTransactionFilter"}),n=await e.request({method:"eth_newPendingTransactionFilter"});return{id:n,request:t(n),type:"transaction"}}async function Lm(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}async function Om(e,{blockHash:t,blockNumber:n,blockTag:r="latest"}={}){const s=n!==void 0?j(n):void 0;let i;return t?i=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):i=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[s||r]},{dedupe:!!s}),Be(i)}async function Ta(e,{address:t,blockNumber:n,blockTag:r="latest"}){const s=n!==void 0?j(n):void 0,i=await e.request({method:"eth_getCode",params:[t,s||r]},{dedupe:!!s});if(i!=="0x")return i}class Fm extends N{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 $m(e,t){const{address:n,factory:r,factoryData:s}=t;try{const[i,a,o,c,d,u,l]=await Y(e,_e,"readContract")({abi:km,address:n,functionName:"eip712Domain",factory:r,factoryData:s});return{domain:{name:a,version:o,chainId:Number(c),verifyingContract:d,salt:u},extensions:l,fields:i}}catch(i){const a=i;throw a.name==="ContractFunctionExecutionError"&&a.cause.name==="ContractFunctionZeroDataError"?new Fm({address:n}):a}}const km=[{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"}];function Dm(e){var t;return{baseFeePerGas:e.baseFeePerGas.map(n=>BigInt(n)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:(t=e.reward)==null?void 0:t.map(n=>n.map(r=>BigInt(r)))}}async function Um(e,{blockCount:t,blockNumber:n,blockTag:r="latest",rewardPercentiles:s}){const i=typeof n=="bigint"?j(n):void 0,a=await e.request({method:"eth_feeHistory",params:[j(t),i||r,s]},{dedupe:!!i});return Dm(a)}async function zm(e,{filter:t}){const n=t.strict??!1,s=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(i=>ft(i));return t.abi?Vi({abi:t.abi,logs:s,strict:n}):s}class _m extends N{constructor({callbackSelector:t,cause:n,data:r,extraData:s,sender:i,urls:a}){var o;super(n.shortMessage||"An error occurred while fetching for an offchain result.",{cause:n,metaMessages:[...n.metaMessages||[],(o=n.metaMessages)!=null&&o.length?"":[],"Offchain Gateway Call:",a&&[" Gateway URL(s):",...a.map(c=>` ${tr(c)}`)],` Sender: ${i}`,` Data: ${r}`,` Callback selector: ${t}`,` Extra data: ${s}`].flat(),name:"OffchainLookupError"})}}class Hm extends N{constructor({result:t,url:n}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${tr(n)}`,`Response: ${me(t)}`],name:"OffchainLookupResponseMalformedError"})}}class Gm extends N{constructor({sender:t,to:n}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${n}`,`OffchainLookup sender address: ${t}`],name:"OffchainLookupSenderMismatchError"})}}const qm="0x556f1830",md={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 jm(e,{blockNumber:t,blockTag:n,data:r,to:s}){const{args:i}=qc({data:r,abi:[md]}),[a,o,c,d,u]=i,{ccipRead:l}=e,p=l&&typeof(l==null?void 0:l.request)=="function"?l.request:bd;try{if(!Tr(s,a))throw new Gm({sender:a,to:s});const h=o.includes(Fs)?await od({data:c,ccipRequest:p}):await p({data:c,sender:a,urls:o}),{data:b}=await Br(e,{blockNumber:t,blockTag:n,data:Ue([d,Re([{type:"bytes"},{type:"bytes"}],[h,u])]),to:s});return b}catch(h){throw new _m({callbackSelector:d,cause:h,data:r,extraData:u,sender:a,urls:o})}}async function bd({data:e,sender:t,urls:n}){var s;let r=new Error("An unknown error occurred.");for(let i=0;i`${o} ${a}`).join(",")})`;return n}function Ed({primaryType:e,types:t},n=new Set){const r=e.match(/^\w*/u),s=r==null?void 0:r[0];if(n.has(s)||t[s]===void 0)return n;n.add(s);for(const i of t[s])Ed({primaryType:i.type,types:t},n);return n}function Td({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:"bytes32"},he(vd({data:r,primaryType:n,types:e}))];if(n==="bytes")return r=`0x${(r.length%2?"0":"")+r.slice(2)}`,[{type:"bytes32"},he(r)];if(n==="string")return[{type:"bytes32"},he(te(r))];if(n.lastIndexOf("]")===n.length-1){const s=n.slice(0,n.lastIndexOf("[")),i=r.map(a=>Td({name:t,type:s,types:e,value:a}));return[{type:"bytes32"},he(Re(i.map(([a])=>a),i.map(([,a])=>a)))]}return[{type:n},r]}function Jm(e){const{domain:t,message:n,primaryType:r,types:s}=e,i=(c,d)=>{const u={...d};for(const l of c){const{name:p,type:h}=l;h==="address"&&(u[p]=u[p].toLowerCase())}return u},a=s.EIP712Domain?t?i(s.EIP712Domain,t):{}:{},o=(()=>{if(r!=="EIP712Domain")return i(s[r],n)})();return me({domain:a,message:o,primaryType:r,types:s})}function Ad(e){const{domain:t,message:n,primaryType:r,types:s}=e,i=(a,o)=>{for(const c of a){const{name:d,type:u}=c,l=o[d],p=u.match(Rc);if(p&&(typeof l=="number"||typeof l=="bigint")){const[g,P,T]=p;j(l,{signed:P==="int",size:Number.parseInt(T)/8})}if(u==="address"&&typeof l=="string"&&!ce(l))throw new be({address:l});const h=u.match(Uy);if(h){const[g,P]=h;if(P&&le(l)!==Number.parseInt(P))throw new Vp({expectedSize:Number.parseInt(P),givenSize:le(l)})}const b=s[u];b&&(eb(u),i(b,l))}};if(s.EIP712Domain&&t){if(typeof t!="object")throw new Km({domain:t});i(s.EIP712Domain,t)}if(r!=="EIP712Domain")if(s[r])i(s[r],n);else throw new Zm({primaryType:r,types:s})}function Id({domain:e}){return[typeof(e==null?void 0:e.name)=="string"&&{name:"name",type:"string"},(e==null?void 0:e.version)&&{name:"version",type:"string"},(typeof(e==null?void 0:e.chainId)=="number"||typeof(e==null?void 0:e.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(e==null?void 0:e.verifyingContract)&&{name:"verifyingContract",type:"address"},(e==null?void 0:e.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function eb(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new Ym({type:e})}function tb(e){const{authorizationList:t}=e;if(t)for(const n of t){const{chainId:r}=n,s=n.address;if(!ce(s))throw new be({address:s});if(r<0)throw new Ir({chainId:r})}Aa(e)}function nb(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new hu;for(const n of t){const r=le(n),s=Be(Yt(n,0,1));if(r!==32)throw new Jh({hash:n,size:r});if(s!==yu)throw new e0({hash:n,version:s})}}Aa(e)}function Aa(e){const{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:s}=e;if(t<=0)throw new Ir({chainId:t});if(s&&!ce(s))throw new be({address:s});if(r&&r>hs)throw new nn({maxFeePerGas:r});if(n&&r&&n>r)throw new xr({maxFeePerGas:r,maxPriorityFeePerGas:n})}function rb(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:s,to:i}=e;if(t<=0)throw new Ir({chainId:t});if(i&&!ce(i))throw new be({address:i});if(n||s)throw new N("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(r&&r>hs)throw new nn({maxFeePerGas:r})}function sb(e){const{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:s,to:i}=e;if(i&&!ce(i))throw new be({address:i});if(typeof t<"u"&&t<=0)throw new Ir({chainId:t});if(n||s)throw new N("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(r&&r>hs)throw new nn({maxFeePerGas:r})}function Ds(e){if(!e||e.length===0)return[];const t=[];for(let n=0;n"u"||typeof h>"u")){const M=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map($=>fe($)),z=e.kzg,F=Hi({blobs:M,kzg:z});if(typeof p>"u"&&(p=uu({commitments:F})),typeof h>"u"){const $=Gi({blobs:M,commitments:F,kzg:z});h=mu({blobs:M,commitments:F,proofs:$})}}const b=Ds(u),g=[j(n),s?j(s):"0x",d?j(d):"0x",c?j(c):"0x",r?j(r):"0x",i??"0x",a?j(a):"0x",l??"0x",b,o?j(o):"0x",p??[],...Lr(e,t)],P=[],T=[],R=[];if(h)for(let M=0;M{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);const h=27n+(t.v===27n?0n:1n);if(t.v!==h)throw new ph({v:t.v});return h})(),l=De(t.r),p=De(t.s);d=[...d,j(u),l==="0x00"?"0x":l,p==="0x00"?"0x":p]}else n>0&&(d=[...d,j(n),"0x","0x"]);return $t(d)}function Lr(e,t){const n=t??e,{v:r,yParity:s}=n;if(typeof n.r>"u")return[];if(typeof n.s>"u")return[];if(typeof r>"u"&&typeof s>"u")return[];const i=De(n.r),a=De(n.s);return[typeof s=="number"?s?j(1):"0x":r===0n?"0x":r===1n?j(1):r===27n?"0x":j(1),i==="0x00"?"0x":i,a==="0x00"?"0x":a]}function lb(e){if(!e||e.length===0)return[];const t=[];for(const n of e){const{chainId:r,nonce:s,...i}=n,a=n.address;t.push([r?te(r):"0x",a,s?te(s):"0x",...Lr({},i)])}return t}function fb(e,t="hex"){const n=(()=>{if(typeof e=="string"){if(e.length>3&&e.length%2!==0)throw new ey(e);return Ee(e)}return e})(),r=us(n,{recursiveReadLimit:Number.POSITIVE_INFINITY});return Bd(r,t)}function Bd(e,t="hex"){if(e.bytes.length===0)return t==="hex"?fe(e.bytes):e.bytes;const n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){const s=Pd(e,n,128),i=e.readBytes(s);return t==="hex"?fe(i):i}const r=Pd(e,n,192);return pb(e,r,t)}function Pd(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new N("Invalid RLP prefix")}function pb(e,t,n){const r=e.position,s=[];for(;e.position-r({...t,value:BigInt(t.value)}))}function gb(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?Be(e.nonce):void 0,storageProof:e.storageProof?bb(e.storageProof):void 0}}async function wb(e,{address:t,blockNumber:n,blockTag:r,storageKeys:s}){const i=r??"latest",a=n!==void 0?j(n):void 0,o=await e.request({method:"eth_getProof",params:[t,s,a||i]});return gb(o)}async function xb(e,{address:t,blockNumber:n,blockTag:r="latest",slot:s}){const i=n!==void 0?j(n):void 0;return await e.request({method:"eth_getStorageAt",params:[t,s,i||r]})}async function Ba(e,{blockHash:t,blockNumber:n,blockTag:r,hash:s,index:i}){var u,l,p;const a=r||"latest",o=n!==void 0?j(n):void 0;let c=null;if(s?c=await e.request({method:"eth_getTransactionByHash",params:[s]},{dedupe:!0}):t?c=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,j(i)]},{dedupe:!0}):c=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[o||a,j(i)]},{dedupe:!!o}),!c)throw new Zc({blockHash:t,blockNumber:n,blockTag:a,hash:s,index:i});return(((p=(l=(u=e.chain)==null?void 0:u.formatters)==null?void 0:l.transaction)==null?void 0:p.format)||Di)(c)}async function vb(e,{hash:t,transactionReceipt:n}){const[r,s]=await Promise.all([Y(e,Pr,"getBlockNumber")({}),t?Y(e,Ba,"getTransaction")({hash:t}):void 0]),i=(n==null?void 0:n.blockNumber)||(s==null?void 0:s.blockNumber);return i?r-i+1n:0n}async function Pa(e,{hash:t}){var s,i,a;const n=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!n)throw new Yc({hash:t});return(((a=(i=(s=e.chain)==null?void 0:s.formatters)==null?void 0:i.transactionReceipt)==null?void 0:a.format)||Ju)(n)}async function Eb(e,t){var T;const{account:n,allowFailure:r=!0,batchSize:s,blockNumber:i,blockTag:a,multicallAddress:o,stateOverride:c}=t,d=t.contracts,u=s??(typeof((T=e.batch)==null?void 0:T.multicall)=="object"&&e.batch.multicall.batchSize||1024);let l=o;if(!l){if(!e.chain)throw new Error("client chain not configured. multicallAddress is required.");l=Mn({blockNumber:i,chain:e.chain,contract:"multicall3"})}const p=[[]];let h=0,b=0;for(let R=0;R0&&b>u&&p[h].length>0&&(h++,b=(q.length-2)/2,p[h]=[]),p[h]=[...p[h],{allowFailure:!0,callData:q,target:z}]}catch(q){const D=At(q,{abi:M,address:z,args:F,docsPath:"/docs/contract/multicall",functionName:$,sender:n});if(!r)throw D;p[h]=[...p[h],{allowFailure:!0,callData:"0x",target:z}]}}const g=await Promise.allSettled(p.map(R=>Y(e,_e,"readContract")({abi:aa,account:n,address:l,args:[R],blockNumber:i,blockTag:a,functionName:"aggregate3",stateOverride:c}))),P=[];for(let R=0;R{const T=P,R=T.account?ee(T.account):void 0,M=T.abi?ge(T):T.data,z={...T,data:T.dataSuffix?Ue([M||"0x",T.dataSuffix]):M,from:T.from??(R==null?void 0:R.address)};return dt(z),rn(z)}),g=p.stateOverrides?$i(p.stateOverrides):void 0;c.push({blockOverrides:h,calls:b,stateOverrides:g})}const u=(typeof n=="bigint"?j(n):void 0)||r;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:i,traceTransfers:a,validation:o},u]})).map((p,h)=>({...Ui(p),calls:p.calls.map((b,g)=>{var E,v;const{abi:P,args:T,functionName:R,to:M}=s[h].calls[g],z=((E=b.error)==null?void 0:E.data)??b.returnData,F=BigInt(b.gasUsed),$=(v=b.logs)==null?void 0:v.map(C=>ft(C)),q=b.status==="0x1"?"success":"failure",D=P&&q==="success"&&z!=="0x"?sn({abi:P,data:z,functionName:R}):null,x=(()=>{var O;if(q==="success")return;let C;if(((O=b.error)==null?void 0:O.data)==="0x"?C=new jn:b.error&&(C=new ds(b.error)),!!C)return At(C,{abi:P??[],address:M??"0x",args:T,functionName:R??""})})();return{data:z,gasUsed:F,logs:$,status:q,...q==="success"?{result:D}:{error:x}}})}))}catch(c){const d=c,u=fs(d,{});throw u instanceof vr?d:u}}/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Tb(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Nd(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Us(e,...t){if(!Tb(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 Rd(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 Ab(e,t){Us(e);const n=t.outputLen;if(e.length>>8&65280|e>>>24&255}function Sb(e){for(let t=0;te:Sb;function Cb(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Fd(e){return typeof e=="string"&&(e=Cb(e)),Us(e),e}class Mb{}function Nb(e){const t=r=>e().update(Fd(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}const zs=BigInt(2**32-1),$d=BigInt(32);function Rb(e,t=!1){return t?{h:Number(e&zs),l:Number(e>>$d&zs)}:{h:Number(e>>$d&zs)|0,l:Number(e&zs)|0}}function Lb(e,t=!1){const n=e.length;let r=new Uint32Array(n),s=new Uint32Array(n);for(let i=0;ie<>>32-n,Fb=(e,t,n)=>t<>>32-n,$b=(e,t,n)=>t<>>64-n,kb=(e,t,n)=>e<>>64-n,Db=BigInt(0),Or=BigInt(1),Ub=BigInt(2),zb=BigInt(7),_b=BigInt(256),Hb=BigInt(113),kd=[],Dd=[],Ud=[];for(let e=0,t=Or,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],kd.push(2*(5*r+n)),Dd.push((e+1)*(e+2)/2%64);let s=Db;for(let i=0;i<7;i++)t=(t<>zb)*Hb)%_b,t&Ub&&(s^=Or<<(Or<n>32?$b(e,t,n):Ob(e,t,n),Hd=(e,t,n)=>n>32?kb(e,t,n):Fb(e,t,n);function jb(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let a=0;a<10;a++)n[a]=e[a]^e[a+10]^e[a+20]^e[a+30]^e[a+40];for(let a=0;a<10;a+=2){const o=(a+8)%10,c=(a+2)%10,d=n[c],u=n[c+1],l=_d(d,u,1)^n[o],p=Hd(d,u,1)^n[o+1];for(let h=0;h<50;h+=10)e[a+h]^=l,e[a+h+1]^=p}let s=e[2],i=e[3];for(let a=0;a<24;a++){const o=Dd[a],c=_d(s,i,o),d=Hd(s,i,o),u=kd[a];s=e[u],i=e[u+1],e[u]=c,e[u+1]=d}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)n[o]=e[a+o];for(let o=0;o<10;o++)e[a+o]^=~n[(o+2)%10]&n[(o+4)%10]}e[0]^=Gb[r],e[1]^=qb[r]}Ld(n)}class Ca extends Mb{constructor(t,n,r,s=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=s,this.rounds=i,Nd(r),!(0=r&&this.keccak();const a=Math.min(r-this.posOut,i-s);t.set(n.subarray(this.posOut,this.posOut+a),s),this.posOut+=a,s+=a}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Nd(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Ab(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,Ld(this.state)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:s,rounds:i,enableXOF:a}=this;return t||(t=new Ca(n,r,s,a,i)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=i,t.suffix=r,t.outputLen=s,t.enableXOF=a,t.destroyed=this.destroyed,t}}const Vb=(e,t,n)=>Nb(()=>new Ca(t,e,n)),Kb=Vb(1,136,256/8);function Gd(e,t={}){const{as:n=typeof e=="string"?"Hex":"Bytes"}=t,r=Kb(E0(e));return n==="Bytes"?r:$u(r)}class Zb extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const n=super.get(t);return super.has(t)&&n!==void 0&&(this.delete(t),super.set(t,n)),n}set(t,n){if(super.set(t,n),this.maxSize&&this.size>this.maxSize){const r=this.keys().next().value;r&&this.delete(r)}return this}}const Ma={checksum:new Zb(8192)}.checksum,Yb=/^0x[a-fA-F0-9]{40}$/;function _s(e,t={}){const{strict:n=!0}=t;if(!Yb.test(e))throw new qd({address:e,cause:new Xb});if(n){if(e.toLowerCase()===e)return;if(Wb(e)!==e)throw new qd({address:e,cause:new Qb})}}function Wb(e){if(Ma.has(e))return Ma.get(e);_s(e,{strict:!1});const t=e.substring(2).toLowerCase(),n=Gd(I0(t),{as:"Bytes"}),r=t.split("");for(let i=0;i<40;i+=2)n[i>>1]>>4>=8&&r[i]&&(r[i]=r[i].toUpperCase()),(n[i>>1]&15)>=8&&r[i+1]&&(r[i+1]=r[i+1].toUpperCase());const s=`0x${r.join("")}`;return Ma.set(e,s),s}function Na(e,t={}){const{strict:n=!0}=t??{};try{return _s(e,{strict:n}),!0}catch{return!1}}class qd extends ue{constructor({address:t,cause:n}){super(`Address "${t}" is invalid.`,{cause:n}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class Xb extends ue{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"})}}class Qb extends ue{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}function Ra(e){let t=!0,n="",r=0,s="",i=!1;for(let a=0;aLa(Object.values(e)[i],s)):/^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(r)?n==="number"||n==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)?Array.isArray(e)&&e.every(s=>La(s,{...t,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function jd(e,t,n){for(const r in e){const s=e[r],i=t[r];if(s.type==="tuple"&&i.type==="tuple"&&"components"in s&&"components"in i)return jd(s.components,i.components,n[r]);const a=[s.type,i.type];if(a.includes("address")&&a.includes("bytes20")?!0:a.includes("address")&&a.includes("string")?Na(n[r],{strict:!1}):a.includes("address")&&a.includes("bytes")?Na(n[r],{strict:!1}):!1)return a}}function Vd(e,t={}){const{prepare:n=!0}=t,r=Array.isArray(e)||typeof e=="string"?Xo(e):e;return{...r,...n?{hash:Ln(r)}:{}}}function Jb(e,t,n){const{args:r=[],prepare:s=!0}=n??{},i=R0(t,{strict:!1}),a=e.filter(d=>i?d.type==="function"||d.type==="error"?Kd(d)===ia(t,0,4):d.type==="event"?Ln(d)===t:!1:"name"in d&&d.name===t);if(a.length===0)throw new Oa({name:t});if(a.length===1)return{...a[0],...s?{hash:Ln(a[0])}:{}};let o;for(const d of a){if(!("inputs"in d))continue;if(!r||r.length===0){if(!d.inputs||d.inputs.length===0)return{...d,...s?{hash:Ln(d)}:{}};continue}if(!d.inputs||d.inputs.length===0||d.inputs.length!==r.length)continue;if(r.every((l,p)=>{const h="inputs"in d&&d.inputs[p];return h?La(l,h):!1})){if(o&&"inputs"in o&&o.inputs){const l=jd(d.inputs,o.inputs,r);if(l)throw new tg({abiItem:d,type:l[0]},{abiItem:o,type:l[1]})}o=d}}const c=(()=>{if(o)return o;const[d,...u]=a;return{...d,overloads:u}})();if(!c)throw new Oa({name:t});return{...c,...s?{hash:Ln(c)}:{}}}function Kd(e){return ia(Ln(e),0,4)}function eg(e){const t=typeof e=="string"?e:Xr(e);return Ra(t)}function Ln(e){return typeof e!="string"&&"hash"in e&&e.hash?e.hash:Gd(sa(eg(e)))}class tg extends ue{constructor(t,n){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${Ra(Xr(t.abiItem))}\`, and`,`\`${n.type}\` in \`${Ra(Xr(n.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"})}}class Oa extends ue{constructor({name:t,data:n,type:r="item"}){const s=t?` with name "${t}"`:n?` with data "${n}"`:"";super(`ABI ${r}${s} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}const ng=/^(.*)\[([0-9]*)\]$/,rg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Zd=/^(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 sg({checksumAddress:e,parameters:t,values:n}){const r=[];for(let s=0;s0?yt(d,c):d}}if(a)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:yt(...o.map(({encoded:c})=>c))}}function og(e,{type:t}){const[,n]=t.split("bytes"),r=Ze(e);if(!n){let s=e;return r%32!==0&&(s=cn(s,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:yt(on(Se(r,{size:32})),s)}}if(r!==Number.parseInt(n))throw new Wd({expectedSize:Number.parseInt(n),value:e});return{dynamic:!1,encoded:cn(e)}}function cg(e){if(typeof e!="boolean")throw new ue(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:on(Fu(e))}}function ug(e,{signed:t,size:n}){if(typeof n=="number"){const r=2n**(BigInt(n)-(t?1n:0n))-1n,s=t?-r-1n:0n;if(e>r||ea))}}function fg(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function Yd(e,t,n){const{checksumAddress:r=!1}={};if(e.length!==t.length)throw new Xd({expectedLength:e.length,givenLength:t.length});const s=sg({checksumAddress:r,parameters:e,values:t}),i=$a(s);return i.length===0?"0x":i}function ka(e,t){if(e.length!==t.length)throw new Xd({expectedLength:e.length,givenLength:t.length});const n=[];for(let r=0;r0?Yd(r.inputs,t[0]):void 0;return i?yt(s,i):s}function On(e,t={}){return Vd(e,t)}function gg(e,t,n){const r=Jb(e,t,n);if(r.type!=="function")throw new Oa({name:t,type:"function"});return r}function wg(e){return Kd(e)}const xg="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",st="0x0000000000000000000000000000000000000000",vg="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function Eg(e,t){const{blockNumber:n,blockTag:r,calls:s,stateOverrides:i,traceAssetChanges:a,traceTransfers:o,validation:c}=t,d=t.account?ee(t.account):void 0;if(a&&!d)throw new N("`account` is required when `traceAssetChanges` is true");const u=d?hg(mg("constructor(bytes, bytes)"),{bytecode:Ku,args:[vg,bg(On("function getBalance(address)"),[d.address])]}):void 0,l=a?await Promise.all(t.calls.map(async A=>{if(!A.data&&!A.abi)return;const{accessList:k}=await pd(e,{account:d.address,...A,data:A.abi?ge(A):A.data});return k.map(({address:V,storageKeys:U})=>U.length>0?V:null)})).then(A=>A.flat().filter(Boolean)):[],p=await Sa(e,{blockNumber:n,blockTag:r,blocks:[...a?[{calls:[{data:u}],stateOverrides:i},{calls:l.map((A,k)=>({abi:[On("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[d.address],to:A,from:st,nonce:k})),stateOverrides:[{address:st,nonce:0}]}]:[],{calls:[...s,{}].map(A=>({...A,from:d==null?void 0:d.address})),stateOverrides:i},...a?[{calls:[{data:u}]},{calls:l.map((A,k)=>({abi:[On("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[d.address],to:A,from:st,nonce:k})),stateOverrides:[{address:st,nonce:0}]},{calls:l.map((A,k)=>({to:A,abi:[On("function decimals() returns (uint256)")],functionName:"decimals",from:st,nonce:k})),stateOverrides:[{address:st,nonce:0}]},{calls:l.map((A,k)=>({to:A,abi:[On("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:st,nonce:k})),stateOverrides:[{address:st,nonce:0}]},{calls:l.map((A,k)=>({to:A,abi:[On("function symbol() returns (string)")],functionName:"symbol",from:st,nonce:k})),stateOverrides:[{address:st,nonce:0}]}]:[]],traceTransfers:o,validation:c}),h=a?p[2]:p[0],[b,g,,P,T,R,M,z]=a?p:[],{calls:F,...$}=h,q=F.slice(0,-1)??[],D=(b==null?void 0:b.calls)??[],x=(g==null?void 0:g.calls)??[],E=[...D,...x].map(A=>A.status==="success"?se(A.data):null),v=(P==null?void 0:P.calls)??[],C=(T==null?void 0:T.calls)??[],O=[...v,...C].map(A=>A.status==="success"?se(A.data):null),_=((R==null?void 0:R.calls)??[]).map(A=>A.status==="success"?A.result:null),H=((z==null?void 0:z.calls)??[]).map(A=>A.status==="success"?A.result:null),S=((M==null?void 0:M.calls)??[]).map(A=>A.status==="success"?A.result:null),B=[];for(const[A,k]of O.entries()){const V=E[A];if(typeof k!="bigint"||typeof V!="bigint")continue;const U=_[A-1],K=H[A-1],X=S[A-1],Q=A===0?{address:xg,decimals:18,symbol:"ETH"}:{address:l[A-1],decimals:X||U?Number(U??1):void 0,symbol:K??void 0};B.some(Z=>Z.token.address===Q.address)||B.push({token:Q,value:{pre:V,post:k,diff:k-V}})}return{assetChanges:B,block:$,results:q}}let Jd=class extends gi{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,yy(t);const r=ss(n);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,i=new Uint8Array(s);i.set(r.length>s?t.create().update(r).digest():r);for(let a=0;anew Jd(e,t).update(n).digest();el.create=(e,t)=>new Jd(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Da=BigInt(0),Ua=BigInt(1);function Hs(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}function Gs(e){const t=e.toString(16);return t.length&1?"0"+t:t}function tl(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Da:BigInt("0x"+e)}function qs(e){return tl(Zn(e))}function nl(e){return nt(e),tl(Zn(Uint8Array.from(e).reverse()))}function za(e,t){return bi(e.toString(16).padStart(t*2,"0"))}function rl(e,t){return za(e,t).reverse()}function Ye(e,t,n){let r;if(typeof t=="string")try{r=bi(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(hi(t))r=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");const s=r.length;if(typeof n=="number"&&s!==n)throw new Error(e+" of length "+n+" expected, got "+s);return r}const _a=e=>typeof e=="bigint"&&Da<=e;function Tg(e,t,n){return _a(e)&&_a(t)&&_a(n)&&t<=e&&eDa;e>>=Ua,t+=1);return t}const js=e=>(Ua<new Uint8Array(h),s=h=>Uint8Array.of(h);let i=r(e),a=r(e),o=0;const c=()=>{i.fill(1),a.fill(0),o=0},d=(...h)=>n(a,i,...h),u=(h=r(0))=>{a=d(s(0),h),i=d(),h.length!==0&&(a=d(s(1),h),i=d())},l=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let h=0;const b=[];for(;h{c(),u(h);let g;for(;!(g=b(l()));)u();return c(),g}}function Ha(e,t,n={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function r(s,i,a){const o=e[s];if(a&&o===void 0)return;const c=typeof o;if(c!==i||o===null)throw new Error(`param "${s}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([s,i])=>r(s,i,!1)),Object.entries(n).forEach(([s,i])=>r(s,i,!0))}function sl(e){const t=new WeakMap;return(n,...r)=>{const s=t.get(n);if(s!==void 0)return s;const i=e(n,...r);return t.set(n,i),i}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Oe=BigInt(0),Ce=BigInt(1),dn=BigInt(2),Pg=BigInt(3),il=BigInt(4),al=BigInt(5),ol=BigInt(8);function We(e,t){const n=e%t;return n>=Oe?n:t+n}function Xe(e,t,n){let r=e;for(;t-- >Oe;)r*=r,r%=n;return r}function cl(e,t){if(e===Oe)throw new Error("invert: expected non-zero number");if(t<=Oe)throw new Error("invert: expected positive modulus, got "+t);let n=We(e,t),r=t,s=Oe,i=Ce;for(;n!==Oe;){const o=r/n,c=r%n,d=s-i*o;r=n,n=c,s=i,i=d}if(r!==Ce)throw new Error("invert: does not exist");return We(s,t)}function ul(e,t){const n=(e.ORDER+Ce)/il,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw new Error("Cannot find square root");return r}function Sg(e,t){const n=(e.ORDER-al)/ol,r=e.mul(t,dn),s=e.pow(r,n),i=e.mul(t,s),a=e.mul(e.mul(i,dn),s),o=e.mul(i,e.sub(a,e.ONE));if(!e.eql(e.sqr(o),t))throw new Error("Cannot find square root");return o}function Cg(e){if(e1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return ul;let i=s.pow(r,t);const a=(t+Ce)/dn;return function(c,d){if(c.is0(d))return d;if(ll(c,d)!==1)throw new Error("Cannot find square root");let u=n,l=c.mul(c.ONE,i),p=c.pow(d,t),h=c.pow(d,a);for(;!c.eql(p,c.ONE);){if(c.is0(p))return c.ZERO;let b=1,g=c.sqr(p);for(;!c.eql(g,c.ONE);)if(b++,g=c.sqr(g),b===u)throw new Error("Cannot find square root");const P=Ce<(r[s]="function",r),t);return Ha(e,n),e}function Lg(e,t,n){if(nOe;)n&Ce&&(r=e.mul(r,s)),s=e.sqr(s),n>>=Ce;return r}function dl(e,t,n=!1){const r=new Array(t.length).fill(n?e.ZERO:void 0),s=t.reduce((a,o,c)=>e.is0(o)?a:(r[c]=a,e.mul(a,o)),e.ONE),i=e.inv(s);return t.reduceRight((a,o,c)=>e.is0(o)?a:(r[c]=e.mul(a,r[c]),e.mul(a,o)),i),r}function ll(e,t){const n=(e.ORDER-Ce)/dn,r=e.pow(t,n),s=e.eql(r,e.ONE),i=e.eql(r,e.ZERO),a=e.eql(r,e.neg(e.ONE));if(!s&&!i&&!a)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function Og(e,t){t!==void 0&&Kn(t);const n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function Vs(e,t,n=!1,r={}){if(e<=Oe)throw new Error("invalid field: expected ORDER > 0, got "+e);let s,i;if(typeof t=="object"&&t!=null){if(r.sqrt||n)throw new Error("cannot specify opts in two arguments");const u=t;u.BITS&&(s=u.BITS),u.sqrt&&(i=u.sqrt),typeof u.isLE=="boolean"&&(n=u.isLE)}else typeof t=="number"&&(s=t),r.sqrt&&(i=r.sqrt);const{nBitLength:a,nByteLength:o}=Og(e,s);if(o>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let c;const d=Object.freeze({ORDER:e,isLE:n,BITS:a,BYTES:o,MASK:js(a),ZERO:Oe,ONE:Ce,create:u=>We(u,e),isValid:u=>{if(typeof u!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof u);return Oe<=u&&uu===Oe,isValidNot0:u=>!d.is0(u)&&d.isValid(u),isOdd:u=>(u&Ce)===Ce,neg:u=>We(-u,e),eql:(u,l)=>u===l,sqr:u=>We(u*u,e),add:(u,l)=>We(u+l,e),sub:(u,l)=>We(u-l,e),mul:(u,l)=>We(u*l,e),pow:(u,l)=>Lg(d,u,l),div:(u,l)=>We(u*cl(l,e),e),sqrN:u=>u*u,addN:(u,l)=>u+l,subN:(u,l)=>u-l,mulN:(u,l)=>u*l,inv:u=>cl(u,e),sqrt:i||(u=>(c||(c=Mg(e)),c(d,u))),toBytes:u=>n?rl(u,o):za(u,o),fromBytes:u=>{if(u.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+u.length);return n?nl(u):qs(u)},invertBatch:u=>dl(d,u),cmov:(u,l,p)=>p?l:u});return Object.freeze(d)}function fl(e){if(typeof e!="bigint")throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function pl(e){const t=fl(e);return t+Math.ceil(t/2)}function Fg(e,t,n=!1){const r=e.length,s=fl(t),i=pl(t);if(r<16||r1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);const a=n?nl(e):qs(e),o=We(a,t-Ce)+Ce;return n?rl(o,s):za(o,s)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Fn=BigInt(0),ln=BigInt(1);function Fr(e,t){const n=t.negate();return e?n:t}function $g(e,t,n){const r=a=>a.pz,s=dl(e.Fp,n.map(r));return n.map((a,o)=>a.toAffine(s[o])).map(e.fromAffine)}function yl(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Ga(e,t){yl(e,t);const n=Math.ceil(t/e)+1,r=2**(e-1),s=2**e,i=js(e),a=BigInt(e);return{windows:n,windowSize:r,mask:i,maxNumber:s,shiftBy:a}}function hl(e,t,n){const{windowSize:r,mask:s,maxNumber:i,shiftBy:a}=n;let o=Number(e&s),c=e>>a;o>r&&(o-=i,c+=ln);const d=t*r,u=d+Math.abs(o)-1,l=o===0,p=o<0,h=t%2!==0;return{nextN:c,offset:u,isZero:l,isNeg:p,isNegF:h,offsetF:d}}function kg(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((n,r)=>{if(!(n instanceof t))throw new Error("invalid point at index "+r)})}function Dg(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((n,r)=>{if(!t.isValid(n))throw new Error("invalid scalar at index "+r)})}const qa=new WeakMap,ml=new WeakMap;function ja(e){return ml.get(e)||1}function bl(e){if(e!==Fn)throw new Error("invalid wNAF")}function Ug(e,t){return{constTimeNegate:Fr,hasPrecomputes(n){return ja(n)!==1},unsafeLadder(n,r,s=e.ZERO){let i=n;for(;r>Fn;)r&ln&&(s=s.add(i)),i=i.double(),r>>=ln;return s},precomputeWindow(n,r){const{windows:s,windowSize:i}=Ga(r,t),a=[];let o=n,c=o;for(let d=0;dFn||r>Fn;)n&ln&&(i=i.add(s)),r&ln&&(a=a.add(s)),s=s.double(),n>>=ln,r>>=ln;return{p1:i,p2:a}}function _g(e,t,n,r){kg(n,e),Dg(r,t);const s=n.length,i=r.length;if(s!==i)throw new Error("arrays of points and scalars must have equal length");const a=e.ZERO,o=Ig(BigInt(s));let c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);const d=js(c),u=new Array(Number(d)+1).fill(a),l=Math.floor((t.BITS-1)/c)*c;let p=a;for(let h=l;h>=0;h-=c){u.fill(a);for(let g=0;g>BigInt(h)&d);u[T]=u[T].add(n[g])}let b=a;for(let g=u.length-1,P=a;g>0;g--)P=P.add(u[g]),b=b.add(P);if(p=p.add(b),h!==0)for(let g=0;gFn))throw new Error(`CURVE.${o} must be positive bigint`)}const r=gl(t.p,n.Fp),s=gl(t.n,n.Fn),a=["Gx","Gy","a","b"];for(const o of a)if(!r.isValid(t[o]))throw new Error(`CURVE.${o} must be valid field element of CURVE.Fp`);return{Fp:r,Fn:s}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function wl(e){e.lowS!==void 0&&Hs("lowS",e.lowS),e.prehash!==void 0&&Hs("prehash",e.prehash)}const Ct={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(e,t)=>{const{Err:n}=Ct;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length&1)throw new n("tlv.encode: unpadded data");const r=t.length/2,s=Gs(r);if(s.length/2&128)throw new n("tlv.encode: long form length too big");const i=r>127?Gs(s.length/2|128):"";return Gs(e)+i+s+t},decode(e,t){const{Err:n}=Ct;let r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");const s=t[r++],i=!!(s&128);let a=0;if(!i)a=s;else{const c=s&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");const d=t.subarray(r,r+c);if(d.length!==c)throw new n("tlv.decode: length bytes not complete");if(d[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(const u of d)a=a<<8|u;if(r+=c,a<128)throw new n("tlv.decode(long): not minimal encoding")}const o=t.subarray(r,r+a);if(o.length!==a)throw new n("tlv.decode: wrong value length");return{v:o,l:t.subarray(r+a)}}},_int:{encode(e){const{Err:t}=Ct;if(e<$r)throw new t("integer: negative integers are not allowed");let n=Gs(e);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){const{Err:t}=Ct;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return qs(e)}},toSig(e){const{Err:t,_int:n,_tlv:r}=Ct,s=Ye("signature",e),{v:i,l:a}=r.decode(48,s);if(a.length)throw new t("invalid signature: left bytes after parsing");const{v:o,l:c}=r.decode(2,i),{v:d,l:u}=r.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(o),s:n.decode(d)}},hexFromSig(e){const{_tlv:t,_int:n}=Ct,r=t.encode(2,n.encode(e.r)),s=t.encode(2,n.encode(e.s)),i=r+s;return t.encode(48,i)}},$r=BigInt(0),kr=BigInt(1),Gg=BigInt(2),Ks=BigInt(3),qg=BigInt(4);function jg(e,t,n){function r(s){const i=e.sqr(s),a=e.mul(i,s);return e.add(e.add(a,e.mul(s,t)),n)}return r}function xl(e,t,n){const{BYTES:r}=e;function s(i){let a;if(typeof i=="bigint")a=i;else{let o=Ye("private key",i);if(t){if(!t.includes(o.length*2))throw new Error("invalid private key");const c=new Uint8Array(r);c.set(o,c.length-o.length),o=c}try{a=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof i}`)}}if(n&&(a=e.create(a)),!e.isValidNot0(a))throw new Error("invalid private key: out of range [1..N-1]");return a}return s}function Vg(e,t={}){const{Fp:n,Fn:r}=Hg("weierstrass",e,t),{h:s,n:i}=e;Ha(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:a}=t;if(a&&(!n.is0(e.a)||typeof a.beta!="bigint"||typeof a.splitScalar!="function"))throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function');function o(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function c(D,x,E){const{x:v,y:C}=x.toAffine(),O=n.toBytes(v);if(Hs("isCompressed",E),E){o();const _=!n.isOdd(C);return Zt(vl(_),O)}else return Zt(Uint8Array.of(4),O,n.toBytes(C))}function d(D){nt(D);const x=n.BYTES,E=x+1,v=2*x+1,C=D.length,O=D[0],_=D.subarray(1);if(C===E&&(O===2||O===3)){const H=n.fromBytes(_);if(!n.isValid(H))throw new Error("bad point: is not on curve, wrong x");const S=p(H);let B;try{B=n.sqrt(S)}catch(V){const U=V instanceof Error?": "+V.message:"";throw new Error("bad point: is not on curve, sqrt error"+U)}o();const A=n.isOdd(B);return(O&1)===1!==A&&(B=n.neg(B)),{x:H,y:B}}else if(C===v&&O===4){const H=n.fromBytes(_.subarray(x*0,x*1)),S=n.fromBytes(_.subarray(x*1,x*2));if(!h(H,S))throw new Error("bad point: is not on curve");return{x:H,y:S}}else throw new Error(`bad point: got length ${C}, expected compressed=${E} or uncompressed=${v}`)}const u=t.toBytes||c,l=t.fromBytes||d,p=jg(n,e.a,e.b);function h(D,x){const E=n.sqr(x),v=p(D);return n.eql(E,v)}if(!h(e.Gx,e.Gy))throw new Error("bad curve params: generator point");const b=n.mul(n.pow(e.a,Ks),qg),g=n.mul(n.sqr(e.b),BigInt(27));if(n.is0(n.add(b,g)))throw new Error("bad curve params: a or b");function P(D,x,E=!1){if(!n.isValid(x)||E&&n.is0(x))throw new Error(`bad point coordinate ${D}`);return x}function T(D){if(!(D instanceof F))throw new Error("ProjectivePoint expected")}const R=sl((D,x)=>{const{px:E,py:v,pz:C}=D;if(n.eql(C,n.ONE))return{x:E,y:v};const O=D.is0();x==null&&(x=O?n.ONE:n.inv(C));const _=n.mul(E,x),H=n.mul(v,x),S=n.mul(C,x);if(O)return{x:n.ZERO,y:n.ZERO};if(!n.eql(S,n.ONE))throw new Error("invZ was invalid");return{x:_,y:H}}),M=sl(D=>{if(D.is0()){if(t.allowInfinityPoint&&!n.is0(D.py))return;throw new Error("bad point: ZERO")}const{x,y:E}=D.toAffine();if(!n.isValid(x)||!n.isValid(E))throw new Error("bad point: x or y not field elements");if(!h(x,E))throw new Error("bad point: equation left != right");if(!D.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function z(D,x,E,v,C){return E=new F(n.mul(E.px,D),E.py,E.pz),x=Fr(v,x),E=Fr(C,E),x.add(E)}class F{constructor(x,E,v){this.px=P("x",x),this.py=P("y",E,!0),this.pz=P("z",v),Object.freeze(this)}static fromAffine(x){const{x:E,y:v}=x||{};if(!x||!n.isValid(E)||!n.isValid(v))throw new Error("invalid affine point");if(x instanceof F)throw new Error("projective point not allowed");return n.is0(E)&&n.is0(v)?F.ZERO:new F(E,v,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(x){return $g(F,"pz",x)}static fromBytes(x){return nt(x),F.fromHex(x)}static fromHex(x){const E=F.fromAffine(l(Ye("pointHex",x)));return E.assertValidity(),E}static fromPrivateKey(x){const E=xl(r,t.allowedPrivateKeyLengths,t.wrapPrivateKey);return F.BASE.multiply(E(x))}static msm(x,E){return _g(F,r,x,E)}precompute(x=8,E=!0){return q.setWindowSize(this,x),E||this.multiply(Ks),this}_setWindowSize(x){this.precompute(x)}assertValidity(){M(this)}hasEvenY(){const{y:x}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(x)}equals(x){T(x);const{px:E,py:v,pz:C}=this,{px:O,py:_,pz:H}=x,S=n.eql(n.mul(E,H),n.mul(O,C)),B=n.eql(n.mul(v,H),n.mul(_,C));return S&&B}negate(){return new F(this.px,n.neg(this.py),this.pz)}double(){const{a:x,b:E}=e,v=n.mul(E,Ks),{px:C,py:O,pz:_}=this;let H=n.ZERO,S=n.ZERO,B=n.ZERO,A=n.mul(C,C),k=n.mul(O,O),V=n.mul(_,_),U=n.mul(C,O);return U=n.add(U,U),B=n.mul(C,_),B=n.add(B,B),H=n.mul(x,B),S=n.mul(v,V),S=n.add(H,S),H=n.sub(k,S),S=n.add(k,S),S=n.mul(H,S),H=n.mul(U,H),B=n.mul(v,B),V=n.mul(x,V),U=n.sub(A,V),U=n.mul(x,U),U=n.add(U,B),B=n.add(A,A),A=n.add(B,A),A=n.add(A,V),A=n.mul(A,U),S=n.add(S,A),V=n.mul(O,_),V=n.add(V,V),A=n.mul(V,U),H=n.sub(H,A),B=n.mul(V,k),B=n.add(B,B),B=n.add(B,B),new F(H,S,B)}add(x){T(x);const{px:E,py:v,pz:C}=this,{px:O,py:_,pz:H}=x;let S=n.ZERO,B=n.ZERO,A=n.ZERO;const k=e.a,V=n.mul(e.b,Ks);let U=n.mul(E,O),K=n.mul(v,_),X=n.mul(C,H),Q=n.add(E,v),Z=n.add(O,_);Q=n.mul(Q,Z),Z=n.add(U,K),Q=n.sub(Q,Z),Z=n.add(E,C);let W=n.add(O,H);return Z=n.mul(Z,W),W=n.add(U,X),Z=n.sub(Z,W),W=n.add(v,C),S=n.add(_,H),W=n.mul(W,S),S=n.add(K,X),W=n.sub(W,S),A=n.mul(k,Z),S=n.mul(V,X),A=n.add(S,A),S=n.sub(K,A),A=n.add(K,A),B=n.mul(S,A),K=n.add(U,U),K=n.add(K,U),X=n.mul(k,X),Z=n.mul(V,Z),K=n.add(K,X),X=n.sub(U,X),X=n.mul(k,X),Z=n.add(Z,X),U=n.mul(K,Z),B=n.add(B,U),U=n.mul(W,Z),S=n.mul(Q,S),S=n.sub(S,U),U=n.mul(Q,K),A=n.mul(W,A),A=n.add(A,U),new F(S,B,A)}subtract(x){return this.add(x.negate())}is0(){return this.equals(F.ZERO)}multiply(x){const{endo:E}=t;if(!r.isValidNot0(x))throw new Error("invalid scalar: out of range");let v,C;const O=_=>q.wNAFCached(this,_,F.normalizeZ);if(E){const{k1neg:_,k1:H,k2neg:S,k2:B}=E.splitScalar(x),{p:A,f:k}=O(H),{p:V,f:U}=O(B);C=k.add(U),v=z(E.beta,A,V,_,S)}else{const{p:_,f:H}=O(x);v=_,C=H}return F.normalizeZ([v,C])[0]}multiplyUnsafe(x){const{endo:E}=t,v=this;if(!r.isValid(x))throw new Error("invalid scalar: out of range");if(x===$r||v.is0())return F.ZERO;if(x===kr)return v;if(q.hasPrecomputes(this))return this.multiply(x);if(E){const{k1neg:C,k1:O,k2neg:_,k2:H}=E.splitScalar(x),{p1:S,p2:B}=zg(F,v,O,H);return z(E.beta,S,B,C,_)}else return q.wNAFCachedUnsafe(v,x)}multiplyAndAddUnsafe(x,E,v){const C=this.multiplyUnsafe(E).add(x.multiplyUnsafe(v));return C.is0()?void 0:C}toAffine(x){return R(this,x)}isTorsionFree(){const{isTorsionFree:x}=t;return s===kr?!0:x?x(F,this):q.wNAFCachedUnsafe(this,i).is0()}clearCofactor(){const{clearCofactor:x}=t;return s===kr?this:x?x(F,this):this.multiplyUnsafe(s)}toBytes(x=!0){return Hs("isCompressed",x),this.assertValidity(),u(F,this,x)}toRawBytes(x=!0){return this.toBytes(x)}toHex(x=!0){return Zn(this.toBytes(x))}toString(){return``}}F.BASE=new F(e.Gx,e.Gy,n.ONE),F.ZERO=new F(n.ZERO,n.ONE,n.ZERO),F.Fp=n,F.Fn=r;const $=r.BITS,q=Ug(F,t.endo?Math.ceil($/2):$);return F}function vl(e){return Uint8Array.of(e?2:3)}function Kg(e,t,n={}){Ha(t,{hash:"function"},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const r=t.randomBytes||vy,s=t.hmac||((v,...C)=>el(t.hash,v,Zt(...C))),{Fp:i,Fn:a}=e,{ORDER:o,BITS:c}=a;function d(v){const C=o>>kr;return v>C}function u(v){return d(v)?a.neg(v):v}function l(v,C){if(!a.isValidNot0(C))throw new Error(`invalid signature ${v}: out of range 1..CURVE.n`)}class p{constructor(C,O,_){l("r",C),l("s",O),this.r=C,this.s=O,_!=null&&(this.recovery=_),Object.freeze(this)}static fromCompact(C){const O=a.BYTES,_=Ye("compactSignature",C,O*2);return new p(a.fromBytes(_.subarray(0,O)),a.fromBytes(_.subarray(O,O*2)))}static fromDER(C){const{r:O,s:_}=Ct.toSig(Ye("DER",C));return new p(O,_)}assertValidity(){}addRecoveryBit(C){return new p(this.r,this.s,C)}recoverPublicKey(C){const O=i.ORDER,{r:_,s:H,recovery:S}=this;if(S==null||![0,1,2,3].includes(S))throw new Error("recovery id invalid");if(o*Gg1)throw new Error("recovery id is ambiguous for h>1 curve");const A=S===2||S===3?_+o:_;if(!i.isValid(A))throw new Error("recovery id 2 or 3 invalid");const k=i.toBytes(A),V=e.fromHex(Zt(vl((S&1)===0),k)),U=a.inv(A),K=M(Ye("msgHash",C)),X=a.create(-K*U),Q=a.create(H*U),Z=e.BASE.multiplyUnsafe(X).add(V.multiplyUnsafe(Q));if(Z.is0())throw new Error("point at infinify");return Z.assertValidity(),Z}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new p(this.r,a.neg(this.s),this.recovery):this}toBytes(C){if(C==="compact")return Zt(a.toBytes(this.r),a.toBytes(this.s));if(C==="der")return bi(Ct.hexFromSig(this));throw new Error("invalid format")}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return Zn(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return Zn(this.toBytes("compact"))}}const h=xl(a,n.allowedPrivateKeyLengths,n.wrapPrivateKey),b={isValidPrivateKey(v){try{return h(v),!0}catch{return!1}},normPrivateKeyToScalar:h,randomPrivateKey:()=>{const v=o;return Fg(r(pl(v)),v)},precompute(v=8,C=e.BASE){return C.precompute(v,!1)}};function g(v,C=!0){return e.fromPrivateKey(v).toBytes(C)}function P(v){if(typeof v=="bigint")return!1;if(v instanceof e)return!0;const O=Ye("key",v).length,_=i.BYTES,H=_+1,S=2*_+1;if(!(n.allowedPrivateKeyLengths||a.BYTES===H))return O===H||O===S}function T(v,C,O=!0){if(P(v)===!0)throw new Error("first arg must be private key");if(P(C)===!1)throw new Error("second arg must be public key");return e.fromHex(C).multiply(h(v)).toBytes(O)}const R=t.bits2int||function(v){if(v.length>8192)throw new Error("input is too large");const C=qs(v),O=v.length*8-c;return O>0?C>>BigInt(O):C},M=t.bits2int_modN||function(v){return a.create(R(v))},z=js(c);function F(v){return Ag("num < 2^"+c,v,$r,z),a.toBytes(v)}function $(v,C,O=q){if(["recovered","canonical"].some(Q=>Q in O))throw new Error("sign() legacy options not supported");const{hash:_}=t;let{lowS:H,prehash:S,extraEntropy:B}=O;H==null&&(H=!0),v=Ye("msgHash",v),wl(O),S&&(v=Ye("prehashed msgHash",_(v)));const A=M(v),k=h(C),V=[F(k),F(A)];if(B!=null&&B!==!1){const Q=B===!0?r(i.BYTES):B;V.push(Ye("extraEntropy",Q))}const U=Zt(...V),K=A;function X(Q){const Z=R(Q);if(!a.isValidNot0(Z))return;const W=a.inv(Z),ne=e.BASE.multiply(Z).toAffine(),re=a.create(ne.x);if(re===$r)return;const oe=a.create(W*a.create(K+re*k));if(oe===$r)return;let xe=(ne.x===re?0:2)|Number(ne.y&kr),we=oe;return H&&d(oe)&&(we=u(oe),xe^=1),new p(re,we,xe)}return{seed:U,k2sig:X}}const q={lowS:t.lowS,prehash:!1},D={lowS:t.lowS,prehash:!1};function x(v,C,O=q){const{seed:_,k2sig:H}=$(v,C,O);return Bg(t.hash.outputLen,a.BYTES,s)(_,H)}e.BASE.precompute(8);function E(v,C,O,_=D){const H=v;C=Ye("msgHash",C),O=Ye("publicKey",O),wl(_);const{lowS:S,prehash:B,format:A}=_;if("strict"in _)throw new Error("options.strict was renamed to lowS");if(A!==void 0&&!["compact","der","js"].includes(A))throw new Error('format must be "compact", "der" or "js"');const k=typeof H=="string"||hi(H),V=!k&&!A&&typeof H=="object"&&H!==null&&typeof H.r=="bigint"&&typeof H.s=="bigint";if(!k&&!V)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let U,K;try{if(V)if(A===void 0||A==="js")U=new p(H.r,H.s);else throw new Error("invalid format");if(k){try{A!=="compact"&&(U=p.fromDER(H))}catch(we){if(!(we instanceof Ct.Err))throw we}!U&&A!=="der"&&(U=p.fromCompact(H))}K=e.fromHex(O)}catch{return!1}if(!U||S&&U.hasHighS())return!1;B&&(C=t.hash(C));const{r:X,s:Q}=U,Z=M(C),W=a.inv(Q),ne=a.create(Z*W),re=a.create(X*W),oe=e.BASE.multiplyUnsafe(ne).add(K.multiplyUnsafe(re));return oe.is0()?!1:a.create(oe.x)===X}return Object.freeze({getPublicKey:g,getSharedSecret:T,sign:x,verify:E,utils:b,Point:e,Signature:p})}function Zg(e){const t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},n=e.Fp,r=Vs(t.n,e.nBitLength),s={Fp:n,Fn:r,allowedPrivateKeyLengths:e.allowedPrivateKeyLengths,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,wrapPrivateKey:e.wrapPrivateKey,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:s}}function Yg(e){const{CURVE:t,curveOpts:n}=Zg(e),r={hash:e.hash,hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:n,ecdsaOpts:r}}function Wg(e,t){return Object.assign({},t,{ProjectivePoint:t.Point,CURVE:e})}function Xg(e){const{CURVE:t,curveOpts:n,ecdsaOpts:r}=Yg(e),s=Vg(t,n),i=Kg(s,r,n);return Wg(e,i)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Qg(e,t){const n=r=>Xg({...e,hash:r});return{...n(t),create:n}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Zs={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")};BigInt(0);const Jg=BigInt(1),Va=BigInt(2),El=(e,t)=>(e+t/Va)/t;function ew(e){const t=Zs.p,n=BigInt(3),r=BigInt(6),s=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),d=e*e*e%t,u=d*d*e%t,l=Xe(u,n,t)*u%t,p=Xe(l,n,t)*u%t,h=Xe(p,Va,t)*d%t,b=Xe(h,s,t)*h%t,g=Xe(b,i,t)*b%t,P=Xe(g,o,t)*g%t,T=Xe(P,c,t)*P%t,R=Xe(T,o,t)*g%t,M=Xe(R,n,t)*u%t,z=Xe(M,a,t)*b%t,F=Xe(z,r,t)*d%t,$=Xe(F,Va,t);if(!Ka.eql(Ka.sqr($),e))throw new Error("Cannot find square root");return $}const Ka=Vs(Zs.p,void 0,void 0,{sqrt:ew}),Tl=Qg({...Zs,Fp:Ka,lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=Zs.n,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-Jg*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=n,a=BigInt("0x100000000000000000000000000000000"),o=El(i*e,t),c=El(-r*e,t);let d=We(e-o*n-c*s,t),u=We(-o*r-c*i,t);const l=d>a,p=u>a;if(l&&(d=t-d),p&&(u=t-u),d>a||u>a)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:d,k2neg:p,k2:u}}}},ou),tw=Object.freeze(Object.defineProperty({__proto__:null,secp256k1:Tl},Symbol.toStringTag,{value:"Module"}));function nw({r:e,s:t,to:n="hex",v:r,yParity:s}){const i=(()=>{if(s===0||s===1)return s;if(r&&(r===27n||r===28n||r>=35n))return r%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),a=`0x${new Tl.Signature(se(e),se(t)).toCompactHex()}${i===0?"1b":"1c"}`;return n==="hex"?a:Ee(a)}async function Za(e,t){var l,p,h;const{address:n,factory:r,factoryData:s,hash:i,signature:a,universalSignatureVerifierAddress:o=(h=(p=(l=e.chain)==null?void 0:l.contracts)==null?void 0:p.universalSignatureVerifier)==null?void 0:h.address,...c}=t,d=ke(a)?a:typeof a=="object"&&"r"in a&&"s"in a?nw(a):fe(a),u=await(async()=>!r&&!s||mb(d)?d:Md({address:r,data:s,signature:d}))();try{const b=o?{to:o,data:ge({abi:Vu,functionName:"isValidSig",args:[n,i,u]}),...c}:{data:Bs({abi:Vu,args:[n,i,u],bytecode:U0}),...c},{data:g}=await Y(e,Br,"call")(b);return pc(g??"0x0")}catch(b){try{if(Tr(Xn(n),await Jc({hash:i,signature:a})))return!0}catch{}if(b instanceof Wc)return!1;throw b}}async function rw(e,{address:t,message:n,factory:r,factoryData:s,signature:i,...a}){const o=Ia(n);return Za(e,{address:t,factory:r,factoryData:s,hash:o,signature:i,...a})}async function sw(e,t){const{address:n,factory:r,factoryData:s,signature:i,message:a,primaryType:o,types:c,domain:d,...u}=t,l=wd({message:a,primaryType:o,types:c,domain:d});return Za(e,{address:n,factory:r,factoryData:s,hash:l,signature:i,...u})}function Al(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:s,poll:i,pollingInterval:a=e.pollingInterval}){const o=typeof i<"u"?i:!(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 c;return o?(()=>{const l=me(["watchBlockNumber",e.uid,t,n,a]);return Pt(l,{onBlockNumber:r,onError:s},p=>Nn(async()=>{var h;try{const b=await Y(e,Pr,"getBlockNumber")({cacheTime:0});if(c){if(b===c)return;if(b-c>1&&n)for(let g=c+1n;gc)&&(p.onBlockNumber(b,c),c=b)}catch(b){(h=p.onError)==null||h.call(p,b)}},{emitOnBegin:t,interval:a}))})():(()=>{const l=me(["watchBlockNumber",e.uid,t,n]);return Pt(l,{onBlockNumber:r,onError:s},p=>{let h=!0,b=()=>h=!1;return(async()=>{try{const g=(()=>{if(e.transport.type==="fallback"){const T=e.transport.transports.find(R=>R.config.type==="webSocket"||R.config.type==="ipc");return T?T.value:e.transport}return e.transport})(),{unsubscribe:P}=await g.subscribe({params:["newHeads"],onData(T){var M;if(!h)return;const R=se((M=T.result)==null?void 0:M.number);p.onBlockNumber(R,c),c=R},onError(T){var R;(R=p.onError)==null||R.call(p,T)}});b=P,h||b()}catch(g){s==null||s(g)}})(),()=>b()})})()}async function iw(e,{confirmations:t=1,hash:n,onReplaced:r,pollingInterval:s=e.pollingInterval,retryCount:i=6,retryDelay:a=({count:c})=>~~(1<{b(),h(),T(new bh({hash:n}))},o):void 0;return h=Pt(c,{onReplaced:r,resolve:P,reject:T},M=>{b=Y(e,Al,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:s,async onBlockNumber(z){const F=q=>{clearTimeout(R),b(),q(),h()};let $=z;if(!p)try{if(l){if(t>1&&(!l.blockNumber||$-l.blockNumber+1nM.resolve(l));return}if(d||(p=!0,await ma(async()=>{d=await Y(e,Ba,"getTransaction")({hash:n}),d.blockNumber&&($=d.blockNumber)},{delay:a,retryCount:i}),p=!1),l=await Y(e,Pa,"getTransactionReceipt")({hash:n}),t>1&&(!l.blockNumber||$-l.blockNumber+1nM.resolve(l))}catch(q){if(q instanceof Zc||q instanceof Yc){if(!d){p=!1;return}try{u=d,p=!0;const D=await ma(()=>Y(e,lt,"getBlock")({blockNumber:$,includeTransactions:!0}),{delay:a,retryCount:i,shouldRetry:({error:v})=>v instanceof su});p=!1;const x=D.transactions.find(({from:v,nonce:C})=>v===u.from&&C===u.nonce);if(!x||(l=await Y(e,Pa,"getTransactionReceipt")({hash:x.hash}),t>1&&(!l.blockNumber||$-l.blockNumber+1n{var v;(v=M.onReplaced)==null||v.call(M,{reason:E,replacedTransaction:u,transaction:x,transactionReceipt:l}),M.resolve(l)})}catch(D){F(()=>M.reject(D))}}else F(()=>M.reject(q))}}})}),g}function aw(e,{blockTag:t="latest",emitMissed:n=!1,emitOnBegin:r=!1,onBlock:s,onError:i,includeTransactions:a,poll:o,pollingInterval:c=e.pollingInterval}){const d=typeof o<"u"?o:!(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=a??!1;let l;return d?(()=>{const b=me(["watchBlocks",e.uid,t,n,r,u,c]);return Pt(b,{onBlock:s,onError:i},g=>Nn(async()=>{var P;try{const T=await Y(e,lt,"getBlock")({blockTag:t,includeTransactions:u});if(T.number!==null&&(l==null?void 0:l.number)!=null){if(T.number===l.number)return;if(T.number-l.number>1&&n)for(let R=(l==null?void 0:l.number)+1n;Rl.number)&&(g.onBlock(T,l),l=T)}catch(T){(P=g.onError)==null||P.call(g,T)}},{emitOnBegin:r,interval:c}))})():(()=>{let b=!0,g=!0,P=()=>b=!1;return(async()=>{try{r&&Y(e,lt,"getBlock")({blockTag:t,includeTransactions:u}).then(M=>{b&&g&&(s(M,void 0),g=!1)}).catch(i);const T=(()=>{if(e.transport.type==="fallback"){const M=e.transport.transports.find(z=>z.config.type==="webSocket"||z.config.type==="ipc");return M?M.value:e.transport}return e.transport})(),{unsubscribe:R}=await T.subscribe({params:["newHeads"],async onData(M){var F;if(!b)return;const z=await Y(e,lt,"getBlock")({blockNumber:(F=M.result)==null?void 0:F.number,includeTransactions:u}).catch(()=>{});b&&(s(z,l),g=!1,l=z)},onError(M){i==null||i(M)}});P=R,b||P()}catch(T){i==null||i(T)}})(),()=>P()})()}function ow(e,{address:t,args:n,batch:r=!0,event:s,events:i,fromBlock:a,onError:o,onLogs:c,poll:d,pollingInterval:u=e.pollingInterval,strict:l}){const p=typeof d<"u"?d: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")),h=l??!1;return p?(()=>{const P=me(["watchEvent",t,n,r,e.uid,s,u,a]);return Pt(P,{onLogs:c,onError:o},T=>{let R;a!==void 0&&(R=a-1n);let M,z=!1;const F=Nn(async()=>{var $;if(!z){try{M=await Y(e,yd,"createEventFilter")({address:t,args:n,event:s,events:i,strict:h,fromBlock:a})}catch{}z=!0;return}try{let q;if(M)q=await Y(e,Ps,"getFilterChanges")({filter:M});else{const D=await Y(e,Pr,"getBlockNumber")({});R&&R!==D?q=await Y(e,Ki,"getLogs")({address:t,args:n,event:s,events:i,fromBlock:R+1n,toBlock:D}):q=[],R=D}if(q.length===0)return;if(r)T.onLogs(q);else for(const D of q)T.onLogs([D])}catch(q){M&&q instanceof Jt&&(z=!1),($=T.onError)==null||$.call(T,q)}},{emitOnBegin:!0,interval:u});return async()=>{M&&await Y(e,Ss,"uninstallFilter")({filter:M}),F()}})})():(()=>{let P=!0,T=()=>P=!1;return(async()=>{try{const R=(()=>{if(e.transport.type==="fallback"){const $=e.transport.transports.find(q=>q.config.type==="webSocket"||q.config.type==="ipc");return $?$.value:e.transport}return e.transport})(),M=i??(s?[s]:void 0);let z=[];M&&(z=[M.flatMap(q=>Qn({abi:[q],eventName:q.name,args:n}))],s&&(z=z[0]));const{unsubscribe:F}=await R.subscribe({params:["logs",{address:t,topics:z}],onData($){var D;if(!P)return;const q=$.result;try{const{eventName:x,args:E}=ji({abi:M??[],data:q.data,topics:q.topics,strict:h}),v=ft(q,{args:E,eventName:x});c([v])}catch(x){let E,v;if(x instanceof Vn||x instanceof ts){if(l)return;E=x.abiItem.name,v=(D=x.abiItem.inputs)==null?void 0:D.some(O=>!("name"in O&&O.name))}const C=ft(q,{args:v?[]:{},eventName:E});c([C])}},onError($){o==null||o($)}});T=F,P||T()}catch(R){o==null||o(R)}})(),()=>T()})()}function cw(e,{batch:t=!0,onError:n,onTransactions:r,poll:s,pollingInterval:i=e.pollingInterval}){return(typeof s<"u"?s:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{const d=me(["watchPendingTransactions",e.uid,t,i]);return Pt(d,{onTransactions:r,onError:n},u=>{let l;const p=Nn(async()=>{var h;try{if(!l)try{l=await Y(e,hd,"createPendingTransactionFilter")({});return}catch(g){throw p(),g}const b=await Y(e,Ps,"getFilterChanges")({filter:l});if(b.length===0)return;if(t)u.onTransactions(b);else for(const g of b)u.onTransactions([g])}catch(b){(h=u.onError)==null||h.call(u,b)}},{emitOnBegin:!0,interval:i});return async()=>{l&&await Y(e,Ss,"uninstallFilter")({filter:l}),p()}})})():(()=>{let d=!0,u=()=>d=!1;return(async()=>{try{const{unsubscribe:l}=await e.transport.subscribe({params:["newPendingTransactions"],onData(p){if(!d)return;const h=p.result;r([h])},onError(p){n==null||n(p)}});u=l,d||u()}catch(l){n==null||n(l)}})(),()=>u()})()}function uw(e){var l,p,h;const{scheme:t,statement:n,...r}=((l=e.match(dw))==null?void 0:l.groups)??{},{chainId:s,expirationTime:i,issuedAt:a,notBefore:o,requestId:c,...d}=((p=e.match(lw))==null?void 0:p.groups)??{},u=(h=e.split("Resources:")[1])==null?void 0:h.split(` - `).slice(1);return{...r,...d,...s?{chainId:Number(s)}:{},...i?{expirationTime:new Date(i)}:{},...a?{issuedAt:new Date(a)}:{},...o?{notBefore:new Date(o)}:{},...c?{requestId:c}:{},...u?{resources:u}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}const dw=/^(?:(?[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?
0x[a-fA-F0-9]{40})\n\n(?:(?.*)\n\n)?/,lw=/(?:URI: (?.+))\n(?:Version: (?.+))\n(?:Chain ID: (?\d+))\n(?:Nonce: (?[a-zA-Z0-9]+))\n(?:Issued At: (?.+))(?:\nExpiration Time: (?.+))?(?:\nNot Before: (?.+))?(?:\nRequest ID: (?.+))?/;function fw(e){const{address:t,domain:n,message:r,nonce:s,scheme:i,time:a=new Date}=e;if(n&&r.domain!==n||s&&r.nonce!==s||i&&r.scheme!==i||r.expirationTime&&a>=r.expirationTime||r.notBefore&&aBr(e,t),createAccessList:t=>pd(e,t),createBlockFilter:()=>Rm(e),createContractEventFilter:t=>$c(e,t),createEventFilter:t=>yd(e,t),createPendingTransactionFilter:()=>hd(e),estimateContractGas:t=>n0(e,t),estimateGas:t=>gs(e,t),getBalance:t=>bs(e,t),getBlobBaseFee:()=>Lm(e),getBlock:t=>lt(e,t),getBlockNumber:t=>Pr(e,t),getBlockTransactionCount:t=>Om(e,t),getBytecode:t=>Ta(e,t),getChainId:()=>Ke(e),getCode:t=>Ta(e,t),getContractEvents:t=>vu(e,t),getEip712Domain:t=>$m(e,t),getEnsAddress:t=>mm(e,t),getEnsAvatar:t=>Cm(e,t),getEnsName:t=>Mm(e,t),getEnsResolver:t=>Nm(e,t),getEnsText:t=>fd(e,t),getFeeHistory:t=>Um(e,t),estimateFeesPerGas:t=>Gh(e,t),getFilterChanges:t=>Ps(e,t),getFilterLogs:t=>zm(e,t),getGasPrice:()=>zi(e),getLogs:t=>Ki(e,t),getProof:t=>wb(e,t),estimateMaxPriorityFeePerGas:t=>Hh(e,t),getStorageAt:t=>xb(e,t),getTransaction:t=>Ba(e,t),getTransactionConfirmations:t=>vb(e,t),getTransactionCount:t=>ms(e,t),getTransactionReceipt:t=>Pa(e,t),multicall:t=>Eb(e,t),prepareTransactionRequest:t=>Er(e,t),readContract:t=>_e(e,t),sendRawTransaction:t=>Cr(e,t),simulate:t=>Sa(e,t),simulateBlocks:t=>Sa(e,t),simulateCalls:t=>Eg(e,t),simulateContract:t=>K0(e,t),verifyMessage:t=>rw(e,t),verifySiweMessage:t=>pw(e,t),verifyTypedData:t=>sw(e,t),uninstallFilter:t=>Ss(e,t),waitForTransactionReceipt:t=>iw(e,t),watchBlocks:t=>aw(e,t),watchBlockNumber:t=>Al(e,t),watchContractEvent:t=>em(e,t),watchEvent:t=>ow(e,t),watchPendingTransactions:t=>cw(e,t)}}function Dr(e){const{key:t="public",name:n="Public Client"}=e;return Rs({...e,key:t,name:n,type:"publicClient"}).extend(yw)}async function hw(e,{chain:t}){const{id:n,name:r,nativeCurrency:s,rpcUrls:i,blockExplorers:a}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:j(n),chainName:r,nativeCurrency:s,rpcUrls:i.default.http,blockExplorerUrls:a?Object.values(a).map(({url:o})=>o):void 0}]},{dedupe:!0,retryCount:0})}function mw(e,t){const{abi:n,args:r,bytecode:s,...i}=t,a=Bs({abi:n,args:r,bytecode:s});return Mr(e,{...i,...i.authorizationList?{to:null}:{},data:a})}async function bw(e){var n;return((n=e.account)==null?void 0:n.type)==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>Wn(r))}async function gw(e,t={}){const{account:n=e.account,chainId:r}=t,s=n?ee(n):void 0,i=r?[s==null?void 0:s.address,[j(r)]]:[s==null?void 0:s.address],a=await e.request({method:"wallet_getCapabilities",params:i}),o={};for(const[c,d]of Object.entries(a)){o[Number(c)]={};for(let[u,l]of Object.entries(d))u==="addSubAccount"&&(u="unstable_addSubAccount"),o[Number(c)][u]=l}return typeof r=="number"?o[r]:o}async function ww(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}async function Il(e,t){var c;const{account:n=e.account,chainId:r,nonce:s}=t;if(!n)throw new St({docsPath:"/docs/eip7702/prepareAuthorization"});const i=ee(n),a=(()=>{if(t.executor)return t.executor==="self"?t.executor:ee(t.executor)})(),o={address:t.contractAddress??t.address,chainId:r,nonce:s};return typeof o.chainId>"u"&&(o.chainId=((c=e.chain)==null?void 0:c.id)??await Y(e,Ke,"getChainId")({})),typeof o.nonce>"u"&&(o.nonce=await Y(e,ms,"getTransactionCount")({address:i.address,blockTag:"pending"}),(a==="self"||a!=null&&a.address&&Tr(a.address,i.address))&&(o.nonce+=1)),o}async function xw(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(n=>Xn(n))}async function vw(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function Ew(e,t){const{id:n}=t;await e.request({method:"wallet_showCallsStatus",params:[n]})}async function Tw(e,t){const{account:n=e.account}=t;if(!n)throw new St({docsPath:"/docs/eip7702/signAuthorization"});const r=ee(n);if(!r.signAuthorization)throw new Cs({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:r.type});const s=await Il(e,t);return r.signAuthorization(s)}async function Aw(e,{account:t=e.account,message:n}){if(!t)throw new St({docsPath:"/docs/actions/wallet/signMessage"});const r=ee(t);if(r.signMessage)return r.signMessage({message:n});const s=typeof n=="string"?wn(n):n.raw instanceof Uint8Array?te(n.raw):n.raw;return e.request({method:"personal_sign",params:[s,r.address]},{retryCount:0})}async function Bl(e,t){var d,u,l,p;const{account:n=e.account,chain:r=e.chain,...s}=t;if(!n)throw new St({docsPath:"/docs/actions/wallet/signTransaction"});const i=ee(n);dt({account:i,...t});const a=await Y(e,Ke,"getChainId")({});r!==null&&un({currentChainId:a,chain:r});const o=(r==null?void 0:r.formatters)||((d=e.chain)==null?void 0:d.formatters),c=((u=o==null?void 0:o.transactionRequest)==null?void 0:u.format)||rn;return i.signTransaction?i.signTransaction({...s,chainId:a},{serializer:(p=(l=e.chain)==null?void 0:l.serializers)==null?void 0:p.transaction}):await e.request({method:"eth_signTransaction",params:[{...c(s),chainId:j(a),from:i.address}]},{retryCount:0})}async function Ys(e,t){const{account:n=e.account,domain:r,message:s,primaryType:i}=t;if(!n)throw new St({docsPath:"/docs/actions/wallet/signTypedData"});const a=ee(n),o={EIP712Domain:Id({domain:r}),...t.types};if(Ad({domain:r,message:s,primaryType:i,types:o}),a.signTypedData)return a.signTypedData({domain:r,message:s,primaryType:i,types:o});const c=Jm({domain:r,message:s,primaryType:i,types:o});return e.request({method:"eth_signTypedData_v4",params:[a.address,c]},{retryCount:0})}async function Iw(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:j(t)}]},{retryCount:0})}async function Bw(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}function Pw(e){return{addChain:t=>hw(e,t),deployContract:t=>mw(e,t),getAddresses:()=>bw(e),getCallsStatus:t=>nd(e,t),getCapabilities:t=>gw(e,t),getChainId:()=>Ke(e),getPermissions:()=>ww(e),prepareAuthorization:t=>Il(e,t),prepareTransactionRequest:t=>Er(e,t),requestAddresses:()=>xw(e),requestPermissions:t=>vw(e,t),sendCalls:t=>nm(e,t),sendRawTransaction:t=>Cr(e,t),sendTransaction:t=>Mr(e,t),showCallsStatus:t=>Ew(e,t),signAuthorization:t=>Tw(e,t),signMessage:t=>Aw(e,t),signTransaction:t=>Bl(e,t),signTypedData:t=>Ys(e,t),switchChain:t=>Iw(e,t),waitForCallsStatus:t=>rm(e,t),watchAsset:t=>Bw(e,t),writeContract:t=>Nr(e,t)}}function Ws(e){const{key:t="wallet",name:n="Wallet Client",transport:r}=e;return Rs({...e,key:t,name:n,transport:r,type:"walletClient"}).extend(Pw)}function Ya(e){if(typeof e=="string"){if(!ce(e,{strict:!1}))throw new be({address:e});return{address:e,type:"json-rpc"}}if(!ce(e.address,{strict:!1}))throw new be({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"}}const Wa=50000n,Pl=$h*32n;let Sl=class extends N{constructor(){super(["Transaction is not an EIP712 transaction.","","Transaction must:",' - include `type: "eip712"`'," - include one of the following: `customSignature`, `paymaster`, `paymasterInput`, `gasPerPubdata`, `factoryDeps`"].join(` `),{name:"InvalidEip712TransactionError"})}};function Ur(e){return!!(e.type==="eip712"||"customSignature"in e&&e.customSignature||"paymaster"in e&&e.paymaster||"paymasterInput"in e&&e.paymasterInput||"gasPerPubdata"in e&&typeof e.gasPerPubdata=="bigint"||"factoryDeps"in e&&e.factoryDeps)}function Cl(e){const{chainId:t,to:n,from:r,paymaster:s,paymasterInput:i}=e;if(!Ur(e))throw new Sl;if(!t||t<=0)throw new Ir({chainId:t});if(n&&!ce(n))throw new be({address:n});if(r&&!ce(r))throw new be({address:r});if(s&&!ce(s))throw new be({address:s});if(s&&!i)throw new N("`paymasterInput` must be provided when `paymaster` is defined");if(!s&&i)throw new N("`paymaster` must be provided when `paymasterInput` is defined")}function Sw(e,t){return Ur(e)?Mw(e):ib(e,t)}const Cw={transaction:Sw};function Mw(e){const{chainId:t,gas:n,nonce:r,to:s,from:i,value:a,maxFeePerGas:o,maxPriorityFeePerGas:c,customSignature:d,factoryDeps:u,paymaster:l,paymasterInput:p,gasPerPubdata:h,data:b}=e;Cl(e);const g=[r?te(r):"0x",c?te(c):"0x",o?te(o):"0x",n?te(n):"0x",s??"0x",a?te(a):"0x",b??"0x",te(t),te(""),te(""),te(t),i??"0x",te(h||Wa),u??[],d??"0x",l&&p?[l,p]:[]];return Ve(["0x71",$t(g)])}const Nw="0x0000000000000000000000000000000000008006",Rw="0x0000000000000000000000000000000000010000",Ml=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"accountAddress",type:"address"},{indexed:!1,internalType:"enum IContractDeployer.AccountNonceOrdering",name:"nonceOrdering",type:"uint8"}],name:"AccountNonceOrderingUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"accountAddress",type:"address"},{indexed:!1,internalType:"enum IContractDeployer.AccountAbstractionVersion",name:"aaVersion",type:"uint8"}],name:"AccountVersionUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"deployerAddress",type:"address"},{indexed:!0,internalType:"bytes32",name:"bytecodeHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"contractAddress",type:"address"}],name:"ContractDeployed",type:"event"},{inputs:[{internalType:"bytes32",name:"_salt",type:"bytes32"},{internalType:"bytes32",name:"_bytecodeHash",type:"bytes32"},{internalType:"bytes",name:"_input",type:"bytes"}],name:"create",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_salt",type:"bytes32"},{internalType:"bytes32",name:"_bytecodeHash",type:"bytes32"},{internalType:"bytes",name:"_input",type:"bytes"}],name:"create2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_salt",type:"bytes32"},{internalType:"bytes32",name:"_bytecodeHash",type:"bytes32"},{internalType:"bytes",name:"_input",type:"bytes"},{internalType:"enum IContractDeployer.AccountAbstractionVersion",name:"_aaVersion",type:"uint8"}],name:"create2Account",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes32",name:"_bytecodeHash",type:"bytes32"},{internalType:"bytes",name:"_input",type:"bytes"},{internalType:"enum IContractDeployer.AccountAbstractionVersion",name:"_aaVersion",type:"uint8"}],name:"createAccount",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_address",type:"address"}],name:"extendedAccountVersion",outputs:[{internalType:"enum IContractDeployer.AccountAbstractionVersion",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_keccak256BytecodeHash",type:"bytes32"}],name:"forceDeployKeccak256",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"bytecodeHash",type:"bytes32"},{internalType:"address",name:"newAddress",type:"address"},{internalType:"bool",name:"callConstructor",type:"bool"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"input",type:"bytes"}],internalType:"struct ContractDeployer.ForceDeployment",name:"_deployment",type:"tuple"},{internalType:"address",name:"_sender",type:"address"}],name:"forceDeployOnAddress",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"bytecodeHash",type:"bytes32"},{internalType:"address",name:"newAddress",type:"address"},{internalType:"bool",name:"callConstructor",type:"bool"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"input",type:"bytes"}],internalType:"struct ContractDeployer.ForceDeployment[]",name:"_deployments",type:"tuple[]"}],name:"forceDeployOnAddresses",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_address",type:"address"}],name:"getAccountInfo",outputs:[{components:[{internalType:"enum IContractDeployer.AccountAbstractionVersion",name:"supportedAAVersion",type:"uint8"},{internalType:"enum IContractDeployer.AccountNonceOrdering",name:"nonceOrdering",type:"uint8"}],internalType:"struct IContractDeployer.AccountInfo",name:"info",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_sender",type:"address"},{internalType:"uint256",name:"_senderNonce",type:"uint256"}],name:"getNewAddressCreate",outputs:[{internalType:"address",name:"newAddress",type:"address"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"_sender",type:"address"},{internalType:"bytes32",name:"_bytecodeHash",type:"bytes32"},{internalType:"bytes32",name:"_salt",type:"bytes32"},{internalType:"bytes",name:"_input",type:"bytes"}],name:"getNewAddressCreate2",outputs:[{internalType:"address",name:"newAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"enum IContractDeployer.AccountAbstractionVersion",name:"_version",type:"uint8"}],name:"updateAccountVersion",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"enum IContractDeployer.AccountNonceOrdering",name:"_nonceOrdering",type:"uint8"}],name:"updateNonceOrdering",outputs:[],stateMutability:"nonpayable",type:"function"}],Nl=1;class Lw extends N{constructor({givenLength:t,maxBytecodeSize:n}){super(`Bytecode cannot be longer than ${n} bytes. Given length: ${t}`,{name:"BytecodeLengthExceedsMaxSizeError"})}}class Ow extends N{constructor({givenLengthInWords:t}){super(`Bytecode length in 32-byte words must be odd. Given length in words: ${t}`,{name:"BytecodeLengthInWordsMustBeOddError"})}}class Fw extends N{constructor({givenLength:t}){super(`The bytecode length in bytes must be divisible by 32. Given length: ${t}`,{name:"BytecodeLengthMustBeDivisibleBy32Error"})}}function Xa(e){const t=je(e);if(t.length%32!==0)throw new Fw({givenLength:t.length});if(t.length>Pl)throw new Lw({givenLength:t.length,maxBytecodeSize:Pl});const n=cu(t),r=je(n),s=t.length/32;if(s%2===0)throw new Ow({givenLengthInWords:s});const i=je(s),a=Vt(i,{size:2}),o=new Uint8Array([1,0]);return r.set(o,0),r.set(a,2),r}const Qa="/docs/contract/encodeDeployData";function Rl(e){const{abi:t,args:n,bytecode:r,deploymentType:s,salt:i}=e;if(!n||n.length===0){const{functionName:u,argsContractDeployer:l}=Ll(s,i??Cd,te(Xa(r)),"0x");return ge({abi:Ml,functionName:u,args:l})}const a=t.find(u=>"type"in u&&u.type==="constructor");if(!a)throw new tc({docsPath:Qa});if(!("inputs"in a))throw new es({docsPath:Qa});if(!a.inputs||a.inputs.length===0)throw new es({docsPath:Qa});const o=Re(a.inputs,n),{functionName:c,argsContractDeployer:d}=Ll(s,i??Cd,te(Xa(r)),o);return ge({abi:Ml,functionName:c,args:d})}function Ll(e,t,n,r){const s=[t,n,r];return{create:{functionName:"create",argsContractDeployer:s},create2:{functionName:"create2",argsContractDeployer:s},createAccount:{functionName:"createAccount",argsContractDeployer:[...s,Nl]},create2Account:{functionName:"create2Account",argsContractDeployer:[...s,Nl]}}[e||"create"]}function Ol(e){if(!Ur(e))throw new Sl;dt(e)}async function $w(e,t){var d,u,l;const{account:n=e.account,chain:r=e.chain,...s}=t,i=n?ee(n):e.account;if(!i)throw new St({docsPath:"/docs/actions/wallet/signTransaction"});if(Ol({account:i,chain:r,...t}),!((d=r==null?void 0:r.custom)!=null&&d.getEip712Domain))throw new N("`getEip712Domain` not found on chain.");if(!((u=r==null?void 0:r.serializers)!=null&&u.transaction))throw new N("transaction serializer not found on chain.");const a=await Y(e,Ke,"getChainId")({});r!==null&&un({currentChainId:a,chain:r});const o=r==null?void 0:r.custom.getEip712Domain({...s,chainId:a,from:i.address,type:"eip712"}),c=await Ys(e,{...o,account:i});return(l=r==null?void 0:r.serializers)==null?void 0:l.transaction({chainId:a,...s,customSignature:c,type:"eip712"},{r:"0x0",s:"0x0",v:0n})}async function Fl(e,t){return Ur(t)?$w(e,t):await Bl(e,t)}async function $l(e,t){const{account:n=e.account,chain:r=e.chain}=t,s=n?ee(n):e.account;if(!s)throw new St({docsPath:"/docs/actions/wallet/sendTransaction"});try{Ol(t);const i=await Er(e,{...t,nonceManager:s.nonceManager,parameters:["gas","nonce","fees"]});let a;r!==null&&(a=await Y(e,Ke,"getChainId")({}),un({currentChainId:a,chain:r}));const o=await Fl(e,{...i,chainId:a});return await Y(e,Cr,"sendRawTransaction")({serializedTransaction:o})}catch(i){throw Sr(i,{...t,account:s,chain:r})}}function kw(e,t){const{abi:n,args:r,bytecode:s,deploymentType:i,salt:a,...o}=t,c=Rl({abi:n,args:r,bytecode:s,deploymentType:i,salt:a});return o.factoryDeps=o.factoryDeps||[],o.factoryDeps.includes(s)||o.factoryDeps.push(s),$l(e,{...o,data:c,to:i==="create2"||i==="create2Account"?Rw:Nw})}async function Dw(e,t){var c,d;const{account:n,...r}=t,s=n?ee(n):e.account,i=(c=e.chain)==null?void 0:c.formatters,a=(d=i==null?void 0:i.transactionRequest)==null?void 0:d.format({...r,from:s==null?void 0:s.address}),o=await e.request({method:"zks_estimateFee",params:[a]});return{gasLimit:se(o.gas_limit),gasPerPubdataLimit:se(o.gas_per_pubdata_limit),maxPriorityFeePerGas:se(o.max_priority_fee_per_gas),maxFeePerGas:se(o.max_fee_per_gas)}}async function kl(e,t){return Ur(t)?$l(e,t):Mr(e,t)}const Dl={block:_h({format(e){var n;const t=(n=e.transactions)==null?void 0:n.map(r=>{var i;if(typeof r=="string")return r;const s=(i=Dl.transaction)==null?void 0:i.format(r);return s.typeHex==="0x71"?s.type="eip712":s.typeHex==="0xff"&&(s.type="priority"),s});return{l1BatchNumber:e.l1BatchNumber?se(e.l1BatchNumber):null,l1BatchTimestamp:e.l1BatchTimestamp?se(e.l1BatchTimestamp):null,transactions:t}}}),transaction:Uh({format(e){const t={};return e.type==="0x71"?t.type="eip712":e.type==="0xff"&&(t.type="priority"),{...t,l1BatchNumber:e.l1BatchNumber?se(e.l1BatchNumber):null,l1BatchTxIndex:e.l1BatchTxIndex?se(e.l1BatchTxIndex):null}}}),transactionReceipt:tm({format(e){return{l1BatchNumber:e.l1BatchNumber?se(e.l1BatchNumber):null,l1BatchTxIndex:e.l1BatchTxIndex?se(e.l1BatchTxIndex):null,logs:e.logs.map(t=>({...ft(t),l1BatchNumber:t.l1BatchNumber?se(t.l1BatchNumber):null,transactionLogIndex:Be(t.transactionLogIndex),logType:t.logType})),l2ToL1Logs:e.l2ToL1Logs.map(t=>({blockNumber:se(t.blockHash),blockHash:t.blockHash,l1BatchNumber:t.l1BatchNumber?se(t.l1BatchNumber):null,transactionIndex:se(t.transactionIndex),shardId:se(t.shardId),isService:t.isService,sender:t.sender,key:t.key,value:t.value,transactionHash:t.transactionHash,logIndex:se(t.logIndex)}))}}}),transactionRequest:Lh({exclude:["customSignature","factoryDeps","gasPerPubdata","paymaster","paymasterInput"],format(e){return e.gasPerPubdata||e.paymaster&&e.paymasterInput||e.factoryDeps||e.customSignature?{eip712Meta:{...e.gasPerPubdata?{gasPerPubdata:te(e.gasPerPubdata)}:{gasPerPubdata:te(Wa)},...e.paymaster&&e.paymasterInput?{paymasterParams:{paymaster:e.paymaster,paymasterInput:Array.from(Ee(e.paymasterInput))}}:{},...e.factoryDeps?{factoryDeps:e.factoryDeps.map(t=>Array.from(Ee(t)))}:{},...e.customSignature?{customSignature:Array.from(Ee(e.customSignature))}:{}},type:"0x71"}:{}}})},Uw=e=>{Cl(e);const t=zw(e);return{domain:{name:"zkSync",version:"2",chainId:e.chainId},types:{Transaction:[{name:"txType",type:"uint256"},{name:"from",type:"uint256"},{name:"to",type:"uint256"},{name:"gasLimit",type:"uint256"},{name:"gasPerPubdataByteLimit",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymaster",type:"uint256"},{name:"nonce",type:"uint256"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"factoryDeps",type:"bytes32[]"},{name:"paymasterInput",type:"bytes"}]},primaryType:"Transaction",message:t}};function zw(e){const{gas:t,nonce:n,to:r,from:s,value:i,maxFeePerGas:a,maxPriorityFeePerGas:o,factoryDeps:c,paymaster:d,paymasterInput:u,gasPerPubdata:l,data:p}=e;return{txType:113n,from:BigInt(s),to:r?BigInt(r):0n,gasLimit:t??0n,gasPerPubdataByteLimit:l??Wa,maxFeePerGas:a??0n,maxPriorityFeePerGas:o??0n,paymaster:d?BigInt(d):0n,nonce:n?BigInt(n):0n,value:i??0n,data:p??"0x",factoryDeps:(c==null?void 0:c.map(h=>te(Xa(h))))??[],paymasterInput:u||"0x"}}const Ul={blockTime:1e3,formatters:Dl,serializers:Cw,custom:{getEip712Domain:Uw}};function _w(){return e=>({sendTransaction:t=>kl(e,t),signTransaction:t=>Fl(e,t),deployContract:t=>kw(e,t),writeContract:t=>Nr(Object.assign(e,{sendTransaction:n=>kl(e,n)}),t)})}const fn=gd({...Ul,id:2741,name:"Abstract",nativeCurrency:{decimals:18,name:"ETH",symbol:"ETH"},rpcUrls:{default:{http:["https://api.mainnet.abs.xyz"],webSocket:["wss://api.mainnet.abs.xyz/ws"]}},blockExplorers:{default:{name:"Etherscan",url:"https://abscan.org"},native:{name:"Abstract Explorer",url:"https://explorer.mainnet.abs.xyz"}},contracts:{multicall3:{address:"0xAa4De41dba0Ca5dCBb288b7cC6b708F3aaC759E7",blockCreated:5288},universalSignatureVerifier:{address:"0xfB688330379976DA81eB64Fe4BF50d7401763B9C",blockCreated:5263}}}),zr=gd({...Ul,id:11124,name:"Abstract Testnet",nativeCurrency:{decimals:18,name:"ETH",symbol:"ETH"},rpcUrls:{default:{http:["https://api.testnet.abs.xyz"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.abscan.org"},native:{name:"Abstract Explorer",url:"https://explorer.testnet.abs.xyz"}},testnet:!0,contracts:{multicall3:{address:"0xF9cda624FBC7e059355ce98a31693d299FACd963",blockCreated:358349},universalSignatureVerifier:{address:"0xfB688330379976DA81eB64Fe4BF50d7401763B9C",blockCreated:431682}}});Promise.resolve().then(()=>rx);class Hw{constructor(){Hn(this,"isMainNet",!0);Hn(this,"account","");Hn(this,"provider",null);Hn(this,"walletClient",null)}}class Gw{constructor(t){Hn(this,"config");this.config=t,console.log("config",this.config)}disconnect(){console.log("disconnect"),localStorage.clear(),window.location.reload()}async initProvider(){try{let r=gt().getProviders().find(s=>s.info.name.includes("Abstract")||s.info.rdns==="foundation.abstract.agw");if(!r)throw new Error("Abstract Global Wallet not available. Please try again.");return console.log("init success"),r}catch(t){console.error("Failed to initialize AGW:",t)}return null}async connect(t=!0){let n=await this.initProvider();if(!n)return null;let r=n.provider;if(!r)return null;let s=new Hw;s.provider=r,console.log("Requesting accounts from AGW provider...",n);let i=await r.request({method:"eth_requestAccounts"});if(console.warn("accounts",i),!i||i.length===0){console.log("No accounts found initially, retrying...");let o=0;const c=30;for(;(!i||i.length===0)&&osetTimeout(d,300)),i=await r.request({method:"eth_accounts"}),console.log(`Retry ${o+1}:`,i),o++}if(!i||i.length===0)return null;s.account=i[0],console.log("Creating wallet client for account:",i[0]);let a=t?fn:zr;s.isMainNet=t;try{s.walletClient=Ws({account:i[0],chain:a,transport:ba(r)}).extend(_w()),console.log("Wallet client created successfully")}catch(o){throw console.error("Failed to create wallet client:",o),o}return await new Promise(o=>setTimeout(o,200)),s.walletClient?console.warn("wallet client created",s.walletClient):console.error("Failed to create wallet client"),s}async getBalance(t){let n=-1;if(!t.walletClient)return n;if(!t.provider)return-1;let r=await bs(t.walletClient,{address:t.account});return console.log("bitInt",r),n=Number(r)/1e18,n}async switchNet(t,n){var s;if(t.isMainNet==n||!t.provider)return;let r=n?fn:zr;try{await t.provider.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${r.id.toString(16)}`}]})}catch{await t.provider.request({method:"wallet_addEthereumChain",params:[{chainId:`0x${r.id.toString(16)}`,chainName:r.name,nativeCurrency:r.nativeCurrency,rpcUrls:[r.rpcUrls.default.http[0]],blockExplorerUrls:(s=r.blockExplorers)!=null&&s.default?[r.blockExplorers.default.url]:void 0}]})}}}class zl{static async create(t){return new Gw(t)}static async connect(t){let n=await t.connect();if(!n)return null;let r=await t.getBalance(n);return console.log("balance",r),n}static async getBalance(t,n){return await t.getBalance(n)}static disconnect(t){t.disconnect()}}window.AbsHelper=zl;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Fe=BigInt(0),Me=BigInt(1),pn=BigInt(2),_l=BigInt(3),Hl=BigInt(4),Gl=BigInt(5),qw=BigInt(7),ql=BigInt(8),jw=BigInt(9),jl=BigInt(16);function it(e,t){const n=e%t;return n>=Fe?n:t+n}function Qe(e,t,n){let r=e;for(;t-- >Fe;)r*=r,r%=n;return r}function Vl(e,t){if(e===Fe)throw new Error("invert: expected non-zero number");if(t<=Fe)throw new Error("invert: expected positive modulus, got "+t);let n=it(e,t),r=t,s=Fe,i=Me;for(;n!==Fe;){const o=r/n,c=r%n,d=s-i*o;r=n,n=c,s=i,i=d}if(r!==Me)throw new Error("invert: does not exist");return it(s,t)}function Ja(e,t,n){if(!e.eql(e.sqr(t),n))throw new Error("Cannot find square root")}function Kl(e,t){const n=(e.ORDER+Me)/Hl,r=e.pow(t,n);return Ja(e,r,t),r}function Vw(e,t){const n=(e.ORDER-Gl)/ql,r=e.mul(t,pn),s=e.pow(r,n),i=e.mul(t,s),a=e.mul(e.mul(i,pn),s),o=e.mul(i,e.sub(a,e.ONE));return Ja(e,o,t),o}function Kw(e){const t=_r(e),n=Zl(e),r=n(t,t.neg(t.ONE)),s=n(t,r),i=n(t,t.neg(r)),a=(e+qw)/jl;return(o,c)=>{let d=o.pow(c,a),u=o.mul(d,r);const l=o.mul(d,s),p=o.mul(d,i),h=o.eql(o.sqr(u),c),b=o.eql(o.sqr(l),c);d=o.cmov(d,u,h),u=o.cmov(p,l,b);const g=o.eql(o.sqr(u),c),P=o.cmov(d,u,g);return Ja(o,P,c),P}}function Zl(e){if(e<_l)throw new Error("sqrt is not defined for small field");let t=e-Me,n=0;for(;t%pn===Fe;)t/=pn,n++;let r=pn;const s=_r(e);for(;Wl(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return Kl;let i=s.pow(r,t);const a=(t+Me)/pn;return function(c,d){if(c.is0(d))return d;if(Wl(c,d)!==1)throw new Error("Cannot find square root");let u=n,l=c.mul(c.ONE,i),p=c.pow(d,t),h=c.pow(d,a);for(;!c.eql(p,c.ONE);){if(c.is0(p))return c.ZERO;let b=1,g=c.sqr(p);for(;!c.eql(g,c.ONE);)if(b++,g=c.sqr(g),b===u)throw new Error("Cannot find square root");const P=Me<(r[s]="function",r),t);return na(e,n),e}function Xw(e,t,n){if(nFe;)n&Me&&(r=e.mul(r,s)),s=e.sqr(s),n>>=Me;return r}function Yl(e,t,n=!1){const r=new Array(t.length).fill(n?e.ZERO:void 0),s=t.reduce((a,o,c)=>e.is0(o)?a:(r[c]=a,e.mul(a,o)),e.ONE),i=e.inv(s);return t.reduceRight((a,o,c)=>e.is0(o)?a:(r[c]=e.mul(a,r[c]),e.mul(a,o)),i),r}function Wl(e,t){const n=(e.ORDER-Me)/pn,r=e.pow(t,n),s=e.eql(r,e.ONE),i=e.eql(r,e.ZERO),a=e.eql(r,e.neg(e.ONE));if(!s&&!i&&!a)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function Qw(e,t){t!==void 0&&Yi(t);const n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function _r(e,t,n=!1,r={}){if(e<=Fe)throw new Error("invalid field: expected ORDER > 0, got "+e);let s,i,a=!1,o;if(typeof t=="object"&&t!=null){if(r.sqrt||n)throw new Error("cannot specify opts in two arguments");const p=t;p.BITS&&(s=p.BITS),p.sqrt&&(i=p.sqrt),typeof p.isLE=="boolean"&&(n=p.isLE),typeof p.modOnDecode=="boolean"&&(a=p.modOnDecode),o=p.allowedLengths}else typeof t=="number"&&(s=t),r.sqrt&&(i=r.sqrt);const{nBitLength:c,nByteLength:d}=Qw(e,s);if(d>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let u;const l=Object.freeze({ORDER:e,isLE:n,BITS:c,BYTES:d,MASK:Ar(c),ZERO:Fe,ONE:Me,allowedLengths:o,create:p=>it(p,e),isValid:p=>{if(typeof p!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof p);return Fe<=p&&pp===Fe,isValidNot0:p=>!l.is0(p)&&l.isValid(p),isOdd:p=>(p&Me)===Me,neg:p=>it(-p,e),eql:(p,h)=>p===h,sqr:p=>it(p*p,e),add:(p,h)=>it(p+h,e),sub:(p,h)=>it(p-h,e),mul:(p,h)=>it(p*h,e),pow:(p,h)=>Xw(l,p,h),div:(p,h)=>it(p*Vl(h,e),e),sqrN:p=>p*p,addN:(p,h)=>p+h,subN:(p,h)=>p-h,mulN:(p,h)=>p*h,inv:p=>Vl(p,e),sqrt:i||(p=>(u||(u=Zw(e)),u(l,p))),toBytes:p=>n?Su(p,d):ea(p,d),fromBytes:(p,h=!0)=>{if(o){if(!o.includes(p.length)||p.length>d)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+p.length);const g=new Uint8Array(d);g.set(p,n?0:g.length-p.length),p=g}if(p.length!==d)throw new Error("Field.fromBytes: expected "+d+" bytes, got "+p.length);let b=n?Pu(p):Is(p);if(a&&(b=it(b,e)),!h&&!l.isValid(b))throw new Error("invalid field element: outside of range 0..ORDER");return b},invertBatch:p=>Yl(l,p),cmov:(p,h,b)=>b?h:p});return Object.freeze(l)}function Xl(e){if(typeof e!="bigint")throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function Ql(e){const t=Xl(e);return t+Math.ceil(t/2)}function Jw(e,t,n=!1){const r=e.length,s=Xl(t),i=Ql(t);if(r<16||r1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);const a=n?Pu(e):Is(e),o=it(a,t-Me)+Me;return n?Su(o,s):ea(o,s)}function e1(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);const s=BigInt(32),i=BigInt(4294967295),a=Number(n>>s&i),o=Number(n&i),c=r?4:0,d=r?0:4;e.setUint32(t+c,a,r),e.setUint32(t+d,o,r)}function t1(e,t,n){return e&t^~e&n}function n1(e,t,n){return e&t^e&n^t&n}class r1 extends Iu{constructor(t,n,r,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(t),this.view=Wi(this.buffer)}update(t){xs(this),t=Xi(t),rt(t);const{view:n,buffer:r,blockLen:s}=this,i=t.length;for(let a=0;as-a&&(this.process(r,0),a=0);for(let l=a;lu.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l>>3,g=pt(h,17)^pt(h,19)^h>>>10;zt[l]=g+zt[l-7]+b+zt[l-16]|0}let{A:r,B:s,C:i,D:a,E:o,F:c,G:d,H:u}=this;for(let l=0;l<64;l++){const p=pt(o,6)^pt(o,11)^pt(o,25),h=u+p+t1(o,c,d)+s1[l]+zt[l]|0,g=(pt(r,2)^pt(r,13)^pt(r,22))+n1(r,s,i)|0;u=d,d=c,c=o,o=a+h|0,a=i,i=s,s=r,r=h+g|0}r=r+this.A|0,s=s+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,d=d+this.G|0,u=u+this.H|0,this.set(r,s,i,a,o,c,d,u)}roundClean(){vs(zt)}destroy(){this.set(0,0,0,0,0,0,0,0),vs(this.buffer)}}const a1=c0(()=>new i1);class Jl extends Iu{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,Eu(t);const r=Xi(n);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,i=new Uint8Array(s);i.set(r.length>s?t.create().update(r).digest():r);for(let a=0;anew Jl(e,t).update(n).digest();ef.create=(e,t)=>new Jl(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const $n=BigInt(0),yn=BigInt(1);function Xs(e,t){const n=t.negate();return e?n:t}function eo(e,t){const n=Yl(e.Fp,t.map(r=>r.Z));return t.map((r,s)=>e.fromAffine(r.toAffine(n[s])))}function tf(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function to(e,t){tf(e,t);const n=Math.ceil(t/e)+1,r=2**(e-1),s=2**e,i=Ar(e),a=BigInt(e);return{windows:n,windowSize:r,mask:i,maxNumber:s,shiftBy:a}}function nf(e,t,n){const{windowSize:r,mask:s,maxNumber:i,shiftBy:a}=n;let o=Number(e&s),c=e>>a;o>r&&(o-=i,c+=yn);const d=t*r,u=d+Math.abs(o)-1,l=o===0,p=o<0,h=t%2!==0;return{nextN:c,offset:u,isZero:l,isNeg:p,isNegF:h,offsetF:d}}function o1(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((n,r)=>{if(!(n instanceof t))throw new Error("invalid point at index "+r)})}function c1(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((n,r)=>{if(!t.isValid(n))throw new Error("invalid scalar at index "+r)})}const no=new WeakMap,rf=new WeakMap;function ro(e){return rf.get(e)||1}function sf(e){if(e!==$n)throw new Error("invalid wNAF")}class u1{constructor(t,n){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=n}_unsafeLadder(t,n,r=this.ZERO){let s=t;for(;n>$n;)n&yn&&(r=r.add(s)),s=s.double(),n>>=yn;return r}precomputeWindow(t,n){const{windows:r,windowSize:s}=to(n,this.bits),i=[];let a=t,o=a;for(let c=0;c$n||r>$n;)n&yn&&(i=i.add(s)),r&yn&&(a=a.add(s)),s=s.double(),n>>=yn,r>>=yn;return{p1:i,p2:a}}function l1(e,t,n,r){o1(n,e),c1(r,t);const s=n.length,i=r.length;if(s!==i)throw new Error("arrays of points and scalars must have equal length");const a=e.ZERO,o=Cu(BigInt(s));let c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);const d=Ar(c),u=new Array(Number(d)+1).fill(a),l=Math.floor((t.BITS-1)/c)*c;let p=a;for(let h=l;h>=0;h-=c){u.fill(a);for(let g=0;g>BigInt(h)&d);u[T]=u[T].add(n[g])}let b=a;for(let g=u.length-1,P=a;g>0;g--)P=P.add(u[g]),b=b.add(P);if(p=p.add(b),h!==0)for(let g=0;g$n))throw new Error(`CURVE.${o} must be positive bigint`)}const r=af(t.p,n.Fp),s=af(t.n,n.Fn),a=["Gx","Gy","a","b"];for(const o of a)if(!r.isValid(t[o]))throw new Error(`CURVE.${o} must be valid field element of CURVE.Fp`);return{Fp:r,Fn:s}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const of=(e,t)=>(e+(e>=0?t:-t)/uf)/t;function p1(e,t,n){const[[r,s],[i,a]]=t,o=of(a*e,n),c=of(-s*e,n);let d=e-o*r-c*i,u=-o*s-c*a;const l=d=h||u=h)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:l,k1:d,k2neg:p,k2:u}}function cf(e){e.lowS!==void 0&&Ts("lowS",e.lowS),e.prehash!==void 0&&Ts("prehash",e.prehash)}class y1 extends Error{constructor(t=""){super(t)}}const Mt={Err:y1,_tlv:{encode:(e,t)=>{const{Err:n}=Mt;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length&1)throw new n("tlv.encode: unpadded data");const r=t.length/2,s=As(r);if(s.length/2&128)throw new n("tlv.encode: long form length too big");const i=r>127?As(s.length/2|128):"";return As(e)+i+s+t},decode(e,t){const{Err:n}=Mt;let r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");const s=t[r++],i=!!(s&128);let a=0;if(!i)a=s;else{const c=s&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");const d=t.subarray(r,r+c);if(d.length!==c)throw new n("tlv.decode: length bytes not complete");if(d[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(const u of d)a=a<<8|u;if(r+=c,a<128)throw new n("tlv.decode(long): not minimal encoding")}const o=t.subarray(r,r+a);if(o.length!==a)throw new n("tlv.decode: wrong value length");return{v:o,l:t.subarray(r+a)}}},_int:{encode(e){const{Err:t}=Mt;if(e{const{X:v,Y:C,Z:O}=x;if(n.eql(O,n.ONE))return{x:v,y:C};const _=x.is0();E==null&&(E=_?n.ONE:n.inv(O));const H=n.mul(v,E),S=n.mul(C,E),B=n.mul(O,E);if(_)return{x:n.ZERO,y:n.ZERO};if(!n.eql(B,n.ONE))throw new Error("invZ was invalid");return{x:H,y:S}}),z=Mu(x=>{if(x.is0()){if(t.allowInfinityPoint&&!n.is0(x.Y))return;throw new Error("bad point: ZERO")}const{x:E,y:v}=x.toAffine();if(!n.isValid(E)||!n.isValid(v))throw new Error("bad point: x or y not field elements");if(!h(E,v))throw new Error("bad point: equation left != right");if(!x.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function F(x,E,v,C,O){return v=new $(n.mul(v.X,x),v.Y,v.Z),E=Xs(C,E),v=Xs(O,v),E.add(v)}class ${constructor(E,v,C){this.X=P("x",E),this.Y=P("y",v,!0),this.Z=P("z",C),Object.freeze(this)}static fromAffine(E){const{x:v,y:C}=E||{};if(!E||!n.isValid(v)||!n.isValid(C))throw new Error("invalid affine point");if(E instanceof $)throw new Error("projective point not allowed");return n.is0(v)&&n.is0(C)?$.ZERO:new $(v,C,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}static normalizeZ(E){return eo($,E)}static fromBytes(E){return rt(E),$.fromHex(E)}static fromHex(E){const v=$.fromAffine(l(ze("pointHex",E)));return v.assertValidity(),v}static fromPrivateKey(E){return $.BASE.multiply(Dn(r,E))}static msm(E,v){return l1($,r,E,v)}_setWindowSize(E){this.precompute(E)}precompute(E=8,v=!0){return D.createCache(this,E),v||this.multiply(Qs),this}assertValidity(){z(this)}hasEvenY(){const{y:E}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(E)}equals(E){T(E);const{X:v,Y:C,Z:O}=this,{X:_,Y:H,Z:S}=E,B=n.eql(n.mul(v,S),n.mul(_,O)),A=n.eql(n.mul(C,S),n.mul(H,O));return B&&A}negate(){return new $(this.X,n.neg(this.Y),this.Z)}double(){const{a:E,b:v}=e,C=n.mul(v,Qs),{X:O,Y:_,Z:H}=this;let S=n.ZERO,B=n.ZERO,A=n.ZERO,k=n.mul(O,O),V=n.mul(_,_),U=n.mul(H,H),K=n.mul(O,_);return K=n.add(K,K),A=n.mul(O,H),A=n.add(A,A),S=n.mul(E,A),B=n.mul(C,U),B=n.add(S,B),S=n.sub(V,B),B=n.add(V,B),B=n.mul(S,B),S=n.mul(K,S),A=n.mul(C,A),U=n.mul(E,U),K=n.sub(k,U),K=n.mul(E,K),K=n.add(K,A),A=n.add(k,k),k=n.add(A,k),k=n.add(k,U),k=n.mul(k,K),B=n.add(B,k),U=n.mul(_,H),U=n.add(U,U),k=n.mul(U,K),S=n.sub(S,k),A=n.mul(U,V),A=n.add(A,A),A=n.add(A,A),new $(S,B,A)}add(E){T(E);const{X:v,Y:C,Z:O}=this,{X:_,Y:H,Z:S}=E;let B=n.ZERO,A=n.ZERO,k=n.ZERO;const V=e.a,U=n.mul(e.b,Qs);let K=n.mul(v,_),X=n.mul(C,H),Q=n.mul(O,S),Z=n.add(v,C),W=n.add(_,H);Z=n.mul(Z,W),W=n.add(K,X),Z=n.sub(Z,W),W=n.add(v,O);let ne=n.add(_,S);return W=n.mul(W,ne),ne=n.add(K,Q),W=n.sub(W,ne),ne=n.add(C,O),B=n.add(H,S),ne=n.mul(ne,B),B=n.add(X,Q),ne=n.sub(ne,B),k=n.mul(V,W),B=n.mul(U,Q),k=n.add(B,k),B=n.sub(X,k),k=n.add(X,k),A=n.mul(B,k),X=n.add(K,K),X=n.add(X,K),Q=n.mul(V,Q),W=n.mul(U,W),X=n.add(X,Q),Q=n.sub(K,Q),Q=n.mul(V,Q),W=n.add(W,Q),K=n.mul(X,W),A=n.add(A,K),K=n.mul(ne,W),B=n.mul(Z,B),B=n.sub(B,K),K=n.mul(Z,X),k=n.mul(ne,k),k=n.add(k,K),new $(B,A,k)}subtract(E){return this.add(E.negate())}is0(){return this.equals($.ZERO)}multiply(E){const{endo:v}=t;if(!r.isValidNot0(E))throw new Error("invalid scalar: out of range");let C,O;const _=H=>D.cached(this,H,S=>eo($,S));if(v){const{k1neg:H,k1:S,k2neg:B,k2:A}=R(E),{p:k,f:V}=_(S),{p:U,f:K}=_(A);O=V.add(K),C=F(v.beta,k,U,H,B)}else{const{p:H,f:S}=_(E);C=H,O=S}return eo($,[C,O])[0]}multiplyUnsafe(E){const{endo:v}=t,C=this;if(!r.isValid(E))throw new Error("invalid scalar: out of range");if(E===Nt||C.is0())return $.ZERO;if(E===kn)return C;if(D.hasCache(this))return this.multiply(E);if(v){const{k1neg:O,k1:_,k2neg:H,k2:S}=R(E),{p1:B,p2:A}=d1($,C,_,S);return F(v.beta,B,A,O,H)}else return D.unsafe(C,E)}multiplyAndAddUnsafe(E,v,C){const O=this.multiplyUnsafe(v).add(E.multiplyUnsafe(C));return O.is0()?void 0:O}toAffine(E){return M(this,E)}isTorsionFree(){const{isTorsionFree:E}=t;return s===kn?!0:E?E($,this):D.unsafe(this,i).is0()}clearCofactor(){const{clearCofactor:E}=t;return s===kn?this:E?E($,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(E=!0){return Ts("isCompressed",E),this.assertValidity(),u($,this,E)}toRawBytes(E=!0){return this.toBytes(E)}toHex(E=!0){return Cn(this.toBytes(E))}toString(){return``}}$.BASE=new $(e.Gx,e.Gy,n.ONE),$.ZERO=new $(n.ZERO,n.ONE,n.ZERO),$.Fp=n,$.Fn=r;const q=r.BITS,D=new u1($,t.endo?Math.ceil(q/2):q);return $}function df(e){return Uint8Array.of(e?2:3)}function g1(e,t,n={}){Eu(t),na(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const r=n.randomBytes||u0,s=n.hmac||((S,...B)=>ef(t,S,an(...B))),{Fp:i,Fn:a}=e,{ORDER:o,BITS:c}=a,d=Ql(o),u={secret:a.BYTES,public:1+i.BYTES,publicUncompressed:1+2*i.BYTES,signature:2*a.BYTES,seed:d};function l(S){const B=o>>kn;return S>B}function p(S){return l(S)?a.neg(S):S}function h(S,B){if(!a.isValidNot0(B))throw new Error(`invalid signature ${S}: out of range 1..CURVE.n`)}class b{constructor(B,A,k){h("r",B),h("s",A),this.r=B,this.s=A,k!=null&&(this.recovery=k),Object.freeze(this)}static fromBytes(B,A="compact"){if(A==="compact"){const k=a.BYTES;rt(B,k*2);const V=B.subarray(0,k),U=B.subarray(k,k*2);return new b(a.fromBytes(V),a.fromBytes(U))}if(A==="der"){rt(B);const{r:k,s:V}=Mt.toSig(B);return new b(k,V)}throw new Error("invalid format")}static fromHex(B,A){return this.fromBytes(Es(B),A)}addRecoveryBit(B){return new b(this.r,this.s,B)}recoverPublicKey(B){const A=i.ORDER,{r:k,s:V,recovery:U}=this;if(U==null||![0,1,2,3].includes(U))throw new Error("recovery id invalid");if(o*uf1)throw new Error("recovery id is ambiguous for h>1 curve");const X=U===2||U===3?k+o:k;if(!i.isValid(X))throw new Error("recovery id 2 or 3 invalid");const Q=i.toBytes(X),Z=e.fromHex(an(df((U&1)===0),Q)),W=a.inv(X),ne=q(ze("msgHash",B)),re=a.create(-ne*W),oe=a.create(V*W),xe=e.BASE.multiplyUnsafe(re).add(Z.multiplyUnsafe(oe));if(xe.is0())throw new Error("point at infinify");return xe.assertValidity(),xe}hasHighS(){return l(this.s)}normalizeS(){return this.hasHighS()?new b(this.r,a.neg(this.s),this.recovery):this}toBytes(B="compact"){if(B==="compact")return an(a.toBytes(this.r),a.toBytes(this.s));if(B==="der")return Es(Mt.hexFromSig(this));throw new Error("invalid format")}toHex(B){return Cn(this.toBytes(B))}assertValidity(){}static fromCompact(B){return b.fromBytes(ze("sig",B),"compact")}static fromDER(B){return b.fromBytes(ze("sig",B),"der")}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return Cn(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return Cn(this.toBytes("compact"))}}function g(S){try{return!!Dn(a,S)}catch{return!1}}function P(S,B){try{const A=S.length;return B===!0&&A!==u.public||B===!1&&A!==u.publicUncompressed?!1:!!e.fromBytes(S)}catch{return!1}}function T(S=r(d)){return Jw(S,o)}const R={isValidSecretKey:g,isValidPublicKey:P,randomSecretKey:T,isValidPrivateKey:g,randomPrivateKey:T,normPrivateKeyToScalar:S=>Dn(a,S),precompute(S=8,B=e.BASE){return B.precompute(S,!1)}};function M(S,B=!0){return e.BASE.multiply(Dn(a,S)).toBytes(B)}function z(S){if(typeof S=="bigint")return!1;if(S instanceof e)return!0;if(a.allowedLengths||u.secret===u.public)return;const B=ze("key",S).length;return B===u.public||B===u.publicUncompressed}function F(S,B,A=!0){if(z(S)===!0)throw new Error("first arg must be private key");if(z(B)===!1)throw new Error("second arg must be public key");const k=Dn(a,S);return e.fromHex(B).multiply(k).toBytes(A)}const $=n.bits2int||function(S){if(S.length>8192)throw new Error("input is too large");const B=Is(S),A=S.length*8-c;return A>0?B>>BigInt(A):B},q=n.bits2int_modN||function(S){return a.create($(S))},D=Ar(c);function x(S){return l0("num < 2^"+c,S,Nt,D),a.toBytes(S)}function E(S,B,A=v){if(["recovered","canonical"].some(re=>re in A))throw new Error("sign() legacy options not supported");let{lowS:k,prehash:V,extraEntropy:U}=A;k==null&&(k=!0),S=ze("msgHash",S),cf(A),V&&(S=ze("prehashed msgHash",t(S)));const K=q(S),X=Dn(a,B),Q=[x(X),x(K)];if(U!=null&&U!==!1){const re=U===!0?r(u.secret):U;Q.push(ze("extraEntropy",re))}const Z=an(...Q),W=K;function ne(re){const oe=$(re);if(!a.isValidNot0(oe))return;const xe=a.inv(oe),we=e.BASE.multiply(oe).toAffine(),Ie=a.create(we.x);if(Ie===Nt)return;const ve=a.create(xe*a.create(W+Ie*X));if(ve===Nt)return;let et=(we.x===Ie?0:2)|Number(we.y&kn),ci=ve;return k&&l(ve)&&(ci=p(ve),et^=1),new b(Ie,ci,et)}return{seed:Z,k2sig:ne}}const v={lowS:n.lowS,prehash:!1},C={lowS:n.lowS,prehash:!1};function O(S,B,A=v){const{seed:k,k2sig:V}=E(S,B,A);return f0(t.outputLen,a.BYTES,s)(k,V)}e.BASE.precompute(8);function _(S,B,A,k=C){const V=S;B=ze("msgHash",B),A=ze("publicKey",A),cf(k);const{lowS:U,prehash:K,format:X}=k;if("strict"in k)throw new Error("options.strict was renamed to lowS");let Q,Z;if(X===void 0){const W=typeof V=="string"||ws(V),ne=!W&&V!==null&&typeof V=="object"&&typeof V.r=="bigint"&&typeof V.s=="bigint";if(!W&&!ne)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(ne)Q=new b(V.r,V.s);else if(W){try{Q=b.fromDER(V)}catch(re){if(!(re instanceof Mt.Err))throw re}if(!Q)try{Q=b.fromCompact(V)}catch{return!1}}}else if(X==="compact"||X==="der"){if(typeof V!="string"&&!ws(V))throw new Error('"der" / "compact" format expects Uint8Array signature');Q=b.fromBytes(ze("sig",V),X)}else if(X==="js"){if(!(V instanceof b))throw new Error('"js" format expects Signature instance');Q=V}else throw new Error('format must be "compact", "der" or "js"');if(!Q)return!1;try{if(Z=e.fromHex(A),U&&Q.hasHighS())return!1;K&&(B=t(B));const{r:W,s:ne}=Q,re=q(B),oe=a.inv(ne),xe=a.create(re*oe),we=a.create(W*oe),Ie=e.BASE.multiplyUnsafe(xe).add(Z.multiplyUnsafe(we));return Ie.is0()?!1:a.create(Ie.x)===W}catch{return!1}}function H(S){const B=R.randomSecretKey(S);return{secretKey:B,publicKey:M(B)}}return Object.freeze({keygen:H,getPublicKey:M,sign:O,verify:_,getSharedSecret:F,utils:R,Point:e,Signature:b,info:{type:"weierstrass",lengths:u,publicKeyHasPrefix:!0}})}function w1(e){const t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},n=e.Fp;let r=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(a=>Math.ceil(a/2)))):void 0;const s=_r(t.n,{BITS:e.nBitLength,allowedLengths:r,modOnDecode:e.wrapPrivateKey}),i={Fp:n,Fn:s,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:i}}function x1(e){const{CURVE:t,curveOpts:n}=w1(e),r={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:n,hash:e.hash,ecdsaOpts:r}}function v1(e,t){return Object.assign({},t,{ProjectivePoint:t.Point,CURVE:e})}function E1(e){const{CURVE:t,curveOpts:n,hash:r,ecdsaOpts:s}=x1(e),i=b1(t,n),a=g1(i,r,s);return v1(e,a)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function T1(e,t){const n=r=>E1({...e,hash:r});return{...n(t),create:n}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const so={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},A1={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},lf=BigInt(2);function I1(e){const t=so.p,n=BigInt(3),r=BigInt(6),s=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),d=e*e*e%t,u=d*d*e%t,l=Qe(u,n,t)*u%t,p=Qe(l,n,t)*u%t,h=Qe(p,lf,t)*d%t,b=Qe(h,s,t)*h%t,g=Qe(b,i,t)*b%t,P=Qe(g,o,t)*g%t,T=Qe(P,c,t)*P%t,R=Qe(T,o,t)*g%t,M=Qe(R,n,t)*u%t,z=Qe(M,a,t)*b%t,F=Qe(z,r,t)*d%t,$=Qe(F,lf,t);if(!io.eql(io.sqr($),e))throw new Error("Cannot find square root");return $}const io=_r(so.p,void 0,void 0,{sqrt:I1}),ao=T1({...so,Fp:io,lowS:!0,endo:A1},a1),oo=[{inputs:[{internalType:"address",name:"_implementation",type:"address"},{internalType:"bytes4",name:"_initializerSelector",type:"bytes4"},{internalType:"address",name:"_registry",type:"address"},{internalType:"bytes32",name:"_proxyBytecodeHash",type:"bytes32"},{internalType:"address",name:"_deployer",type:"address"},{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ALREADY_CREATED",type:"error"},{inputs:[],name:"DEPLOYMENT_FAILED",type:"error"},{inputs:[],name:"INVALID_INITIALIZER",type:"error"},{inputs:[],name:"NOT_FROM_DEPLOYER",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"accountAddress",type:"address"}],name:"AGWAccountCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"accountAddress",type:"address"}],name:"AGWAccountDeployed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"deployer",type:"address"},{indexed:!0,internalType:"bool",name:"authorized",type:"bool"}],name:"DeployerAuthorized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newImplementation",type:"address"}],name:"ImplementationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferStarted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newRegistry",type:"address"}],name:"RegistryChanged",type:"event"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"accountToDeployer",outputs:[{internalType:"address",name:"deployer",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"accountAddress",type:"address"}],name:"agwAccountCreated",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"deployer",type:"address"}],name:"authorizedDeployers",outputs:[{internalType:"bool",name:"authorized",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes4",name:"newInitializerSelector",type:"bytes4"}],name:"changeImplementation",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newRegistry",type:"address"}],name:"changeRegistry",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"bytes",name:"initializer",type:"bytes"}],name:"deployAccount",outputs:[{internalType:"address",name:"accountAddress",type:"address"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"salt",type:"bytes32"}],name:"getAddressForSalt",outputs:[{internalType:"address",name:"accountAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"address",name:"_implementation",type:"address"}],name:"getAddressForSaltAndImplementation",outputs:[{internalType:"address",name:"accountAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"implementationAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initializerSelector",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxyBytecodeHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"registry",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"salt",type:"bytes32"}],name:"saltToAccount",outputs:[{internalType:"address",name:"accountAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"deployer",type:"address"},{internalType:"bool",name:"authorized",type:"bool"}],name:"setDeployer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],co="0x9B947df68D35281C972511B3E7BC875926f26C1A",_t="0x74b9ae28EC45E3FA11533c7954752597C3De3e7A",He="0x34ca1501FAE231cC2ebc995CE013Dbe882d7d081",ff="0x0000000000000000000000000000000000008006",B1="0xd3bdf4b5",P1="0x5a0694d2",S1="0x8f0273a9",uo="0xe7931438",pf="0x0000000078CC4Cc1C14E27c0fa35ED6E5E58825D",yf="0xc10dcfe266c1f71ef476efbd3223555750dc271e4115626b";zr.id+"",fn.id+"";const lo="0xfD20b9d7A406e2C4f5D6Df71ABE3Ee48B2EccC9F";class C1 extends N{constructor(){super(["Transaction is not an EIP712 transaction.","","Transaction must:",' - include `type: "eip712"`'," - include one of the following: `customSignature`, `paymaster`, `paymasterInput`, `gasPerPubdata`, `factoryDeps`"].join(` `),{name:"InvalidEip712TransactionError"})}}function hf(e){return!!(e.type==="eip712"||"customSignature"in e&&e.customSignature||"paymaster"in e&&e.paymaster||"paymasterInput"in e&&e.paymasterInput||"gasPerPubdata"in e&&typeof e.gasPerPubdata=="bigint"||"factoryDeps"in e&&e.factoryDeps)}function M1(e){if(!hf(e))throw new C1;dt(e)}const mf={[zr.id]:zr,[fn.id]:fn};async function bf(e,t){if(e===void 0)throw new Error("Initial signer is required to get smart account address");const n=je(e),r=he(n);return await t.readContract({address:co,abi:oo,functionName:"getAddressForSalt",args:[r]})}async function fo(e,t){return await e.getCode({address:t})!==void 0}function gf(e,t,n){return ge({abi:[{name:"initialize",type:"function",inputs:[{name:"initialK1Owner",type:"address"},{name:"initialK1Validator",type:"address"},{name:"modules",type:"bytes[]"},{name:"initCall",type:"tuple",components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"value",type:"uint256"},{name:"callData",type:"bytes"}]}],outputs:[],stateMutability:"nonpayable"}],functionName:"initialize",args:[e,t,[],n]})}function wf(e,t){if(e)for(const n of t)ke(e[n])&&(e[n]=ns(e[n],"bigint"))}function po(e){var t,n;return e.message&&((t=e.domain)==null?void 0:t.name)==="zkSync"&&((n=e.domain)==null?void 0:n.version)==="2"&&hf(e.message)}function xf(e){var t;if(!po(e))throw new N("Typed data is not an EIP712 transaction");if(((t=e.domain)==null?void 0:t.chainId)===void 0)throw new N("Chain ID is required for EIP712 transaction");return{chainId:Number(e.domain.chainId),account:ee(te(BigInt(e.message.from),{size:20})),to:te(BigInt(e.message.to),{size:20}),gas:BigInt(e.message.gasLimit),gasPerPubdata:BigInt(e.message.gasPerPubdataByteLimit),maxFeePerGas:BigInt(e.message.maxFeePerGas),maxPriorityFeePerGas:BigInt(e.message.maxPriorityFeePerGas),paymaster:e.message.paymaster!="0"?te(BigInt(e.message.paymaster),{size:20}):void 0,nonce:e.message.nonce,value:BigInt(e.message.value),data:e.message.data==="0x0"?"0x":e.message.data,factoryDeps:e.message.factoryDeps,paymasterInput:e.message.paymasterInput!=="0x"?e.message.paymasterInput:void 0}}const Un=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ADDRESS_ALREADY_EXISTS",type:"error"},{inputs:[],name:"ADDRESS_NOT_EXISTS",type:"error"},{inputs:[],name:"BYTES_ALREADY_EXISTS",type:"error"},{inputs:[],name:"BYTES_NOT_EXISTS",type:"error"},{inputs:[],name:"CALL_FAILED",type:"error"},{inputs:[],name:"EMPTY_HOOK_ADDRESS",type:"error"},{inputs:[],name:"EMPTY_MODULE_ADDRESS",type:"error"},{inputs:[],name:"EMPTY_OWNERS",type:"error"},{inputs:[],name:"EMPTY_VALIDATORS",type:"error"},{inputs:[],name:"FEE_PAYMENT_FAILED",type:"error"},{inputs:[],name:"HOOK_ERC165_FAIL",type:"error"},{inputs:[],name:"INSUFFICIENT_FUNDS",type:"error"},{inputs:[],name:"INVALID_ADDRESS",type:"error"},{inputs:[],name:"INVALID_BYTES",type:"error"},{inputs:[],name:"INVALID_KEY",type:"error"},{inputs:[],name:"INVALID_PUBKEY_LENGTH",type:"error"},{inputs:[],name:"INVALID_SALT",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[],name:"MODULE_ERC165_FAIL",type:"error"},{inputs:[{internalType:"uint256",name:"actualValue",type:"uint256"},{internalType:"uint256",name:"expectedValue",type:"uint256"}],name:"MsgValueMismatch",type:"error"},{inputs:[],name:"NOT_FROM_BOOTLOADER",type:"error"},{inputs:[],name:"NOT_FROM_DEPLOYER",type:"error"},{inputs:[],name:"NOT_FROM_HOOK",type:"error"},{inputs:[],name:"NOT_FROM_MODULE",type:"error"},{inputs:[],name:"NOT_FROM_SELF",type:"error"},{inputs:[],name:"NOT_FROM_SELF_OR_MODULE",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[],name:"RECUSIVE_MODULE_CALL",type:"error"},{inputs:[],name:"SAME_IMPLEMENTATION",type:"error"},{inputs:[],name:"UNAUTHORIZED_OUTSIDE_TRANSACTION",type:"error"},{inputs:[],name:"VALIDATION_HOOK_FAILED",type:"error"},{inputs:[],name:"VALIDATOR_ERC165_FAIL",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"hook",type:"address"}],name:"AddHook",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"AddModule",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"validator",type:"address"}],name:"AddModuleValidator",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[],name:"FeePaid",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"addr",type:"address"}],name:"K1AddOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"validator",type:"address"}],name:"K1AddValidator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"addr",type:"address"}],name:"K1RemoveOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"validator",type:"address"}],name:"K1RemoveValidator",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes",name:"pubKey",type:"bytes"}],name:"R1AddOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"validator",type:"address"}],name:"R1AddValidator",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes",name:"pubKey",type:"bytes"}],name:"R1RemoveOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"validator",type:"address"}],name:"R1RemoveValidator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"hook",type:"address"}],name:"RemoveHook",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"RemoveModule",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"validator",type:"address"}],name:"RemoveModuleValidator",type:"event"},{anonymous:!1,inputs:[],name:"ResetOwners",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldImplementation",type:"address"},{indexed:!0,internalType:"address",name:"newImplementation",type:"address"}],name:"Upgraded",type:"event"},{stateMutability:"payable",type:"fallback"},{inputs:[],name:"VERSION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"hookAndData",type:"bytes"},{internalType:"bool",name:"isValidation",type:"bool"}],name:"addHook",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"moduleAndData",type:"bytes"}],name:"addModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"validator",type:"address"},{internalType:"bytes",name:"initialAccountValidationKey",type:"bytes"}],name:"addModuleValidator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"allowFailure",type:"bool"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Call[]",name:"_calls",type:"tuple[]"}],name:"batchCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"agwMessageTypeHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"allowFailure",type:"bool"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Call[]",name:"_calls",type:"tuple[]"}],name:"batchCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"executeFromModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes32",name:"",type:"bytes32"},{components:[{internalType:"uint256",name:"txType",type:"uint256"},{internalType:"uint256",name:"from",type:"uint256"},{internalType:"uint256",name:"to",type:"uint256"},{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"gasPerPubdataByteLimit",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"uint256",name:"paymaster",type:"uint256"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256[4]",name:"reserved",type:"uint256[4]"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes32[]",name:"factoryDeps",type:"bytes32[]"},{internalType:"bytes",name:"paymasterInput",type:"bytes"},{internalType:"bytes",name:"reservedDynamic",type:"bytes"}],internalType:"struct Transaction",name:"transaction",type:"tuple"}],name:"executeTransaction",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"txType",type:"uint256"},{internalType:"uint256",name:"from",type:"uint256"},{internalType:"uint256",name:"to",type:"uint256"},{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"gasPerPubdataByteLimit",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"uint256",name:"paymaster",type:"uint256"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256[4]",name:"reserved",type:"uint256[4]"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes32[]",name:"factoryDeps",type:"bytes32[]"},{internalType:"bytes",name:"paymasterInput",type:"bytes"},{internalType:"bytes",name:"reservedDynamic",type:"bytes"}],internalType:"struct Transaction",name:"transaction",type:"tuple"}],name:"executeTransactionFromOutside",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"signedHash",type:"bytes32"}],internalType:"struct ERC1271Handler.AGWMessage",name:"agwMessage",type:"tuple"}],name:"getEip712Hash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"hook",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getHookData",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"implementationAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"initialK1Owner",type:"address"},{internalType:"address",name:"initialK1Validator",type:"address"},{internalType:"bytes[]",name:"modules",type:"bytes[]"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"allowFailure",type:"bool"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Call",name:"initCall",type:"tuple"}],name:"initialize",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"isHook",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"isModule",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"validator",type:"address"}],name:"isModuleValidator",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"signedHash",type:"bytes32"},{internalType:"bytes",name:"signatureAndValidator",type:"bytes"}],name:"isValidSignature",outputs:[{internalType:"bytes4",name:"magicValue",type:"bytes4"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"k1AddOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"validator",type:"address"}],name:"k1AddValidator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"k1IsOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"validator",type:"address"}],name:"k1IsValidator",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"k1ListOwners",outputs:[{internalType:"address[]",name:"k1OwnerList",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"k1ListValidators",outputs:[{internalType:"address[]",name:"validatorList",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"k1RemoveOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"validator",type:"address"}],name:"k1RemoveValidator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"isValidation",type:"bool"}],name:"listHooks",outputs:[{internalType:"address[]",name:"hookList",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"listModuleValidators",outputs:[{internalType:"address[]",name:"validatorList",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"listModules",outputs:[{internalType:"address[]",name:"moduleList",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes32",name:"",type:"bytes32"},{components:[{internalType:"uint256",name:"txType",type:"uint256"},{internalType:"uint256",name:"from",type:"uint256"},{internalType:"uint256",name:"to",type:"uint256"},{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"gasPerPubdataByteLimit",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"uint256",name:"paymaster",type:"uint256"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256[4]",name:"reserved",type:"uint256[4]"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes32[]",name:"factoryDeps",type:"bytes32[]"},{internalType:"bytes",name:"paymasterInput",type:"bytes"},{internalType:"bytes",name:"reservedDynamic",type:"bytes"}],internalType:"struct Transaction",name:"transaction",type:"tuple"}],name:"payForTransaction",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes32",name:"",type:"bytes32"},{components:[{internalType:"uint256",name:"txType",type:"uint256"},{internalType:"uint256",name:"from",type:"uint256"},{internalType:"uint256",name:"to",type:"uint256"},{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"gasPerPubdataByteLimit",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"uint256",name:"paymaster",type:"uint256"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256[4]",name:"reserved",type:"uint256[4]"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes32[]",name:"factoryDeps",type:"bytes32[]"},{internalType:"bytes",name:"paymasterInput",type:"bytes"},{internalType:"bytes",name:"reservedDynamic",type:"bytes"}],internalType:"struct Transaction",name:"transaction",type:"tuple"}],name:"prepareForPaymaster",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"pubKey",type:"bytes"}],name:"r1AddOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"validator",type:"address"}],name:"r1AddValidator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"pubKey",type:"bytes"}],name:"r1IsOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"validator",type:"address"}],name:"r1IsValidator",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"r1ListOwners",outputs:[{internalType:"bytes[]",name:"r1OwnerList",type:"bytes[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"r1ListValidators",outputs:[{internalType:"address[]",name:"validatorList",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"pubKey",type:"bytes"}],name:"r1RemoveOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"validator",type:"address"}],name:"r1RemoveValidator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"hook",type:"address"},{internalType:"bool",name:"isValidation",type:"bool"}],name:"removeHook",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"module",type:"address"}],name:"removeModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"validator",type:"address"}],name:"removeModuleValidator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"pubKey",type:"bytes"}],name:"resetOwners",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"bytes",name:"data",type:"bytes"}],name:"setHookData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes32",name:"suggestedSignedHash",type:"bytes32"},{components:[{internalType:"uint256",name:"txType",type:"uint256"},{internalType:"uint256",name:"from",type:"uint256"},{internalType:"uint256",name:"to",type:"uint256"},{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"gasPerPubdataByteLimit",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"uint256",name:"paymaster",type:"uint256"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256[4]",name:"reserved",type:"uint256[4]"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes32[]",name:"factoryDeps",type:"bytes32[]"},{internalType:"bytes",name:"paymasterInput",type:"bytes"},{internalType:"bytes",name:"reservedDynamic",type:"bytes"}],internalType:"struct Transaction",name:"transaction",type:"tuple"}],name:"validateTransaction",outputs:[{internalType:"bytes4",name:"magic",type:"bytes4"}],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],Hr=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"Disabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"Inited",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"bytes32",name:"sessionHash",type:"bytes32"},{components:[{internalType:"address",name:"signer",type:"address"},{internalType:"uint256",name:"expiresAt",type:"uint256"},{components:[{internalType:"enum SessionLib.LimitType",name:"limitType",type:"uint8"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"period",type:"uint256"}],internalType:"struct SessionLib.UsageLimit",name:"feeLimit",type:"tuple"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"uint256",name:"maxValuePerUse",type:"uint256"},{components:[{internalType:"enum SessionLib.LimitType",name:"limitType",type:"uint8"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"period",type:"uint256"}],internalType:"struct SessionLib.UsageLimit",name:"valueLimit",type:"tuple"},{components:[{internalType:"enum SessionLib.Condition",name:"condition",type:"uint8"},{internalType:"uint64",name:"index",type:"uint64"},{internalType:"bytes32",name:"refValue",type:"bytes32"},{components:[{internalType:"enum SessionLib.LimitType",name:"limitType",type:"uint8"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"period",type:"uint256"}],internalType:"struct SessionLib.UsageLimit",name:"limit",type:"tuple"}],internalType:"struct SessionLib.Constraint[]",name:"constraints",type:"tuple[]"}],internalType:"struct SessionLib.CallSpec[]",name:"callPolicies",type:"tuple[]"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"uint256",name:"maxValuePerUse",type:"uint256"},{components:[{internalType:"enum SessionLib.LimitType",name:"limitType",type:"uint8"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"period",type:"uint256"}],internalType:"struct SessionLib.UsageLimit",name:"valueLimit",type:"tuple"}],internalType:"struct SessionLib.TransferSpec[]",name:"transferPolicies",type:"tuple[]"}],indexed:!1,internalType:"struct SessionLib.SessionSpec",name:"sessionSpec",type:"tuple"}],name:"SessionCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"bytes32",name:"sessionHash",type:"bytes32"}],name:"SessionRevoked",type:"event"},{inputs:[{internalType:"bytes",name:"sessionData",type:"bytes"}],name:"addValidationKey",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"signer",type:"address"},{internalType:"uint256",name:"expiresAt",type:"uint256"},{components:[{internalType:"enum SessionLib.LimitType",name:"limitType",type:"uint8"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"period",type:"uint256"}],internalType:"struct SessionLib.UsageLimit",name:"feeLimit",type:"tuple"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"uint256",name:"maxValuePerUse",type:"uint256"},{components:[{internalType:"enum SessionLib.LimitType",name:"limitType",type:"uint8"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"period",type:"uint256"}],internalType:"struct SessionLib.UsageLimit",name:"valueLimit",type:"tuple"},{components:[{internalType:"enum SessionLib.Condition",name:"condition",type:"uint8"},{internalType:"uint64",name:"index",type:"uint64"},{internalType:"bytes32",name:"refValue",type:"bytes32"},{components:[{internalType:"enum SessionLib.LimitType",name:"limitType",type:"uint8"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"period",type:"uint256"}],internalType:"struct SessionLib.UsageLimit",name:"limit",type:"tuple"}],internalType:"struct SessionLib.Constraint[]",name:"constraints",type:"tuple[]"}],internalType:"struct SessionLib.CallSpec[]",name:"callPolicies",type:"tuple[]"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"uint256",name:"maxValuePerUse",type:"uint256"},{components:[{internalType:"enum SessionLib.LimitType",name:"limitType",type:"uint8"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"period",type:"uint256"}],internalType:"struct SessionLib.UsageLimit",name:"valueLimit",type:"tuple"}],internalType:"struct SessionLib.TransferSpec[]",name:"transferPolicies",type:"tuple[]"}],internalType:"struct SessionLib.SessionSpec",name:"sessionSpec",type:"tuple"}],name:"createSession",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"disable",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"enum OperationType",name:"operationType",type:"uint8"},{internalType:"bytes32",name:"signedHash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"handleValidation",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"init",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"smartAccount",type:"address"}],name:"isInited",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes32",name:"sessionHash",type:"bytes32"}],name:"revokeKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32[]",name:"sessionHashes",type:"bytes32[]"}],name:"revokeKeys",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{components:[{internalType:"address",name:"signer",type:"address"},{internalType:"uint256",name:"expiresAt",type:"uint256"},{components:[{internalType:"enum SessionLib.LimitType",name:"limitType",type:"uint8"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"period",type:"uint256"}],internalType:"struct SessionLib.UsageLimit",name:"feeLimit",type:"tuple"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"uint256",name:"maxValuePerUse",type:"uint256"},{components:[{internalType:"enum SessionLib.LimitType",name:"limitType",type:"uint8"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"period",type:"uint256"}],internalType:"struct SessionLib.UsageLimit",name:"valueLimit",type:"tuple"},{components:[{internalType:"enum SessionLib.Condition",name:"condition",type:"uint8"},{internalType:"uint64",name:"index",type:"uint64"},{internalType:"bytes32",name:"refValue",type:"bytes32"},{components:[{internalType:"enum SessionLib.LimitType",name:"limitType",type:"uint8"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"period",type:"uint256"}],internalType:"struct SessionLib.UsageLimit",name:"limit",type:"tuple"}],internalType:"struct SessionLib.Constraint[]",name:"constraints",type:"tuple[]"}],internalType:"struct SessionLib.CallSpec[]",name:"callPolicies",type:"tuple[]"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"uint256",name:"maxValuePerUse",type:"uint256"},{components:[{internalType:"enum SessionLib.LimitType",name:"limitType",type:"uint8"},{internalType:"uint256",name:"limit",type:"uint256"},{internalType:"uint256",name:"period",type:"uint256"}],internalType:"struct SessionLib.UsageLimit",name:"valueLimit",type:"tuple"}],internalType:"struct SessionLib.TransferSpec[]",name:"transferPolicies",type:"tuple[]"}],internalType:"struct SessionLib.SessionSpec",name:"spec",type:"tuple"}],name:"sessionState",outputs:[{components:[{internalType:"uint256",name:"expiresAt",type:"uint256"},{internalType:"enum SessionLib.Status",name:"status",type:"uint8"},{internalType:"uint256",name:"feesRemaining",type:"uint256"},{components:[{internalType:"uint256",name:"remaining",type:"uint256"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"uint256",name:"index",type:"uint256"}],internalType:"struct SessionLib.LimitState[]",name:"transferValue",type:"tuple[]"},{components:[{internalType:"uint256",name:"remaining",type:"uint256"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"uint256",name:"index",type:"uint256"}],internalType:"struct SessionLib.LimitState[]",name:"callValue",type:"tuple[]"},{components:[{internalType:"uint256",name:"remaining",type:"uint256"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"uint256",name:"index",type:"uint256"}],internalType:"struct SessionLib.LimitState[]",name:"callParams",type:"tuple[]"}],internalType:"struct SessionLib.SessionState",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes32",name:"sessionHash",type:"bytes32"}],name:"sessionStatus",outputs:[{internalType:"enum SessionLib.Status",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes32",name:"signedHash",type:"bytes32"},{components:[{internalType:"uint256",name:"txType",type:"uint256"},{internalType:"uint256",name:"from",type:"uint256"},{internalType:"uint256",name:"to",type:"uint256"},{internalType:"uint256",name:"gasLimit",type:"uint256"},{internalType:"uint256",name:"gasPerPubdataByteLimit",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"uint256",name:"paymaster",type:"uint256"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256[4]",name:"reserved",type:"uint256[4]"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes32[]",name:"factoryDeps",type:"bytes32[]"},{internalType:"bytes",name:"paymasterInput",type:"bytes"},{internalType:"bytes",name:"reservedDynamic",type:"bytes"}],internalType:"struct Transaction",name:"transaction",type:"tuple"},{internalType:"bytes",name:"hookData",type:"bytes"}],name:"validationHook",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"}];var Gr;(function(e){e[e.Unlimited=0]="Unlimited",e[e.Lifetime=1]="Lifetime",e[e.Allowance=2]="Allowance"})(Gr||(Gr={})),Gr.Unlimited,Gr.Lifetime;var yo;(function(e){e[e.Unconstrained=0]="Unconstrained",e[e.Equal=1]="Equal",e[e.Greater=2]="Greater",e[e.Less=3]="Less",e[e.GreaterEqual=4]="GreaterEqual",e[e.LessEqual=5]="LessEqual",e[e.NotEqual=6]="NotEqual"})(yo||(yo={}));var vf;(function(e){e[e.NotInitialized=0]="NotInitialized",e[e.Active=1]="Active",e[e.Closed=2]="Closed",e[e.Expired=3]="Expired"})(vf||(vf={}));function ho(){return Ft({abi:Hr,name:"createSession"}).inputs[0]}function Ef(e){return Re([ho()],[e])}function mo(e,t){return Re([ho(),{type:"uint64[]"}],[e,t])}const bo=e=>{const t=e.timestamp||BigInt(Math.floor(Date.now()/1e3)),n=Xn(e.target),r=d=>d.limitType===Gr.Allowance?t/d.period:0n,s=()=>e.sessionConfig.transferPolicies.find(d=>d.target.toLowerCase()===n.toLowerCase()),i=()=>e.sessionConfig.callPolicies.find(d=>d.target.toLowerCase()===n.toLowerCase()&&d.selector==e.selector),a=!!e.selector&&e.selector.length>=10,o=a?i():s();if(!o)throw new Error("Transaction does not fit any policy");return[r(e.sessionConfig.feeLimit),r(o.valueLimit),...a?o.constraints.map(d=>r(d.limit)):[]]};function go(e){return he(Ef(e))}async function N1(e,t,n){const{session:r,...s}=n,a=await fo(t,e.account.address)?await R1(e):!1;let o;if(a)o=await Y(e,Nr,"writeContract")({address:He,abi:Hr,functionName:"createSession",args:[r],...s});else{const c=Ef(r);o=await Y(e,Nr,"writeContract")({address:e.account.address,abi:Un,functionName:"addModule",args:[Ve([He,c])],...s})}return{transactionHash:o,session:r}}async function R1(e){return(await Y(e,_e,"readContract")({address:e.account.address,abi:Un,functionName:"listHooks",args:[!0]})).some(r=>r===He)}class Js extends N{constructor(){super(["Insufficient balance for transaction."].join(` `),{name:"InsufficientBalanceError"})}}const wo=(e,t)=>typeof e=="bigint"?t(e):Array.isArray(e)?e.map(n=>wo(n,t)):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([n,r])=>[n,wo(r,t)])):e;async function L1(e,t){return await e.request({method:"privy_signSmartWalletMessage",params:[t.message]},{retryCount:0})}async function O1(e,t){return await e.request({method:"privy_signSmartWalletTypedData",params:[e.account.address,t]},{retryCount:0})}async function ei(e,t){const{chain:n,account:r,...s}=t;return await e.request({method:"privy_signSmartWalletTx",params:[wo(s,te)]},{retryCount:0})}class qr extends N{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(` `),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}}const Tf=[{type:"function",name:"DELEGATE_REGISTRY",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"GLOBAL_DELEGATION",inputs:[],outputs:[{name:"",type:"bytes24",internalType:"bytes24"}],stateMutability:"view"},{type:"function",name:"decodeRightsExpiration",inputs:[{name:"rights",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"bytes24",internalType:"bytes24"},{name:"",type:"uint40",internalType:"uint40"}],stateMutability:"pure"},{type:"function",name:"delegatedWalletsByRights",inputs:[{name:"wallet",type:"address",internalType:"address"},{name:"rights",type:"bytes24",internalType:"bytes24"}],outputs:[{name:"",type:"address[]",internalType:"address[]"}],stateMutability:"view"},{type:"function",name:"exclusiveOwnerByRights",inputs:[{name:"contractAddress",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"},{name:"rights",type:"bytes24",internalType:"bytes24"}],outputs:[{name:"owner",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"exclusiveWalletByRights",inputs:[{name:"vault",type:"address",internalType:"address"},{name:"rights",type:"bytes24",internalType:"bytes24"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"generateRightsWithExpiration",inputs:[{name:"rightsIdentifier",type:"bytes24",internalType:"bytes24"},{name:"expiration",type:"uint40",internalType:"uint40"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"pure"}];function F1({client:e,signer:t,session:n,paymasterHandler:r}){return $1({account:e.account,chain:e.chain,session:n,signer:t,transport:ba(e.transport),paymasterHandler:r})}function $1({account:e,signer:t,chain:n,transport:r,session:s,paymasterHandler:i,nonceManager:a}){r||(r=Rn());const o=Dr({transport:r,chain:n}),c=typeof e=="string"?Ya(e):e;a&&(c.nonceManager=a);const d=Rs({account:c,chain:n,transport:r}),u=Ws({account:t,chain:n,transport:r});return d.extend(n2(u,o,s,i))}const k1=["blobVersionedHashes","chainId","fees","gas","nonce","type"];class D1 extends N{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Pe(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}async function Af(e,t,n,r){wf(r,["value","nonce","maxFeePerGas","maxPriorityFeePerGas","gas","chainId","gasPerPubdata"]);const s="paymaster"in r&&"paymasterInput"in r&&r.paymaster!==void 0&&r.paymasterInput!==void 0,{gas:i,nonce:a,chain:o,nonceManager:c,parameters:d=k1}=r,u=await fo(n,e.account.address);if(!u){const M={target:r.to,allowFailure:!1,value:r.value??0,callData:r.data??"0x"},z=gf(t.account.address,_t,M),F=je(t.account.address),$=he(F),q=ge({abi:oo,functionName:"deployAccount",args:[$,z]});r.to=co,r.data=q}const l=ee(u?e.account:t.account),p={...r,from:l.address},h=[];let b;(!s||p.value!==void 0&&p.value>0n)&&h.push(bs(n,{address:l.address}).then(M=>{b=M}));let g;async function P(){return g||(o?o.id:typeof r.chainId<"u"?r.chainId:(g=await Y(e,Ke,"getChainId")({}),g))}d.includes("nonce")&&typeof a>"u"&&l&&(c?h.push((async()=>{const M=await P();p.nonce=await c.consume({address:l.address,chainId:M,client:n})})()):h.push(Y(n,ms,"getTransactionCount")({address:l.address,blockTag:"pending"}).then(M=>{p.nonce=M})));let T;d.includes("fees")&&(typeof p.maxFeePerGas>"u"||typeof p.maxPriorityFeePerGas>"u")&&h.push((async()=>{let M,z;if(p.to===ff)M=25000000n,z=0n;else{const F={account:l,to:p.to,value:p.value,data:p.data,gas:p.gas,nonce:p.nonce,chainId:p.chainId,authorizationList:[]};let $;try{$=await Dw(n,F)}catch(q){throw q instanceof Error&&q.message.includes(uo)?new Js:q instanceof ls&&q.details.includes("execution reverted")?new tn({message:`${q.data}`}):q}M=$.maxFeePerGas,z=$.maxPriorityFeePerGas,T=$.gasLimit}if(typeof r.maxPriorityFeePerGas>"u"&&r.maxFeePerGas&&r.maxFeePerGas"u"&&(p.gas=T)})()),await Promise.all(h);const R=s||!p.gas||!p.maxFeePerGas?0n:p.gas*p.maxFeePerGas;if(b!==void 0&&b<(p.value??0n)+R)throw new Js;return d.includes("gas")&&typeof i>"u"&&T===void 0&&(p.gas=await Y(e,gs,"estimateGas")({...p,account:l?{address:l.address,type:"json-rpc"}:void 0})),dt(p),delete p.parameters,delete p.isInitialTransaction,delete p.nonceManager,p}const xo=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccessControlBadConfirmation",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes32",name:"neededRole",type:"bytes32"}],name:"AccessControlUnauthorizedAccount",type:"error"},{inputs:[{internalType:"address",name:"target",type:"address"}],name:"AddressEmptyCode",type:"error"},{inputs:[{internalType:"address",name:"implementation",type:"address"}],name:"ERC1967InvalidImplementation",type:"error"},{inputs:[],name:"ERC1967NonPayable",type:"error"},{inputs:[],name:"FailedCall",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[],name:"UUPSUnauthorizedCallContext",type:"error"},{inputs:[{internalType:"bytes32",name:"slot",type:"bytes32"}],name:"UUPSUnsupportedProxiableUUID",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"enum PolicyType",name:"policyType",type:"uint8"},{indexed:!0,internalType:"address",name:"target",type:"address"},{indexed:!0,internalType:"bytes32",name:"data",type:"bytes32"},{indexed:!1,internalType:"enum Status",name:"status",type:"uint8"}],name:"PolicyStatusChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"MANAGER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"UPGRADE_INTERFACE_VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"target",type:"address"}],name:"getApprovalTargetStatus",outputs:[{internalType:"enum Status",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"getCallPolicyStatus",outputs:[{internalType:"enum Status",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"}],name:"getTransferPolicyStatus",outputs:[{internalType:"enum Status",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"callerConfirmation",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"target",type:"address"},{internalType:"enum Status",name:"status",type:"uint8"}],name:"setApprovalTargetStatus",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"enum Status",name:"status",type:"uint8"}],name:"setCallPolicyStatus",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"enum Status",name:"status",type:"uint8"}],name:"setTransferPolicyStatus",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"}],U1=new Set([Ot("function setApprovalForAll(address, bool)"),Ot("function approve(address, uint256)"),Ot("function transfer(address, uint256)")]);var ti;(function(e){e[e.Unset=0]="Unset",e[e.Allowed=1]="Allowed",e[e.Denied=2]="Denied"})(ti||(ti={}));async function z1(e,t,n,r){var i;if(t!==fn.id)return;const s=[];if(r.to===n.address&&((i=r.data)==null?void 0:i.substring(0,10))===S1){const a=Os({abi:Un,data:r.data});if(a.functionName==="batchCall")for(const o of a.args[0]){const c={...r,to:o.target,data:o.callData},d=If(n,c);d&&s.push(d)}}else{const a=If(n,r);a&&s.push(a)}if(s.length!==0)for(const a of s){const o=a.callPolicies,c=a.transferPolicies,d=[];for(const l of o)if(U1.has(l.selector)){const p=l.constraints.filter(h=>h.index===0n&&h.condition===yo.Equal);if(p.length===0)throw new N(`Unconstrained token approval/transfer destination in call policy. Selector: ${l.selector}; Target: ${l.target}`);for(const h of p){const[b]=Wt([{type:"address"}],h.refValue);d.push({target:b,check:{address:lo,abi:xo,functionName:"getApprovalTargetStatus",args:[l.target,b]}})}}else d.push({target:l.target,check:{address:lo,abi:xo,functionName:"getCallPolicyStatus",args:[l.target,l.selector]}});for(const l of c)d.push({target:l.target,check:{address:lo,abi:xo,functionName:"getTransferPolicyStatus",args:[l.target]}});const u=await e.multicall({contracts:d.map(l=>l.check),allowFailure:!1});for(let l=0;l{if(!d.to)throw new Error("Transaction target (to) is required");return{target:d.to,allowFailure:!1,value:BigInt(d.value??0),callData:d.data??"0x"}}),a=ge({abi:Un,functionName:"batchCall",args:[i]}),o=i.reduce((d,u)=>d+BigInt(u.value),BigInt(0));return{to:e,data:a,value:o,paymaster:r,paymasterInput:s,type:"eip712"}}async function Z1(e,t,n,r,s=!1,i=void 0){const{calls:a,...o}=r;if(a.length===0)throw new Error("No calls provided");if(s){const d=await ei(e,r);return await n.sendRawTransaction({serializedTransaction:d})}const c=Sf(e.account.address,r);return vo(e,t,n,{...c,...o},_t,{},i)}async function Cf(e,t,n,r,s,i=void 0){const a=r.data?`0x${r.data.slice(2,10)}`:void 0;if(!r.to)throw new N("Transaction to field is not specified");return vo(e,t,n,r,He,{[He]:mo(s,bo({sessionConfig:s,target:r.to,selector:a,timestamp:BigInt(Math.floor(Date.now()/1e3))}))},i)}async function Mf(e){const{client:t,signer:n,messageHash:r}=e,s=t.chain.id,i=t.account,a=await Ys(n,{domain:{name:"AbstractGlobalWallet",version:"1.0.0",chainId:BigInt(s),verifyingContract:i.address},types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],AGWMessage:[{name:"signedHash",type:"bytes32"}]},message:{signedHash:r},primaryType:"AGWMessage"}),o=Re(Qo(["bytes","address"]),[a,_t]);if(await Ta(t,{address:i.address})!==void 0)return o;const d=je(n.account.address),u=he(d);return Md({address:co,data:ge({abi:oo,functionName:"deployAccount",args:[u,gf(n.account.address,_t,{target:st,allowFailure:!1,callData:"0x",value:0n})]}),signature:o})}async function Y1(e,t,n,r=!1){return r?(typeof n.message=="object"&&(n.message.raw instanceof Uint8Array?n.message=Hc(n.message.raw):n.message=ns(n.message.raw,"string")),await L1(e,n)):await Mf({client:e,signer:t,messageHash:Ia(n.message)})}async function W1(e,t,n,r,s,i={},a=void 0,o=!1){const{calls:c,...d}=r;if(c.length===0)throw new Error("No calls provided");if(o)return await ei(e,r);const u=Sf(e.account.address,r);return jr(e,t,n,{...u,...d},s,i,a)}async function X1(e,t,n,r,s,i=void 0){if(!await fo(n,e.account.address))throw new N("Smart account not deployed");const o=r.data?`0x${r.data.slice(2,10)}`:void 0;if(!r.to)throw new N("Transaction to field is not specified");return await jr(e,t,n,r,He,{[He]:mo(s,bo({sessionConfig:s,target:r.to,selector:o,timestamp:BigInt(Math.floor(Date.now()/1e3))}))},i)}async function Q1(e,t,n,r,s=!1){if(po(r)){const i=xf(r);if(i.chainId!==e.chain.id)throw new N("Chain ID mismatch in AGW typed signature");const a=await jr(e,t,n,{...i,chain:e.chain},_t,{},void 0,s);if(!a.startsWith("0x71"))throw new N("Expected RLP encoded EIP-712 transaction as signature");const o=`0x${a.slice(4)}`,c=fb(o,"hex");if(c.length<15)throw new N("Expected RLP encoded EIP-712 transaction with at least 15 fields");return c[14]}else if(s)return await O1(e,r);return await Mf({client:e,signer:t,messageHash:wd(r)})}async function J1(e,t,n,r,s,i){var d;if(!po(r))throw new N("Session client can only sign EIP712 transactions as typed data");const a=xf(r);if(!a.to)throw new N("Transaction must have a to address");const o={[He]:mo(s,bo({sessionConfig:s,target:a.to,selector:((d=a.data)==null?void 0:d.slice(0,10))??"0x",timestamp:BigInt(Math.floor(Date.now()/1e3))}))},{customSignature:c}=await Bf(e,t,n,{chain:e.chain,...a},He,o,i);return c}async function e2(e,t,n,r,s=!1){const{abi:i,account:a=e.account,address:o,args:c,dataSuffix:d,functionName:u,...l}=r;if(!a)throw new qr({docsPath:"/docs/contract/writeContract"});const p=ee(a),h=ge({abi:i,args:c,functionName:u});try{return await ni(e,t,n,{data:`${h}${d?d.replace("0x",""):""}`,to:o,account:p,...l},s)}catch(b){throw At(b,{abi:i,address:o,args:c,docsPath:"/docs/contract/writeContract",functionName:u,sender:p.address})}}async function t2(e,t,n,r,s,i=void 0){const{abi:a,account:o=e.account,address:c,args:d,dataSuffix:u,functionName:l,...p}=r;if(!o)throw new qr({docsPath:"/docs/contract/writeContract"});const h=ee(o),b=ge({abi:a,args:d,functionName:l});try{return await Cf(e,t,n,{data:`${b}${u?u.replace("0x",""):""}`,to:c,account:h,...p},s,i)}catch(g){throw At(g,{abi:a,address:c,args:d,docsPath:"/docs/contract/writeContract",functionName:l,sender:h.address})}}function n2(e,t,n,r){return s=>({sendTransaction:i=>Cf(s,e,t,i,n,r),writeContract:i=>t2(s,e,t,i,n,r),signTransaction:i=>X1(s,e,t,i,n,r),signTypedData:i=>J1(s,e,t,i,n,r),getSessionStatus:()=>Pf(t,ee(s.account).address,n)})}function r2(e,t,n=!1,r){return s=>({getChainId:()=>Ke(s),getLinkedAccounts:()=>G1(s,{agwAddress:ee(s.account).address}),isLinkedAccount:i=>j1(s,i),createSession:i=>N1(s,t,i),revokeSessions:i=>V1(s,i),prepareAbstractTransactionRequest:i=>Af(s,e,t,i),sendTransaction:i=>ni(s,e,t,i,n,r),sendTransactionBatch:i=>Z1(s,e,t,i,n,r),signMessage:i=>Y1(s,e,i,n),signTransaction:i=>jr(s,e,t,i,_t,{},r,n),signTransactionBatch:i=>W1(s,e,t,i,_t,{},r,n),signTypedData:i=>Q1(s,e,t,i,n),deployContract:i=>H1(s,e,t,i,n),writeContract:i=>e2(Object.assign(s,{sendTransaction:a=>ni(s,e,t,a,n,r)}),e,t,i,n),toSessionClient:(i,a)=>F1({client:s,signer:i,session:a,paymasterHandler:r}),getSessionStatus:i=>Pf(t,ee(s.account).address,i)})}async function s2({signer:e,chain:t,transport:n,address:r,isPrivyCrossApp:s=!1,publicTransport:i=Rn(),customPaymasterHandler:a}){if(!n)throw new Error("Transport is required");const o=Dr({chain:t,transport:i}),c=r??await bf(e.address,o),d=Rs({account:Ya(c),chain:t,transport:n}),u=Ws({account:e,chain:t,transport:n});return d.extend(r2(u,o,s,a))}var Vr;(function(e){e[e.Pending=100]="Pending",e[e.Confirmed=200]="Confirmed",e[e.OffchainFailure=400]="OffchainFailure",e[e.Reverted=500]="Reverted",e[e.PartiallyReverted=600]="PartiallyReverted"})(Vr||(Vr={}));const i2={"0xab5":{atomic:{status:"supported"}},"0x2b74":{atomic:{status:"supported"}}};function a2(e){switch(e==null?void 0:e.status){case void 0:return Vr.Pending;case"0x1":return Vr.Confirmed;case"0x0":return Vr.Reverted}}async function Nf(e,t,n){const r=Dr({chain:e,transport:t});return await bf(n,r)}async function hn(e,t="eth_accounts"){const n=await e.request({method:t});return n==null?void 0:n[0]}async function ri(e,t,n,r,s,i){const a=Ws({account:e,transport:n}),o=Ya({address:e,signMessage:a.signMessage,signTransaction:a.signTransaction,signTypedData:a.signTypedData});return await s2({chain:t,signer:o,transport:n,isPrivyCrossApp:r,publicTransport:s,customPaymasterHandler:i})}function o2(e){const{provider:t,chain:n,transport:r,isPrivyCrossApp:s=!1,customPaymasterHandler:i}=e,a=ba(t),o=async c=>{const{method:d,params:u}=c;switch(d){case"eth_requestAccounts":{const l=await hn(t,d);return l?[await Nf(n,a,l),l]:[]}case"eth_accounts":{const l=await hn(t);return l?[await Nf(n,a,l),l]:[]}case"eth_signTypedData_v4":{const l=await hn(t);if(!l)throw new Error("Account not found");return u[0]===l?t.request(c):(await ri(l,n,a,s,r,i)).signTypedData(JSON.parse(u[1]))}case"personal_sign":{const l=await hn(t);if(!l)throw new Error("Account not found");return u[1]===l?t.request(c):await(await ri(l,n,a,s,r,i)).signMessage({message:{raw:u[0]}})}case"eth_signTransaction":case"eth_sendTransaction":{const l=await hn(t);if(!l)throw new Error("Account not found");const p=u[0];if(p.from===l)return await t.request(c);const h=await ri(l,n,a,s,r,i);if(p.eip712Meta&&p.eip712Meta.paymasterParams&&(p.paymaster=p.eip712Meta.paymasterParams.paymaster,p.paymasterInput=te(p.eip712Meta.paymasterParams.paymasterInput)),d==="eth_signTransaction")return await h.signTransaction(p);if(d==="eth_sendTransaction")return await h.sendTransaction(p);throw new Error("Should not have reached this point")}case"wallet_sendCalls":{const l=await hn(t);if(!l)throw new Error("Account not found");const p=u[0];if(p.from===l)return await t.request(c);if((p.version==="1.0"||p.version===void 0)&&p.calls.forEach(g=>{g.chainId&&un({chain:n,currentChainId:ns(g.chainId,"number")})}),p.version==="2.0.0"&&ns(p.chainId,"number")!==n.id)return{code:5710,message:"Chain not supported"};const h=await ri(l,n,a,s,r,i);if(p.from!==ee(h.account).address)return{code:4001,message:"Unauthorized"};const b=await h.sendTransactionBatch({calls:p.calls.map(g=>({to:g.to,value:g.value?se(g.value):void 0,data:g.data}))});return p.version===void 0||p.version==="1.0"?b:{id:b}}case"wallet_getCallsStatus":{const l=await t.request({method:"eth_getTransactionReceipt",params:u});return{version:"2.0.0",id:u[0],chainId:te(n.id),status:a2(l??void 0),atomic:!0,receipts:l!=null?[l]:void 0}}case"wallet_addEthereumChain":case"wallet_switchEthereumChain":{const p=u[0].chainId;if(!p)throw new Error("Chain ID is required");const h=ke(p)?Be(p):p;if(!Object.values(mf).find(g=>g.id===h))throw new Error(`Chain ${h} not supported`);return await t.request(c)}case"wallet_showCallsStatus":return;case"wallet_getCapabilities":{const l=await hn(t);if(!l)throw new Error("Account not found");if(u[0]===l)return await t.request(c);const p=u[1],h=i2;if(p){const b={};for(const g of p)h[g]&&(b[g]=h[g]);return b}else return h}default:return await t.request(c)}};return{...t,on:t.on,removeListener:t.removeListener,request:o}}async function c2({providerAppId:e,apiUrl:t}){let n=await fetch(`${t}/api/v1/apps/${e}/cross-app/details`,{method:"GET",headers:{"Content-Type":"application/json"}}),{custom_api_url:r,icon_url:s,name:i}=await n.json();return{url:r,name:i,iconUrl:s}}/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function u2(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function d2(...e){const t=i=>i,n=(i,a)=>o=>i(a(o)),r=e.map(i=>i.encode).reduceRight(n,t),s=e.map(i=>i.decode).reduce(n,t);return{encode:r,decode:s}}function l2(e){return{encode:t=>{if(!Array.isArray(t)||t.length&&typeof t[0]!="number")throw new Error("alphabet.encode input should be an array of numbers");return t.map(n=>{if(n<0||n>=e.length)throw new Error(`Digit index outside alphabet: ${n} (alphabet: ${e.length})`);return e[n]})},decode:t=>{if(!Array.isArray(t)||t.length&&typeof t[0]!="string")throw new Error("alphabet.decode input should be array of strings");return t.map(n=>{if(typeof n!="string")throw new Error(`alphabet.decode: not string element=${n}`);const r=e.indexOf(n);if(r===-1)throw new Error(`Unknown letter: "${n}". Allowed: ${e}`);return r})}}}function f2(e=""){if(typeof e!="string")throw new Error("join separator should be string");return{encode:t=>{if(!Array.isArray(t)||t.length&&typeof t[0]!="string")throw new Error("join.encode input should be array of strings");for(let n of t)if(typeof n!="string")throw new Error(`join.encode: non-string input=${n}`);return t.join(e)},decode:t=>{if(typeof t!="string")throw new Error("join.decode input should be string");return t.split(e)}}}function p2(e,t="="){if(typeof t!="string")throw new Error("padding chr should be string");return{encode(n){if(!Array.isArray(n)||n.length&&typeof n[0]!="string")throw new Error("padding.encode input should be array of strings");for(let r of n)if(typeof r!="string")throw new Error(`padding.encode: non-string input=${r}`);for(;n.length*e%8;)n.push(t);return n},decode(n){if(!Array.isArray(n)||n.length&&typeof n[0]!="string")throw new Error("padding.encode input should be array of strings");for(let s of n)if(typeof s!="string")throw new Error(`padding.decode: non-string input=${s}`);let r=n.length;if(r*e%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;r>0&&n[r-1]===t;r--)if(!((r-1)*e%8))throw new Error("Invalid padding: string has too much padding");return n.slice(0,r)}}}const Rf=(e,t)=>t?Rf(t,e%t):e,si=(e,t)=>e+(t-Rf(e,t));function Lf(e,t,n,r){if(!Array.isArray(e))throw new Error("convertRadix2: data should be array");if(t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(si(t,n)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${n} carryBits=${si(t,n)}`);let s=0,i=0;const a=2**n-1,o=[];for(const c of e){if(c>=2**t)throw new Error(`convertRadix2: invalid data word=${c} from=${t}`);if(s=s<32)throw new Error(`convertRadix2: carry overflow pos=${i} from=${t}`);for(i+=t;i>=n;i-=n)o.push((s>>i-n&a)>>>0);s&=2**i-1}if(s=s<=t)throw new Error("Excess padding");if(!r&&s)throw new Error(`Non-zero padding: ${s}`);return r&&i>0&&o.push(s>>>0),o}function y2(e,t=!1){if(e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(si(8,e)>32||si(e,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!u2(n))throw new Error("radix2.encode input should be Uint8Array");return Lf(Array.from(n),8,e,!t)},decode:n=>{if(!Array.isArray(n)||n.length&&typeof n[0]!="number")throw new Error("radix2.decode input should be array of numbers");return Uint8Array.from(Lf(n,e,8,t))}}}const at=d2(y2(6),l2("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),p2(6),f2(""));var Of={},ii={};ii.byteLength=b2,ii.toByteArray=w2,ii.fromByteArray=E2;for(var ht=[],Je=[],h2=typeof Uint8Array<"u"?Uint8Array:Array,Eo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",zn=0,m2=Eo.length;zn0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function b2(e){var t=Ff(e),n=t[0],r=t[1];return(n+r)*3/4-r}function g2(e,t,n){return(t+n)*3/4-n}function w2(e){var t,n=Ff(e),r=n[0],s=n[1],i=new h2(g2(e,r,s)),a=0,o=s>0?r-4:r,c;for(c=0;c>16&255,i[a++]=t>>8&255,i[a++]=t&255;return s===2&&(t=Je[e.charCodeAt(c)]<<2|Je[e.charCodeAt(c+1)]>>4,i[a++]=t&255),s===1&&(t=Je[e.charCodeAt(c)]<<10|Je[e.charCodeAt(c+1)]<<4|Je[e.charCodeAt(c+2)]>>2,i[a++]=t>>8&255,i[a++]=t&255),i}function x2(e){return ht[e>>18&63]+ht[e>>12&63]+ht[e>>6&63]+ht[e&63]}function v2(e,t,n){for(var r,s=[],i=t;io?o:a+i));return r===1?(t=e[n-1],s.push(ht[t>>2]+ht[t<<4&63]+"==")):r===2&&(t=(e[n-2]<<8)+e[n-1],s.push(ht[t>>10]+ht[t>>4&63]+ht[t<<2&63]+"=")),s.join("")}var To={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */To.read=function(e,t,n,r,s){var i,a,o=s*8-r-1,c=(1<>1,u=-7,l=n?s-1:0,p=n?-1:1,h=e[t+l];for(l+=p,i=h&(1<<-u)-1,h>>=-u,u+=o;u>0;i=i*256+e[t+l],l+=p,u-=8);for(a=i&(1<<-u)-1,i>>=-u,u+=r;u>0;a=a*256+e[t+l],l+=p,u-=8);if(i===0)i=1-d;else{if(i===c)return a?NaN:(h?-1:1)*(1/0);a=a+Math.pow(2,r),i=i-d}return(h?-1:1)*a*Math.pow(2,i-r)},To.write=function(e,t,n,r,s,i){var a,o,c,d=i*8-s-1,u=(1<>1,p=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:i-1,b=r?1:-1,g=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+l>=1?t+=p/c:t+=p*Math.pow(2,1-l),t*c>=2&&(a++,c/=2),a+l>=u?(o=0,a=u):a+l>=1?(o=(t*c-1)*Math.pow(2,s),a=a+l):(o=t*Math.pow(2,l-1)*Math.pow(2,s),a=0));s>=8;e[n+h]=o&255,h+=b,o/=256,s-=8);for(a=a<0;e[n+h]=a&255,h+=b,a/=256,d-=8);e[n+h-b]|=g*128};/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */(function(e){const t=ii,n=To,r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=o,e.SlowBuffer=R,e.INSPECT_MAX_BYTES=50;const s=2147483647;e.kMaxLength=s,o.TYPED_ARRAY_SUPPORT=i(),!o.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function i(){try{const m=new Uint8Array(1),f={foo:function(){return 42}};return Object.setPrototypeOf(f,Uint8Array.prototype),Object.setPrototypeOf(m,f),m.foo()===42}catch{return!1}}Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}});function a(m){if(m>s)throw new RangeError('The value "'+m+'" is invalid for option "size"');const f=new Uint8Array(m);return Object.setPrototypeOf(f,o.prototype),f}function o(m,f,y){if(typeof m=="number"){if(typeof f=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return l(m)}return c(m,f,y)}o.poolSize=8192;function c(m,f,y){if(typeof m=="string")return p(m,f);if(ArrayBuffer.isView(m))return b(m);if(m==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof m);if(bt(m,ArrayBuffer)||m&&bt(m.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(bt(m,SharedArrayBuffer)||m&&bt(m.buffer,SharedArrayBuffer)))return g(m,f,y);if(typeof m=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const w=m.valueOf&&m.valueOf();if(w!=null&&w!==m)return o.from(w,f,y);const I=P(m);if(I)return I;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof m[Symbol.toPrimitive]=="function")return o.from(m[Symbol.toPrimitive]("string"),f,y);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof m)}o.from=function(m,f,y){return c(m,f,y)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array);function d(m){if(typeof m!="number")throw new TypeError('"size" argument must be of type number');if(m<0)throw new RangeError('The value "'+m+'" is invalid for option "size"')}function u(m,f,y){return d(m),m<=0?a(m):f!==void 0?typeof y=="string"?a(m).fill(f,y):a(m).fill(f):a(m)}o.alloc=function(m,f,y){return u(m,f,y)};function l(m){return d(m),a(m<0?0:T(m)|0)}o.allocUnsafe=function(m){return l(m)},o.allocUnsafeSlow=function(m){return l(m)};function p(m,f){if((typeof f!="string"||f==="")&&(f="utf8"),!o.isEncoding(f))throw new TypeError("Unknown encoding: "+f);const y=M(m,f)|0;let w=a(y);const I=w.write(m,f);return I!==y&&(w=w.slice(0,I)),w}function h(m){const f=m.length<0?0:T(m.length)|0,y=a(f);for(let w=0;w=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return m|0}function R(m){return+m!=m&&(m=0),o.alloc(+m)}o.isBuffer=function(f){return f!=null&&f._isBuffer===!0&&f!==o.prototype},o.compare=function(f,y){if(bt(f,Uint8Array)&&(f=o.from(f,f.offset,f.byteLength)),bt(y,Uint8Array)&&(y=o.from(y,y.offset,y.byteLength)),!o.isBuffer(f)||!o.isBuffer(y))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(f===y)return 0;let w=f.length,I=y.length;for(let L=0,G=Math.min(w,I);LI.length?(o.isBuffer(G)||(G=o.from(G)),G.copy(I,L)):Uint8Array.prototype.set.call(I,G,L);else if(o.isBuffer(G))G.copy(I,L);else throw new TypeError('"list" argument must be an Array of Buffers');L+=G.length}return I};function M(m,f){if(o.isBuffer(m))return m.length;if(ArrayBuffer.isView(m)||bt(m,ArrayBuffer))return m.byteLength;if(typeof m!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof m);const y=m.length,w=arguments.length>2&&arguments[2]===!0;if(!w&&y===0)return 0;let I=!1;for(;;)switch(f){case"ascii":case"latin1":case"binary":return y;case"utf8":case"utf-8":return Lo(m).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return y*2;case"hex":return y>>>1;case"base64":return Wf(m).length;default:if(I)return w?-1:Lo(m).length;f=(""+f).toLowerCase(),I=!0}}o.byteLength=M;function z(m,f,y){let w=!1;if((f===void 0||f<0)&&(f=0),f>this.length||((y===void 0||y>this.length)&&(y=this.length),y<=0)||(y>>>=0,f>>>=0,y<=f))return"";for(m||(m="utf8");;)switch(m){case"hex":return k(this,f,y);case"utf8":case"utf-8":return _(this,f,y);case"ascii":return B(this,f,y);case"latin1":case"binary":return A(this,f,y);case"base64":return O(this,f,y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return V(this,f,y);default:if(w)throw new TypeError("Unknown encoding: "+m);m=(m+"").toLowerCase(),w=!0}}o.prototype._isBuffer=!0;function F(m,f,y){const w=m[f];m[f]=m[y],m[y]=w}o.prototype.swap16=function(){const f=this.length;if(f%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let y=0;yy&&(f+=" ... "),""},r&&(o.prototype[r]=o.prototype.inspect),o.prototype.compare=function(f,y,w,I,L){if(bt(f,Uint8Array)&&(f=o.from(f,f.offset,f.byteLength)),!o.isBuffer(f))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof f);if(y===void 0&&(y=0),w===void 0&&(w=f?f.length:0),I===void 0&&(I=0),L===void 0&&(L=this.length),y<0||w>f.length||I<0||L>this.length)throw new RangeError("out of range index");if(I>=L&&y>=w)return 0;if(I>=L)return-1;if(y>=w)return 1;if(y>>>=0,w>>>=0,I>>>=0,L>>>=0,this===f)return 0;let G=L-I,J=w-y;const pe=Math.min(G,J),de=this.slice(I,L),ye=f.slice(y,w);for(let ie=0;ie2147483647?y=2147483647:y<-2147483648&&(y=-2147483648),y=+y,Oo(y)&&(y=I?0:m.length-1),y<0&&(y=m.length+y),y>=m.length){if(I)return-1;y=m.length-1}else if(y<0)if(I)y=0;else return-1;if(typeof f=="string"&&(f=o.from(f,w)),o.isBuffer(f))return f.length===0?-1:q(m,f,y,w,I);if(typeof f=="number")return f=f&255,typeof Uint8Array.prototype.indexOf=="function"?I?Uint8Array.prototype.indexOf.call(m,f,y):Uint8Array.prototype.lastIndexOf.call(m,f,y):q(m,[f],y,w,I);throw new TypeError("val must be string, number or Buffer")}function q(m,f,y,w,I){let L=1,G=m.length,J=f.length;if(w!==void 0&&(w=String(w).toLowerCase(),w==="ucs2"||w==="ucs-2"||w==="utf16le"||w==="utf-16le")){if(m.length<2||f.length<2)return-1;L=2,G/=2,J/=2,y/=2}function pe(ye,ie){return L===1?ye[ie]:ye.readUInt16BE(ie*L)}let de;if(I){let ye=-1;for(de=y;deG&&(y=G-J),de=y;de>=0;de--){let ye=!0;for(let ie=0;ieI&&(w=I)):w=I;const L=f.length;w>L/2&&(w=L/2);let G;for(G=0;G>>0,isFinite(w)?(w=w>>>0,I===void 0&&(I="utf8")):(I=w,w=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const L=this.length-y;if((w===void 0||w>L)&&(w=L),f.length>0&&(w<0||y<0)||y>this.length)throw new RangeError("Attempt to write outside buffer bounds");I||(I="utf8");let G=!1;for(;;)switch(I){case"hex":return D(this,f,y,w);case"utf8":case"utf-8":return x(this,f,y,w);case"ascii":case"latin1":case"binary":return E(this,f,y,w);case"base64":return v(this,f,y,w);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,f,y,w);default:if(G)throw new TypeError("Unknown encoding: "+I);I=(""+I).toLowerCase(),G=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function O(m,f,y){return f===0&&y===m.length?t.fromByteArray(m):t.fromByteArray(m.slice(f,y))}function _(m,f,y){y=Math.min(m.length,y);const w=[];let I=f;for(;I239?4:L>223?3:L>191?2:1;if(I+J<=y){let pe,de,ye,ie;switch(J){case 1:L<128&&(G=L);break;case 2:pe=m[I+1],(pe&192)===128&&(ie=(L&31)<<6|pe&63,ie>127&&(G=ie));break;case 3:pe=m[I+1],de=m[I+2],(pe&192)===128&&(de&192)===128&&(ie=(L&15)<<12|(pe&63)<<6|de&63,ie>2047&&(ie<55296||ie>57343)&&(G=ie));break;case 4:pe=m[I+1],de=m[I+2],ye=m[I+3],(pe&192)===128&&(de&192)===128&&(ye&192)===128&&(ie=(L&15)<<18|(pe&63)<<12|(de&63)<<6|ye&63,ie>65535&&ie<1114112&&(G=ie))}}G===null?(G=65533,J=1):G>65535&&(G-=65536,w.push(G>>>10&1023|55296),G=56320|G&1023),w.push(G),I+=J}return S(w)}const H=4096;function S(m){const f=m.length;if(f<=H)return String.fromCharCode.apply(String,m);let y="",w=0;for(;ww)&&(y=w);let I="";for(let L=f;Lw&&(f=w),y<0?(y+=w,y<0&&(y=0)):y>w&&(y=w),yy)throw new RangeError("Trying to access beyond buffer length")}o.prototype.readUintLE=o.prototype.readUIntLE=function(f,y,w){f=f>>>0,y=y>>>0,w||U(f,y,this.length);let I=this[f],L=1,G=0;for(;++G>>0,y=y>>>0,w||U(f,y,this.length);let I=this[f+--y],L=1;for(;y>0&&(L*=256);)I+=this[f+--y]*L;return I},o.prototype.readUint8=o.prototype.readUInt8=function(f,y){return f=f>>>0,y||U(f,1,this.length),this[f]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(f,y){return f=f>>>0,y||U(f,2,this.length),this[f]|this[f+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(f,y){return f=f>>>0,y||U(f,2,this.length),this[f]<<8|this[f+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(f,y){return f=f>>>0,y||U(f,4,this.length),(this[f]|this[f+1]<<8|this[f+2]<<16)+this[f+3]*16777216},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(f,y){return f=f>>>0,y||U(f,4,this.length),this[f]*16777216+(this[f+1]<<16|this[f+2]<<8|this[f+3])},o.prototype.readBigUInt64LE=qt(function(f){f=f>>>0,ve(f,"offset");const y=this[f],w=this[f+7];(y===void 0||w===void 0)&&et(f,this.length-8);const I=y+this[++f]*2**8+this[++f]*2**16+this[++f]*2**24,L=this[++f]+this[++f]*2**8+this[++f]*2**16+w*2**24;return BigInt(I)+(BigInt(L)<>>0,ve(f,"offset");const y=this[f],w=this[f+7];(y===void 0||w===void 0)&&et(f,this.length-8);const I=y*2**24+this[++f]*2**16+this[++f]*2**8+this[++f],L=this[++f]*2**24+this[++f]*2**16+this[++f]*2**8+w;return(BigInt(I)<>>0,y=y>>>0,w||U(f,y,this.length);let I=this[f],L=1,G=0;for(;++G=L&&(I-=Math.pow(2,8*y)),I},o.prototype.readIntBE=function(f,y,w){f=f>>>0,y=y>>>0,w||U(f,y,this.length);let I=y,L=1,G=this[f+--I];for(;I>0&&(L*=256);)G+=this[f+--I]*L;return L*=128,G>=L&&(G-=Math.pow(2,8*y)),G},o.prototype.readInt8=function(f,y){return f=f>>>0,y||U(f,1,this.length),this[f]&128?(255-this[f]+1)*-1:this[f]},o.prototype.readInt16LE=function(f,y){f=f>>>0,y||U(f,2,this.length);const w=this[f]|this[f+1]<<8;return w&32768?w|4294901760:w},o.prototype.readInt16BE=function(f,y){f=f>>>0,y||U(f,2,this.length);const w=this[f+1]|this[f]<<8;return w&32768?w|4294901760:w},o.prototype.readInt32LE=function(f,y){return f=f>>>0,y||U(f,4,this.length),this[f]|this[f+1]<<8|this[f+2]<<16|this[f+3]<<24},o.prototype.readInt32BE=function(f,y){return f=f>>>0,y||U(f,4,this.length),this[f]<<24|this[f+1]<<16|this[f+2]<<8|this[f+3]},o.prototype.readBigInt64LE=qt(function(f){f=f>>>0,ve(f,"offset");const y=this[f],w=this[f+7];(y===void 0||w===void 0)&&et(f,this.length-8);const I=this[f+4]+this[f+5]*2**8+this[f+6]*2**16+(w<<24);return(BigInt(I)<>>0,ve(f,"offset");const y=this[f],w=this[f+7];(y===void 0||w===void 0)&&et(f,this.length-8);const I=(y<<24)+this[++f]*2**16+this[++f]*2**8+this[++f];return(BigInt(I)<>>0,y||U(f,4,this.length),n.read(this,f,!0,23,4)},o.prototype.readFloatBE=function(f,y){return f=f>>>0,y||U(f,4,this.length),n.read(this,f,!1,23,4)},o.prototype.readDoubleLE=function(f,y){return f=f>>>0,y||U(f,8,this.length),n.read(this,f,!0,52,8)},o.prototype.readDoubleBE=function(f,y){return f=f>>>0,y||U(f,8,this.length),n.read(this,f,!1,52,8)};function K(m,f,y,w,I,L){if(!o.isBuffer(m))throw new TypeError('"buffer" argument must be a Buffer instance');if(f>I||fm.length)throw new RangeError("Index out of range")}o.prototype.writeUintLE=o.prototype.writeUIntLE=function(f,y,w,I){if(f=+f,y=y>>>0,w=w>>>0,!I){const J=Math.pow(2,8*w)-1;K(this,f,y,w,J,0)}let L=1,G=0;for(this[y]=f&255;++G>>0,w=w>>>0,!I){const J=Math.pow(2,8*w)-1;K(this,f,y,w,J,0)}let L=w-1,G=1;for(this[y+L]=f&255;--L>=0&&(G*=256);)this[y+L]=f/G&255;return y+w},o.prototype.writeUint8=o.prototype.writeUInt8=function(f,y,w){return f=+f,y=y>>>0,w||K(this,f,y,1,255,0),this[y]=f&255,y+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(f,y,w){return f=+f,y=y>>>0,w||K(this,f,y,2,65535,0),this[y]=f&255,this[y+1]=f>>>8,y+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(f,y,w){return f=+f,y=y>>>0,w||K(this,f,y,2,65535,0),this[y]=f>>>8,this[y+1]=f&255,y+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(f,y,w){return f=+f,y=y>>>0,w||K(this,f,y,4,4294967295,0),this[y+3]=f>>>24,this[y+2]=f>>>16,this[y+1]=f>>>8,this[y]=f&255,y+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(f,y,w){return f=+f,y=y>>>0,w||K(this,f,y,4,4294967295,0),this[y]=f>>>24,this[y+1]=f>>>16,this[y+2]=f>>>8,this[y+3]=f&255,y+4};function X(m,f,y,w,I){Ie(f,w,I,m,y,7);let L=Number(f&BigInt(4294967295));m[y++]=L,L=L>>8,m[y++]=L,L=L>>8,m[y++]=L,L=L>>8,m[y++]=L;let G=Number(f>>BigInt(32)&BigInt(4294967295));return m[y++]=G,G=G>>8,m[y++]=G,G=G>>8,m[y++]=G,G=G>>8,m[y++]=G,y}function Q(m,f,y,w,I){Ie(f,w,I,m,y,7);let L=Number(f&BigInt(4294967295));m[y+7]=L,L=L>>8,m[y+6]=L,L=L>>8,m[y+5]=L,L=L>>8,m[y+4]=L;let G=Number(f>>BigInt(32)&BigInt(4294967295));return m[y+3]=G,G=G>>8,m[y+2]=G,G=G>>8,m[y+1]=G,G=G>>8,m[y]=G,y+8}o.prototype.writeBigUInt64LE=qt(function(f,y=0){return X(this,f,y,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeBigUInt64BE=qt(function(f,y=0){return Q(this,f,y,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeIntLE=function(f,y,w,I){if(f=+f,y=y>>>0,!I){const pe=Math.pow(2,8*w-1);K(this,f,y,w,pe-1,-pe)}let L=0,G=1,J=0;for(this[y]=f&255;++L>0)-J&255;return y+w},o.prototype.writeIntBE=function(f,y,w,I){if(f=+f,y=y>>>0,!I){const pe=Math.pow(2,8*w-1);K(this,f,y,w,pe-1,-pe)}let L=w-1,G=1,J=0;for(this[y+L]=f&255;--L>=0&&(G*=256);)f<0&&J===0&&this[y+L+1]!==0&&(J=1),this[y+L]=(f/G>>0)-J&255;return y+w},o.prototype.writeInt8=function(f,y,w){return f=+f,y=y>>>0,w||K(this,f,y,1,127,-128),f<0&&(f=255+f+1),this[y]=f&255,y+1},o.prototype.writeInt16LE=function(f,y,w){return f=+f,y=y>>>0,w||K(this,f,y,2,32767,-32768),this[y]=f&255,this[y+1]=f>>>8,y+2},o.prototype.writeInt16BE=function(f,y,w){return f=+f,y=y>>>0,w||K(this,f,y,2,32767,-32768),this[y]=f>>>8,this[y+1]=f&255,y+2},o.prototype.writeInt32LE=function(f,y,w){return f=+f,y=y>>>0,w||K(this,f,y,4,2147483647,-2147483648),this[y]=f&255,this[y+1]=f>>>8,this[y+2]=f>>>16,this[y+3]=f>>>24,y+4},o.prototype.writeInt32BE=function(f,y,w){return f=+f,y=y>>>0,w||K(this,f,y,4,2147483647,-2147483648),f<0&&(f=4294967295+f+1),this[y]=f>>>24,this[y+1]=f>>>16,this[y+2]=f>>>8,this[y+3]=f&255,y+4},o.prototype.writeBigInt64LE=qt(function(f,y=0){return X(this,f,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeBigInt64BE=qt(function(f,y=0){return Q(this,f,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Z(m,f,y,w,I,L){if(y+w>m.length)throw new RangeError("Index out of range");if(y<0)throw new RangeError("Index out of range")}function W(m,f,y,w,I){return f=+f,y=y>>>0,I||Z(m,f,y,4),n.write(m,f,y,w,23,4),y+4}o.prototype.writeFloatLE=function(f,y,w){return W(this,f,y,!0,w)},o.prototype.writeFloatBE=function(f,y,w){return W(this,f,y,!1,w)};function ne(m,f,y,w,I){return f=+f,y=y>>>0,I||Z(m,f,y,8),n.write(m,f,y,w,52,8),y+8}o.prototype.writeDoubleLE=function(f,y,w){return ne(this,f,y,!0,w)},o.prototype.writeDoubleBE=function(f,y,w){return ne(this,f,y,!1,w)},o.prototype.copy=function(f,y,w,I){if(!o.isBuffer(f))throw new TypeError("argument should be a Buffer");if(w||(w=0),!I&&I!==0&&(I=this.length),y>=f.length&&(y=f.length),y||(y=0),I>0&&I=this.length)throw new RangeError("Index out of range");if(I<0)throw new RangeError("sourceEnd out of bounds");I>this.length&&(I=this.length),f.length-y>>0,w=w===void 0?this.length:w>>>0,f||(f=0);let L;if(typeof f=="number")for(L=y;L4294967296?I=xe(String(y)):typeof y=="bigint"&&(I=String(y),(y>BigInt(2)**BigInt(32)||y<-(BigInt(2)**BigInt(32)))&&(I=xe(I)),I+="n"),w+=` It must be ${f}. Received ${I}`,w},RangeError);function xe(m){let f="",y=m.length;const w=m[0]==="-"?1:0;for(;y>=w+4;y-=3)f=`_${m.slice(y-3,y)}${f}`;return`${m.slice(0,y)}${f}`}function we(m,f,y){ve(f,"offset"),(m[f]===void 0||m[f+y]===void 0)&&et(f,m.length-(y+1))}function Ie(m,f,y,w,I,L){if(m>y||m= 0${G} and < 2${G} ** ${(L+1)*8}${G}`:J=`>= -(2${G} ** ${(L+1)*8-1}${G}) and < 2 ** ${(L+1)*8-1}${G}`,new re.ERR_OUT_OF_RANGE("value",J,m)}we(w,I,L)}function ve(m,f){if(typeof m!="number")throw new re.ERR_INVALID_ARG_TYPE(f,"number",m)}function et(m,f,y){throw Math.floor(m)!==m?(ve(m,y),new re.ERR_OUT_OF_RANGE("offset","an integer",m)):f<0?new re.ERR_BUFFER_OUT_OF_BOUNDS:new re.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${f}`,m)}const ci=/[^+/0-9A-Za-z-_]/g;function sx(m){if(m=m.split("=")[0],m=m.trim().replace(ci,""),m.length<2)return"";for(;m.length%4!==0;)m=m+"=";return m}function Lo(m,f){f=f||1/0;let y;const w=m.length;let I=null;const L=[];for(let G=0;G55295&&y<57344){if(!I){if(y>56319){(f-=3)>-1&&L.push(239,191,189);continue}else if(G+1===w){(f-=3)>-1&&L.push(239,191,189);continue}I=y;continue}if(y<56320){(f-=3)>-1&&L.push(239,191,189),I=y;continue}y=(I-55296<<10|y-56320)+65536}else I&&(f-=3)>-1&&L.push(239,191,189);if(I=null,y<128){if((f-=1)<0)break;L.push(y)}else if(y<2048){if((f-=2)<0)break;L.push(y>>6|192,y&63|128)}else if(y<65536){if((f-=3)<0)break;L.push(y>>12|224,y>>6&63|128,y&63|128)}else if(y<1114112){if((f-=4)<0)break;L.push(y>>18|240,y>>12&63|128,y>>6&63|128,y&63|128)}else throw new Error("Invalid code point")}return L}function ix(m){const f=[];for(let y=0;y>8,I=y%256,L.push(I),L.push(w);return L}function Wf(m){return t.toByteArray(sx(m))}function ui(m,f,y,w){let I;for(I=0;I=f.length||I>=m.length);++I)f[I+y]=m[I];return I}function bt(m,f){return m instanceof f||m!=null&&m.constructor!=null&&m.constructor.name!=null&&m.constructor.name===f.name}function Oo(m){return m!==m}const ox=function(){const m="0123456789abcdef",f=new Array(256);for(let y=0;y<16;++y){const w=y*16;for(let I=0;I<16;++I)f[w+I]=m[y]+m[I]}return f}();function qt(m){return typeof BigInt>"u"?cx:m}function cx(){throw new Error("BigInt not supported")}})(Of);var Ae=Uint8Array,Ge=Uint16Array,Ao=Int32Array,ai=new Ae([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),oi=new Ae([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Io=new Ae([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),$f=function(e,t){for(var n=new Ge(31),r=0;r<31;++r)n[r]=t+=1<>1|(ae&21845)<<1;Ht=(Ht&52428)>>2|(Ht&13107)<<2,Ht=(Ht&61680)>>4|(Ht&3855)<<4,Po[ae]=((Ht&65280)>>8|(Ht&255)<<8)>>1}for(var mt=function(e,t,n){for(var r=e.length,s=0,i=new Ge(t);s>c]=d}else for(o=new Ge(r),s=0;s>15-e[s]);return o},Gt=new Ae(288),ae=0;ae<144;++ae)Gt[ae]=8;for(var ae=144;ae<256;++ae)Gt[ae]=9;for(var ae=256;ae<280;++ae)Gt[ae]=7;for(var ae=280;ae<288;++ae)Gt[ae]=8;for(var Kr=new Ae(32),ae=0;ae<32;++ae)Kr[ae]=5;var A2=mt(Gt,9,0),I2=mt(Gt,9,1),B2=mt(Kr,5,0),P2=mt(Kr,5,1),So=function(e){for(var t=e[0],n=1;nt&&(t=e[n]);return t},ot=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},Co=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},Mo=function(e){return(e+7)/8|0},_f=function(e,t,n){return(n==null||n>e.length)&&(n=e.length),new Ae(e.subarray(t,n))},S2=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],ct=function(e,t,n){var r=new Error(t||S2[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,ct),!n)throw r;return r},C2=function(e,t,n,r){var s=e.length,i=0;if(!s||t.f&&!t.l)return n||new Ae(0);var a=!n,o=a||t.i!=2,c=t.i;a&&(n=new Ae(s*3));var d=function(we){var Ie=n.length;if(we>Ie){var ve=new Ae(Math.max(Ie*2,we));ve.set(n),n=ve}},u=t.f||0,l=t.p||0,p=t.b||0,h=t.l,b=t.d,g=t.m,P=t.n,T=s*8;do{if(!h){u=ot(e,l,1);var R=ot(e,l+1,3);if(l+=3,R)if(R==1)h=I2,b=P2,g=9,P=5;else if(R==2){var $=ot(e,l,31)+257,q=ot(e,l+10,15)+4,D=$+ot(e,l+5,31)+1;l+=14;for(var x=new Ae(D),E=new Ae(19),v=0;v>4;if(M<16)x[v++]=M;else{var S=0,B=0;for(M==16?(B=3+ot(e,l,3),l+=2,S=x[v-1]):M==17?(B=3+ot(e,l,7),l+=3):M==18&&(B=11+ot(e,l,127),l+=7);B--;)x[v++]=S}}var A=x.subarray(0,$),k=x.subarray($);g=So(A),P=So(k),h=mt(A,g,1),b=mt(k,P,1)}else ct(1);else{var M=Mo(l)+4,z=e[M-4]|e[M-3]<<8,F=M+z;if(F>s){c&&ct(0);break}o&&d(p+z),n.set(e.subarray(M,F),p),t.b=p+=z,t.p=l=F*8,t.f=u;continue}if(l>T){c&&ct(0);break}}o&&d(p+131072);for(var V=(1<>4;if(l+=S&15,l>T){c&&ct(0);break}if(S||ct(2),X<256)n[p++]=X;else if(X==256){K=l,h=null;break}else{var Q=X-254;if(X>264){var v=X-257,Z=ai[v];Q=ot(e,l,(1<>4;W||ct(3),l+=W&15;var k=T2[ne];if(ne>3){var Z=oi[ne];k+=Co(e,l)&(1<T){c&&ct(0);break}o&&d(p+131072);var re=p+Q;if(p>8},Zr=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8,e[r+2]|=n>>16},No=function(e,t){for(var n=[],r=0;rp&&(p=i[r].s);var h=new Ge(p+1),b=Ro(n[u-1],h,0);if(b>t){var r=0,g=0,P=b-t,T=1<t)g+=T-(1<>=P;g>0;){var M=i[r].s;h[M]=0&&g;--r){var z=i[r].s;h[z]==t&&(--h[z],++g)}b=t}return{t:new Ae(h),l:b}},Ro=function(e,t,n){return e.s==-1?Math.max(Ro(e.l,t,n+1),Ro(e.r,t,n+1)):t[e.s]=n},Hf=function(e){for(var t=e.length;t&&!e[--t];);for(var n=new Ge(++t),r=0,s=e[0],i=1,a=function(c){n[r++]=c},o=1;o<=t;++o)if(e[o]==s&&o!=t)++i;else{if(!s&&i>2){for(;i>138;i-=138)a(32754);i>2&&(a(i>10?i-11<<5|28690:i-3<<5|12305),i=0)}else if(i>3){for(a(s),--i;i>6;i-=6)a(8304);i>2&&(a(i-3<<5|8208),i=0)}for(;i--;)a(s);i=1,s=e[o]}return{c:n.subarray(0,r),n:t}},Yr=function(e,t){for(var n=0,r=0;r>8,e[s+2]=e[s]^255,e[s+3]=e[s+1]^255;for(var i=0;i4&&!E[Io[C-1]];--C);var O=d+5<<3,_=Yr(s,Gt)+Yr(i,Kr)+a,H=Yr(s,p)+Yr(i,g)+a+14+3*C+Yr(q,E)+2*q[16]+3*q[17]+7*q[18];if(c>=0&&O<=_&&O<=H)return Gf(t,u,e.subarray(c,c+d));var S,B,A,k;if(Rt(t,u,1+(H<_)),u+=2,H<_){S=mt(p,h,0),B=p,A=mt(g,P,0),k=g;var V=mt(E,v,0);Rt(t,u,M-257),Rt(t,u+5,$-1),Rt(t,u+10,C-4),u+=14;for(var D=0;D15&&(Rt(t,u,X[D]>>5&127),u+=X[D]>>12)}}else S=A2,B=Gt,A=B2,k=Kr;for(var D=0;D255){var Q=Z>>18&31;Zr(t,u,S[Q+257]),u+=B[Q+257],Q>7&&(Rt(t,u,Z>>23&31),u+=ai[Q]);var W=Z&31;Zr(t,u,A[W]),u+=k[W],W>3&&(Zr(t,u,Z>>5&8191),u+=oi[W])}else Zr(t,u,S[Z]),u+=B[Z]}return Zr(t,u,S[256]),u+B[256]},M2=new Ao([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),jf=new Ae(0),N2=function(e,t,n,r,s,i){var a=i.z||e.length,o=new Ae(r+a+5*(1+Math.ceil(a/7e3))+s),c=o.subarray(r,o.length-s),d=i.l,u=(i.r||0)&7;if(t){u&&(c[0]=i.r>>3);for(var l=M2[t-1],p=l>>13,h=l&8191,b=(1<7e3||E>24576)&&(S>423||!d)){u=qf(e,c,0,z,F,$,D,E,C,x-C,u),E=q=D=0,C=x;for(var B=0;B<286;++B)F[B]=0;for(var B=0;B<30;++B)$[B]=0}var A=2,k=0,V=h,U=_-H&32767;if(S>2&&O==M(x-U))for(var K=Math.min(p,S)-1,X=Math.min(32767,x),Q=Math.min(258,S);U<=X&&--V&&_!=H;){if(e[x+A]==e[x+A-U]){for(var Z=0;ZA){if(A=Z,k=U,Z>K)break;for(var W=Math.min(U,Z-2),ne=0,B=0;Bne&&(ne=xe,H=re)}}}_=H,H=g[_],U+=_-H&32767}if(k){z[E++]=268435456|Bo[A]<<18|zf[k];var we=Bo[A]&31,Ie=zf[k]&31;D+=ai[we]+oi[Ie],++F[257+we],++$[Ie],v=x+A,++q}else z[E++]=e[x],++F[e[x]]}}for(x=Math.max(x,v);x=a&&(c[u/8|0]=d,ve=a),u=Gf(c,u+1,e.subarray(x,ve))}i.i=a}return _f(o,0,r+Mo(u)+s)},Vf=function(){var e=1,t=0;return{p:function(n){for(var r=e,s=t,i=n.length|0,a=0;a!=i;){for(var o=Math.min(a+2655,i);a>16),s=(s&65535)+15*(s>>16)}e=r,t=s},d:function(){return e%=65521,t%=65521,(e&255)<<24|(e&65280)<<8|(t&255)<<8|t>>8}}},R2=function(e,t,n,r,s){if(!s&&(s={l:1},t.dictionary)){var i=t.dictionary.subarray(-32768),a=new Ae(i.length+e.length);a.set(i),a.set(e,i.length),e=a,s.w=i.length}return N2(e,t.level==null?6:t.level,t.mem==null?s.l?Math.ceil(Math.max(8,Math.min(13,Math.log(e.length)))*1.5):20:12+t.mem,n,r,s)},Kf=function(e,t,n){for(;n;++t)e[t]=n,n>>>=8},L2=function(e,t){var n=t.level,r=n==0?0:n<6?1:n==9?3:2;if(e[0]=120,e[1]=r<<6|(t.dictionary&&32),e[1]|=31-(e[0]<<8|e[1])%31,t.dictionary){var s=Vf();s.p(t.dictionary),Kf(e,2,s.d())}},O2=function(e,t){return((e[0]&15)!=8||e[0]>>4>7||(e[0]<<8|e[1])%31)&&ct(6,"invalid zlib data"),(e[1]>>5&1)==1&&ct(6,"invalid zlib data: "+(e[1]&32?"need":"unexpected")+" dictionary"),(e[1]>>3&4)+2};function F2(e,t){t||(t={});var n=Vf();n.p(e);var r=R2(e,t,t.dictionary?6:2,4);return L2(r,t),Kf(r,r.length-4,n.d()),r}function $2(e,t){return C2(e.subarray(O2(e),-4),{i:2},t,t)}var k2=typeof TextDecoder<"u"&&new TextDecoder,D2=0;try{k2.decode(jf,{stream:!0}),D2=1}catch{}function U2(){let e=ao.utils.randomPrivateKey(),t=ao.getPublicKey(e);return{privateKey:at.encode(e),publicKey:at.encode(t)}}function z2({privateKey:e,publicKey:t}){let n=ao.getSharedSecret(at.decode(e),at.decode(t)).slice(1);return at.encode(n)}async function _2(e,t){let n=JSON.stringify(e),r=F2(new TextEncoder().encode(n)),s=at.decode(t),i=await crypto.subtle.importKey("raw",s,{name:"AES-GCM"},!0,["encrypt"]),a=crypto.getRandomValues(new Uint8Array(12)),o=await crypto.subtle.encrypt({name:"AES-GCM",iv:a},i,r);return{iv:at.encode(a),encryptedRequest:at.encode(new Uint8Array(o))}}async function H2({encryptedResult:e,iv:t,sharedSecret:n}){let r=at.decode(n),s=at.decode(t),i=await crypto.subtle.importKey("raw",r,{name:"AES-GCM"},!0,["decrypt"]),a=at.decode(e),o=await crypto.subtle.decrypt({name:"AES-GCM",iv:s},i,a),c=$2(Of.Buffer.from(o));return new TextDecoder().decode(c)}async function G2(e){let t=window.open(void 0,void 0,Zf({w:440,h:680}));if(!t)throw Error("");return t.location=e.href,new Promise((n,r)=>{let s,i=setTimeout(()=>{r(Error("Authorization request timed out after 2 minutes.")),a()},12e4);function a(){t==null||t.close(),window.removeEventListener("message",c)}let o=setInterval(()=>{t!=null&&t.closed&&!s&&(a(),clearInterval(o),clearTimeout(i),r(Error("User rejected request")))},300);function c(d){d.data&&(d.data.type==="PRIVY_CROSS_APP_CONNECT_RESPONSE"&&(n(d.data),t==null||t.close()),d.data.type==="PRIVY_OAUTH_ERROR"&&(clearTimeout(i),r(Error(d.data.error)),a()),d.data.type==="PRIVY_OAUTH_USE_BROADCAST_CHANNEL"&&((s=new BroadcastChannel("popup-privy-oauth")).onmessage=c))}window.addEventListener("message",c)})}function Zf({w:e,h:t}){let n=window.screenLeft!==void 0?window.screenLeft:window.screenX,r=window.screenTop!==void 0?window.screenTop:window.screenY,s=window.innerWidth?window.innerWidth:document.documentElement.clientWidth?document.documentElement.clientWidth:screen.width,i=window.innerHeight?window.innerHeight:document.documentElement.clientHeight?document.documentElement.clientHeight:screen.height;return`toolbar=0,location=0,menubar=0,height=${t},width=${e},popup=1,left=${(s-e)/2/(s/window.screen.availWidth)+n},top=${(i-t)/2/(i/window.screen.availHeight)+r}`}async function q2({request:e,apiUrl:t,publicKey:n,sharedSecret:r,providerAppId:s}){let i=window.open(void 0,void 0,Zf({w:400,h:680}));if(!i)throw Error("Failed to initialize request");let a=new URL(`${t}/cross-app/transact`),{encryptedRequest:o,iv:c}=await _2(e,r);return a.searchParams.set("requester_public_key",n),a.searchParams.set("encrypted_request",o),a.searchParams.set("requester_origin",window.location.origin),a.searchParams.set("iv",c),a.searchParams.set("provider_app_id",s),a.searchParams.set("signout_enabled","true"),a.searchParams.set("v","1"),i.location=a.href,new Promise((d,u)=>{let l=setTimeout(()=>{b(),u(new Wr("Request timeout"))},12e4),p=setInterval(()=>{i.closed&&(b(),u(new Wr("User rejected request")))},300),h=async g=>{var P;g.data&&(g.data.type==="PRIVY_CROSS_APP_ACTION_RESPONSE"&&g.data.encryptedResult&&(b(),d(await H2({encryptedResult:g.data.encryptedResult,iv:g.data.iv,sharedSecret:r}))),g.data.type==="PRIVY_CROSS_APP_ACTION_ERROR"&&g.data.error&&(b(),u(new Wr(g.data.error,{mwp:g.data.mwp,code:(P=g.data)==null?void 0:P.errorCode}))))};window.addEventListener("message",h);let b=()=>{i.close(),clearInterval(p),clearTimeout(l),window.removeEventListener("message",h)}})}let Wr=class extends Error{constructor(t,n){var r;super(t),(r=n==null?void 0:n.mwp)!=null&&r.action&&(this.action=n.mwp.action),n!=null&&n.code&&(this.code=n.code)}};async function j2({providerAppId:e,providerUrl:t,connectionOpts:n}){let r=new URL(`${t}/cross-app/connect`),{privateKey:s,publicKey:i}=U2();r.searchParams.set("requester_public_key",i),r.searchParams.set("connect","true"),r.searchParams.set("provider_app_id",e),r.searchParams.set("requester_origin",window.location.origin),r.searchParams.set("smart_wallet_mode",n!=null&&n.smartWalletMode?"true":"false");let{address:a,providerPublicKey:o,exp:c}=await G2(r);return{address:a,sharedSecret:z2({privateKey:s,publicKey:o}),publicKey:i,exp:c}}class V2{get(t){return this._cache[t]}put(t,n){n!==void 0?this._cache[t]=n:this.del(t)}del(t){delete this._cache[t]}getKeys(){return Object.keys(this._cache)}constructor(){this._cache={}}}class K2{get(t){let n=localStorage.getItem(t);return n===null?void 0:JSON.parse(n)}put(t,n){n!==void 0?localStorage.setItem(t,JSON.stringify(n)):this.del(t)}del(t){localStorage.removeItem(t)}getKeys(){return Object.entries(localStorage).map(([t])=>t)}}var _n=typeof window<"u"&&window.localStorage?new K2:new V2;const Z2=({providerAppId:e,chains:t,chainId:n,apiUrl:r,connectionOpts:s})=>new Y2(e,t,n,r,s);class Y2{get STORAGE_CONNECTION_KEY(){let{smartWalletMode:t}=this._connectionOpts??{};return`privy-caw:${this.providerAppId}:connection${t?":smart-wallet":""}`}get STORAGE_CHAIN_ID_KEY(){let{smartWalletMode:t}=this._connectionOpts??{};return`privy-caw:${this.providerAppId}:connection_chain_id${t?":smart-wallet":""}`}async getProviderUrl(){if(!this._providerUrl){let{url:t}=await c2({providerAppId:this.providerAppId,apiUrl:this._apiUrl});this._providerUrl=t}return this._providerUrl}clearConnection(){this._sharedSecret=void 0,this._publicKey=void 0,this._address=void 0,_n.del(this.STORAGE_CONNECTION_KEY),_n.del(this.STORAGE_CHAIN_ID_KEY)}get chain(){return this.chains.find(({id:t})=>t===this.chainId)}get address(){return this._address}async requestConnection(){let{address:t,sharedSecret:n,publicKey:r,exp:s}=await j2({providerAppId:this.providerAppId,providerUrl:await this.getProviderUrl(),connectionOpts:this._connectionOpts});_n.put(this.STORAGE_CONNECTION_KEY,{address:t,sharedSecret:n,publicKey:r,exp:s}),this._address=t,this._sharedSecret=n,this._publicKey=r}switchChain({id:t}){this.chainId=t,_n.put(this.STORAGE_CHAIN_ID_KEY,this.chainId)}async sendRequest(t,n){if(!this._sharedSecret||!this._publicKey)throw Error(`Must call 'eth_requestAccounts' before ${t}`);try{return await q2({request:{method:t,params:n,chainId:this.chainId},apiUrl:await this.getProviderUrl(),publicKey:this._publicKey,providerAppId:this.providerAppId,sharedSecret:this._sharedSecret})}catch(r){throw r instanceof Wr&&r.action==="clear"&&this.clearConnection(),r}}constructor(t,n,r,s,i){this.providerAppId=t,this.chains=n,this._apiUrl=s??"https://auth.privy.io",this._connectionOpts=i;let a=_n.get(this.STORAGE_CONNECTION_KEY),o=a&&a.exp>new Date().getTime(),c=_n.get(this.STORAGE_CHAIN_ID_KEY);this.chainId=r??c??n[0].id,o?(this._sharedSecret=a.sharedSecret,this._publicKey=a.publicKey,this._address=a.address):this.clearConnection(),this.getProviderUrl()}}const W2=e=>{var i;let t=Z2({providerAppId:e.providerAppId,chains:e.chains,chainId:e.chainId,apiUrl:e.apiUrl,connectionOpts:{smartWalletMode:e.smartWalletMode}}),n=Dr({chain:t.chain,transport:((i=e.transports)==null?void 0:i[t.chain.id])??Rn()}),r={accountsChanged:[],connect:[],chainChanged:[],disconnect:[],message:[]},s=()=>{var a;t.clearConnection(),(a=r.accountsChanged)==null||a.forEach(o=>o([]))};return{on:(a,o)=>{r[a].push(o)},removeListener:(a,o)=>{let c=r[a].indexOf(o);c>-1&&r[a].splice(c)},request:async a=>{var d,u,l,p;e.smartWalletMode&&(a.method==="eth_sendTransaction"&&(a.method="privy_sendSmartWalletTx"),a.method==="eth_signTransaction"&&(a.method="privy_signSmartWalletTx"),a.method==="personal_sign"&&(a.method="privy_signSmartWalletMessage"),a.method==="eth_signTypedData_v4"&&(a.method="privy_signSmartWalletTypedData"));let{method:o,params:c}=a;if(console.debug("PrivyWalletProvider.request",{method:o,params:c}),o==="wallet_requestPermissions"||o==="eth_requestAccounts"&&!t.address)return await t.requestConnection(),(d=r.accountsChanged)==null||d.forEach(h=>h([t.address])),void((u=r.connect)==null?void 0:u.forEach(h=>h({chainId:Yf(t.chain.id)})));if(o==="eth_chainId")return t.chain.id;if(Q2(o))return n.request({method:o,params:c});switch(o){case"eth_requestAccounts":case"eth_accounts":return t.address?[t.address]:[];case"wallet_switchEthereumChain":return t.switchChain({id:Number(c[0].chainId)}),n=Dr({chain:t.chain,transport:((l=e.transports)==null?void 0:l[t.chain.id])??Rn()}),r.chainChanged.forEach(h=>h(Yf(t.chain.id))),null;case"wallet_revokePermissions":return void s();case"eth_sendTransaction":case"eth_signTransaction":case"eth_signTypedData_v4":case"eth_sign":case"privy_signSmartWalletMessage":case"privy_signSmartWalletTypedData":case"privy_signSmartWalletTx":case"privy_sendSmartWalletTx":case"personal_sign":["eth_sendTransaction","eth_signTransaction","privy_sendSmartWalletTx","privy_signSmartWalletTx"].includes(o)&&((p=c[0]).chainId??(p.chainId=t.chain.id));try{return await t.sendRequest(o,c)}catch(h){throw h instanceof Wr&&(h.action==="clear"&&s(),h.code===void 0&&h.message==="User rejected request")?new Te(Error("User rejected request"),{code:4001,shortMessage:"User rejected request"}):new Te(h,{code:h.code??-1,shortMessage:h.message})}default:throw new Te(Error("Unsupported method"),{code:4200,shortMessage:`Unsupported method: ${o}`})}}}};let Yf=e=>`0x${e.toString(16)}`,X2={web3_clientVersion:!0,web3_sha3:!0,net_listening:!0,net_peerCount:!0,net_version:!0,eth_blobBaseFee:!0,eth_blockNumber:!0,eth_call:!0,eth_chainId:!0,eth_coinbase:!0,eth_estimateGas:!0,eth_feeHistory:!0,eth_gasPrice:!0,eth_getBalance:!0,eth_getBlockByHash:!0,eth_getBlockByNumber:!0,eth_getBlockTransactionCountByHash:!0,eth_getBlockTransactionCountByNumber:!0,eth_getCode:!0,eth_getFilterChanges:!0,eth_getFilterLogs:!0,eth_getLogs:!0,eth_getProof:!0,eth_getStorageAt:!0,eth_getTransactionByBlockHashAndIndex:!0,eth_getTransactionByBlockNumberAndIndex:!0,eth_getTransactionByHash:!0,eth_getTransactionCount:!0,eth_getTransactionReceipt:!0,eth_getUncleByBlockHashAndIndex:!0,eth_getUncleByBlockNumberAndIndex:!0,eth_getUncleCountByBlockHash:!0,eth_getUncleCountByBlockNumber:!0,eth_maxPriorityFeePerGas:!0,eth_newBlockFilter:!0,eth_newFilter:!0,eth_newPendingTransactionFilter:!0,eth_protocolVersion:!0,eth_sendRawTransaction:!0,eth_uninstallFilter:!0,zks_estimateFee:!0,eth_createAccessList:!0,eth_simulateV1:!0},Q2=e=>!!X2[e];const J2="data:image/png;base64,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";class ex extends CustomEvent{constructor(t){super("eip6963:announceProvider",{detail:t})}}const tx={uuid:"2306fd26-fcfb-4f9e-87da-0d1e237e917c",name:"Abstract Global Wallet",icon:J2,rdns:"xyz.abs.privy"};function nx({chain:e,transport:t,customPaymasterHandler:n}){if(typeof window>"u")return()=>{};const r=W2({chainId:e.id,providerAppId:"cm04asygd041fmry9zmcyn5o5",chains:[e],transports:{[e.id]:t??Rn()}}),s=o2({provider:r,chain:e,transport:t??Rn(),isPrivyCrossApp:!0,customPaymasterHandler:n}),i=new ex({info:tx,provider:s});window.dispatchEvent(i);const a=()=>window.dispatchEvent(i);return window.addEventListener("eip6963:requestProvider",a),()=>window.removeEventListener("eip6963:requestProvider",a)}nx({chain:fn});const rx=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));return zl}(); //# sourceMappingURL=ads.js.map