@0xmonaco/mcp-server 1.0.31 → 1.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/bin.js +2 -2
  2. package/package.json +3 -3
package/dist/bin.js CHANGED
@@ -133,12 +133,12 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
133
133
  `:`[${Y[K]}\r
134
134
  ]`;continue}if(X+=Y[K],Y[K]==="\\")G=!0;else if(W&&Y[K]==="]")W=!1;else if(!W&&Y[K]==="[")W=!0}try{new RegExp(X)}catch{return console.warn(`Could not convert regex pattern at ${J.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),$.source}return X}function iN($,J){if(J.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(J.target==="openApi3"&&$.keyType?._def.typeName===J$.ZodEnum)return{type:"object",required:$.keyType._def.values,properties:$.keyType._def.values.reduce((Y,X)=>({...Y,[X]:P$($.valueType._def,{...J,currentPath:[...J.currentPath,"properties",X]})??u4(J)}),{}),additionalProperties:J.rejectedAdditionalProperties};let Q={type:"object",additionalProperties:P$($.valueType._def,{...J,currentPath:[...J.currentPath,"additionalProperties"]})??J.allowedAdditionalProperties};if(J.target==="openApi3")return Q;if($.keyType?._def.typeName===J$.ZodString&&$.keyType._def.checks?.length){let{type:Y,...X}=cN($.keyType._def,J);return{...Q,propertyNames:X}}else if($.keyType?._def.typeName===J$.ZodEnum)return{...Q,propertyNames:{enum:$.keyType._def.values}};else if($.keyType?._def.typeName===J$.ZodBranded&&$.keyType._def.type._def.typeName===J$.ZodString&&$.keyType._def.type._def.checks?.length){let{type:Y,...X}=nN($.keyType._def,J);return{...Q,propertyNames:X}}return Q}function Vx($,J){if(J.mapStrategy==="record")return iN($,J);let Q=P$($.keyType._def,{...J,currentPath:[...J.currentPath,"items","items","0"]})||u4(J),Y=P$($.valueType._def,{...J,currentPath:[...J.currentPath,"items","items","1"]})||u4(J);return{type:"array",maxItems:125,items:{type:"array",items:[Q,Y],minItems:2,maxItems:2}}}function Kx($){let J=$.values,Y=Object.keys($.values).filter((G)=>{return typeof J[J[G]]!=="number"}).map((G)=>J[G]),X=Array.from(new Set(Y.map((G)=>typeof G)));return{type:X.length===1?X[0]==="string"?"string":"number":["string","number"],enum:Y}}function Dx($){return $.target==="openAi"?void 0:{not:u4({...$,currentPath:[...$.currentPath,"not"]})}}function Ux($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var _V={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Nx($,J){if(J.target==="openApi3")return Ox($,J);let Q=$.options instanceof Map?Array.from($.options.values()):$.options;if(Q.every((Y)=>(Y._def.typeName in _V)&&(!Y._def.checks||!Y._def.checks.length))){let Y=Q.reduce((X,G)=>{let W=_V[G._def.typeName];return W&&!X.includes(W)?[...X,W]:X},[]);return{type:Y.length>1?Y:Y[0]}}else if(Q.every((Y)=>Y._def.typeName==="ZodLiteral"&&!Y.description)){let Y=Q.reduce((X,G)=>{let W=typeof G._def.value;switch(W){case"string":case"number":case"boolean":return[...X,W];case"bigint":return[...X,"integer"];case"object":if(G._def.value===null)return[...X,"null"];case"symbol":case"undefined":case"function":default:return X}},[]);if(Y.length===Q.length){let X=Y.filter((G,W,V)=>V.indexOf(G)===W);return{type:X.length>1?X:X[0],enum:Q.reduce((G,W)=>{return G.includes(W._def.value)?G:[...G,W._def.value]},[])}}}else if(Q.every((Y)=>Y._def.typeName==="ZodEnum"))return{type:"string",enum:Q.reduce((Y,X)=>[...Y,...X._def.values.filter((G)=>!Y.includes(G))],[])};return Ox($,J)}var Ox=($,J)=>{let Q=($.options instanceof Map?Array.from($.options.values()):$.options).map((Y,X)=>P$(Y._def,{...J,currentPath:[...J.currentPath,"anyOf",`${X}`]})).filter((Y)=>!!Y&&(!J.strictUnions||typeof Y==="object"&&Object.keys(Y).length>0));return Q.length?{anyOf:Q}:void 0};function wx($,J){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(J.target==="openApi3")return{type:_V[$.innerType._def.typeName],nullable:!0};return{type:[_V[$.innerType._def.typeName],"null"]}}if(J.target==="openApi3"){let Y=P$($.innerType._def,{...J,currentPath:[...J.currentPath]});if(Y&&"$ref"in Y)return{allOf:[Y],nullable:!0};return Y&&{...Y,nullable:!0}}let Q=P$($.innerType._def,{...J,currentPath:[...J.currentPath,"anyOf","0"]});return Q&&{anyOf:[Q,{type:"null"}]}}function Mx($,J){let Q={type:"number"};if(!$.checks)return Q;for(let Y of $.checks)switch(Y.kind){case"int":Q.type="integer",fI(Q,"type",Y.message,J);break;case"min":if(J.target==="jsonSchema7")if(Y.inclusive)$4(Q,"minimum",Y.value,Y.message,J);else $4(Q,"exclusiveMinimum",Y.value,Y.message,J);else{if(!Y.inclusive)Q.exclusiveMinimum=!0;$4(Q,"minimum",Y.value,Y.message,J)}break;case"max":if(J.target==="jsonSchema7")if(Y.inclusive)$4(Q,"maximum",Y.value,Y.message,J);else $4(Q,"exclusiveMaximum",Y.value,Y.message,J);else{if(!Y.inclusive)Q.exclusiveMaximum=!0;$4(Q,"maximum",Y.value,Y.message,J)}break;case"multipleOf":$4(Q,"multipleOf",Y.value,Y.message,J);break}return Q}function Hx($,J){let Q=J.target==="openAi",Y={type:"object",properties:{}},X=[],G=$.shape();for(let V in G){let K=G[V];if(K===void 0||K._def===void 0)continue;let D=y1$(K);if(D&&Q){if(K._def.typeName==="ZodOptional")K=K._def.innerType;if(!K.isNullable())K=K.nullable();D=!1}let O=P$(K._def,{...J,currentPath:[...J.currentPath,"properties",V],propertyPath:[...J.currentPath,"properties",V]});if(O===void 0)continue;if(Y.properties[V]=O,!D)X.push(V)}if(X.length)Y.required=X;let W=g1$($,J);if(W!==void 0)Y.additionalProperties=W;return Y}function g1$($,J){if($.catchall._def.typeName!=="ZodNever")return P$($.catchall._def,{...J,currentPath:[...J.currentPath,"additionalProperties"]});switch($.unknownKeys){case"passthrough":return J.allowedAdditionalProperties;case"strict":return J.rejectedAdditionalProperties;case"strip":return J.removeAdditionalStrategy==="strict"?J.allowedAdditionalProperties:J.rejectedAdditionalProperties}}function y1$($){try{return $.isOptional()}catch{return!0}}var Ax=($,J)=>{if(J.currentPath.toString()===J.propertyPath?.toString())return P$($.innerType._def,J);let Q=P$($.innerType._def,{...J,currentPath:[...J.currentPath,"anyOf","1"]});return Q?{anyOf:[{not:u4(J)},Q]}:u4(J)};var zx=($,J)=>{if(J.pipeStrategy==="input")return P$($.in._def,J);else if(J.pipeStrategy==="output")return P$($.out._def,J);let Q=P$($.in._def,{...J,currentPath:[...J.currentPath,"allOf","0"]}),Y=P$($.out._def,{...J,currentPath:[...J.currentPath,"allOf",Q?"1":"0"]});return{allOf:[Q,Y].filter((X)=>X!==void 0)}};function Zx($,J){return P$($.type._def,J)}function qx($,J){let Y={type:"array",uniqueItems:!0,items:P$($.valueType._def,{...J,currentPath:[...J.currentPath,"items"]})};if($.minSize)$4(Y,"minItems",$.minSize.value,$.minSize.message,J);if($.maxSize)$4(Y,"maxItems",$.maxSize.value,$.maxSize.message,J);return Y}function Lx($,J){if($.rest)return{type:"array",minItems:$.items.length,items:$.items.map((Q,Y)=>P$(Q._def,{...J,currentPath:[...J.currentPath,"items",`${Y}`]})).reduce((Q,Y)=>Y===void 0?Q:[...Q,Y],[]),additionalItems:P$($.rest._def,{...J,currentPath:[...J.currentPath,"additionalItems"]})};else return{type:"array",minItems:$.items.length,maxItems:$.items.length,items:$.items.map((Q,Y)=>P$(Q._def,{...J,currentPath:[...J.currentPath,"items",`${Y}`]})).reduce((Q,Y)=>Y===void 0?Q:[...Q,Y],[])}}function Ix($){return{not:u4($)}}function Bx($){return u4($)}var Fx=($,J)=>{return P$($.innerType._def,J)};var jx=($,J,Q)=>{switch(J){case J$.ZodString:return cN($,Q);case J$.ZodNumber:return Mx($,Q);case J$.ZodObject:return Hx($,Q);case J$.ZodBigInt:return sk($,Q);case J$.ZodBoolean:return ek();case J$.ZodDate:return bI($,Q);case J$.ZodUndefined:return Ix(Q);case J$.ZodNull:return Ux(Q);case J$.ZodArray:return ak($,Q);case J$.ZodUnion:case J$.ZodDiscriminatedUnion:return Nx($,Q);case J$.ZodIntersection:return Yx($,Q);case J$.ZodTuple:return Lx($,Q);case J$.ZodRecord:return iN($,Q);case J$.ZodLiteral:return Gx($,Q);case J$.ZodEnum:return Xx($);case J$.ZodNativeEnum:return Kx($);case J$.ZodNullable:return wx($,Q);case J$.ZodOptional:return Ax($,Q);case J$.ZodMap:return Vx($,Q);case J$.ZodSet:return qx($,Q);case J$.ZodLazy:return()=>$.getter()._def;case J$.ZodPromise:return Zx($,Q);case J$.ZodNaN:case J$.ZodNever:return Dx(Q);case J$.ZodEffects:return Qx($,Q);case J$.ZodAny:return u4(Q);case J$.ZodUnknown:return Bx(Q);case J$.ZodDefault:return Jx($,Q);case J$.ZodBranded:return nN($,Q);case J$.ZodReadonly:return Fx($,Q);case J$.ZodCatch:return $x($,Q);case J$.ZodPipeline:return zx($,Q);case J$.ZodFunction:case J$.ZodVoid:case J$.ZodSymbol:return;default:return((Y)=>{return})(J)}};function P$($,J,Q=!1){let Y=J.seen.get($);if(J.override){let V=J.override?.($,J,Y,Q);if(V!==ok)return V}if(Y&&!Q){let V=h1$(Y,J);if(V!==void 0)return V}let X={def:$,path:J.currentPath,jsonSchema:void 0};J.seen.set($,X);let G=jx($,$.typeName,J),W=typeof G==="function"?P$(G(),J):G;if(W)u1$($,J,W);if(J.postProcess){let V=J.postProcess(W,$,J);return X.jsonSchema=W,V}return X.jsonSchema=W,W}var h1$=($,J)=>{switch(J.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:pN(J.currentPath,$.path)};case"none":case"seen":{if($.path.length<J.currentPath.length&&$.path.every((Q,Y)=>J.currentPath[Y]===Q))return console.warn(`Recursive reference detected at ${J.currentPath.join("/")}! Defaulting to any`),u4(J);return J.$refStrategy==="seen"?u4(J):void 0}}},u1$=($,J,Q)=>{if($.description){if(Q.description=$.description,J.markdownDescription)Q.markdownDescription=$.description}return Q};var hI=($,J)=>{let Q=tk(J),Y=typeof J==="object"&&J.definitions?Object.entries(J.definitions).reduce((K,[D,O])=>({...K,[D]:P$(O._def,{...Q,currentPath:[...Q.basePath,Q.definitionPath,D]},!0)??u4(Q)}),{}):void 0,X=typeof J==="string"?J:J?.nameStrategy==="title"?void 0:J?.name,G=P$($._def,X===void 0?Q:{...Q,currentPath:[...Q.basePath,Q.definitionPath,X]},!1)??u4(Q),W=typeof J==="object"&&J.name!==void 0&&J.nameStrategy==="title"?J.name:void 0;if(W!==void 0)G.title=W;if(Q.flags.hasReferencedOpenAiAnyType){if(!Y)Y={};if(!Y[Q.openAiAnyTypeName])Y[Q.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:Q.$refStrategy==="relative"?"1":[...Q.basePath,Q.definitionPath,Q.openAiAnyTypeName].join("/")}}}let V=X===void 0?Y?{...G,[Q.definitionPath]:Y}:G:{$ref:[...Q.$refStrategy==="relative"?[]:Q.basePath,Q.definitionPath,X].join("/"),[Q.definitionPath]:{...Y,[X]:G}};if(Q.target==="jsonSchema7")V.$schema="http://json-schema.org/draft-07/schema#";else if(Q.target==="jsonSchema2019-09"||Q.target==="openAi")V.$schema="https://json-schema.org/draft/2019-09/schema#";if(Q.target==="openAi"&&(("anyOf"in V)||("oneOf"in V)||("allOf"in V)||("type"in V)&&Array.isArray(V.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return V};function m1$($){if(!$)return"draft-7";if($==="jsonSchema7"||$==="draft-7")return"draft-7";if($==="jsonSchema2019-09"||$==="draft-2020-12")return"draft-2020-12";return"draft-7"}function uI($,J){if($1($))return cX($,{target:m1$(J?.target),io:J?.pipeStrategy??"input"});return hI($,{strictUnions:J?.strictUnions??!0,pipeStrategy:J?.pipeStrategy??"input"})}function mI($){let Q=q8($)?.method;if(!Q)throw Error("Schema is missing a method literal");let Y=iO(Q);if(typeof Y!=="string")throw Error("Schema method literal must be a string");return Y}function lI($,J){let Q=Z8($,J);if(!Q.success)throw Q.error;return Q.data}var l1$=60000;class dI{constructor($){if(this._options=$,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(SN,(J)=>{this._oncancel(J)}),this.setNotificationHandler(TN,(J)=>{this._onprogress(J)}),this.setRequestHandler(RN,(J)=>({})),this._taskStore=$?.taskStore,this._taskMessageQueue=$?.taskMessageQueue,this._taskStore)this.setRequestHandler(CN,async(J,Q)=>{let Y=await this._taskStore.getTask(J.params.taskId,Q.sessionId);if(!Y)throw new F$(_$.InvalidParams,"Failed to retrieve task: Task not found");return{...Y}}),this.setRequestHandler(PN,async(J,Q)=>{let Y=async()=>{let X=J.params.taskId;if(this._taskMessageQueue){let W;while(W=await this._taskMessageQueue.dequeue(X,Q.sessionId)){if(W.type==="response"||W.type==="error"){let V=W.message,K=V.id,D=this._requestResolvers.get(K);if(D)if(this._requestResolvers.delete(K),W.type==="response")D(V);else{let O=V,N=new F$(O.error.code,O.error.message,O.error.data);D(N)}else{let O=W.type==="response"?"Response":"Error";this._onerror(Error(`${O} handler missing for request ${K}`))}continue}await this._transport?.send(W.message,{relatedRequestId:Q.requestId})}}let G=await this._taskStore.getTask(X,Q.sessionId);if(!G)throw new F$(_$.InvalidParams,`Task not found: ${X}`);if(!B8(G.status))return await this._waitForTaskUpdate(X,Q.signal),await Y();if(B8(G.status)){let W=await this._taskStore.getTaskResult(X,Q.sessionId);return this._clearTaskQueue(X),{...W,_meta:{...W._meta,[I8]:{taskId:X}}}}return await Y()};return await Y()}),this.setRequestHandler(kN,async(J,Q)=>{try{let{tasks:Y,nextCursor:X}=await this._taskStore.listTasks(J.params?.cursor,Q.sessionId);return{tasks:Y,nextCursor:X,_meta:{}}}catch(Y){throw new F$(_$.InvalidParams,`Failed to list tasks: ${Y instanceof Error?Y.message:String(Y)}`)}}),this.setRequestHandler(fN,async(J,Q)=>{try{let Y=await this._taskStore.getTask(J.params.taskId,Q.sessionId);if(!Y)throw new F$(_$.InvalidParams,`Task not found: ${J.params.taskId}`);if(B8(Y.status))throw new F$(_$.InvalidParams,`Cannot cancel task in terminal status: ${Y.status}`);await this._taskStore.updateTaskStatus(J.params.taskId,"cancelled","Client cancelled task execution.",Q.sessionId),this._clearTaskQueue(J.params.taskId);let X=await this._taskStore.getTask(J.params.taskId,Q.sessionId);if(!X)throw new F$(_$.InvalidParams,`Task not found after cancellation: ${J.params.taskId}`);return{_meta:{},...X}}catch(Y){if(Y instanceof F$)throw Y;throw new F$(_$.InvalidRequest,`Failed to cancel task: ${Y instanceof Error?Y.message:String(Y)}`)}})}async _oncancel($){if(!$.params.requestId)return;this._requestHandlerAbortControllers.get($.params.requestId)?.abort($.params.reason)}_setupTimeout($,J,Q,Y,X=!1){this._timeoutInfo.set($,{timeoutId:setTimeout(Y,J),startTime:Date.now(),timeout:J,maxTotalTimeout:Q,resetTimeoutOnProgress:X,onTimeout:Y})}_resetTimeout($){let J=this._timeoutInfo.get($);if(!J)return!1;let Q=Date.now()-J.startTime;if(J.maxTotalTimeout&&Q>=J.maxTotalTimeout)throw this._timeoutInfo.delete($),F$.fromError(_$.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:J.maxTotalTimeout,totalElapsed:Q});return clearTimeout(J.timeoutId),J.timeoutId=setTimeout(J.onTimeout,J.timeout),!0}_cleanupTimeout($){let J=this._timeoutInfo.get($);if(J)clearTimeout(J.timeoutId),this._timeoutInfo.delete($)}async connect($){if(this._transport)throw Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=$;let J=this.transport?.onclose;this._transport.onclose=()=>{J?.(),this._onclose()};let Q=this.transport?.onerror;this._transport.onerror=(X)=>{Q?.(X),this._onerror(X)};let Y=this._transport?.onmessage;this._transport.onmessage=(X,G)=>{if(Y?.(X,G),zV(X)||fk(X))this._onresponse(X);else if(II(X))this._onrequest(X,G);else if(xk(X))this._onnotification(X);else this._onerror(Error(`Unknown message type: ${JSON.stringify(X)}`))},await this._transport.start()}_onclose(){let $=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let Q of this._timeoutInfo.values())clearTimeout(Q.timeoutId);this._timeoutInfo.clear();for(let Q of this._requestHandlerAbortControllers.values())Q.abort();this._requestHandlerAbortControllers.clear();let J=F$.fromError(_$.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let Q of $.values())Q(J)}_onerror($){this.onerror?.($)}_onnotification($){let J=this._notificationHandlers.get($.method)??this.fallbackNotificationHandler;if(J===void 0)return;Promise.resolve().then(()=>J($)).catch((Q)=>this._onerror(Error(`Uncaught error in notification handler: ${Q}`)))}_onrequest($,J){let Q=this._requestHandlers.get($.method)??this.fallbackRequestHandler,Y=this._transport,X=$.params?._meta?.[I8]?.taskId;if(Q===void 0){let D={jsonrpc:"2.0",id:$.id,error:{code:_$.MethodNotFound,message:"Method not found"}};if(X&&this._taskMessageQueue)this._enqueueTaskMessage(X,{type:"error",message:D,timestamp:Date.now()},Y?.sessionId).catch((O)=>this._onerror(Error(`Failed to enqueue error response: ${O}`)));else Y?.send(D).catch((O)=>this._onerror(Error(`Failed to send an error response: ${O}`)));return}let G=new AbortController;this._requestHandlerAbortControllers.set($.id,G);let W=vk($.params)?$.params.task:void 0,V=this._taskStore?this.requestTaskStore($,Y?.sessionId):void 0,K={signal:G.signal,sessionId:Y?.sessionId,_meta:$.params?._meta,sendNotification:async(D)=>{if(G.signal.aborted)return;let O={relatedRequestId:$.id};if(X)O.relatedTask={taskId:X};await this.notification(D,O)},sendRequest:async(D,O,N)=>{if(G.signal.aborted)throw new F$(_$.ConnectionClosed,"Request was cancelled");let w={...N,relatedRequestId:$.id};if(X&&!w.relatedTask)w.relatedTask={taskId:X};let M=w.relatedTask?.taskId??X;if(M&&V)await V.updateTaskStatus(M,"input_required");return await this.request(D,O,w)},authInfo:J?.authInfo,requestId:$.id,requestInfo:J?.requestInfo,taskId:X,taskStore:V,taskRequestedTtl:W?.ttl,closeSSEStream:J?.closeSSEStream,closeStandaloneSSEStream:J?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if(W)this.assertTaskHandlerCapability($.method)}).then(()=>Q($,K)).then(async(D)=>{if(G.signal.aborted)return;let O={result:D,jsonrpc:"2.0",id:$.id};if(X&&this._taskMessageQueue)await this._enqueueTaskMessage(X,{type:"response",message:O,timestamp:Date.now()},Y?.sessionId);else await Y?.send(O)},async(D)=>{if(G.signal.aborted)return;let O={jsonrpc:"2.0",id:$.id,error:{code:Number.isSafeInteger(D.code)?D.code:_$.InternalError,message:D.message??"Internal error",...D.data!==void 0&&{data:D.data}}};if(X&&this._taskMessageQueue)await this._enqueueTaskMessage(X,{type:"error",message:O,timestamp:Date.now()},Y?.sessionId);else await Y?.send(O)}).catch((D)=>this._onerror(Error(`Failed to send response: ${D}`))).finally(()=>{if(this._requestHandlerAbortControllers.get($.id)===G)this._requestHandlerAbortControllers.delete($.id)})}_onprogress($){let{progressToken:J,...Q}=$.params,Y=Number(J),X=this._progressHandlers.get(Y);if(!X){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify($)}`));return}let G=this._responseHandlers.get(Y),W=this._timeoutInfo.get(Y);if(W&&G&&W.resetTimeoutOnProgress)try{this._resetTimeout(Y)}catch(V){this._responseHandlers.delete(Y),this._progressHandlers.delete(Y),this._cleanupTimeout(Y),G(V);return}X(Q)}_onresponse($){let J=Number($.id),Q=this._requestResolvers.get(J);if(Q){if(this._requestResolvers.delete(J),zV($))Q($);else{let G=new F$($.error.code,$.error.message,$.error.data);Q(G)}return}let Y=this._responseHandlers.get(J);if(Y===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify($)}`));return}this._responseHandlers.delete(J),this._cleanupTimeout(J);let X=!1;if(zV($)&&$.result&&typeof $.result==="object"){let G=$.result;if(G.task&&typeof G.task==="object"){let W=G.task;if(typeof W.taskId==="string")X=!0,this._taskProgressTokens.set(W.taskId,J)}}if(!X)this._progressHandlers.delete(J);if(zV($))Y($);else{let G=F$.fromError($.error.code,$.error.message,$.error.data);Y(G)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream($,J,Q){let{task:Y}=Q??{};if(!Y){try{yield{type:"result",result:await this.request($,J,Q)}}catch(G){yield{type:"error",error:G instanceof F$?G:new F$(_$.InternalError,String(G))}}return}let X;try{let G=await this.request($,Z5,Q);if(G.task)X=G.task.taskId,yield{type:"taskCreated",task:G.task};else throw new F$(_$.InternalError,"Task creation did not return a task");while(!0){let W=await this.getTask({taskId:X},Q);if(yield{type:"taskStatus",task:W},B8(W.status)){if(W.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:X},J,Q)};else if(W.status==="failed")yield{type:"error",error:new F$(_$.InternalError,`Task ${X} failed`)};else if(W.status==="cancelled")yield{type:"error",error:new F$(_$.InternalError,`Task ${X} was cancelled`)};return}if(W.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:X},J,Q)};return}let V=W.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((K)=>setTimeout(K,V)),Q?.signal?.throwIfAborted()}}catch(G){yield{type:"error",error:G instanceof F$?G:new F$(_$.InternalError,String(G))}}}request($,J,Q){let{relatedRequestId:Y,resumptionToken:X,onresumptiontoken:G,task:W,relatedTask:V}=Q??{};return new Promise((K,D)=>{let O=(I)=>{D(I)};if(!this._transport){O(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod($.method),W)this.assertTaskCapability($.method)}catch(I){O(I);return}Q?.signal?.throwIfAborted();let N=this._requestMessageId++,w={...$,jsonrpc:"2.0",id:N};if(Q?.onprogress)this._progressHandlers.set(N,Q.onprogress),w.params={...$.params,_meta:{...$.params?._meta||{},progressToken:N}};if(W)w.params={...w.params,task:W};if(V)w.params={...w.params,_meta:{...w.params?._meta||{},[I8]:V}};let M=(I)=>{this._responseHandlers.delete(N),this._progressHandlers.delete(N),this._cleanupTimeout(N),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:N,reason:String(I)}},{relatedRequestId:Y,resumptionToken:X,onresumptiontoken:G}).catch((B)=>this._onerror(Error(`Failed to send cancellation: ${B}`)));let E=I instanceof F$?I:new F$(_$.RequestTimeout,String(I));D(E)};this._responseHandlers.set(N,(I)=>{if(Q?.signal?.aborted)return;if(I instanceof Error)return D(I);try{let E=Z8(J,I.result);if(!E.success)D(E.error);else K(E.data)}catch(E){D(E)}}),Q?.signal?.addEventListener("abort",()=>{M(Q?.signal?.reason)});let z=Q?.timeout??l1$,q=()=>M(F$.fromError(_$.RequestTimeout,"Request timed out",{timeout:z}));this._setupTimeout(N,z,Q?.maxTotalTimeout,q,Q?.resetTimeoutOnProgress??!1);let F=V?.taskId;if(F){let I=(E)=>{let B=this._responseHandlers.get(N);if(B)B(E);else this._onerror(Error(`Response handler missing for side-channeled request ${N}`))};this._requestResolvers.set(N,I),this._enqueueTaskMessage(F,{type:"request",message:w,timestamp:Date.now()}).catch((E)=>{this._cleanupTimeout(N),D(E)})}else this._transport.send(w,{relatedRequestId:Y,resumptionToken:X,onresumptiontoken:G}).catch((I)=>{this._cleanupTimeout(N),D(I)})})}async getTask($,J){return this.request({method:"tasks/get",params:$},vN,J)}async getTaskResult($,J,Q){return this.request({method:"tasks/result",params:$},J,Q)}async listTasks($,J){return this.request({method:"tasks/list",params:$},xN,J)}async cancelTask($,J){return this.request({method:"tasks/cancel",params:$},yk,J)}async notification($,J){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability($.method);let Q=J?.relatedTask?.taskId;if(Q){let W={...$,jsonrpc:"2.0",params:{...$.params,_meta:{...$.params?._meta||{},[I8]:J.relatedTask}}};await this._enqueueTaskMessage(Q,{type:"notification",message:W,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes($.method)&&!$.params&&!J?.relatedRequestId&&!J?.relatedTask){if(this._pendingDebouncedNotifications.has($.method))return;this._pendingDebouncedNotifications.add($.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete($.method),!this._transport)return;let W={...$,jsonrpc:"2.0"};if(J?.relatedTask)W={...W,params:{...W.params,_meta:{...W.params?._meta||{},[I8]:J.relatedTask}}};this._transport?.send(W,J).catch((V)=>this._onerror(V))});return}let G={...$,jsonrpc:"2.0"};if(J?.relatedTask)G={...G,params:{...G.params,_meta:{...G.params?._meta||{},[I8]:J.relatedTask}}};await this._transport.send(G,J)}setRequestHandler($,J){let Q=mI($);this.assertRequestHandlerCapability(Q),this._requestHandlers.set(Q,(Y,X)=>{let G=lI($,Y);return Promise.resolve(J(G,X))})}removeRequestHandler($){this._requestHandlers.delete($)}assertCanSetRequestHandler($){if(this._requestHandlers.has($))throw Error(`A request handler for ${$} already exists, which would be overridden`)}setNotificationHandler($,J){let Q=mI($);this._notificationHandlers.set(Q,(Y)=>{let X=lI($,Y);return Promise.resolve(J(X))})}removeNotificationHandler($){this._notificationHandlers.delete($)}_cleanupTaskProgressHandler($){let J=this._taskProgressTokens.get($);if(J!==void 0)this._progressHandlers.delete(J),this._taskProgressTokens.delete($)}async _enqueueTaskMessage($,J,Q){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let Y=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue($,J,Q,Y)}async _clearTaskQueue($,J){if(this._taskMessageQueue){let Q=await this._taskMessageQueue.dequeueAll($,J);for(let Y of Q)if(Y.type==="request"&&II(Y.message)){let X=Y.message.id,G=this._requestResolvers.get(X);if(G)G(new F$(_$.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(X);else this._onerror(Error(`Resolver missing for request ${X} during task ${$} cleanup`))}}}async _waitForTaskUpdate($,J){let Q=this._options?.defaultTaskPollInterval??1000;try{let Y=await this._taskStore?.getTask($);if(Y?.pollInterval)Q=Y.pollInterval}catch{}return new Promise((Y,X)=>{if(J.aborted){X(new F$(_$.InvalidRequest,"Request cancelled"));return}let G=setTimeout(Y,Q);J.addEventListener("abort",()=>{clearTimeout(G),X(new F$(_$.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore($,J){let Q=this._taskStore;if(!Q)throw Error("No task store configured");return{createTask:async(Y)=>{if(!$)throw Error("No request provided");return await Q.createTask(Y,$.id,{method:$.method,params:$.params},J)},getTask:async(Y)=>{let X=await Q.getTask(Y,J);if(!X)throw new F$(_$.InvalidParams,"Failed to retrieve task: Task not found");return X},storeTaskResult:async(Y,X,G)=>{await Q.storeTaskResult(Y,X,G,J);let W=await Q.getTask(Y,J);if(W){let V=BV.parse({method:"notifications/tasks/status",params:W});if(await this.notification(V),B8(W.status))this._cleanupTaskProgressHandler(Y)}},getTaskResult:(Y)=>{return Q.getTaskResult(Y,J)},updateTaskStatus:async(Y,X,G)=>{let W=await Q.getTask(Y,J);if(!W)throw new F$(_$.InvalidParams,`Task "${Y}" not found - it may have been cleaned up`);if(B8(W.status))throw new F$(_$.InvalidParams,`Cannot update task "${Y}" from terminal status "${W.status}" to "${X}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await Q.updateTaskStatus(Y,X,G,J);let V=await Q.getTask(Y,J);if(V){let K=BV.parse({method:"notifications/tasks/status",params:V});if(await this.notification(K),B8(V.status))this._cleanupTaskProgressHandler(Y)}},listTasks:(Y)=>{return Q.listTasks(Y,J)}}}}function Ex($){return $!==null&&typeof $==="object"&&!Array.isArray($)}function _x($,J){let Q={...$};for(let Y in J){let X=Y,G=J[X];if(G===void 0)continue;let W=Q[X];if(Ex(W)&&Ex(G))Q[X]={...W,...G};else Q[X]=G}return Q}var Dh=e6(yB(),1),Uh=e6(Kh(),1);function U7$(){let $=new Dh.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return Uh.default($),$}class oB{constructor($){this._ajv=$??U7$()}getValidator($){let J="$id"in $&&typeof $.$id==="string"?this._ajv.getSchema($.$id)??this._ajv.compile($):this._ajv.compile($);return(Q)=>{if(J(Q))return{valid:!0,data:Q,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(J.errors)}}}}class rB{constructor($){this._server=$}requestStream($,J,Q){return this._server.requestStream($,J,Q)}createMessageStream($,J){let Q=this._server.getClientCapabilities();if(($.tools||$.toolChoice)&&!Q?.sampling?.tools)throw Error("Client does not support sampling tools capability.");if($.messages.length>0){let Y=$.messages[$.messages.length-1],X=Array.isArray(Y.content)?Y.content:[Y.content],G=X.some((D)=>D.type==="tool_result"),W=$.messages.length>1?$.messages[$.messages.length-2]:void 0,V=W?Array.isArray(W.content)?W.content:[W.content]:[],K=V.some((D)=>D.type==="tool_use");if(G){if(X.some((D)=>D.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!K)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(K){let D=new Set(V.filter((N)=>N.type==="tool_use").map((N)=>N.id)),O=new Set(X.filter((N)=>N.type==="tool_result").map((N)=>N.toolUseId));if(D.size!==O.size||![...D].every((N)=>O.has(N)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:$},EV,J)}elicitInputStream($,J){let Q=this._server.getClientCapabilities(),Y=$.mode??"form";switch(Y){case"url":{if(!Q?.elicitation?.url)throw Error("Client does not support url elicitation.");break}case"form":{if(!Q?.elicitation?.form)throw Error("Client does not support form elicitation.");break}}let X=Y==="form"&&$.mode===void 0?{...$,mode:"form"}:$;return this.requestStream({method:"elicitation/create",params:X},I5,J)}async getTask($,J){return this._server.getTask({taskId:$},J)}async getTaskResult($,J,Q){return this._server.getTaskResult({taskId:$},J,Q)}async listTasks($,J){return this._server.listTasks($?{cursor:$}:void 0,J)}async cancelTask($,J){return this._server.cancelTask({taskId:$},J)}}function Oh($,J,Q){if(!$)throw Error(`${Q} does not support task creation (required for ${J})`);switch(J){case"tools/call":if(!$.tools?.call)throw Error(`${Q} does not support task creation for tools/call (required for ${J})`);break;default:break}}function Nh($,J,Q){if(!$)throw Error(`${Q} does not support task creation (required for ${J})`);switch(J){case"sampling/createMessage":if(!$.sampling?.createMessage)throw Error(`${Q} does not support task creation for sampling/createMessage (required for ${J})`);break;case"elicitation/create":if(!$.elicitation?.create)throw Error(`${Q} does not support task creation for elicitation/create (required for ${J})`);break;default:break}}class tB extends dI{constructor($,J){super(J);if(this._serverInfo=$,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(jV.options.map((Q,Y)=>[Q,Y])),this.isMessageIgnored=(Q,Y)=>{let X=this._loggingLevels.get(Y);return X?this.LOG_LEVEL_SEVERITY.get(Q)<this.LOG_LEVEL_SEVERITY.get(X):!1},this._capabilities=J?.capabilities??{},this._instructions=J?.instructions,this._jsonSchemaValidator=J?.jsonSchemaValidator??new oB,this.setRequestHandler(jI,(Q)=>this._oninitialize(Q)),this.setNotificationHandler(EI,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(PI,async(Q,Y)=>{let X=Y.sessionId||Y.requestInfo?.headers["mcp-session-id"]||void 0,{level:G}=Q.params,W=jV.safeParse(G);if(W.success)this._loggingLevels.set(X,W.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new rB(this)};return this._experimental}registerCapabilities($){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=_x(this._capabilities,$)}setRequestHandler($,J){let Y=q8($)?.method;if(!Y)throw Error("Schema is missing a method literal");let X;if($1(Y)){let W=Y;X=W._zod?.def?.value??W.value}else{let W=Y;X=W._def?.value??W.value}if(typeof X!=="string")throw Error("Schema method literal must be a string");if(X==="tools/call"){let W=async(V,K)=>{let D=Z8(L5,V);if(!D.success){let M=D.error instanceof Error?D.error.message:String(D.error);throw new F$(_$.InvalidParams,`Invalid tools/call request: ${M}`)}let{params:O}=D.data,N=await Promise.resolve(J(V,K));if(O.task){let M=Z8(Z5,N);if(!M.success){let z=M.error instanceof Error?M.error.message:String(M.error);throw new F$(_$.InvalidParams,`Invalid task creation result: ${z}`)}return M.data}let w=Z8(lN,N);if(!w.success){let M=w.error instanceof Error?w.error.message:String(w.error);throw new F$(_$.InvalidParams,`Invalid tools/call result: ${M}`)}return w.data};return super.setRequestHandler($,W)}return super.setRequestHandler($,J)}assertCapabilityForMethod($){switch($){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${$})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${$})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${$})`);break;case"ping":break}}assertNotificationCapability($){switch($){case"notifications/message":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${$})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${$})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${$})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${$})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${$})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability($){if(!this._capabilities)return;switch($){case"completion/complete":if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${$})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${$})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${$})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${$})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${$})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${$})`);break;case"ping":case"initialize":break}}assertTaskCapability($){Nh(this._clientCapabilities?.tasks?.requests,$,"Client")}assertTaskHandlerCapability($){if(!this._capabilities)return;Oh(this._capabilities.tasks?.requests,$,"Server")}async _oninitialize($){let J=$.params.protocolVersion;return this._clientCapabilities=$.params.capabilities,this._clientVersion=$.params.clientInfo,{protocolVersion:Rk.includes(J)?J:qI,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},_N)}async createMessage($,J){if($.tools||$.toolChoice){if(!this._clientCapabilities?.sampling?.tools)throw Error("Client does not support sampling tools capability.")}if($.messages.length>0){let Q=$.messages[$.messages.length-1],Y=Array.isArray(Q.content)?Q.content:[Q.content],X=Y.some((K)=>K.type==="tool_result"),G=$.messages.length>1?$.messages[$.messages.length-2]:void 0,W=G?Array.isArray(G.content)?G.content:[G.content]:[],V=W.some((K)=>K.type==="tool_use");if(X){if(Y.some((K)=>K.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!V)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(V){let K=new Set(W.filter((O)=>O.type==="tool_use").map((O)=>O.id)),D=new Set(Y.filter((O)=>O.type==="tool_result").map((O)=>O.toolUseId));if(K.size!==D.size||![...K].every((O)=>D.has(O)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}if($.tools)return this.request({method:"sampling/createMessage",params:$},kI,J);return this.request({method:"sampling/createMessage",params:$},EV,J)}async elicitInput($,J){switch($.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support url elicitation.");let Y=$;return this.request({method:"elicitation/create",params:Y},I5,J)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw Error("Client does not support form elicitation.");let Y=$.mode==="form"?$:{...$,mode:"form"},X=await this.request({method:"elicitation/create",params:Y},I5,J);if(X.action==="accept"&&X.content&&Y.requestedSchema)try{let W=this._jsonSchemaValidator.getValidator(Y.requestedSchema)(X.content);if(!W.valid)throw new F$(_$.InvalidParams,`Elicitation response content does not match requested schema: ${W.errorMessage}`)}catch(G){if(G instanceof F$)throw G;throw new F$(_$.InternalError,`Error validating elicitation response: ${G instanceof Error?G.message:String(G)}`)}return X}}}createElicitationCompletionNotifier($,J){if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:$}},J)}async listRoots($,J){return this.request({method:"roots/list",params:$},xI,J)}async sendLoggingMessage($,J){if(this._capabilities.logging){if(!this.isMessageIgnored($.level,J))return this.notification({method:"notifications/message",params:$})}}async sendResourceUpdated($){return this.notification({method:"notifications/resources/updated",params:$})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}var Mh=Symbol.for("mcp.completable");function aB($){return!!$&&typeof $==="object"&&Mh in $}function Hh($){return $[Mh]?.complete}var wh;(function($){$.Completable="McpCompletable"})(wh||(wh={}));var O7$=/^[A-Za-z0-9._-]{1,128}$/;function N7$($){let J=[];if($.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if($.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${$.length})`]};if($.includes(" "))J.push("Tool name contains spaces, which may cause parsing issues");if($.includes(","))J.push("Tool name contains commas, which may cause parsing issues");if($.startsWith("-")||$.endsWith("-"))J.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts");if($.startsWith(".")||$.endsWith("."))J.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts");if(!O7$.test($)){let Q=$.split("").filter((Y)=>!/[A-Za-z0-9._-]/.test(Y)).filter((Y,X,G)=>G.indexOf(Y)===X);return J.push(`Tool name contains invalid characters: ${Q.map((Y)=>`"${Y}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:J}}return{isValid:!0,warnings:J}}function w7$($,J){if(J.length>0){console.warn(`Tool name validation warning for "${$}":`);for(let Q of J)console.warn(` - ${Q}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function sB($){let J=N7$($);return w7$($,J.warnings),J.isValid}class eB{constructor($){this._mcpServer=$}registerToolTask($,J,Q){let Y={taskSupport:"required",...J.execution};if(Y.taskSupport==="forbidden")throw Error(`Cannot register task-based tool '${$}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool($,J.title,J.description,J.inputSchema,J.outputSchema,J.annotations,Y,J._meta,Q)}}class JF{constructor($,J){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new tB($,J)}get experimental(){if(!this._experimental)this._experimental={tasks:new eB(this)};return this._experimental}async connect($){return await this.server.connect($)}async close(){await this.server.close()}setToolRequestHandlers(){if(this._toolHandlersInitialized)return;this.server.assertCanSetRequestHandler(C8(mN)),this.server.assertCanSetRequestHandler(C8(L5)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(mN,()=>({tools:Object.entries(this._registeredTools).filter(([,$])=>$.enabled).map(([$,J])=>{let Q={name:$,title:J.title,description:J.description,inputSchema:(()=>{let Y=V5(J.inputSchema);return Y?uI(Y,{strictUnions:!0,pipeStrategy:"input"}):M7$})(),annotations:J.annotations,execution:J.execution,_meta:J._meta};if(J.outputSchema){let Y=V5(J.outputSchema);if(Y)Q.outputSchema=uI(Y,{strictUnions:!0,pipeStrategy:"output"})}return Q})})),this.server.setRequestHandler(L5,async($,J)=>{try{let Q=this._registeredTools[$.params.name];if(!Q)throw new F$(_$.InvalidParams,`Tool ${$.params.name} not found`);if(!Q.enabled)throw new F$(_$.InvalidParams,`Tool ${$.params.name} disabled`);let Y=!!$.params.task,X=Q.execution?.taskSupport,G="createTask"in Q.handler;if((X==="required"||X==="optional")&&!G)throw new F$(_$.InternalError,`Tool ${$.params.name} has taskSupport '${X}' but was not registered with registerToolTask`);if(X==="required"&&!Y)throw new F$(_$.MethodNotFound,`Tool ${$.params.name} requires task augmentation (taskSupport: 'required')`);if(X==="optional"&&!Y&&G)return await this.handleAutomaticTaskPolling(Q,$,J);let W=await this.validateToolInput(Q,$.params.arguments,$.params.name),V=await this.executeToolHandler(Q,W,J);if(Y)return V;return await this.validateToolOutput(Q,V,$.params.name),V}catch(Q){if(Q instanceof F$){if(Q.code===_$.UrlElicitationRequired)throw Q}return this.createToolError(Q instanceof Error?Q.message:String(Q))}}),this._toolHandlersInitialized=!0}createToolError($){return{content:[{type:"text",text:$}],isError:!0}}async validateToolInput($,J,Q){if(!$.inputSchema)return;let X=V5($.inputSchema)??$.inputSchema,G=await nO(X,J);if(!G.success){let W="error"in G?G.error:"Unknown error",V=cO(W);throw new F$(_$.InvalidParams,`Input validation error: Invalid arguments for tool ${Q}: ${V}`)}return G.data}async validateToolOutput($,J,Q){if(!$.outputSchema)return;if(!("content"in J))return;if(J.isError)return;if(!J.structuredContent)throw new F$(_$.InvalidParams,`Output validation error: Tool ${Q} has an output schema but no structured content was provided`);let Y=V5($.outputSchema),X=await nO(Y,J.structuredContent);if(!X.success){let G="error"in X?X.error:"Unknown error",W=cO(G);throw new F$(_$.InvalidParams,`Output validation error: Invalid structured content for tool ${Q}: ${W}`)}}async executeToolHandler($,J,Q){let Y=$.handler;if("createTask"in Y){if(!Q.taskStore)throw Error("No task store provided.");let G={...Q,taskStore:Q.taskStore};if($.inputSchema)return await Promise.resolve(Y.createTask(J,G));else return await Promise.resolve(Y.createTask(G))}if($.inputSchema)return await Promise.resolve(Y(J,Q));else return await Promise.resolve(Y(Q))}async handleAutomaticTaskPolling($,J,Q){if(!Q.taskStore)throw Error("No task store provided for task-capable tool.");let Y=await this.validateToolInput($,J.params.arguments,J.params.name),X=$.handler,G={...Q,taskStore:Q.taskStore},W=Y?await Promise.resolve(X.createTask(Y,G)):await Promise.resolve(X.createTask(G)),V=W.task.taskId,K=W.task,D=K.pollInterval??5000;while(K.status!=="completed"&&K.status!=="failed"&&K.status!=="cancelled"){await new Promise((N)=>setTimeout(N,D));let O=await Q.taskStore.getTask(V);if(!O)throw new F$(_$.InternalError,`Task ${V} not found during polling`);K=O}return await Q.taskStore.getTaskResult(V)}setCompletionRequestHandler(){if(this._completionHandlerInitialized)return;this.server.assertCanSetRequestHandler(C8(dN)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(dN,async($)=>{switch($.params.ref.type){case"ref/prompt":return pk($),this.handlePromptCompletion($,$.params.ref);case"ref/resource":return nk($),this.handleResourceCompletion($,$.params.ref);default:throw new F$(_$.InvalidParams,`Invalid completion reference: ${$.params.ref}`)}}),this._completionHandlerInitialized=!0}async handlePromptCompletion($,J){let Q=this._registeredPrompts[J.name];if(!Q)throw new F$(_$.InvalidParams,`Prompt ${J.name} not found`);if(!Q.enabled)throw new F$(_$.InvalidParams,`Prompt ${J.name} disabled`);if(!Q.argsSchema)return tV;let X=q8(Q.argsSchema)?.[$.params.argument.name];if(!aB(X))return tV;let G=Hh(X);if(!G)return tV;let W=await G($.params.argument.value,$.params.context);return zh(W)}async handleResourceCompletion($,J){let Q=Object.values(this._registeredResourceTemplates).find((G)=>G.resourceTemplate.uriTemplate.toString()===J.uri);if(!Q){if(this._registeredResources[J.uri])return tV;throw new F$(_$.InvalidParams,`Resource template ${$.params.ref.uri} not found`)}let Y=Q.resourceTemplate.completeCallback($.params.argument.name);if(!Y)return tV;let X=await Y($.params.argument.value,$.params.context);return zh(X)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(C8(bN)),this.server.assertCanSetRequestHandler(C8(gN)),this.server.assertCanSetRequestHandler(C8(yN)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(bN,async($,J)=>{let Q=Object.entries(this._registeredResources).filter(([X,G])=>G.enabled).map(([X,G])=>({uri:X,name:G.name,...G.metadata})),Y=[];for(let X of Object.values(this._registeredResourceTemplates)){if(!X.resourceTemplate.listCallback)continue;let G=await X.resourceTemplate.listCallback(J);for(let W of G.resources)Y.push({...X.metadata,...W})}return{resources:[...Q,...Y]}}),this.server.setRequestHandler(gN,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([J,Q])=>({name:J,uriTemplate:Q.resourceTemplate.uriTemplate.toString(),...Q.metadata}))}}),this.server.setRequestHandler(yN,async($,J)=>{let Q=new URL($.params.uri),Y=this._registeredResources[Q.toString()];if(Y){if(!Y.enabled)throw new F$(_$.InvalidParams,`Resource ${Q} disabled`);return Y.readCallback(Q,J)}for(let X of Object.values(this._registeredResourceTemplates)){let G=X.resourceTemplate.uriTemplate.match(Q.toString());if(G)return X.readCallback(Q,G,J)}throw new F$(_$.InvalidParams,`Resource ${Q} not found`)}),this._resourceHandlersInitialized=!0}setPromptRequestHandlers(){if(this._promptHandlersInitialized)return;this.server.assertCanSetRequestHandler(C8(hN)),this.server.assertCanSetRequestHandler(C8(uN)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(hN,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,$])=>$.enabled).map(([$,J])=>{return{name:$,title:J.title,description:J.description,arguments:J.argsSchema?H7$(J.argsSchema):void 0}})})),this.server.setRequestHandler(uN,async($,J)=>{let Q=this._registeredPrompts[$.params.name];if(!Q)throw new F$(_$.InvalidParams,`Prompt ${$.params.name} not found`);if(!Q.enabled)throw new F$(_$.InvalidParams,`Prompt ${$.params.name} disabled`);if(Q.argsSchema){let Y=V5(Q.argsSchema),X=await nO(Y,$.params.arguments);if(!X.success){let V="error"in X?X.error:"Unknown error",K=cO(V);throw new F$(_$.InvalidParams,`Invalid arguments for prompt ${$.params.name}: ${K}`)}let G=X.data,W=Q.callback;return await Promise.resolve(W(G,J))}else{let Y=Q.callback;return await Promise.resolve(Y(J))}}),this._promptHandlersInitialized=!0}resource($,J,...Q){let Y;if(typeof Q[0]==="object")Y=Q.shift();let X=Q[0];if(typeof J==="string"){if(this._registeredResources[J])throw Error(`Resource ${J} is already registered`);let G=this._createRegisteredResource($,void 0,J,Y,X);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),G}else{if(this._registeredResourceTemplates[$])throw Error(`Resource template ${$} is already registered`);let G=this._createRegisteredResourceTemplate($,void 0,J,Y,X);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),G}}registerResource($,J,Q,Y){if(typeof J==="string"){if(this._registeredResources[J])throw Error(`Resource ${J} is already registered`);let X=this._createRegisteredResource($,Q.title,J,Q,Y);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),X}else{if(this._registeredResourceTemplates[$])throw Error(`Resource template ${$} is already registered`);let X=this._createRegisteredResourceTemplate($,Q.title,J,Q,Y);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),X}}_createRegisteredResource($,J,Q,Y,X){let G={name:$,title:J,metadata:Y,readCallback:X,enabled:!0,disable:()=>G.update({enabled:!1}),enable:()=>G.update({enabled:!0}),remove:()=>G.update({uri:null}),update:(W)=>{if(typeof W.uri<"u"&&W.uri!==Q){if(delete this._registeredResources[Q],W.uri)this._registeredResources[W.uri]=G}if(typeof W.name<"u")G.name=W.name;if(typeof W.title<"u")G.title=W.title;if(typeof W.metadata<"u")G.metadata=W.metadata;if(typeof W.callback<"u")G.readCallback=W.callback;if(typeof W.enabled<"u")G.enabled=W.enabled;this.sendResourceListChanged()}};return this._registeredResources[Q]=G,G}_createRegisteredResourceTemplate($,J,Q,Y,X){let G={resourceTemplate:Q,title:J,metadata:Y,readCallback:X,enabled:!0,disable:()=>G.update({enabled:!1}),enable:()=>G.update({enabled:!0}),remove:()=>G.update({name:null}),update:(K)=>{if(typeof K.name<"u"&&K.name!==$){if(delete this._registeredResourceTemplates[$],K.name)this._registeredResourceTemplates[K.name]=G}if(typeof K.title<"u")G.title=K.title;if(typeof K.template<"u")G.resourceTemplate=K.template;if(typeof K.metadata<"u")G.metadata=K.metadata;if(typeof K.callback<"u")G.readCallback=K.callback;if(typeof K.enabled<"u")G.enabled=K.enabled;this.sendResourceListChanged()}};this._registeredResourceTemplates[$]=G;let W=Q.uriTemplate.variableNames;if(Array.isArray(W)&&W.some((K)=>!!Q.completeCallback(K)))this.setCompletionRequestHandler();return G}_createRegisteredPrompt($,J,Q,Y,X){let G={title:J,description:Q,argsSchema:Y===void 0?void 0:iX(Y),callback:X,enabled:!0,disable:()=>G.update({enabled:!1}),enable:()=>G.update({enabled:!0}),remove:()=>G.update({name:null}),update:(W)=>{if(typeof W.name<"u"&&W.name!==$){if(delete this._registeredPrompts[$],W.name)this._registeredPrompts[W.name]=G}if(typeof W.title<"u")G.title=W.title;if(typeof W.description<"u")G.description=W.description;if(typeof W.argsSchema<"u")G.argsSchema=iX(W.argsSchema);if(typeof W.callback<"u")G.callback=W.callback;if(typeof W.enabled<"u")G.enabled=W.enabled;this.sendPromptListChanged()}};if(this._registeredPrompts[$]=G,Y){if(Object.values(Y).some((V)=>{let K=V instanceof A5?V._def?.innerType:V;return aB(K)}))this.setCompletionRequestHandler()}return G}_createRegisteredTool($,J,Q,Y,X,G,W,V,K){sB($);let D={title:J,description:Q,inputSchema:Ah(Y),outputSchema:Ah(X),annotations:G,execution:W,_meta:V,handler:K,enabled:!0,disable:()=>D.update({enabled:!1}),enable:()=>D.update({enabled:!0}),remove:()=>D.update({name:null}),update:(O)=>{if(typeof O.name<"u"&&O.name!==$){if(typeof O.name==="string")sB(O.name);if(delete this._registeredTools[$],O.name)this._registeredTools[O.name]=D}if(typeof O.title<"u")D.title=O.title;if(typeof O.description<"u")D.description=O.description;if(typeof O.paramsSchema<"u")D.inputSchema=iX(O.paramsSchema);if(typeof O.outputSchema<"u")D.outputSchema=iX(O.outputSchema);if(typeof O.callback<"u")D.handler=O.callback;if(typeof O.annotations<"u")D.annotations=O.annotations;if(typeof O._meta<"u")D._meta=O._meta;if(typeof O.enabled<"u")D.enabled=O.enabled;this.sendToolListChanged()}};return this._registeredTools[$]=D,this.setToolRequestHandlers(),this.sendToolListChanged(),D}tool($,...J){if(this._registeredTools[$])throw Error(`Tool ${$} is already registered`);let Q,Y,X,G;if(typeof J[0]==="string")Q=J.shift();if(J.length>1){let V=J[0];if($F(V)){if(Y=J.shift(),J.length>1&&typeof J[0]==="object"&&J[0]!==null&&!$F(J[0]))G=J.shift()}else if(typeof V==="object"&&V!==null){if(Object.values(V).some((K)=>typeof K==="object"&&K!==null))throw Error(`Tool ${$} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);G=J.shift()}}let W=J[0];return this._createRegisteredTool($,void 0,Q,Y,X,G,{taskSupport:"forbidden"},void 0,W)}registerTool($,J,Q){if(this._registeredTools[$])throw Error(`Tool ${$} is already registered`);let{title:Y,description:X,inputSchema:G,outputSchema:W,annotations:V,_meta:K}=J;return this._createRegisteredTool($,Y,X,G,W,V,{taskSupport:"forbidden"},K,Q)}prompt($,...J){if(this._registeredPrompts[$])throw Error(`Prompt ${$} is already registered`);let Q;if(typeof J[0]==="string")Q=J.shift();let Y;if(J.length>1)Y=J.shift();let X=J[0],G=this._createRegisteredPrompt($,void 0,Q,Y,X);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),G}registerPrompt($,J,Q){if(this._registeredPrompts[$])throw Error(`Prompt ${$} is already registered`);let{title:Y,description:X,argsSchema:G}=J,W=this._createRegisteredPrompt($,Y,X,G,Q);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),W}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage($,J){return this.server.sendLoggingMessage($,J)}sendResourceListChanged(){if(this.isConnected())this.server.sendResourceListChanged()}sendToolListChanged(){if(this.isConnected())this.server.sendToolListChanged()}sendPromptListChanged(){if(this.isConnected())this.server.sendPromptListChanged()}}var M7$={type:"object",properties:{}};function Zh($){return $!==null&&typeof $==="object"&&"parse"in $&&typeof $.parse==="function"&&"safeParse"in $&&typeof $.safeParse==="function"}function qh($){return"_def"in $||"_zod"in $||Zh($)}function $F($){if(typeof $!=="object"||$===null)return!1;if(qh($))return!1;if(Object.keys($).length===0)return!0;return Object.values($).some(Zh)}function Ah($){if(!$)return;if($F($))return iX($);if(!qh($))throw Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return $}function H7$($){let J=q8($);if(!J)return[];return Object.entries(J).map(([Q,Y])=>{let X=wP(Y),G=MP(Y);return{name:Q,description:X,required:!G}})}function C8($){let Q=q8($)?.method;if(!Q)throw Error("Schema is missing a method literal");let Y=iO(Q);if(typeof Y==="string")return Y;throw Error("Schema method literal must be a string")}function zh($){return{completion:{values:$.slice(0,100),total:$.length,hasMore:$.length>100}}}var tV={completion:{values:[],hasMore:!1}};import Ih from"node:process";class QF{append($){this._buffer=this._buffer?Buffer.concat([this._buffer,$]):$}readMessage(){if(!this._buffer)return null;let $=this._buffer.indexOf(`
135
135
  `);if($===-1)return null;let J=this._buffer.toString("utf8",0,$).replace(/\r$/,"");return this._buffer=this._buffer.subarray($+1),A7$(J)}clear(){this._buffer=void 0}}function A7$($){return bk.parse(JSON.parse($))}function Lh($){return JSON.stringify($)+`
136
- `}class XF{constructor($=Ih.stdin,J=Ih.stdout){this._stdin=$,this._stdout=J,this._readBuffer=new QF,this._started=!1,this._ondata=(Q)=>{this._readBuffer.append(Q),this.processReadBuffer()},this._onerror=(Q)=>{this.onerror?.(Q)}}async start(){if(this._started)throw Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){while(!0)try{let $=this._readBuffer.readMessage();if($===null)break;this.onmessage?.($)}catch($){this.onerror?.($)}}async close(){if(this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0)this._stdin.pause();this._readBuffer.clear(),this.onclose?.()}send($){return new Promise((J)=>{let Q=Lh($);if(this._stdout.write(Q))J();else this._stdout.once("drain",J)})}}var Cw={name:"@0xmonaco/mcp-server",version:"1.0.31",type:"module",repository:{type:"git",url:"https://github.com/Monaco-Research/monaco-sdk.git",directory:"packages/mcp-server"},description:"MCP server for the Monaco SDK",engines:{node:">=18"},bin:"./dist/bin.js",files:["dist"],scripts:{build:"bun build src/bin.ts --outdir dist --target node --format esm --minify",dev:"bun --watch src/bin.ts",start:"bun dist/bin.js",clean:"rm -rf dist",lint:"biome lint .",test:"bun test"},author:"@codebycarson",dependencies:{"@0xmonaco/core":"1.0.31","@0xmonaco/types":"1.0.31","@modelcontextprotocol/sdk":"^1.29.0","node-fetch":"^3.3.2",viem:"^2.53.1",ws:"^8.21.0",zod:"^4.4.3"},devDependencies:{"@types/bun":"latest","@types/ws":"^8.18.1"}};var Z7$={mainnet:"https://evm-rpc.sei-apis.com",development:"https://evm-rpc-testnet.sei-apis.com",staging:"https://evm-rpc-testnet.sei-apis.com",local:"http://localhost:8545"};function v8($=process.env){let J=$.MONACO_PRIVATE_KEY||null;if(J&&!J.startsWith("0x"))throw Error("MONACO_PRIVATE_KEY must start with '0x'.");let Q=$.MONACO_CLIENT_ID||null;if(J&&!Q)throw Error("MONACO_CLIENT_ID is required when MONACO_PRIVATE_KEY is set.");let Y=["mainnet","development","staging","local"],X=$.MONACO_NETWORK||"mainnet";if(!Y.includes(X))throw Error(`MONACO_NETWORK must be one of: ${Y.join(", ")}. Got: "${X}".`);let G=X,W=$.MONACO_RPC_URL||Z7$[G];return{privateKey:J,clientId:Q,network:G,seiRpcUrl:W}}function q7$($){return $.replace(/_([a-z])/g,(J,Q)=>Q.toUpperCase())}function f5($){if($===null||$===void 0)return $;if(typeof $!=="object")return $;if(Array.isArray($))return $.map((Q)=>f5(Q));let J={};for(let[Q,Y]of Object.entries($))J[q7$(Q)]=typeof Y==="object"&&Y!==null?f5(Y):Y;return J}W1();JK();W1();IF();M9();N9();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var IJ=BigInt(0),U0=BigInt(1),Ku=BigInt(2),m7$=BigInt(8),l7$={zip215:!0};function d7$($){let J=YK($);return g1($,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...J})}function Du($){let J=d7$($),{Fp:Q,n:Y,prehash:X,hash:G,randomBytes:W,nByteLength:V,h:K}=J,D=Ku<<BigInt(V*8)-U0,O=Q.create,N=HQ(J.n,J.nBitLength);function w(S,k){let b=Q.sqr(S),t=Q.sqr(k),n=Q.add(Q.mul(J.a,b),t),N$=Q.add(Q.ONE,Q.mul(J.d,Q.mul(b,t)));return Q.eql(n,N$)}if(!w(J.Gx,J.Gy))throw Error("bad curve params: generator point");let M=J.uvRatio||((S,k)=>{try{return{isValid:!0,value:Q.sqrt(S*Q.inv(k))}}catch(b){return{isValid:!1,value:IJ}}}),z=J.adjustScalarBytes||((S)=>S),q=J.domain||((S,k,b)=>{if(qJ("phflag",b),k.length||b)throw Error("Contexts/pre-hash are not supported");return S});function F(S,k,b=!1){let t=b?U0:IJ;K0("coordinate "+S,k,t,D)}function I(S){if(!(S instanceof L))throw Error("ExtendedPoint expected")}let E=u5((S,k)=>{let{ex:b,ey:t,ez:n}=S,N$=S.is0();if(k==null)k=N$?m7$:Q.inv(n);let Z$=O(b*k),w$=O(t*k),f$=O(n*k);if(N$)return{x:IJ,y:U0};if(f$!==U0)throw Error("invZ was invalid");return{x:Z$,y:w$}}),B=u5((S)=>{let{a:k,d:b}=J;if(S.is0())throw Error("bad point: ZERO");let{ex:t,ey:n,ez:N$,et:Z$}=S,w$=O(t*t),f$=O(n*n),H4=O(N$*N$),o$=O(H4*H4),p4=O(w$*k),a4=O(H4*O(p4+f$)),Y6=O(o$+O(b*O(w$*f$)));if(a4!==Y6)throw Error("bad point: equation left != right (1)");let d6=O(t*n),s4=O(N$*Z$);if(d6!==s4)throw Error("bad point: equation left != right (2)");return!0});class L{constructor(S,k,b,t){F("x",S),F("y",k),F("z",b,!0),F("t",t),this.ex=S,this.ey=k,this.ez=b,this.et=t,Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(S){if(S instanceof L)throw Error("extended point not allowed");let{x:k,y:b}=S||{};return F("x",k),F("y",b),new L(k,b,U0,O(k*b))}static normalizeZ(S){let k=MQ(Q,S.map((b)=>b.ez));return S.map((b,t)=>b.toAffine(k[t])).map(L.fromAffine)}static msm(S,k){return uw(L,N,S,k)}_setWindowSize(S){P.setWindowSize(this,S)}assertValidity(){B(this)}equals(S){I(S);let{ex:k,ey:b,ez:t}=this,{ex:n,ey:N$,ez:Z$}=S,w$=O(k*Z$),f$=O(n*t),H4=O(b*Z$),o$=O(N$*t);return w$===f$&&H4===o$}is0(){return this.equals(L.ZERO)}negate(){return new L(O(-this.ex),this.ey,this.ez,O(-this.et))}double(){let{a:S}=J,{ex:k,ey:b,ez:t}=this,n=O(k*k),N$=O(b*b),Z$=O(Ku*O(t*t)),w$=O(S*n),f$=k+b,H4=O(O(f$*f$)-n-N$),o$=w$+N$,p4=o$-Z$,a4=w$-N$,Y6=O(H4*p4),d6=O(o$*a4),s4=O(H4*a4),I0=O(p4*o$);return new L(Y6,d6,I0,s4)}add(S){I(S);let{a:k,d:b}=J,{ex:t,ey:n,ez:N$,et:Z$}=this,{ex:w$,ey:f$,ez:H4,et:o$}=S,p4=O(t*w$),a4=O(n*f$),Y6=O(Z$*b*o$),d6=O(N$*H4),s4=O((t+n)*(w$+f$)-p4-a4),I0=d6-Y6,p6=d6+Y6,dQ=O(a4-k*p4),T7=O(s4*I0),XY=O(p6*dQ),fD=O(s4*dQ),q1=O(I0*p6);return new L(T7,XY,q1,fD)}subtract(S){return this.add(S.negate())}wNAF(S){return P.wNAFCached(this,S,L.normalizeZ)}multiply(S){let k=S;K0("scalar",k,U0,Y);let{p:b,f:t}=this.wNAF(k);return L.normalizeZ([b,t])[0]}multiplyUnsafe(S,k=L.ZERO){let b=S;if(K0("scalar",b,IJ,Y),b===IJ)return R;if(this.is0()||b===U0)return this;return P.wNAFCachedUnsafe(this,b,L.normalizeZ,k)}isSmallOrder(){return this.multiplyUnsafe(K).is0()}isTorsionFree(){return P.unsafeLadder(this,Y).is0()}toAffine(S){return E(this,S)}clearCofactor(){let{h:S}=J;if(S===U0)return this;return this.multiplyUnsafe(S)}static fromHex(S,k=!1){let{d:b,a:t}=J,n=Q.BYTES;S=z4("pointHex",S,n),qJ("zip215",k);let N$=S.slice(),Z$=S[n-1];N$[n-1]=Z$&-129;let w$=D9(N$),f$=k?D:Q.ORDER;K0("pointHex.y",w$,IJ,f$);let H4=O(w$*w$),o$=O(H4-U0),p4=O(b*H4-t),{isValid:a4,value:Y6}=M(o$,p4);if(!a4)throw Error("Point.fromHex: invalid y coordinate");let d6=(Y6&U0)===U0,s4=(Z$&128)!==0;if(!k&&Y6===IJ&&s4)throw Error("Point.fromHex: x=0 and x_0=1");if(s4!==d6)Y6=O(-Y6);return L.fromAffine({x:Y6,y:w$})}static fromPrivateKey(S){let{scalar:k}=T(S);return j.multiply(k)}toRawBytes(){let{x:S,y:k}=this.toAffine(),b=h5(k,Q.BYTES);return b[b.length-1]|=S&U0?128:0,b}toHex(){return f8(this.toRawBytes())}}L.BASE=new L(J.Gx,J.Gy,U0,O(J.Gx*J.Gy)),L.ZERO=new L(IJ,U0,U0,IJ);let{BASE:j,ZERO:R}=L,P=hw(L,V*8);function x(S){return V4(S,Y)}function y(S){return x(D9(S))}function T(S){let k=Q.BYTES;S=z4("private key",S,k);let b=z4("hashed private key",G(S),2*k),t=z(b.slice(0,k)),n=b.slice(k,2*k),N$=y(t);return{head:t,prefix:n,scalar:N$}}function d(S){let{head:k,prefix:b,scalar:t}=T(S),n=j.multiply(t),N$=n.toRawBytes();return{head:k,prefix:b,scalar:t,point:n,pointBytes:N$}}function p(S){return d(S).pointBytes}function Y$(S=Uint8Array.of(),...k){let b=A6(...k);return y(G(q(b,z4("context",S),!!X)))}function c(S,k,b={}){if(S=z4("message",S),X)S=X(S);let{prefix:t,scalar:n,pointBytes:N$}=d(k),Z$=Y$(b.context,t,S),w$=j.multiply(Z$).toRawBytes(),f$=Y$(b.context,w$,N$,S),H4=x(Z$+f$*n);K0("signature.s",H4,IJ,Y);let o$=A6(w$,h5(H4,Q.BYTES));return z4("result",o$,Q.BYTES*2)}let l=l7$;function K$(S,k,b,t=l){let{context:n,zip215:N$}=t,Z$=Q.BYTES;if(S=z4("signature",S,2*Z$),k=z4("message",k),b=z4("publicKey",b,Z$),N$!==void 0)qJ("zip215",N$);if(X)k=X(k);let w$=D9(S.slice(Z$,2*Z$)),f$,H4,o$;try{f$=L.fromHex(b,N$),H4=L.fromHex(S.slice(0,Z$),N$),o$=j.multiplyUnsafe(w$)}catch(Y6){return!1}if(!N$&&f$.isSmallOrder())return!1;let p4=Y$(n,H4.toRawBytes(),f$.toRawBytes(),k);return H4.add(f$.multiplyUnsafe(p4)).subtract(o$).clearCofactor().equals(L.ZERO)}return j._setWindowSize(8),{CURVE:J,getPublicKey:p,sign:c,verify:K$,ExtendedPoint:L,utils:{getExtendedPublicKey:d,randomPrivateKey:()=>W(Q.BYTES),precompute(S=8,k=L.BASE){return k._setWindowSize(S),k.multiply(BigInt(3)),k}}}}M9();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var BF=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Mu=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),iI$=BigInt(0),o7$=BigInt(1),Hu=BigInt(2),oI$=BigInt(3),r7$=BigInt(5),t7$=BigInt(8);function a7$($){let J=BigInt(10),Q=BigInt(20),Y=BigInt(40),X=BigInt(80),G=BF,V=$*$%G*$%G,K=m4(V,Hu,G)*V%G,D=m4(K,o7$,G)*$%G,O=m4(D,r7$,G)*D%G,N=m4(O,J,G)*O%G,w=m4(N,Q,G)*N%G,M=m4(w,Y,G)*w%G,z=m4(M,X,G)*M%G,q=m4(z,X,G)*M%G,F=m4(q,J,G)*O%G;return{pow_p_5_8:m4(F,Hu,G)*$%G,b2:V}}function s7$($){return $[0]&=248,$[31]&=127,$[31]|=64,$}function e7$($,J){let Q=BF,Y=V4(J*J*J,Q),X=V4(Y*Y*J,Q),G=a7$($*X).pow_p_5_8,W=V4($*Y*G,Q),V=V4(J*W*W,Q),K=W,D=V4(W*Mu,Q),O=V===$,N=V===V4(-$,Q),w=V===V4(-$*Mu,Q);if(O)W=K;if(N||w)W=D;if(Ju(W,Q))W=V4(-W,Q);return{isValid:O||N,value:W}}var Au=(()=>HQ(BF,void 0,!0))(),$W$=(()=>({a:Au.create(BigInt(-1)),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Au,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:t7$,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:dh,randomBytes:g5,adjustScalarBytes:s7$,uvRatio:e7$}))(),mw=(()=>Du($W$))();JK();W1();function lw(){if(typeof globalThis.crypto?.getRandomValues!=="function")throw Error("Secure randomness (crypto.getRandomValues) is unavailable; cannot generate a session keypair.");let $=mw.utils.randomPrivateKey();return{publicKey:mw.getPublicKey($),privateKey:$}}function dw($){return Y9($.publicKey)}function pw($){return Y9($.privateKey)}function zu($,J){return{publicKey:aV($),privateKey:aV(J)}}function Zu($){return Y9(OQ($))}function qu($,J,Q,Y){return`${$.toUpperCase()}
136
+ `}class XF{constructor($=Ih.stdin,J=Ih.stdout){this._stdin=$,this._stdout=J,this._readBuffer=new QF,this._started=!1,this._ondata=(Q)=>{this._readBuffer.append(Q),this.processReadBuffer()},this._onerror=(Q)=>{this.onerror?.(Q)}}async start(){if(this._started)throw Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){while(!0)try{let $=this._readBuffer.readMessage();if($===null)break;this.onmessage?.($)}catch($){this.onerror?.($)}}async close(){if(this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0)this._stdin.pause();this._readBuffer.clear(),this.onclose?.()}send($){return new Promise((J)=>{let Q=Lh($);if(this._stdout.write(Q))J();else this._stdout.once("drain",J)})}}var Cw={name:"@0xmonaco/mcp-server",version:"1.0.32",type:"module",repository:{type:"git",url:"https://github.com/Monaco-Research/monaco-sdk.git",directory:"packages/mcp-server"},description:"MCP server for the Monaco SDK",engines:{node:">=18"},bin:"./dist/bin.js",files:["dist"],scripts:{build:"bun build src/bin.ts --outdir dist --target node --format esm --minify",dev:"bun --watch src/bin.ts",start:"bun dist/bin.js",clean:"rm -rf dist",lint:"biome lint .",test:"bun test"},author:"@codebycarson",dependencies:{"@0xmonaco/core":"1.0.32","@0xmonaco/types":"1.0.32","@modelcontextprotocol/sdk":"^1.29.0","node-fetch":"^3.3.2",viem:"^2.53.1",ws:"^8.21.0",zod:"^4.4.3"},devDependencies:{"@types/bun":"latest","@types/ws":"^8.18.1"}};var Z7$={mainnet:"https://evm-rpc.sei-apis.com",development:"https://evm-rpc-testnet.sei-apis.com",staging:"https://evm-rpc-testnet.sei-apis.com",local:"http://localhost:8545"};function v8($=process.env){let J=$.MONACO_PRIVATE_KEY||null;if(J&&!J.startsWith("0x"))throw Error("MONACO_PRIVATE_KEY must start with '0x'.");let Q=$.MONACO_CLIENT_ID||null;if(J&&!Q)throw Error("MONACO_CLIENT_ID is required when MONACO_PRIVATE_KEY is set.");let Y=["mainnet","development","staging","local"],X=$.MONACO_NETWORK||"mainnet";if(!Y.includes(X))throw Error(`MONACO_NETWORK must be one of: ${Y.join(", ")}. Got: "${X}".`);let G=X,W=$.MONACO_RPC_URL||Z7$[G];return{privateKey:J,clientId:Q,network:G,seiRpcUrl:W}}function q7$($){return $.replace(/_([a-z])/g,(J,Q)=>Q.toUpperCase())}function f5($){if($===null||$===void 0)return $;if(typeof $!=="object")return $;if(Array.isArray($))return $.map((Q)=>f5(Q));let J={};for(let[Q,Y]of Object.entries($))J[q7$(Q)]=typeof Y==="object"&&Y!==null?f5(Y):Y;return J}W1();JK();W1();IF();M9();N9();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var IJ=BigInt(0),U0=BigInt(1),Ku=BigInt(2),m7$=BigInt(8),l7$={zip215:!0};function d7$($){let J=YK($);return g1($,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...J})}function Du($){let J=d7$($),{Fp:Q,n:Y,prehash:X,hash:G,randomBytes:W,nByteLength:V,h:K}=J,D=Ku<<BigInt(V*8)-U0,O=Q.create,N=HQ(J.n,J.nBitLength);function w(S,k){let b=Q.sqr(S),t=Q.sqr(k),n=Q.add(Q.mul(J.a,b),t),N$=Q.add(Q.ONE,Q.mul(J.d,Q.mul(b,t)));return Q.eql(n,N$)}if(!w(J.Gx,J.Gy))throw Error("bad curve params: generator point");let M=J.uvRatio||((S,k)=>{try{return{isValid:!0,value:Q.sqrt(S*Q.inv(k))}}catch(b){return{isValid:!1,value:IJ}}}),z=J.adjustScalarBytes||((S)=>S),q=J.domain||((S,k,b)=>{if(qJ("phflag",b),k.length||b)throw Error("Contexts/pre-hash are not supported");return S});function F(S,k,b=!1){let t=b?U0:IJ;K0("coordinate "+S,k,t,D)}function I(S){if(!(S instanceof L))throw Error("ExtendedPoint expected")}let E=u5((S,k)=>{let{ex:b,ey:t,ez:n}=S,N$=S.is0();if(k==null)k=N$?m7$:Q.inv(n);let Z$=O(b*k),w$=O(t*k),f$=O(n*k);if(N$)return{x:IJ,y:U0};if(f$!==U0)throw Error("invZ was invalid");return{x:Z$,y:w$}}),B=u5((S)=>{let{a:k,d:b}=J;if(S.is0())throw Error("bad point: ZERO");let{ex:t,ey:n,ez:N$,et:Z$}=S,w$=O(t*t),f$=O(n*n),H4=O(N$*N$),o$=O(H4*H4),p4=O(w$*k),a4=O(H4*O(p4+f$)),Y6=O(o$+O(b*O(w$*f$)));if(a4!==Y6)throw Error("bad point: equation left != right (1)");let d6=O(t*n),s4=O(N$*Z$);if(d6!==s4)throw Error("bad point: equation left != right (2)");return!0});class L{constructor(S,k,b,t){F("x",S),F("y",k),F("z",b,!0),F("t",t),this.ex=S,this.ey=k,this.ez=b,this.et=t,Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(S){if(S instanceof L)throw Error("extended point not allowed");let{x:k,y:b}=S||{};return F("x",k),F("y",b),new L(k,b,U0,O(k*b))}static normalizeZ(S){let k=MQ(Q,S.map((b)=>b.ez));return S.map((b,t)=>b.toAffine(k[t])).map(L.fromAffine)}static msm(S,k){return uw(L,N,S,k)}_setWindowSize(S){P.setWindowSize(this,S)}assertValidity(){B(this)}equals(S){I(S);let{ex:k,ey:b,ez:t}=this,{ex:n,ey:N$,ez:Z$}=S,w$=O(k*Z$),f$=O(n*t),H4=O(b*Z$),o$=O(N$*t);return w$===f$&&H4===o$}is0(){return this.equals(L.ZERO)}negate(){return new L(O(-this.ex),this.ey,this.ez,O(-this.et))}double(){let{a:S}=J,{ex:k,ey:b,ez:t}=this,n=O(k*k),N$=O(b*b),Z$=O(Ku*O(t*t)),w$=O(S*n),f$=k+b,H4=O(O(f$*f$)-n-N$),o$=w$+N$,p4=o$-Z$,a4=w$-N$,Y6=O(H4*p4),d6=O(o$*a4),s4=O(H4*a4),I0=O(p4*o$);return new L(Y6,d6,I0,s4)}add(S){I(S);let{a:k,d:b}=J,{ex:t,ey:n,ez:N$,et:Z$}=this,{ex:w$,ey:f$,ez:H4,et:o$}=S,p4=O(t*w$),a4=O(n*f$),Y6=O(Z$*b*o$),d6=O(N$*H4),s4=O((t+n)*(w$+f$)-p4-a4),I0=d6-Y6,p6=d6+Y6,dQ=O(a4-k*p4),T7=O(s4*I0),XY=O(p6*dQ),fD=O(s4*dQ),q1=O(I0*p6);return new L(T7,XY,q1,fD)}subtract(S){return this.add(S.negate())}wNAF(S){return P.wNAFCached(this,S,L.normalizeZ)}multiply(S){let k=S;K0("scalar",k,U0,Y);let{p:b,f:t}=this.wNAF(k);return L.normalizeZ([b,t])[0]}multiplyUnsafe(S,k=L.ZERO){let b=S;if(K0("scalar",b,IJ,Y),b===IJ)return R;if(this.is0()||b===U0)return this;return P.wNAFCachedUnsafe(this,b,L.normalizeZ,k)}isSmallOrder(){return this.multiplyUnsafe(K).is0()}isTorsionFree(){return P.unsafeLadder(this,Y).is0()}toAffine(S){return E(this,S)}clearCofactor(){let{h:S}=J;if(S===U0)return this;return this.multiplyUnsafe(S)}static fromHex(S,k=!1){let{d:b,a:t}=J,n=Q.BYTES;S=z4("pointHex",S,n),qJ("zip215",k);let N$=S.slice(),Z$=S[n-1];N$[n-1]=Z$&-129;let w$=D9(N$),f$=k?D:Q.ORDER;K0("pointHex.y",w$,IJ,f$);let H4=O(w$*w$),o$=O(H4-U0),p4=O(b*H4-t),{isValid:a4,value:Y6}=M(o$,p4);if(!a4)throw Error("Point.fromHex: invalid y coordinate");let d6=(Y6&U0)===U0,s4=(Z$&128)!==0;if(!k&&Y6===IJ&&s4)throw Error("Point.fromHex: x=0 and x_0=1");if(s4!==d6)Y6=O(-Y6);return L.fromAffine({x:Y6,y:w$})}static fromPrivateKey(S){let{scalar:k}=T(S);return j.multiply(k)}toRawBytes(){let{x:S,y:k}=this.toAffine(),b=h5(k,Q.BYTES);return b[b.length-1]|=S&U0?128:0,b}toHex(){return f8(this.toRawBytes())}}L.BASE=new L(J.Gx,J.Gy,U0,O(J.Gx*J.Gy)),L.ZERO=new L(IJ,U0,U0,IJ);let{BASE:j,ZERO:R}=L,P=hw(L,V*8);function x(S){return V4(S,Y)}function y(S){return x(D9(S))}function T(S){let k=Q.BYTES;S=z4("private key",S,k);let b=z4("hashed private key",G(S),2*k),t=z(b.slice(0,k)),n=b.slice(k,2*k),N$=y(t);return{head:t,prefix:n,scalar:N$}}function d(S){let{head:k,prefix:b,scalar:t}=T(S),n=j.multiply(t),N$=n.toRawBytes();return{head:k,prefix:b,scalar:t,point:n,pointBytes:N$}}function p(S){return d(S).pointBytes}function Y$(S=Uint8Array.of(),...k){let b=A6(...k);return y(G(q(b,z4("context",S),!!X)))}function c(S,k,b={}){if(S=z4("message",S),X)S=X(S);let{prefix:t,scalar:n,pointBytes:N$}=d(k),Z$=Y$(b.context,t,S),w$=j.multiply(Z$).toRawBytes(),f$=Y$(b.context,w$,N$,S),H4=x(Z$+f$*n);K0("signature.s",H4,IJ,Y);let o$=A6(w$,h5(H4,Q.BYTES));return z4("result",o$,Q.BYTES*2)}let l=l7$;function K$(S,k,b,t=l){let{context:n,zip215:N$}=t,Z$=Q.BYTES;if(S=z4("signature",S,2*Z$),k=z4("message",k),b=z4("publicKey",b,Z$),N$!==void 0)qJ("zip215",N$);if(X)k=X(k);let w$=D9(S.slice(Z$,2*Z$)),f$,H4,o$;try{f$=L.fromHex(b,N$),H4=L.fromHex(S.slice(0,Z$),N$),o$=j.multiplyUnsafe(w$)}catch(Y6){return!1}if(!N$&&f$.isSmallOrder())return!1;let p4=Y$(n,H4.toRawBytes(),f$.toRawBytes(),k);return H4.add(f$.multiplyUnsafe(p4)).subtract(o$).clearCofactor().equals(L.ZERO)}return j._setWindowSize(8),{CURVE:J,getPublicKey:p,sign:c,verify:K$,ExtendedPoint:L,utils:{getExtendedPublicKey:d,randomPrivateKey:()=>W(Q.BYTES),precompute(S=8,k=L.BASE){return k._setWindowSize(S),k.multiply(BigInt(3)),k}}}}M9();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var BF=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Mu=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),iI$=BigInt(0),o7$=BigInt(1),Hu=BigInt(2),oI$=BigInt(3),r7$=BigInt(5),t7$=BigInt(8);function a7$($){let J=BigInt(10),Q=BigInt(20),Y=BigInt(40),X=BigInt(80),G=BF,V=$*$%G*$%G,K=m4(V,Hu,G)*V%G,D=m4(K,o7$,G)*$%G,O=m4(D,r7$,G)*D%G,N=m4(O,J,G)*O%G,w=m4(N,Q,G)*N%G,M=m4(w,Y,G)*w%G,z=m4(M,X,G)*M%G,q=m4(z,X,G)*M%G,F=m4(q,J,G)*O%G;return{pow_p_5_8:m4(F,Hu,G)*$%G,b2:V}}function s7$($){return $[0]&=248,$[31]&=127,$[31]|=64,$}function e7$($,J){let Q=BF,Y=V4(J*J*J,Q),X=V4(Y*Y*J,Q),G=a7$($*X).pow_p_5_8,W=V4($*Y*G,Q),V=V4(J*W*W,Q),K=W,D=V4(W*Mu,Q),O=V===$,N=V===V4(-$,Q),w=V===V4(-$*Mu,Q);if(O)W=K;if(N||w)W=D;if(Ju(W,Q))W=V4(-W,Q);return{isValid:O||N,value:W}}var Au=(()=>HQ(BF,void 0,!0))(),$W$=(()=>({a:Au.create(BigInt(-1)),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Au,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:t7$,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:dh,randomBytes:g5,adjustScalarBytes:s7$,uvRatio:e7$}))(),mw=(()=>Du($W$))();JK();W1();function lw(){if(typeof globalThis.crypto?.getRandomValues!=="function")throw Error("Secure randomness (crypto.getRandomValues) is unavailable; cannot generate a session keypair.");let $=mw.utils.randomPrivateKey();return{publicKey:mw.getPublicKey($),privateKey:$}}function dw($){return Y9($.publicKey)}function pw($){return Y9($.privateKey)}function zu($,J){return{publicKey:aV($),privateKey:aV(J)}}function Zu($){return Y9(OQ($))}function qu($,J,Q,Y){return`${$.toUpperCase()}
137
137
  ${J}
138
138
  ${Q}
139
139
  ${Y}`}function Lu($,J){return`WS-AUTH
140
140
  ${$}
141
- ${J}`}function nw($,J){return Y9(mw.sign(b5(J),$))}var WK=[0.0001,0.001,0.01,0.1,1,10,100,1000,1e4];var JW$=1e4,QW$=15000,XW$=30000,YW$=1000,GW$=["created","activated","cancelled","parent_cancelled","triggered","failed","oco_cancelled"],WW$=["STOP_LOSS","TAKE_PROFIT"],VW$=["MARK_PRICE"],KW$=["PENDING_PARENT","ACTIVE","TRIGGERING","TRIGGERED","CANCELLED","EXPIRED","FAILED"],DW$=["POSITION","PARENT_ORDER"];function Iu($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function H9($,J){let Q=$[J];if(typeof Q!=="string"||Q.length===0)throw Error(`Invalid conditional order event: ${J} must be a non-empty string`);return Q}function y1($,J){let Q=$[J];if(Q===void 0||Q===null)return;if(typeof Q!=="string")throw Error(`Invalid conditional order event: ${J} must be a string`);return Q}function UW$($,J){let Q=$[J];if(typeof Q!=="boolean")throw Error(`Invalid conditional order event: ${J} must be a boolean`);return Q}function OW$($,J){let Q=$[J];if(Q===void 0||Q===null)return;if(typeof Q!=="number"||!Number.isFinite(Q))throw Error(`Invalid conditional order event: ${J} must be a finite number`);return Q}function g8($,J,Q){let Y=H9($,J);if(!Q.includes(Y))throw Error(`Invalid conditional order event: ${J} must be one of ${Q.join(", ")}`);return Y}function Bu($,J,Q){let Y=$[J];if(Y===void 0||Y===null)return;if(typeof Y!=="string"||!Q.includes(Y))throw Error(`Invalid conditional order event: ${J} must be one of ${Q.join(", ")}`);return Y}function NW$($){if(!Iu($))throw Error("Invalid conditional order event: payload must be an object");if(!Iu($.data))throw Error("Invalid conditional order event: data must be an object");let J=f5($.data);return{eventType:g8($,"event_type",["conditional_order_update"]),userId:H9($,"user_id"),data:{conditionalOrderId:H9(J,"conditionalOrderId"),tradingPairId:H9(J,"tradingPairId"),marginAccountId:H9(J,"marginAccountId"),positionId:y1(J,"positionId"),parentOrderId:y1(J,"parentOrderId"),associationType:Bu(J,"associationType",DW$),linkedGroupId:y1(J,"linkedGroupId"),conditionType:g8(J,"conditionType",WW$),triggerSource:g8(J,"triggerSource",VW$),triggerPrice:H9(J,"triggerPrice"),side:g8(J,"side",["BUY","SELL"]),positionSide:g8(J,"positionSide",["LONG","SHORT","NONE"]),orderType:g8(J,"orderType",["LIMIT","MARKET"]),limitPrice:y1(J,"limitPrice"),quantity:y1(J,"quantity"),slippageToleranceBps:OW$(J,"slippageToleranceBps"),reduceOnly:UW$(J,"reduceOnly"),timeInForce:Bu(J,"timeInForce",["GTC","IOC"]),state:g8(J,"state",KW$),triggeredOrderId:y1(J,"triggeredOrderId"),triggeredAt:y1(J,"triggeredAt"),activatedAt:y1(J,"activatedAt"),cancelledAt:y1(J,"cancelledAt"),expiresAt:y1(J,"expiresAt"),failureReason:y1(J,"failureReason"),reason:g8(J,"reason",GW$),updatedAt:H9(J,"updatedAt")}}}function FF($,J={}){let Q=null,Y=J.session,X=0,G=null,W=null,V=J.autoReconnect??!0,K=J.maxReconnectAttempts??Number.POSITIVE_INFINITY,D=Number.isFinite(J.reconnectBaseDelayMs)&&J.reconnectBaseDelayMs>0?J.reconnectBaseDelayMs:YW$,O=Number.isFinite(J.connectionTimeoutMs)&&J.connectionTimeoutMs>0?J.connectionTimeoutMs:JW$,N=null,w=new Map,M=()=>{if(!Q)return G?"reconnecting":"disconnected";switch(Q.readyState){case WebSocket.CONNECTING:return"connecting";case WebSocket.OPEN:return"connected";default:return G?"reconnecting":"disconnected"}},z=()=>$,q=()=>{if(!Y||Q?.readyState!==WebSocket.OPEN)return;let S=Date.now(),k=nw(aV(Y.privateKey),Lu(Y.publicKey,S));Q.send(JSON.stringify({type:"Authenticate",public_key:Y.publicKey,timestamp:S,signature:k}))},F=()=>{if(W)clearInterval(W),W=null},I=()=>{F(),W=setInterval(()=>{if(Q?.readyState===WebSocket.OPEN)Q.send(JSON.stringify({type:"Ping"}))},QW$)},E=()=>{if(G)clearTimeout(G),G=null},B=()=>{if(G)return;if(!V||X>=K){console.error("WebSocket: Max reconnect attempts reached");return}let S=Math.min(D*2**X,XW$);X++;let k=Math.random()*S;G=setTimeout(()=>{if(G=null,!V)return;P().catch((b)=>{console.warn("WebSocket: Failed to reconnect:",b),B()})},k),J.onStatusChange?.("reconnecting")},L=(S)=>{if(Q?.readyState===WebSocket.OPEN)Q.send(JSON.stringify(S))},j=()=>{let S=Array.from(w.keys());if(S.length>0)L({type:"Subscribe",channels:S})},R=(S)=>{if(S.type!=="Event"||!S.channel)return;for(let[k,b]of w)if(S.channel===k||S.channel.startsWith(`${k}:`))for(let t of b)t(S.data)},P=()=>{return new Promise((S,k)=>{if(Q?.readyState===WebSocket.CONNECTING||Q?.readyState===WebSocket.OPEN){S();return}try{let b=new WebSocket(z());Q=b;let t=setTimeout(()=>{if(Q!==b){S();return}if(b.readyState===WebSocket.CONNECTING)b.close(1000,"Connection timeout"),k(Error("WebSocket connection timeout"))},O);b.onopen=()=>{if(clearTimeout(t),Q!==b){S();return}if(X=0,E(),I(),q(),j(),J.onStatusChange?.("connected"),N!==null){let n=N;N=null,J.onResync?.({code:n,slowClient:n===1013})}S()},b.onmessage=(n)=>{if(Q!==b)return;try{let N$=JSON.parse(n.data);if(N$.type==="Pong")return;if(N$.type==="Ping"){L({type:"Pong"});return}R(N$)}catch(N$){console.warn("WebSocket: Failed to parse message",N$)}},b.onclose=(n)=>{if(clearTimeout(t),Q!==b){S();return}if(Q=null,F(),V&&n.code!==1000){if(N===null||n.code===1013)N=n.code;B()}if(!G)J.onStatusChange?.("disconnected")},b.onerror=()=>clearTimeout(t)}catch(b){J.onStatusChange?.("disconnected"),k(b)}})},x=()=>{V=!1,E(),F(),N=null,w.clear(),Q?.close(1000,"Client disconnect"),Q=null,J.onStatusChange?.("disconnected")},y=(S,k)=>{let b=!w.has(S);if(!w.has(S))w.set(S,new Set);if(w.get(S)?.add(k),b&&Q?.readyState===WebSocket.OPEN)L({type:"Subscribe",channels:[S]});return()=>{let t=w.get(S);if(t){if(t.delete(k),t.size===0){if(w.delete(S),Q?.readyState===WebSocket.OPEN)L({type:"Unsubscribe",channels:[S]})}}}};return{connect:P,disconnect:x,isConnected:()=>Q?.readyState===WebSocket.OPEN,getStatus:M,setSessionKeypair:(S)=>{if(Y=S??void 0,Y&&Q?.readyState===WebSocket.OPEN)q();else if(Y&&(!Q||Q.readyState===WebSocket.CLOSED))P().catch((k)=>{console.warn("WebSocket: Failed to connect after session update:",k)})},orders:(S,k,b)=>{let t=`orders:${S}:${k}`;return y(t,(n)=>{try{let N$=n,Z$={orderId:N$.order_id,eventType:N$.event_type,timestamp:N$.timestamp,data:f5(N$.data)};b(Z$)}catch(N$){console.error("WebSocket: Error processing order event",N$)}})},orderbook:(S,k,b,t,n)=>{if(!S||!k||b===void 0||!t)throw Error(`orderbook subscription requires all params: tradingPairId="${S}", tradingMode="${k}", magnitude=${b} (valid: ${WK.join(", ")}), quotationMode="${t}" (valid: "BASE", "QUOTE")`);if(!WK.includes(b))throw Error(`Invalid magnitude: ${b}. Must be one of: ${WK.join(", ")}`);let N$=`orderbook:${S}:${k}:${b}:${t.toLowerCase()}`;return y(N$,(Z$)=>{try{let w$=Z$,f$=w$.data,H4={tradingPairId:w$.trading_pair_id,tradingMode:w$.trading_mode,bids:(f$?.bids||[]).map((o$)=>({price:o$.price,quantity:o$.quantity,orderCount:o$.order_count||0})),asks:(f$?.asks||[]).map((o$)=>({price:o$.price,quantity:o$.quantity,orderCount:o$.order_count||0})),bestBid:f$?.best_bid,bestAsk:f$?.best_ask,bidVolume:f$?.bid_volume||void 0,askVolume:f$?.ask_volume||void 0,priceChange:f$?.price_change?{side:f$.price_change.side,oldPrice:f$.price_change.old_price,newPrice:f$.price_change.new_price,levelRemoved:f$.price_change.level_removed||!1,levelAdded:f$.price_change.level_added||!1}:void 0,baseDecimals:w$.base_decimals||0,quoteDecimals:w$.quote_decimals||0,timestamp:w$.timestamp||new Date().toISOString(),sequence:w$.sequence_number||0};n(H4)}catch(w$){console.error("WebSocket: Error processing orderbook event",w$)}})},ohlcv:(S,k,b,t)=>{let n=`ohlcv:${S}:${k}:${b}`;return y(n,(N$)=>{try{let Z$=N$,w$=Z$.data,f$={tradingPairId:Z$.trading_pair_id,tradingMode:Z$.trading_mode,interval:Z$.interval,candlestick:{T:w$.period_start||0,t:w$.period_end||0,o:w$.open||"0",h:w$.high||"0",l:w$.low||"0",c:w$.close||"0",v:w$.volume||"0",s:Z$.symbol,i:Z$.interval,n:w$.trades_count||0}};t(f$)}catch(Z$){console.error("WebSocket: Error processing OHLCV event",Z$)}})},trades:(S,k)=>{let b=`trades:${S}`;return y(b,(t)=>{try{let n=t,N$=n.data,Z$={eventType:"trade",tradingPairId:n.trading_pair_id,tradingMode:n.trading_mode.toUpperCase(),data:{tradeId:N$.trade_id,price:N$.price,quantity:N$.quantity,makerSide:N$.maker_side.toUpperCase(),executedAt:N$.executed_at}};k(Z$)}catch(n){console.error("WebSocket: Error processing trade event",n)}})},movements:(S)=>{return y("movements",(b)=>{try{let t=b,n=t.data,N$={eventType:"movement",userId:t.user_id,data:{id:n.id,entryType:n.entry_type,transactionType:n.transaction_type,tokenAddress:n.token_address,amount:String(n.amount),amountRaw:n.amount_raw,balanceBefore:n.balance_before!=null?String(n.balance_before):void 0,balanceAfter:n.balance_after!=null?String(n.balance_after):void 0,lockedBefore:n.locked_before!=null?String(n.locked_before):void 0,lockedAfter:n.locked_after!=null?String(n.locked_after):void 0,referenceId:n.reference_id,referenceType:n.reference_type,description:n.description,txHash:n.tx_hash,createdAt:n.created_at,decimals:n.decimals}};S(N$)}catch(t){console.error("WebSocket: Error processing movement event",t)}})},userOrders:(S)=>{return y("orders",(b)=>{try{let t=b,n={orderId:t.order_id,eventType:t.event_type,timestamp:t.timestamp,data:f5(t.data)};S(n)}catch(t){console.error("WebSocket: Error processing user order event",t)}})},balances:(S)=>{return y("balances",(b)=>{try{let t=b,n=t.data,N$={eventType:"balance_update",userId:t.user_id,data:{tokenAddress:n.token_address,tokenSymbol:n.token_symbol,available:n.available,availableRaw:n.available_raw,locked:n.locked,lockedRaw:n.locked_raw,total:n.total,totalRaw:n.total_raw,reason:n.reason,referenceId:n.reference_id,updatedAt:n.updated_at}};S(N$)}catch(t){console.error("WebSocket: Error processing balance event",t)}})},conditionalOrders:(S,k)=>{if(!S)throw Error("conditionalOrders subscription requires a handler");if(k!==void 0&&k.length===0)throw Error("conditionalOrders tradingPairId cannot be empty");let b=k?`conditional_orders:${k}`:"conditional_orders";return y(b,(t)=>{try{S(NW$(t))}catch(n){console.error("WebSocket: Error processing conditional order event",n)}})}}}var y8=e6(iw(),1),xm=["token","accessToken","access_token","refreshToken","refresh_token","authToken","auth_token","bearerToken","bearer_token","jwtToken","jwt_token","apiKey","api_key","apikey","clientSecret","client_secret","clientId","client_id","secret","password","authorization","bearer","auth","credentials","credential","email","phone","phoneNumber","phone_number","ssn","socialSecurity","social_security","address","passport","passportNumber","passport_number","driversLicense","drivers_license","cardNumber","card_number","creditCard","credit_card","cvv","pin","signature","privateKey","private_key","publicKey","public_key","mnemonic","seed","salt","hash","certificate","cert","fingerprint","cookie","session","sessionId","session_id","sessionToken","session_token","ipAddress","ip_address","deviceId","device_id","userId","user_id","accountId","account_id"];function m5($,J=5,Q=0){if(Q>=J)return"[Max depth reached]";if($===null||$===void 0)return $;if(Array.isArray($)){let X=$.slice(0,10).map((G)=>m5(G,J,Q+1));if($.length>10)X.push(`[... ${$.length-10} more items]`);return X}if(typeof $==="object"){let Y={};for(let[X,G]of Object.entries($)){let W=X.toLowerCase();if(xm.some((K)=>W.includes(K.toLowerCase())))Y[X]="[REDACTED]";else if(typeof G==="string"&&G.length>500)Y[X]=`${G.substring(0,500)}... [truncated]`;else Y[X]=m5(G,J,Q+1)}return Y}if(typeof $==="string"){if($.length>1000)return`${$.substring(0,1000)}... [truncated]`;return $}return $}class l5 extends Error{cause;suggestion;retryable=!1;timestamp;constructor($,J){super($);if(this.name=this.constructor.name,this.timestamp=Date.now(),J?.cause)this.cause=J.cause;if(J?.suggestion)this.suggestion=J.suggestion;if(J?.retryable!==void 0)this.retryable=J.retryable}toJSON(){return{name:this.name,code:this.code,message:this.message,suggestion:this.suggestion,retryable:this.retryable,timestamp:this.timestamp,cause:this.cause instanceof Error?this.cause.message:this.cause}}}class k4 extends l5{code="INVALID_CONFIG";field;value;constructor($,J,Q,Y){let X=J?`Check the '${J}' configuration parameter. ${SW$(J)}`:"Review your SDK configuration and ensure all required fields are provided correctly.";super($,{cause:Y,suggestion:X,retryable:!1});this.field=J,this.value=Q}toJSON(){let $;if(this.field){let J=this.field.toLowerCase();if(xm.some((Y)=>J.includes(Y.toLowerCase())))$="[REDACTED]";else $=m5(this.value)}else $=m5(this.value);return{...super.toJSON(),field:this.field,value:$}}}function SW$($){switch($.toLowerCase()){case"walletclient":return"Ensure you're creating the wallet client with a valid account and chain configuration.";case"seirpcurl":return"Use 'https://evm-rpc-testnet.sei-apis.com' for testnet or 'https://evm-rpc.sei-apis.com' for mainnet.";case"wsurl":return"Use 'wss://development.apimonaco.xyz/ws' for testnet or 'wss://api.monaco.xyz/ws' for mainnet.";case"network":return"Valid networks are: 'mainnet', 'development', 'staging', 'local'.";default:return"Refer to the SDK documentation for correct configuration format."}}class VK extends l5{code="INVALID_STATE";currentState;expectedState;constructor($,J,Q,Y){let X=Q?`${J?`Current state is '${J}', `:""}Expected state is '${Q}'. Ensure operations are performed in the correct order.`:"Check that prerequisites are met before calling this method.";super($,{cause:Y,suggestion:X,retryable:!1});this.currentState=J,this.expectedState=Q}toJSON(){return{...super.toJSON(),currentState:this.currentState,expectedState:this.expectedState}}}class U6 extends l5{code="API_ERROR";endpoint;statusCode;responseBody;requestBody;requestId;retryAfter;constructor($,J){let{suggestion:Q,retryable:Y}=RW$(J?.statusCode,$,J?.responseBody);super($,{cause:J?.cause,suggestion:Q,retryable:Y});this.endpoint=J?.endpoint,this.statusCode=J?.statusCode,this.responseBody=J?.responseBody,this.requestBody=J?.requestBody,this.requestId=J?.requestId,this.retryAfter=J?.retryAfter}toJSON(){return{...super.toJSON(),endpoint:this.endpoint,statusCode:this.statusCode,responseBody:m5(this.responseBody),requestBody:m5(this.requestBody),requestId:this.requestId,retryAfter:this.retryAfter}}}function RW$($,J,Q){if(!$)return{suggestion:"Network request failed. Check your internet connection and try again.",retryable:!0};if($===y8.StatusCodes.UNAUTHORIZED){if(J?.toLowerCase().includes("expired"))return{suggestion:"Access token has expired. Call sdk.refreshAuth() to get a new token, or call sdk.login() to re-authenticate.",retryable:!1};return{suggestion:"Authentication required. Call sdk.login(clientId) to authenticate before making this request.",retryable:!1}}if($===y8.StatusCodes.FORBIDDEN)return{suggestion:"Access denied. Ensure your application has the required permissions and your client ID is valid.",retryable:!1};if($===y8.StatusCodes.NOT_FOUND)return{suggestion:"Resource not found. Check that the ID or identifier is correct and the resource exists.",retryable:!1};if($===y8.StatusCodes.CONFLICT)return{suggestion:"Resource conflict. The resource may have been modified. Refresh and try again.",retryable:!0};if($===y8.StatusCodes.BAD_REQUEST){if(J?.toLowerCase().includes("insufficient balance"))return{suggestion:"Insufficient balance. Deposit more funds using sdk.vault.deposit() or reduce the order size.",retryable:!1};if(J?.toLowerCase().includes("invalid"))return{suggestion:"Invalid request parameters. Check the API documentation for correct parameter format and values.",retryable:!1};return{suggestion:"Bad request. Verify that all required parameters are provided and correctly formatted.",retryable:!1}}if($===y8.StatusCodes.TOO_MANY_REQUESTS){let Y;if(typeof Q==="object"&&Q!==null&&"retry_after"in Q&&Q.retry_after){let X=Q.retry_after;Y=` Wait ${String(X)} seconds before retrying.`}else Y=" Wait a moment before retrying.";return{suggestion:`Rate limit exceeded.${Y} Consider implementing exponential backoff for retries.`,retryable:!0}}if($>=y8.StatusCodes.INTERNAL_SERVER_ERROR&&$<600)return{suggestion:"Server error occurred. This is likely a temporary issue. Try again in a few moments.",retryable:!0};return{suggestion:void 0,retryable:!1}}class AQ extends l5{code="CONTRACT_ERROR";revertReason;transactionHash;contractAddress;constructor($,J){let Q=TW$(J?.revertReason);super($,{cause:J?.cause,suggestion:Q,retryable:!1});this.revertReason=J?.revertReason,this.transactionHash=J?.transactionHash,this.contractAddress=J?.contractAddress}toJSON(){return{...super.toJSON(),revertReason:this.revertReason,transactionHash:this.transactionHash,contractAddress:this.contractAddress}}}function TW$($){if(!$)return"Smart contract execution failed. Check transaction parameters and try again.";let J=$.toLowerCase();if(J.includes("insufficient allowance"))return"Token allowance is insufficient. Call sdk.vault.approve() to increase the token allowance for the vault contract.";if(J.includes("insufficient balance"))return"Wallet balance is insufficient for this transaction. Ensure you have enough tokens and native currency for gas fees.";if(J.includes("nonce"))return"Transaction nonce error. This may be due to a pending transaction. Wait for pending transactions to complete or reset your account nonce.";if(J.includes("gas"))return"Transaction ran out of gas. Try increasing the gas limit for this transaction.";return}var CW$={local:"http://localhost:8080",development:"https://develop.apimonaco.xyz",staging:"https://staging.apimonaco.xyz",mainnet:"https://api.monaco.xyz"},vW$={local:"ws://localhost:8085/ws",development:"wss://ws-develop.apimonaco.xyz/ws",staging:"wss://ws-staging.apimonaco.xyz/ws",mainnet:"wss://api.monaco.xyz/ws"};function KK($){return CW$[$]}function CF($){return vW$[$]}var c_=e6(iw(),1);var ow=256,rw;function tw($=11){if(!rw||ow+$>512){rw="",ow=0;for(let J=0;J<256;J++)rw+=(256+Math.random()*256|0).toString(16).substring(1)}return rw.substring(ow,ow+++$)}function fm($){let{batch:J,chain:Q,ccipRead:Y,dataSuffix:X,key:G="base",name:W="Base Client",type:V="base"}=$,K=$.experimental_blockTag??(typeof Q?.experimental_preconfirmationTime==="number"?"pending":void 0),D=Q?.blockTime??12000,O=Math.min(Math.max(Math.floor(D/2),500),4000),N=$.pollingInterval??O,w=$.cacheTime??N,M=$.account?g4($.account):void 0,{config:z,request:q,value:F}=$.transport({account:M,chain:Q,pollingInterval:N}),I={...z,...F},E={account:M,batch:J,cacheTime:w,ccipRead:Y,chain:Q,dataSuffix:X,key:G,name:W,pollingInterval:N,request:q,transport:I,type:V,uid:tw(),...K?{experimental_blockTag:K}:{}};function B(L){return(j)=>{let R=j(L);for(let x in E)delete R[x];let P={...L,...R};return Object.assign(P,{extend:B(P)})}}return Object.assign(E,{extend:B(E)})}BJ();SQ();U1();F9();p$();Q4();p8();function XG($){if(!($ instanceof u))return!1;let J=$.walk((Q)=>Q instanceof QG);if(!(J instanceof QG))return!1;if(J.data?.errorName==="HttpError")return!0;if(J.data?.errorName==="ResolverError")return!0;if(J.data?.errorName==="ResolverNotContract")return!0;if(J.data?.errorName==="ResolverNotFound")return!0;if(J.data?.errorName==="ReverseAddressMismatch")return!0;if(J.data?.errorName==="UnsupportedResolverProfile")return!0;return!1}RK();g6();p$();d1();function CM($){if($.length!==66)return null;if($.indexOf("[")!==0)return null;if($.indexOf("]")!==65)return null;let J=`0x${$.slice(1,65)}`;if(!Q6(J))return null;return J}function TK($){let J=new Uint8Array(32).fill(0);if(!$)return N4(J);let Q=$.split(".");for(let Y=Q.length-1;Y>=0;Y-=1){let X=CM(Q[Y]),G=X?K1(X):C4(l1(Q[Y]),"bytes");J=C4(y6([J,G]),"bytes")}return N4(J)}g6();function Jd($){return`[${$.slice(2)}]`}g6();p$();d1();function Qd($){let J=new Uint8Array(32).fill(0);if(!$)return N4(J);return CM($)||C4(l1($))}function YG($){let J=$.replace(/^\.|\.$/gm,"");if(J.length===0)return new Uint8Array(1);let Q=new Uint8Array(l1(J).byteLength+2),Y=0,X=J.split(".");for(let G=0;G<X.length;G++){let W=l1(X[G]);if(W.byteLength>255)W=l1(Jd(Qd(X[G])));Q[Y]=W.length,Q.set(W,Y+1),Y+=W.length+1}if(Q.byteLength!==Y+1)return Q.slice(0,Y+1);return Q}function V$($,J,Q){let Y=$[J.name];if(typeof Y==="function")return Y;let X=$[Q];if(typeof X==="function")return X;return(G)=>J($,G)}SQ();U1();J6();Q4();p8();S9();CK();var TV$=3;function i1($,{abi:J,address:Q,args:Y,docsPath:X,functionName:G,sender:W}){let V=$ instanceof TQ?$:$ instanceof u?$.walk((z)=>("data"in z))||$.walk():{},{code:K,data:D,details:O,message:N,shortMessage:w}=V,M=(()=>{if($ instanceof u1)return new dj({functionName:G,cause:$});if([TV$,vQ.code].includes(K)&&(D||O||N||w)||K===N1.code&&O==="execution reverted"&&D)return new QG({abi:J,data:typeof D==="object"?D.data:D,functionName:G,message:V instanceof _9?O:w??N,cause:$});return $})();return new SK(M,{abi:J,args:Y,contractAddress:Q,docsPath:X,functionName:G,sender:W})}f9();async function W6($,J){let{abi:Q,address:Y,args:X,functionName:G,...W}=J,V=n4({abi:Q,args:X,functionName:G});try{let{data:K}=await V$($,H1,"call")({...W,data:V,to:Y});return r6({abi:Q,args:X,functionName:G,data:K||"0x"})}catch(K){throw i1(K,{abi:Q,address:Y,args:X,docsPath:"/docs/contract/readContract",functionName:G})}}async function yd($,J){let{blockNumber:Q,blockTag:Y,coinType:X,name:G,gatewayUrls:W,strict:V}=J,{chain:K}=$,D=(()=>{if(J.universalResolverAddress)return J.universalResolverAddress;if(!K)throw Error("client chain not configured. universalResolverAddress is required.");return O1({blockNumber:Q,chain:K,contract:"ensUniversalResolver"})})(),O=K?.ensTlds;if(O&&!O.some((w)=>G.endsWith(w)))return null;let N=(()=>{if(X!=null)return[TK(G),BigInt(X)];return[TK(G)]})();try{let w=n4({abi:PF,functionName:"addr",args:N}),M={address:D,abi:sw,functionName:"resolveWithGateways",args:[o6(YG(G)),w,W??[CQ]],blockNumber:Q,blockTag:Y},q=await V$($,W6,"readContract")(M);if(q[0]==="0x")return null;let F=r6({abi:PF,args:N,functionName:"addr",data:q[0]});if(F==="0x")return null;if(m1(F)==="0x00")return null;return F}catch(w){if(V)throw w;if(XG(w))return null;throw w}}Q4();class ZE extends u{constructor({data:$}){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($)}`],name:"EnsAvatarInvalidMetadataError"})}}class b9 extends u{constructor({reason:$}){super(`ENS NFT avatar URI is invalid. ${$}`,{name:"EnsAvatarInvalidNftUriError"})}}class dK extends u{constructor({uri:$}){super(`Unable to resolve ENS avatar URI "${$}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class qE extends u{constructor({namespace:$}){super(`ENS NFT avatar namespace "${$}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}var tV$=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,aV$=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,sV$=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,eV$=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function $K$($){try{let J=await fetch($,{method:"HEAD"});if(J.status===200)return J.headers.get("content-type")?.startsWith("image/");return!1}catch(J){if(typeof J==="object"&&typeof J.response<"u")return!1;if(!Object.hasOwn(globalThis,"Image"))return!1;return new Promise((Q)=>{let Y=new Image;Y.onload=()=>{Q(!0)},Y.onerror=()=>{Q(!1)},Y.src=$})}}function hd($,J){if(!$)return J;if($.endsWith("/"))return $.slice(0,-1);return $}function LE({uri:$,gatewayUrls:J}){let Q=sV$.test($);if(Q)return{uri:$,isOnChain:!0,isEncoded:Q};let Y=hd(J?.ipfs,"https://ipfs.io"),X=hd(J?.arweave,"https://arweave.net"),G=$.match(tV$),{protocol:W,subpath:V,target:K,subtarget:D=""}=G?.groups||{},O=W==="ipns:/"||V==="ipns/",N=W==="ipfs:/"||V==="ipfs/"||aV$.test($);if($.startsWith("http")&&!O&&!N){let M=$;if(J?.arweave)M=$.replace(/https:\/\/arweave.net/g,J?.arweave);return{uri:M,isOnChain:!1,isEncoded:!1}}if((O||N)&&K)return{uri:`${Y}/${O?"ipns":"ipfs"}/${K}${D}`,isOnChain:!1,isEncoded:!1};if(W==="ar:/"&&K)return{uri:`${X}/${K}${D||""}`,isOnChain:!1,isEncoded:!1};let w=$.replace(eV$,"");if(w.startsWith("<svg"))w=`data:image/svg+xml;base64,${btoa(w)}`;if(w.startsWith("data:")||w.startsWith("{"))return{uri:w,isOnChain:!0,isEncoded:!1};throw new dK({uri:$})}function IE($){if(typeof $!=="object"||!("image"in $)&&!("image_url"in $)&&!("image_data"in $))throw new ZE({data:$});return $.image||$.image_url||$.image_data}async function ud({gatewayUrls:$,uri:J}){try{let Q=await fetch(J).then((X)=>X.json());return await pM({gatewayUrls:$,uri:IE(Q)})}catch{throw new dK({uri:J})}}async function pM({gatewayUrls:$,uri:J}){let{uri:Q,isOnChain:Y}=LE({uri:J,gatewayUrls:$});if(Y)return Q;if(await $K$(Q))return Q;throw new dK({uri:J})}function md($){let J=$;if(J.startsWith("did:nft:"))J=J.replace("did:nft:","").replace(/_/g,"/");let[Q,Y,X]=J.split("/"),[G,W]=Q.split(":"),[V,K]=Y.split(":");if(!G||G.toLowerCase()!=="eip155")throw new b9({reason:"Only EIP-155 supported"});if(!W)throw new b9({reason:"Chain ID not found"});if(!K)throw new b9({reason:"Contract address not found"});if(!X)throw new b9({reason:"Token ID not found"});if(!V)throw new b9({reason:"ERC namespace not found"});return{chainID:Number.parseInt(W,10),namespace:V.toLowerCase(),contractAddress:K,tokenID:X}}async function ld($,{nft:J}){if(J.namespace==="erc721")return W6($,{address:J.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(J.tokenID)]});if(J.namespace==="erc1155")return W6($,{address:J.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(J.tokenID)]});throw new qE({namespace:J.namespace})}async function dd($,{gatewayUrls:J,record:Q}){if(/eip155:/i.test(Q))return JK$($,{gatewayUrls:J,record:Q});return pM({uri:Q,gatewayUrls:J})}async function JK$($,{gatewayUrls:J,record:Q}){let Y=md(Q),X=await ld($,{nft:Y}),{uri:G,isOnChain:W,isEncoded:V}=LE({uri:X,gatewayUrls:J});if(W&&(G.includes("data:application/json;base64,")||G.startsWith("{"))){let D=V?atob(G.replace("data:application/json;base64,","")):G,O=JSON.parse(D);return pM({uri:IE(O),gatewayUrls:J})}let K=Y.tokenID;if(Y.namespace==="erc1155")K=K.replace("0x","").padStart(64,"0");return ud({gatewayUrls:J,uri:G.replace(/(?:0x)?{id}/,K)})}BJ();SQ();U1();F9();p$();RK();async function nM($,J){let{blockNumber:Q,blockTag:Y,key:X,name:G,gatewayUrls:W,strict:V}=J,{chain:K}=$,D=(()=>{if(J.universalResolverAddress)return J.universalResolverAddress;if(!K)throw Error("client chain not configured. universalResolverAddress is required.");return O1({blockNumber:Q,chain:K,contract:"ensUniversalResolver"})})(),O=K?.ensTlds;if(O&&!O.some((N)=>G.endsWith(N)))return null;try{let N={address:D,abi:sw,args:[o6(YG(G)),n4({abi:vF,functionName:"text",args:[TK(G),X]}),W??[CQ]],functionName:"resolveWithGateways",blockNumber:Q,blockTag:Y},M=await V$($,W6,"readContract")(N);if(M[0]==="0x")return null;let z=r6({abi:vF,functionName:"text",data:M[0]});return z===""?null:z}catch(N){if(V)throw N;if(XG(N))return null;throw N}}async function pd($,{blockNumber:J,blockTag:Q,assetGatewayUrls:Y,name:X,gatewayUrls:G,strict:W,universalResolverAddress:V}){let K=await V$($,nM,"getEnsText")({blockNumber:J,blockTag:Q,key:"avatar",name:X,universalResolverAddress:V,gatewayUrls:G,strict:W});if(!K)return null;try{return await dd($,{record:K,gatewayUrls:Y})}catch{return null}}BJ();F9();RK();async function nd($,J){let{address:Q,blockNumber:Y,blockTag:X,coinType:G=60n,gatewayUrls:W,strict:V}=J,{chain:K}=$,D=(()=>{if(J.universalResolverAddress)return J.universalResolverAddress;if(!K)throw Error("client chain not configured. universalResolverAddress is required.");return O1({blockNumber:Y,chain:K,contract:"ensUniversalResolver"})})();try{let O={address:D,abi:gm,args:[Q,G,W??[CQ]],functionName:"reverseWithGateways",blockNumber:Y,blockTag:X},N=V$($,W6,"readContract"),[w]=await N(O);return w||null}catch(O){if(V)throw O;if(XG(O))return null;throw O}}F9();p$();async function cd($,J){let{blockNumber:Q,blockTag:Y,name:X}=J,{chain:G}=$,W=(()=>{if(J.universalResolverAddress)return J.universalResolverAddress;if(!G)throw Error("client chain not configured. universalResolverAddress is required.");return O1({blockNumber:Q,chain:G,contract:"ensUniversalResolver"})})(),V=G?.ensTlds;if(V&&!V.some((D)=>X.endsWith(D)))throw Error(`${X} is not a valid ENS TLD (${V?.join(", ")}) for chain "${G.name}" (id: ${G.id}).`);let[K]=await V$($,W6,"readContract")({address:W,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[o6(YG(X))],blockNumber:Q,blockTag:Y});return K}f9();p$();NE();PG();x9();async function cM($,J){let{account:Q=$.account,blockNumber:Y,blockTag:X="latest",blobs:G,data:W,gas:V,gasPrice:K,maxFeePerBlobGas:D,maxFeePerGas:O,maxPriorityFeePerGas:N,to:w,value:M,...z}=J,q=Q?g4(Q):void 0;try{M1(J);let I=(typeof Y==="bigint"?O$(Y):void 0)||X,E=$.chain?.formatters?.transactionRequest?.format,L=(E||RJ)({...t8(z,{format:E}),account:q,blobs:G,data:W,gas:V,gasPrice:K,maxFeePerBlobGas:D,maxFeePerGas:O,maxPriorityFeePerGas:N,to:w,value:M},"createAccessList"),j=await $.request({method:"eth_createAccessList",params:[L,I]});return{accessList:j.accessList,gasUsed:BigInt(j.gasUsed)}}catch(F){throw uM(F,{...J,account:q,chain:$.chain})}}function a8($,{method:J}){let Q={};if($.transport.type==="fallback")$.transport.onResponse?.(({method:Y,response:X,status:G,transport:W})=>{if(G==="success"&&J===Y)Q[X]=W.request});return(Y)=>Q[Y]||$.request}async function id($){let J=a8($,{method:"eth_newBlockFilter"}),Q=await $.request({method:"eth_newBlockFilter"});return{id:Q,request:J(Q),type:"block"}}J6();Q4();class BE extends u{constructor($){super(`Filter type "${$}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}g6();d1();FK();BQ();zQ();d8();var od="/docs/contract/encodeEventTopics";function TJ($){let{abi:J,eventName:Q,args:Y}=$,X=J[0];if(Q){let K=b0({abi:J,name:Q});if(!K)throw new QM(Q,{docsPath:od});X=K}if(X.type!=="event")throw new QM(void 0,{docsPath:od});let G=O6(X),W=l8(G),V=[];if(Y&&"inputs"in X){let K=X.inputs?.filter((O)=>("indexed"in O)&&O.indexed),D=Array.isArray(Y)?Y:Object.values(Y).length>0?K?.map((O)=>Y[O.name])??[]:[];if(D.length>0)V=K?.map((O,N)=>{if(Array.isArray(D[N]))return D[N].map((w,M)=>rd({param:O,value:D[N][M]}));return typeof D[N]<"u"&&D[N]!==null?rd({param:O,value:D[N]}):null})??[]}return[W,...V]}function rd({param:$,value:J}){if($.type==="string"||$.type==="bytes")return C4(K1(J));if($.type==="tuple"||$.type.match(/^(.*)\[(\d+)?\]$/))throw new BE($.type);return w0([$],[J])}p$();async function iM($,J){let{address:Q,abi:Y,args:X,eventName:G,fromBlock:W,strict:V,toBlock:K}=J,D=a8($,{method:"eth_newFilter"}),O=G?TJ({abi:Y,args:X,eventName:G}):void 0,N=await $.request({method:"eth_newFilter",params:[{address:Q,fromBlock:typeof W==="bigint"?O$(W):W,toBlock:typeof K==="bigint"?O$(K):K,topics:O}]});return{abi:Y,args:X,eventName:G,id:N,request:D(N),strict:Boolean(V),type:"event"}}p$();async function oM($,{address:J,args:Q,event:Y,events:X,fromBlock:G,strict:W,toBlock:V}={}){let K=X??(Y?[Y]:void 0),D=a8($,{method:"eth_newFilter"}),O=[];if(K){if(O=[K.flatMap((M)=>TJ({abi:[M],eventName:M.name,args:Q}))],Y)O=O[0]}let N=await $.request({method:"eth_newFilter",params:[{address:J,fromBlock:typeof G==="bigint"?O$(G):G,toBlock:typeof V==="bigint"?O$(V):V,...O.length?{topics:O}:{}}]});return{abi:K,args:Q,eventName:Y?Y.name:void 0,fromBlock:G,id:N,request:D(N),strict:Boolean(W),toBlock:V,type:"event"}}async function rM($){let J=a8($,{method:"eth_newPendingTransactionFilter"}),Q=await $.request({method:"eth_newPendingTransactionFilter"});return{id:Q,request:J(Q),type:"transaction"}}U1();Q4();L9();d1();function td($){let J=C4(`0x${$.substring(4)}`).substring(26);return q9(`0x${J}`)}V1();N0();p$();async function Op({hash:$,signature:J}){let Q=Q6($)?$:o6($),{secp256k1:Y}=await Promise.resolve().then(() => ($X(),fE));return`0x${(()=>{if(typeof J==="object"&&"r"in J&&"s"in J){let{r:D,s:O,v:N,yParity:w}=J,M=Number(w??N),z=Up(M);return new Y.Signature(f6(D),f6(O)).addRecoveryBit(z)}let W=Q6(J)?J:o6(J);if(G4(W)!==65)throw Error("invalid signature length");let V=Z6(`0x${W.slice(130)}`),K=Up(V);return Y.Signature.fromCompact(W.substring(2,130)).addRecoveryBit(K)})().recoverPublicKey(Q.substring(2)).toHex(!1)}`}function Up($){if($===0||$===1)return $;if($===27)return 0;if($===28)return 1;throw Error("Invalid yParityOrV value")}async function oK({hash:$,signature:J}){return td(await Op({hash:$,signature:J}))}g6();p$();Q4();UM();g6();p$();function Np($,J="hex"){let Q=wp($),Y=n5(new Uint8Array(Q.length));if(Q.encode(Y),J==="hex")return N4(Y.bytes);return Y.bytes}function wp($){if(Array.isArray($))return HK$($.map((J)=>wp(J)));return AK$($)}function HK$($){let J=$.reduce((X,G)=>X+G.length,0),Q=Mp(J);return{length:(()=>{if(J<=55)return 1+J;return 1+Q+J})(),encode(X){if(J<=55)X.pushByte(192+J);else if(X.pushByte(247+Q),Q===1)X.pushUint8(J);else if(Q===2)X.pushUint16(J);else if(Q===3)X.pushUint24(J);else X.pushUint32(J);for(let{encode:G}of $)G(X)}}}function AK$($){let J=typeof $==="string"?b6($):$,Q=Mp(J.length);return{length:(()=>{if(J.length===1&&J[0]<128)return 1;if(J.length<=55)return 1+J.length;return 1+Q+J.length})(),encode(X){if(J.length===1&&J[0]<128)X.pushBytes(J);else if(J.length<=55)X.pushByte(128+J.length),X.pushBytes(J);else{if(X.pushByte(183+Q),Q===1)X.pushUint8(J.length);else if(Q===2)X.pushUint16(J.length);else if(Q===3)X.pushUint24(J.length);else X.pushUint32(J.length);X.pushBytes(J)}}}}function Mp($){if($<256)return 1;if($<65536)return 2;if($<16777216)return 3;if($<4294967296)return 4;throw new u("Length is too large.")}d1();function Hp($){let{chainId:J,nonce:Q,to:Y}=$,X=$.contractAddress??$.address,G=C4(p1(["0x05",Np([J?O$(J):"0x",X,Q?O$(Q):"0x"])]));if(Y==="bytes")return b6(G);return G}async function eM($){let{authorization:J,signature:Q}=$;return oK({hash:Hp(J),signature:Q??J})}p$();TM();JG();Q4();RQ();class bE extends u{constructor($,{account:J,docsPath:Q,chain:Y,data:X,gas:G,gasPrice:W,maxFeePerGas:V,maxPriorityFeePerGas:K,nonce:D,to:O,value:N}){let w=j9({from:J?.address,to:O,value:typeof N<"u"&&`${$G(N)} ${Y?.nativeCurrency?.symbol||"ETH"}`,data:X,gas:G,gasPrice:typeof W<"u"&&`${N6(W)} gwei`,maxFeePerGas:typeof V<"u"&&`${N6(V)} gwei`,maxPriorityFeePerGas:typeof K<"u"&&`${N6(K)} gwei`,nonce:D});super($.shortMessage,{cause:$,docsPath:Q,metaMessages:[...$.metaMessages?[...$.metaMessages," "]:[],"Estimate Gas Arguments:",w].filter(Boolean),name:"EstimateGasExecutionError"});Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=$}}k9();lK();function Ap($,{docsPath:J,...Q}){let Y=(()=>{let X=r8($,Q);if(X instanceof o1)return $;return X})();return new bE(Y,{docsPath:J,...Q})}PG();dM();x9();JG();Q4();class rK extends u{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class g9 extends u{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class gE extends u{constructor({maxPriorityFeePerGas:$}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${N6($)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}N0();Q4();class tK extends u{constructor({blockHash:$,blockNumber:J}){let Q="Block";if($)Q=`Block at hash "${$}"`;if(J)Q=`Block at number "${J}"`;super(`${Q} could not be found.`,{name:"BlockNotFoundError"})}}p$();N0();var yE={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function bG($,J){let Q={...$,blockHash:$.blockHash?$.blockHash:null,blockNumber:$.blockNumber?BigInt($.blockNumber):null,...$.blockTimestamp!=null&&{blockTimestamp:BigInt($.blockTimestamp)},chainId:$.chainId?Z6($.chainId):void 0,gas:$.gas?BigInt($.gas):void 0,gasPrice:$.gasPrice?BigInt($.gasPrice):void 0,maxFeePerBlobGas:$.maxFeePerBlobGas?BigInt($.maxFeePerBlobGas):void 0,maxFeePerGas:$.maxFeePerGas?BigInt($.maxFeePerGas):void 0,maxPriorityFeePerGas:$.maxPriorityFeePerGas?BigInt($.maxPriorityFeePerGas):void 0,nonce:$.nonce?Z6($.nonce):void 0,to:$.to?$.to:null,transactionIndex:$.transactionIndex?Number($.transactionIndex):null,type:$.type?yE[$.type]:void 0,typeHex:$.type?$.type:void 0,value:$.value?BigInt($.value):void 0,v:$.v?BigInt($.v):void 0};if($.authorizationList)Q.authorizationList=zK$($.authorizationList);if(Q.yParity=(()=>{if($.yParity)return Number($.yParity);if(typeof Q.v==="bigint"){if(Q.v===0n||Q.v===27n)return 0;if(Q.v===1n||Q.v===28n)return 1;if(Q.v>=35n)return Q.v%2n===0n?1:0}return})(),Q.type==="legacy")delete Q.accessList,delete Q.maxFeePerBlobGas,delete Q.maxFeePerGas,delete Q.maxPriorityFeePerGas,delete Q.yParity;if(Q.type==="eip2930")delete Q.maxFeePerBlobGas,delete Q.maxFeePerGas,delete Q.maxPriorityFeePerGas;if(Q.type==="eip1559")delete Q.maxFeePerBlobGas;return Q}function zK$($){return $.map((J)=>({address:J.address,chainId:Number(J.chainId),nonce:Number(J.nonce),r:J.r,s:J.s,yParity:Number(J.yParity)}))}function $H($,J){let Q=($.transactions??[]).map((Y)=>{if(typeof Y==="string")return Y;return bG(Y)});return{...$,baseFeePerGas:$.baseFeePerGas?BigInt($.baseFeePerGas):null,blobGasUsed:$.blobGasUsed?BigInt($.blobGasUsed):void 0,difficulty:$.difficulty?BigInt($.difficulty):void 0,excessBlobGas:$.excessBlobGas?BigInt($.excessBlobGas):void 0,gasLimit:$.gasLimit?BigInt($.gasLimit):void 0,gasUsed:$.gasUsed?BigInt($.gasUsed):void 0,hash:$.hash?$.hash:null,logsBloom:$.logsBloom?$.logsBloom:null,nonce:$.nonce?$.nonce:null,number:$.number?BigInt($.number):null,size:$.size?BigInt($.size):void 0,timestamp:$.timestamp?BigInt($.timestamp):void 0,transactions:Q,totalDifficulty:$.totalDifficulty?BigInt($.totalDifficulty):null}}async function L6($,{blockHash:J,blockNumber:Q,blockTag:Y=$.experimental_blockTag??"latest",includeTransactions:X}={}){let G=X??!1,W=Q!==void 0?O$(Q):void 0,V=null;if(J)V=await $.request({method:"eth_getBlockByHash",params:[J,G]},{dedupe:!0});else V=await $.request({method:"eth_getBlockByNumber",params:[W||Y,G]},{dedupe:Boolean(W)});if(!V)throw new tK({blockHash:J,blockNumber:Q});return($.chain?.formatters?.block?.format||$H)(V,"getBlock")}async function gG($){let J=await $.request({method:"eth_gasPrice"});return BigInt(J)}async function zp($,J){return hE($,J)}async function hE($,J){let{block:Q,chain:Y=$.chain,request:X}=J||{};try{let G=Y?.fees?.maxPriorityFeePerGas??Y?.fees?.defaultPriorityFee;if(typeof G==="function"){let V=Q||await V$($,L6,"getBlock")({}),K=await G({block:V,client:$,request:X});if(K===null)throw Error();return K}if(typeof G<"u")return G;let W=await $.request({method:"eth_maxPriorityFeePerGas"});return f6(W)}catch{let[G,W]=await Promise.all([Q?Promise.resolve(Q):V$($,L6,"getBlock")({}),V$($,gG,"getGasPrice")({})]);if(typeof G.baseFeePerGas!=="bigint")throw new g9;let V=W-G.baseFeePerGas;if(V<0n)return 0n;return V}}async function Zp($,J){return JH($,J)}async function JH($,J){let{block:Q,chain:Y=$.chain,request:X,type:G="eip1559"}=J||{},W=await(async()=>{if(typeof Y?.fees?.baseFeeMultiplier==="function")return Y.fees.baseFeeMultiplier({block:Q,client:$,request:X});return Y?.fees?.baseFeeMultiplier??1.2})();if(W<1)throw new rK;let K=10**(W.toString().split(".")[1]?.length??0),D=(w)=>w*BigInt(Math.ceil(W*K))/BigInt(K),O=Q?Q:await V$($,L6,"getBlock")({});if(typeof Y?.fees?.estimateFeesPerGas==="function"){let w=await Y.fees.estimateFeesPerGas({block:Q,client:$,multiply:D,request:X,type:G});if(w!==null)return w}if(G==="eip1559"){if(typeof O.baseFeePerGas!=="bigint")throw new g9;let w=typeof X?.maxPriorityFeePerGas==="bigint"?X.maxPriorityFeePerGas:await hE($,{block:O,chain:Y,request:X}),M=D(O.baseFeePerGas);return{maxFeePerGas:X?.maxFeePerGas??M+w,maxPriorityFeePerGas:w}}return{gasPrice:X?.gasPrice??D(await V$($,gG,"getGasPrice")({}))}}N0();p$();async function QH($,{address:J,blockTag:Q="latest",blockNumber:Y}){let X=await $.request({method:"eth_getTransactionCount",params:[J,typeof Y==="bigint"?O$(Y):Q]},{dedupe:Boolean(Y)});return Z6(X)}g6();p$();function XH($){let{kzg:J}=$,Q=$.to??(typeof $.blobs[0]==="string"?"hex":"bytes"),Y=typeof $.blobs[0]==="string"?$.blobs.map((G)=>b6(G)):$.blobs,X=[];for(let G of Y)X.push(Uint8Array.from(J.blobToKzgCommitment(G)));return Q==="bytes"?X:X.map((G)=>N4(G))}g6();p$();function YH($){let{kzg:J}=$,Q=$.to??(typeof $.blobs[0]==="string"?"hex":"bytes"),Y=typeof $.blobs[0]==="string"?$.blobs.map((W)=>b6(W)):$.blobs,X=typeof $.commitments[0]==="string"?$.commitments.map((W)=>b6(W)):$.commitments,G=[];for(let W=0;W<Y.length;W++){let V=Y[W],K=X[W];G.push(Uint8Array.from(J.computeBlobKzgProof(V,K)))}return Q==="bytes"?G:G.map((W)=>N4(W))}p$();JK();var GH=OQ;g6();p$();function qp($,J){let Q=J||"hex",Y=GH(Q6($,{strict:!1})?K1($):$);if(Q==="bytes")return Y;return o6(Y)}function Lp($){let{commitment:J,version:Q=1}=$,Y=$.to??(typeof J==="string"?"hex":"bytes"),X=qp(J,"bytes");return X.set([Q],0),Y==="bytes"?X:N4(X)}function Ip($){let{commitments:J,version:Q}=$,Y=$.to??(typeof J[0]==="string"?"hex":"bytes"),X=[];for(let G of J)X.push(Lp({commitment:G,to:Y,version:Q}));return X}var Bp=32,Fp=4096,jp=131072,uE=761855;Q4();class mE extends u{constructor({maxSize:$,size:J}){super("Blob size is too large.",{metaMessages:[`Max: ${$} bytes`,`Given: ${J} bytes`],name:"BlobSizeTooLargeError"})}}class lE extends u{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}UM();V1();g6();p$();function Ep($){let J=$.to??(typeof $.data==="string"?"hex":"bytes"),Q=typeof $.data==="string"?b6($.data):$.data,Y=G4(Q);if(!Y)throw new lE;if(Y>uE)throw new mE({maxSize:uE,size:Y});let X=[],G=!0,W=0;while(G){let V=n5(new Uint8Array(jp)),K=0;while(K<Fp){let D=Q.slice(W,W+(Bp-1));if(V.pushByte(0),V.pushBytes(D),D.length<31){V.pushByte(128),G=!1;break}K++,W+=31}X.push(V)}return J==="bytes"?X.map((V)=>V.bytes):X.map((V)=>N4(V.bytes))}function _p($){let{data:J,kzg:Q,to:Y}=$,X=$.blobs??Ep({data:J,to:Y}),G=$.commitments??XH({blobs:X,kzg:Q,to:Y}),W=$.proofs??YH({blobs:X,commitments:G,kzg:Q,to:Y}),V=[];for(let K=0;K<X.length;K++)V.push({blob:X[K],commitment:G[K],proof:W[K]});return V}zK();x9();RQ();function Sp($){if($.type)return $.type;if(typeof $.authorizationList<"u")return"eip7702";if(typeof $.blobs<"u"||typeof $.blobVersionedHashes<"u"||typeof $.maxFeePerBlobGas<"u"||typeof $.sidecars<"u")return"eip4844";if(typeof $.maxFeePerGas<"u"||typeof $.maxPriorityFeePerGas<"u")return"eip1559";if(typeof $.gasPrice<"u"){if(typeof $.accessList<"u")return"eip2930";return"legacy"}throw new hj({transaction:$})}k9();RQ();lK();function Rp($,{docsPath:J,...Q}){let Y=(()=>{let X=r8($,Q);if(X instanceof o1)return $;return X})();return new uj(Y,{docsPath:J,...Q})}PG();x9();N0();async function yG($){let J=await $.request({method:"eth_chainId"},{dedupe:!0});return Z6(J)}async function WH($,J){let{account:Q=$.account,accessList:Y,authorizationList:X,chain:G=$.chain,blobVersionedHashes:W,blobs:V,data:K,gas:D,gasPrice:O,maxFeePerBlobGas:N,maxFeePerGas:w,maxPriorityFeePerGas:M,nonce:z,nonceManager:q,to:F,type:I,value:E,...B}=J,L=await(async()=>{if(!Q)return z;if(!q)return z;if(typeof z<"u")return z;let x=g4(Q),y=G?G.id:await V$($,yG,"getChainId")({});return await q.consume({address:x.address,chainId:y,client:$})})();M1(J);let j=G?.formatters?.transactionRequest?.format,P=(j||RJ)({...t8(B,{format:j}),account:Q?g4(Q):void 0,accessList:Y,authorizationList:X,blobs:V,blobVersionedHashes:W,data:K,gas:D,gasPrice:O,maxFeePerBlobGas:N,maxFeePerGas:w,maxPriorityFeePerGas:M,nonce:L,to:F,type:I,value:E},"fillTransaction");try{let x=await $.request({method:"eth_fillTransaction",params:[P]}),T=(G?.formatters?.transaction?.format||bG)(x.tx);if(delete T.blockHash,delete T.blockNumber,delete T.r,delete T.s,delete T.transactionIndex,delete T.v,delete T.yParity,T.data=T.input,T.gas)T.gas=J.gas??T.gas;if(T.gasPrice)T.gasPrice=J.gasPrice??T.gasPrice;if(T.maxFeePerBlobGas)T.maxFeePerBlobGas=J.maxFeePerBlobGas??T.maxFeePerBlobGas;if(T.maxFeePerGas)T.maxFeePerGas=J.maxFeePerGas??T.maxFeePerGas;if(T.maxPriorityFeePerGas)T.maxPriorityFeePerGas=J.maxPriorityFeePerGas??T.maxPriorityFeePerGas;if(typeof T.nonce<"u")T.nonce=J.nonce??T.nonce;let d=await(async()=>{if(typeof G?.fees?.baseFeeMultiplier==="function"){let l=await V$($,L6,"getBlock")({});return G.fees.baseFeeMultiplier({block:l,client:$,request:J})}return G?.fees?.baseFeeMultiplier??1.2})();if(d<1)throw new rK;let Y$=10**(d.toString().split(".")[1]?.length??0),c=(l)=>l*BigInt(Math.ceil(d*Y$))/BigInt(Y$);if(!T.feePayerSignature){if(T.maxFeePerGas&&!J.maxFeePerGas)T.maxFeePerGas=c(T.maxFeePerGas);if(T.gasPrice&&!J.gasPrice)T.gasPrice=c(T.gasPrice)}return{raw:x.raw,transaction:{from:P.from,...T},...x.capabilities?{capabilities:x.capabilities}:{}}}catch(x){throw Rp(x,{...J,chain:$.chain})}}var ZK$=["blobVersionedHashes","chainId","fees","gas","nonce","type"],Tp=new Map,dE=new LQ(128);async function VH($,J){let Q=J;Q.account??=$.account,Q.parameters??=ZK$;let{account:Y,chain:X=$.chain,nonceManager:G,parameters:W}=Q,V=(()=>{if(typeof X?.prepareTransactionRequest==="function")return{fn:X.prepareTransactionRequest,runAt:["beforeFillTransaction"]};if(Array.isArray(X?.prepareTransactionRequest))return{fn:X.prepareTransactionRequest[0],runAt:X.prepareTransactionRequest[1].runAt};return})(),K;async function D(){if(K)return K;if(typeof Q.chainId<"u")return Q.chainId;if(X)return X.id;return K=await V$($,yG,"getChainId")({}),K}let O=Y?g4(Y):Y,N=Q.nonce;if(W.includes("nonce")&&typeof N>"u"&&O&&G){let L=await D();N=await G.consume({address:O.address,chainId:L,client:$})}if(V?.fn&&V.runAt?.includes("beforeFillTransaction"))Q=await V.fn({...Q,chain:X},{phase:"beforeFillTransaction"}),N??=Q.nonce;let M=(()=>{if((W.includes("blobVersionedHashes")||W.includes("sidecars"))&&Q.kzg&&Q.blobs)return!1;if(dE.get($.uid)===!1)return!1;if(!["fees","gas"].some((j)=>W.includes(j)))return!1;if(W.includes("chainId")&&typeof Q.chainId!=="number")return!0;if(W.includes("nonce")&&typeof N!=="number")return!0;if(W.includes("fees")&&typeof Q.gasPrice!=="bigint"&&(typeof Q.maxFeePerGas!=="bigint"||typeof Q.maxPriorityFeePerGas!=="bigint"))return!0;if(W.includes("gas")&&typeof Q.gas!=="bigint")return!0;return!1})()?await V$($,WH,"fillTransaction")({...Q,nonce:N}).then((L)=>{let{chainId:j,from:R,gas:P,gasPrice:x,nonce:y,maxFeePerBlobGas:T,maxFeePerGas:d,maxPriorityFeePerGas:p,type:Y$,...c}=L.transaction;return dE.set($.uid,!0),{...Q,...R?{from:R}:{},...Y$&&!Q.type?{type:Y$}:{},...typeof j<"u"?{chainId:j}:{},...typeof P<"u"?{gas:P}:{},...typeof x<"u"?{gasPrice:x}:{},...typeof y<"u"?{nonce:y}:{},...typeof T<"u"&&Q.type!=="legacy"&&Q.type!=="eip2930"?{maxFeePerBlobGas:T}:{},...typeof d<"u"&&Q.type!=="legacy"&&Q.type!=="eip2930"?{maxFeePerGas:d}:{},...typeof p<"u"&&Q.type!=="legacy"&&Q.type!=="eip2930"?{maxPriorityFeePerGas:p}:{},..."nonceKey"in c&&typeof c.nonceKey<"u"?{nonceKey:c.nonceKey}:{},..."keyAuthorization"in c&&typeof c.keyAuthorization<"u"&&c.keyAuthorization!==null&&!("keyAuthorization"in Q)?{keyAuthorization:c.keyAuthorization}:{},..."feePayerSignature"in c&&typeof c.feePayerSignature<"u"&&c.feePayerSignature!==null?{feePayerSignature:c.feePayerSignature}:{},..."feeToken"in c&&typeof c.feeToken<"u"&&c.feeToken!==null&&!("feeToken"in Q)?{feeToken:c.feeToken}:{},...L.capabilities?{_capabilities:L.capabilities}:{}}}).catch((L)=>{let j=L;if(j.name!=="TransactionExecutionError")return Q;if(j.walk?.((x)=>{return x.name==="ExecutionRevertedError"}))throw L;if(j.walk?.((x)=>{let y=x;return y.name==="MethodNotFoundRpcError"||y.name==="MethodNotSupportedRpcError"||y.message?.includes("eth_fillTransaction is not available")}))dE.set($.uid,!1);return Q}):Q;N??=M.nonce,Q={...M,...O?{from:O?.address}:{},...typeof N<"u"?{nonce:N}:{}};let{blobs:z,gas:q,kzg:F,type:I}=Q;if(V?.fn&&V.runAt?.includes("beforeFillParameters"))Q=await V.fn({...Q,chain:X},{phase:"beforeFillParameters"});let E;async function B(){if(E)return E;return E=await V$($,L6,"getBlock")({blockTag:"latest"}),E}if(W.includes("nonce")&&typeof N>"u"&&O&&!G)Q.nonce=await V$($,QH,"getTransactionCount")({address:O.address,blockTag:"pending"});if((W.includes("blobVersionedHashes")||W.includes("sidecars"))&&z&&F){let L=XH({blobs:z,kzg:F});if(W.includes("blobVersionedHashes")){let j=Ip({commitments:L,to:"hex"});Q.blobVersionedHashes=j}if(W.includes("sidecars")){let j=YH({blobs:z,commitments:L,kzg:F}),R=_p({blobs:z,commitments:L,proofs:j,to:"hex"});Q.sidecars=R}}if(W.includes("chainId"))Q.chainId=await D();if((W.includes("fees")||W.includes("type"))&&typeof I>"u")try{Q.type=Sp(Q)}catch{let L=Tp.get($.uid);if(typeof L>"u")L=typeof(await B())?.baseFeePerGas==="bigint",Tp.set($.uid,L);Q.type=L?"eip1559":"legacy"}if(W.includes("fees"))if(Q.type!=="legacy"&&Q.type!=="eip2930"){if(typeof Q.maxFeePerGas>"u"||typeof Q.maxPriorityFeePerGas>"u"){let L=await B(),{maxFeePerGas:j,maxPriorityFeePerGas:R}=await JH($,{block:L,chain:X,request:Q});if(typeof Q.maxPriorityFeePerGas>"u"&&Q.maxFeePerGas&&Q.maxFeePerGas<R)throw new gE({maxPriorityFeePerGas:R});Q.maxPriorityFeePerGas=R,Q.maxFeePerGas=j}}else{if(typeof Q.maxFeePerGas<"u"||typeof Q.maxPriorityFeePerGas<"u")throw new g9;if(typeof Q.gasPrice>"u"){let L=await B(),{gasPrice:j}=await JH($,{block:L,chain:X,request:Q,type:"legacy"});Q.gasPrice=j}}if(W.includes("gas")&&typeof q>"u")Q.gas=await V$($,hG,"estimateGas")({...Q,account:O,prepare:O?.type==="local"?[]:["blobVersionedHashes"]});if(V?.fn&&V.runAt?.includes("afterFillParameters"))Q=await V.fn({...Q,chain:X},{phase:"afterFillParameters"});return M1(Q),delete Q.parameters,Q}async function hG($,J){let{account:Q=$.account,prepare:Y=!0}=J,X=Q?g4(Q):void 0,G=(()=>{if(Array.isArray(Y))return Y;if(X?.type!=="local")return["blobVersionedHashes"];return})();try{let W=await(async()=>{if(J.to)return J.to;if(J.authorizationList&&J.authorizationList.length>0)return await eM({authorization:J.authorizationList[0]}).catch(()=>{throw new u("`to` is required. Could not infer from `authorizationList`")});return})(),{accessList:V,authorizationList:K,blobs:D,blobVersionedHashes:O,blockNumber:N,blockTag:w,data:M,gas:z,gasPrice:q,maxFeePerBlobGas:F,maxFeePerGas:I,maxPriorityFeePerGas:E,nonce:B,value:L,stateOverride:j,...R}=Y?await VH($,{...J,parameters:G,to:W}):J;if(z&&J.gas!==z)return z;let x=(typeof N==="bigint"?O$(N):void 0)||w,y=kG(j);M1(J);let T=$.chain?.formatters?.transactionRequest?.format,p=(T||RJ)({...t8(R,{format:T}),account:X,accessList:V,authorizationList:K,blobs:D,blobVersionedHashes:O,data:M,gasPrice:q,maxFeePerBlobGas:F,maxFeePerGas:I,maxPriorityFeePerGas:E,nonce:B,to:W,value:L},"estimateGas");return BigInt(await $.request({method:"eth_estimateGas",params:y?[p,x??$.experimental_blockTag??"latest",y]:x?[p,x]:[p]}))}catch(W){throw Ap(W,{...J,account:X,chain:$.chain})}}async function Cp($,J){let{abi:Q,address:Y,args:X,functionName:G,dataSuffix:W=typeof $.dataSuffix==="string"?$.dataSuffix:$.dataSuffix?.value,...V}=J,K=n4({abi:Q,args:X,functionName:G});try{return await V$($,hG,"estimateGas")({data:`${K}${W?W.replace("0x",""):""}`,to:Y,...V})}catch(D){let O=V.account?g4(V.account):void 0;throw i1(D,{abi:Q,address:Y,args:X,docsPath:"/docs/contract/estimateContractGas",functionName:G,sender:O?.address})}}BJ();SQ();U1();p$();f9();async function vp($,{address:J,blockNumber:Q,blockTag:Y=$.experimental_blockTag??"latest"}){if($.batch?.multicall&&$.chain?.contracts?.multicall3){let W=$.chain.contracts.multicall3.address,V=n4({abi:h1,functionName:"getEthBalance",args:[J]}),{data:K}=await V$($,H1,"call")({to:W,data:V,blockNumber:Q,blockTag:Y});return r6({abi:h1,functionName:"getEthBalance",args:[J],data:K||"0x"})}let X=typeof Q==="bigint"?O$(Q):void 0,G=await $.request({method:"eth_getBalance",params:[J,X||Y]});return BigInt(G)}async function Pp($){let J=await $.request({method:"eth_blobBaseFee"});return BigInt(J)}var qK$=new Map,LK$=new Map;function kp($){let J=(X,G)=>({clear:()=>G.delete(X),get:()=>G.get(X),set:(W)=>G.set(X,W)}),Q=J($,qK$),Y=J($,LK$);return{clear:()=>{Q.clear(),Y.clear()},promise:Q,response:Y}}async function xp($,{cacheKey:J,cacheTime:Q=Number.POSITIVE_INFINITY}){let Y=kp(J),X=Y.response.get();if(X&&Q>0){if(Date.now()-X.created.getTime()<Q)return X.data}let G=Y.promise.get();if(!G)G=$(),Y.promise.set(G);try{let W=await G;return Y.response.set({created:new Date,data:W}),W}finally{Y.promise.clear()}}var IK$=($)=>`blockNumber.${$}`;async function CJ($,{cacheTime:J=$.cacheTime}={}){let Q=await xp(()=>$.request({method:"eth_blockNumber"}),{cacheKey:IK$($.uid),cacheTime:J});return BigInt(Q)}N0();p$();async function fp($,{blockHash:J,blockNumber:Q,blockTag:Y="latest"}={}){let X=Q!==void 0?O$(Q):void 0,G;if(J)G=await $.request({method:"eth_getBlockTransactionCountByHash",params:[J]},{dedupe:!0});else G=await $.request({method:"eth_getBlockTransactionCountByNumber",params:[X||Y]},{dedupe:Boolean(X)});return Z6(G)}p$();async function y9($,{address:J,blockNumber:Q,blockTag:Y="latest"}){let X=Q!==void 0?O$(Q):void 0,G=await $.request({method:"eth_getCode",params:[J,X||Y]},{dedupe:Boolean(X)});if(G==="0x")return;return G}d8();xG();g6();function I6($,{args:J,eventName:Q}={}){return{...$,blockHash:$.blockHash?$.blockHash:null,blockNumber:$.blockNumber?BigInt($.blockNumber):null,blockTimestamp:$.blockTimestamp?BigInt($.blockTimestamp):$.blockTimestamp===null?null:void 0,logIndex:$.logIndex?Number($.logIndex):null,transactionHash:$.transactionHash?$.transactionHash:null,transactionIndex:$.transactionIndex?Number($.transactionIndex):null,...Q?{args:J,eventName:Q}:{}}}d1();FK();J6();Yj();V1();FK();LK();zQ();var bp="/docs/contract/decodeEventLog";function h9($){let{abi:J,data:Q,strict:Y,topics:X}=$,G=Y??!0,[W,...V]=X;if(!W)throw new lF({docsPath:bp});let K=J.find((I)=>I.type==="event"&&W===l8(O6(I)));if(!(K&&("name"in K))||K.type!=="event")throw new dF(W,{docsPath:bp});let{name:D,inputs:O}=K,N=O?.some((I)=>!(("name"in I)&&I.name)),w=N?[]:{},M=O.map((I,E)=>[I,E]).filter(([I])=>("indexed"in I)&&I.indexed),z=[];for(let I=0;I<M.length;I++){let[E,B]=M[I],L=V[I];if(!L){if(G)throw new A9({abiItem:K,param:E});z.push([E,B]);continue}w[N?B:E.name||B]=BK$({param:E,value:L})}let q=O.filter((I)=>!(("indexed"in I)&&I.indexed)),F=G?q:[...z.map(([I])=>I),...q];if(F.length>0){if(Q&&Q!=="0x")try{let I=FQ(F,Q);if(I){let E=0;if(!G)for(let[B,L]of z)w[N?L:B.name||L]=I[E++];if(N){for(let B=0;B<O.length;B++)if(w[B]===void 0&&E<I.length)w[B]=I[E++]}else for(let B=0;B<q.length;B++)w[q[B].name]=I[E++]}}catch(I){if(G){if(I instanceof OK||I instanceof ZK)throw new h8({abiItem:K,data:Q,params:F,size:G4(Q)});throw I}}else if(G)throw new h8({abiItem:K,data:"0x",params:F,size:0})}return{eventName:D,args:Object.values(w).length>0?w:void 0}}function BK$({param:$,value:J}){if($.type==="string"||$.type==="bytes"||$.type==="tuple"||$.type.match(/^(.*)\[(\d+)?\]$/))return J;return(FQ([$],J)||[])[0]}function uG($){let{abi:J,args:Q,logs:Y,strict:X=!0}=$,G=(()=>{if(!$.eventName)return;if(Array.isArray($.eventName))return $.eventName;return[$.eventName]})(),W=J.filter((V)=>V.type==="event").map((V)=>({abi:V,selector:l8(V)}));return Y.map((V)=>{let K=typeof V.blockNumber==="string"?I6(V):V,D=W.filter((w)=>K.topics[0]===w.selector);if(D.length===0)return null;let O,N;for(let w of D)try{O=h9({...K,abi:[w.abi],strict:!0}),N=w;break}catch{}if(!O&&!X){N=D[0];try{O=h9({data:K.data,topics:K.topics,abi:[N.abi],strict:!1})}catch{let w=N.abi.inputs?.some((M)=>!(("name"in M)&&M.name));return{...K,args:w?[]:{},eventName:N.abi.name}}}if(!O||!N)return null;if(G&&!G.includes(O.eventName))return null;if(!FK$({args:O.args,inputs:N.abi.inputs,matchArgs:Q}))return null;return{...O,...K}}).filter(Boolean)}function FK$($){let{args:J,inputs:Q,matchArgs:Y}=$;if(!Y)return!0;if(!J)return!1;function X(G,W,V){try{if(G.type==="address")return r1(W,V);if(G.type==="string"||G.type==="bytes")return C4(K1(W))===V;return W===V}catch{return!1}}if(Array.isArray(J)&&Array.isArray(Y))return Y.every((G,W)=>{if(G===null||G===void 0)return!0;let V=Q[W];if(!V)return!1;return(Array.isArray(G)?G:[G]).some((D)=>X(V,D,J[W]))});if(typeof J==="object"&&!Array.isArray(J)&&typeof Y==="object"&&!Array.isArray(Y))return Object.entries(Y).every(([G,W])=>{if(W===null||W===void 0)return!0;let V=Q.find((D)=>D.name===G);if(!V)return!1;return(Array.isArray(W)?W:[W]).some((D)=>X(V,D,J[G]))});return!1}p$();async function mG($,{address:J,blockHash:Q,fromBlock:Y,toBlock:X,event:G,events:W,args:V,strict:K}={}){let D=K??!1,O=W??(G?[G]:void 0),N=[];if(O){if(N=[O.flatMap((q)=>TJ({abi:[q],eventName:q.name,args:W?void 0:V}))],G)N=N[0]}let w;if(Q)w=await $.request({method:"eth_getLogs",params:[{address:J,topics:N,blockHash:Q}]});else w=await $.request({method:"eth_getLogs",params:[{address:J,topics:N,fromBlock:typeof Y==="bigint"?O$(Y):Y,toBlock:typeof X==="bigint"?O$(X):X}]});let M=w.map((z)=>I6(z));if(!O)return M;return uG({abi:O,args:V,logs:M,strict:D})}async function KH($,J){let{abi:Q,address:Y,args:X,blockHash:G,eventName:W,fromBlock:V,toBlock:K,strict:D}=J,O=W?b0({abi:Q,name:W}):void 0,N=!O?Q.filter((w)=>w.type==="event"):void 0;return V$($,mG,"getLogs")({address:Y,args:X,blockHash:G,event:O,events:N,fromBlock:V,toBlock:K,strict:D})}L9();V1();B9();async function gp($,{address:J,blockNumber:Q,blockTag:Y="latest"}){let X=await y9($,{address:J,...Q!==void 0?{blockNumber:Q}:{blockTag:Y}});if(!X)return;if(G4(X)!==23)return;if(!X.startsWith("0xef0100"))return;return I9(D1(X,3,23))}Q4();class pE extends u{constructor({address:$}){super(`No EIP-712 domain found on contract "${$}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${$}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function yp($,J){let{address:Q,factory:Y,factoryData:X}=J;try{let[G,W,V,K,D,O,N]=await V$($,W6,"readContract")({abi:jK$,address:Q,functionName:"eip712Domain",factory:Y,factoryData:X});return{domain:{name:W,version:V,chainId:Number(K),verifyingContract:D,salt:O},extensions:N,fields:G}}catch(G){let W=G;if(W.name==="ContractFunctionExecutionError"&&W.cause.name==="ContractFunctionZeroDataError")throw new pE({address:Q});throw W}}var jK$=[{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"}];p$();function hp($){return{baseFeePerGas:$.baseFeePerGas.map((J)=>BigInt(J)),gasUsedRatio:$.gasUsedRatio,oldestBlock:BigInt($.oldestBlock),reward:$.reward?.map((J)=>J.map((Q)=>BigInt(Q)))}}async function up($,{blockCount:J,blockNumber:Q,blockTag:Y="latest",rewardPercentiles:X}){let G=typeof Q==="bigint"?O$(Q):void 0,W=await $.request({method:"eth_feeHistory",params:[O$(J),G||Y,X]},{dedupe:Boolean(G)});return hp(W)}async function JX($,{filter:J}){let Q="strict"in J&&J.strict,Y=await J.request({method:"eth_getFilterChanges",params:[J.id]});if(typeof Y[0]==="string")return Y;let X=Y.map((G)=>I6(G));if(!("abi"in J)||!J.abi)return X;return uG({abi:J.abi,logs:X,strict:Q})}async function mp($,{filter:J}){let Q=J.strict??!1,X=(await J.request({method:"eth_getFilterLogs",params:[J.id]})).map((G)=>I6(G));if(!J.abi)return X;return uG({abi:J.abi,logs:X,strict:Q})}p$();N0();function EK$($){return $.map((J)=>({...J,value:BigInt(J.value)}))}function lp($){return{...$,balance:$.balance?BigInt($.balance):void 0,nonce:$.nonce?Z6($.nonce):void 0,storageProof:$.storageProof?EK$($.storageProof):void 0}}async function dp($,{address:J,blockNumber:Q,blockTag:Y,storageKeys:X}){let G=Y??"latest",W=Q!==void 0?O$(Q):void 0,V=await $.request({method:"eth_getProof",params:[J,X,W||G]});return lp(V)}p$();async function pp($,{address:J,blockNumber:Q,blockTag:Y="latest",slot:X}){let G=Q!==void 0?O$(Q):void 0;return await $.request({method:"eth_getStorageAt",params:[J,X,G||Y]})}RQ();p$();async function lG($,{blockHash:J,blockNumber:Q,blockTag:Y,hash:X,index:G,sender:W,nonce:V}){let K=Y||"latest",D=Q!==void 0?O$(Q):void 0,O=null;if(X)O=await $.request({method:"eth_getTransactionByHash",params:[X]},{dedupe:!0});else if(J)O=await $.request({method:"eth_getTransactionByBlockHashAndIndex",params:[J,O$(G)]},{dedupe:!0});else if((D||K)&&typeof G==="number")O=await $.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[D||K,O$(G)]},{dedupe:Boolean(D)});else if(W&&typeof V==="number")O=await $.request({method:"eth_getTransactionBySenderAndNonce",params:[W,O$(V)]},{dedupe:!0});if(!O)throw new jK({blockHash:J,blockNumber:Q,blockTag:K,hash:X,index:G});return($.chain?.formatters?.transaction?.format||bG)(O,"getTransaction")}async function np($,{hash:J,transactionReceipt:Q}){let[Y,X]=await Promise.all([V$($,CJ,"getBlockNumber")({}),J?V$($,lG,"getTransaction")({hash:J}):void 0]),G=Q?.blockNumber||X?.blockNumber;if(!G)return 0n;return Y-G+1n}RQ();N0();var _K$={"0x0":"reverted","0x1":"success"};function DH($,J){let Q={...$,blockNumber:$.blockNumber?BigInt($.blockNumber):null,contractAddress:$.contractAddress?$.contractAddress:null,cumulativeGasUsed:$.cumulativeGasUsed?BigInt($.cumulativeGasUsed):null,effectiveGasPrice:$.effectiveGasPrice?BigInt($.effectiveGasPrice):null,gasUsed:$.gasUsed?BigInt($.gasUsed):null,logs:$.logs?$.logs.map((Y)=>I6(Y)):null,to:$.to?$.to:null,transactionIndex:$.transactionIndex?Z6($.transactionIndex):null,status:$.status?_K$[$.status]:null,type:$.type?yE[$.type]||$.type:null};if($.blobGasPrice)Q.blobGasPrice=BigInt($.blobGasPrice);if($.blobGasUsed)Q.blobGasUsed=BigInt($.blobGasUsed);return Q}async function dG($,{hash:J}){let Q=await $.request({method:"eth_getTransactionReceipt",params:[J]},{dedupe:!0});if(!Q)throw new EK({hash:J});return($.chain?.formatters?.transactionReceipt?.format||DH)(Q,"getTransactionReceipt")}BJ();J6();Q4();p8();SQ();U1();F9();async function cp($,J){let{account:Q,authorizationList:Y,allowFailure:X=!0,blockNumber:G,blockOverrides:W,blockTag:V,stateOverride:K}=J,D=J.contracts,{batchSize:O=J.batchSize??1024,deployless:N=J.deployless??!1}=typeof $.batch?.multicall==="object"?$.batch.multicall:{},w=(()=>{if(J.multicallAddress)return J.multicallAddress;if(N)return null;if($.chain)return O1({blockNumber:G,chain:$.chain,contract:"multicall3"});throw Error("client chain not configured. multicallAddress is required.")})(),M=[[]],z=0,q=0;for(let E=0;E<D.length;E++){let{abi:B,address:L,args:j,functionName:R}=D[E];try{let P=n4({abi:B,args:j,functionName:R});if(q+=(P.length-2)/2,O>0&&q>O&&M[z].length>0)z++,q=(P.length-2)/2,M[z]=[];M[z]=[...M[z],{allowFailure:!0,callData:P,target:L}]}catch(P){let x=i1(P,{abi:B,address:L,args:j,docsPath:"/docs/contract/multicall",functionName:R,sender:Q});if(!X)throw x;M[z]=[...M[z],{allowFailure:!0,callData:"0x",target:L}]}}let F=await Promise.allSettled(M.map((E)=>V$($,W6,"readContract")({...w===null?{code:vG}:{address:w},abi:h1,account:Q,args:[E],authorizationList:Y,blockNumber:G,blockOverrides:W,blockTag:V,functionName:"aggregate3",stateOverride:K}))),I=[];for(let E=0;E<F.length;E++){let B=F[E];if(B.status==="rejected"){if(!X)throw B.reason;for(let j=0;j<M[E].length;j++)I.push({status:"failure",error:B.reason,result:void 0});continue}let L=B.value;for(let j=0;j<L.length;j++){let{returnData:R,success:P}=L[j],{callData:x}=M[E][j],{abi:y,address:T,functionName:d,args:p}=D[I.length];try{if(x==="0x")throw new u1;if(!P)throw new TQ({data:R});let Y$=r6({abi:y,args:p,data:R,functionName:d});I.push(X?{result:Y$,status:"success"}:Y$)}catch(Y$){let c=i1(Y$,{abi:y,address:T,args:p,docsPath:"/docs/contract/multicall",functionName:d});if(!X)throw c;I.push({error:c,result:void 0,status:"failure"})}}}if(I.length!==D.length)throw new u("multicall results mismatch");return I}DE();J6();p8();k9();SQ();U1();p$();lK();PG();dM();x9();async function aK($,J){let{blockNumber:Q,blockTag:Y=$.experimental_blockTag??"latest",blocks:X,returnFullTransactions:G,traceTransfers:W,validation:V}=J;try{let K=[];for(let w of X){let M=w.blockOverrides?yM(w.blockOverrides):void 0,z=w.calls.map((F)=>{let I=F,E=I.account?g4(I.account):void 0,B=I.abi?n4(I):I.data,L={...I,account:E,data:I.dataSuffix?y6([B||"0x",I.dataSuffix]):B,from:I.from??E?.address};return M1(L),RJ(L)}),q=w.stateOverrides?kG(w.stateOverrides):void 0;K.push({blockOverrides:M,calls:z,stateOverrides:q})}let O=(typeof Q==="bigint"?O$(Q):void 0)||Y;return(await $.request({method:"eth_simulateV1",params:[{blockStateCalls:K,returnFullTransactions:G,traceTransfers:W,validation:V},O]})).map((w,M)=>({...$H(w),calls:w.calls.map((z,q)=>{let{abi:F,args:I,functionName:E,to:B}=X[M].calls[q],L=z.error?.data??z.returnData,j=BigInt(z.gasUsed),R=z.logs?.map((T)=>I6(T)),P=z.status==="0x1"?"success":"failure",x=F&&P==="success"&&L!=="0x"?r6({abi:F,data:L,functionName:E}):null,y=(()=>{if(P==="success")return;let T;if(L==="0x")T=new u1;else if(L)T=new TQ({data:L});if(!T)return;return i1(T,{abi:F??[],address:B??"0x",args:I,functionName:E??"<unknown>"})})();return{data:L,gasUsed:j,logs:R,status:P,...P==="success"?{result:x}:{error:y}}})}))}catch(K){let D=K,O=r8(D,{});if(O instanceof o1)throw D;throw O}}a5();g0();KM();c8();q6();function u9($,J={}){let{as:Q=typeof $==="string"?"Hex":"Bytes"}=J,Y=p5(Hd($));if(Q==="Bytes")return Y;return X6(Y)}q6();c8();class cE extends Map{constructor($){super();Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=$}get($){let J=super.get($);if(super.has($)&&J!==void 0)this.delete($),super.set($,J);return J}set($,J){if(super.set($,J),this.maxSize&&this.size>this.maxSize){let Q=this.keys().next().value;if(Q)this.delete(Q)}return this}}var SK$={checksum:new cE(8192)},UH=SK$.checksum;g0();c8();g0();q6();function ip($,J={}){let{compressed:Q}=J,{prefix:Y,x:X,y:G}=$;if(Q===!1||typeof X==="bigint"&&typeof G==="bigint"){if(Y!==4)throw new iE({prefix:Y,cause:new sp});return}if(Q===!0||typeof X==="bigint"&&typeof G>"u"){if(Y!==3&&Y!==2)throw new iE({prefix:Y,cause:new ap});return}throw new tp({publicKey:$})}function op($){let J=(()=>{if(PK($))return rp($);if(Id($))return TK$($);let{prefix:Q,x:Y,y:X}=$;if(typeof Y==="bigint"&&typeof X==="bigint")return{prefix:Q??4,x:Y,y:X};return{prefix:Q,x:Y}})();return ip(J),J}function TK$($){return rp(X6($))}function rp($){if($.length!==132&&$.length!==130&&$.length!==68)throw new ep({publicKey:$});if($.length===130){let Y=BigInt(d4($,0,32)),X=BigInt(d4($,32,64));return{prefix:4,x:Y,y:X}}if($.length===132){let Y=Number(d4($,0,1)),X=BigInt(d4($,1,33)),G=BigInt(d4($,33,65));return{prefix:Y,x:X,y:G}}let J=Number(d4($,0,1)),Q=BigInt(d4($,1,33));return{prefix:J,x:Q}}function oE($,J={}){ip($);let{prefix:Q,x:Y,y:X}=$,{includePrefix:G=!0}=J;return c4(G?D4(Q,{size:1}):"0x",D4(Y,{size:32}),typeof X==="bigint"?D4(X,{size:32}):"0x")}class tp extends H${constructor({publicKey:$}){super(`Value \`${i8($)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"})}}class iE extends H${constructor({prefix:$,cause:J}){super(`Prefix "${$}" is invalid.`,{cause:J});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"})}}class ap extends H${constructor(){super("Prefix must be 2 or 3 for compressed public keys.");Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"})}}class sp extends H${constructor(){super("Prefix must be 4 for uncompressed public keys.");Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}}class ep extends H${constructor({publicKey:$}){super(`Value \`${$}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${l4(TG($))} bytes.`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}}var CK$=/^0x[a-fA-F0-9]{40}$/;function m9($,J={}){let{strict:Q=!0}=J;if(!CK$.test($))throw new rE({address:$,cause:new Qn});if(Q){if($.toLowerCase()===$)return;if(OH($)!==$)throw new rE({address:$,cause:new Xn})}}function OH($){if(UH.has($))return UH.get($);m9($,{strict:!1});let J=$.substring(2).toLowerCase(),Q=u9(Ad(J),{as:"Bytes"}),Y=J.split("");for(let G=0;G<40;G+=2){if(Q[G>>1]>>4>=8&&Y[G])Y[G]=Y[G].toUpperCase();if((Q[G>>1]&15)>=8&&Y[G+1])Y[G+1]=Y[G+1].toUpperCase()}let X=`0x${Y.join("")}`;return UH.set($,X),X}function vK$($,J={}){let{checksum:Q=!1}=J;if(m9($),Q)return OH($);return $}function Jn($,J={}){let Q=u9(`0x${oE($).slice(4)}`).substring(26);return vK$(`0x${Q}`,J)}function NH($,J={}){let{strict:Q=!0}=J??{};try{return m9($,{strict:Q}),!0}catch{return!1}}class rE extends H${constructor({address:$,cause:J}){super(`Address "${$}" is invalid.`,{cause:J});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class Qn extends H${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 Xn extends H${constructor(){super("Address does not match its checksum counterpart.");Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}g0();function HH($){let J=!0,Q="",Y=0,X="",G=!1;for(let W=0;W<$.length;W++){let V=$[W];if(["(",")",","].includes(V))J=!0;if(V==="(")Y++;if(V===")")Y--;if(!J)continue;if(Y===0){if(V===" "&&["event","function","error",""].includes(X))X="";else if(X+=V,V===")"){G=!0;break}continue}if(V===" "){if($[W-1]!==","&&Q!==","&&Q!==",(")Q="",J=!1;continue}X+=V,Q+=V}if(!G)throw new H$("Unable to normalize signature.");return X}function MH($,J){let Q=typeof $,Y=J.type;switch(Y){case"address":return NH($,{strict:!1});case"bool":return Q==="boolean";case"function":return Q==="string";case"string":return Q==="string";default:{if(Y==="tuple"&&"components"in J)return Object.values(J.components).every((X,G)=>{return MH(Object.values($)[G],X)});if(/^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(Y))return Q==="number"||Q==="bigint";if(/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(Y))return Q==="string"||$ instanceof Uint8Array;if(/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(Y))return Array.isArray($)&&$.every((X)=>MH(X,{...J,type:Y.replace(/(\[[0-9]{0,}\])$/,"")}));return!1}}}function tE($,J,Q){for(let Y in $){let X=$[Y],G=J[Y];if(X.type==="tuple"&&G.type==="tuple"&&"components"in X&&"components"in G)return tE(X.components,G.components,Q[Y]);let W=[X.type,G.type];if((()=>{if(W.includes("address")&&W.includes("bytes20"))return!0;if(W.includes("address")&&W.includes("string"))return NH(Q[Y],{strict:!1});if(W.includes("address")&&W.includes("bytes"))return NH(Q[Y],{strict:!1});return!1})())return W}return}function AH($,J={}){let{prepare:Q=!0}=J,Y=(()=>{if(Array.isArray($))return IM($);if(typeof $==="string")return IM($);return $})();return{...Y,...Q?{hash:pG(Y)}:{}}}function sK($,J,Q){let{args:Y=[],prepare:X=!0}=Q??{},G=PK(J,{strict:!1}),W=$.filter((D)=>{if(G){if(D.type==="function"||D.type==="error")return aE(D)===d4(J,0,4);if(D.type==="event")return pG(D)===J;return!1}return"name"in D&&D.name===J});if(W.length===0)throw new l9({name:J});if(W.length===1)return{...W[0],...X?{hash:pG(W[0])}:{}};let V;for(let D of W){if(!("inputs"in D))continue;if(!Y||Y.length===0){if(!D.inputs||D.inputs.length===0)return{...D,...X?{hash:pG(D)}:{}};continue}if(!D.inputs)continue;if(D.inputs.length===0)continue;if(D.inputs.length!==Y.length)continue;if(Y.every((N,w)=>{let M="inputs"in D&&D.inputs[w];if(!M)return!1;return MH(N,M)})){if(V&&"inputs"in V&&V.inputs){let N=tE(D.inputs,V.inputs,Y);if(N)throw new Yn({abiItem:D,type:N[0]},{abiItem:V,type:N[1]})}V=D}}let K=(()=>{if(V)return V;let[D,...O]=W;return{...D,overloads:O}})();if(!K)throw new l9({name:J});return{...K,...X?{hash:pG(K)}:{}}}function aE(...$){let J=(()=>{if(Array.isArray($[0])){let[Q,Y]=$;return sK(Q,Y)}return $[0]})();return d4(pG(J),0,4)}function kK$(...$){let J=(()=>{if(Array.isArray($[0])){let[Y,X]=$;return sK(Y,X)}return $[0]})(),Q=(()=>{if(typeof J==="string")return J;return EQ(J)})();return HH(Q)}function pG(...$){let J=(()=>{if(Array.isArray($[0])){let[Q,Y]=$;return sK(Q,Y)}return $[0]})();if(typeof J!=="string"&&"hash"in J&&J.hash)return J.hash;return u9(CG(kK$(J)))}class Yn extends H${constructor($,J){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${$.type}\` in \`${HH(EQ($.abiItem))}\`, and`,`\`${J.type}\` in \`${HH(EQ(J.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 l9 extends H${constructor({name:$,data:J,type:Q="item"}){let Y=(()=>{if($)return` with name "${$}"`;if(J)return` with data "${J}"`;return""})();super(`ABI ${Q}${Y} not found.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}a5();c8();g0();q6();c8();g0();q6();var Wn=/^(.*)\[([0-9]*)\]$/,Vn=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,zH=/^(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)?$/,bl$=2n**(8n-1n)-1n,gl$=2n**(16n-1n)-1n,yl$=2n**(24n-1n)-1n,hl$=2n**(32n-1n)-1n,ul$=2n**(40n-1n)-1n,ml$=2n**(48n-1n)-1n,ll$=2n**(56n-1n)-1n,dl$=2n**(64n-1n)-1n,pl$=2n**(72n-1n)-1n,nl$=2n**(80n-1n)-1n,cl$=2n**(88n-1n)-1n,il$=2n**(96n-1n)-1n,ol$=2n**(104n-1n)-1n,rl$=2n**(112n-1n)-1n,tl$=2n**(120n-1n)-1n,al$=2n**(128n-1n)-1n,sl$=2n**(136n-1n)-1n,el$=2n**(144n-1n)-1n,$d$=2n**(152n-1n)-1n,Jd$=2n**(160n-1n)-1n,Qd$=2n**(168n-1n)-1n,Xd$=2n**(176n-1n)-1n,Yd$=2n**(184n-1n)-1n,Gd$=2n**(192n-1n)-1n,Wd$=2n**(200n-1n)-1n,Vd$=2n**(208n-1n)-1n,Kd$=2n**(216n-1n)-1n,Dd$=2n**(224n-1n)-1n,Ud$=2n**(232n-1n)-1n,Od$=2n**(240n-1n)-1n,Nd$=2n**(248n-1n)-1n,wd$=2n**(256n-1n)-1n,Md$=-(2n**(8n-1n)),Hd$=-(2n**(16n-1n)),Ad$=-(2n**(24n-1n)),zd$=-(2n**(32n-1n)),Zd$=-(2n**(40n-1n)),qd$=-(2n**(48n-1n)),Ld$=-(2n**(56n-1n)),Id$=-(2n**(64n-1n)),Bd$=-(2n**(72n-1n)),Fd$=-(2n**(80n-1n)),jd$=-(2n**(88n-1n)),Ed$=-(2n**(96n-1n)),_d$=-(2n**(104n-1n)),Sd$=-(2n**(112n-1n)),Rd$=-(2n**(120n-1n)),Td$=-(2n**(128n-1n)),Cd$=-(2n**(136n-1n)),vd$=-(2n**(144n-1n)),Pd$=-(2n**(152n-1n)),kd$=-(2n**(160n-1n)),xd$=-(2n**(168n-1n)),fd$=-(2n**(176n-1n)),bd$=-(2n**(184n-1n)),gd$=-(2n**(192n-1n)),yd$=-(2n**(200n-1n)),hd$=-(2n**(208n-1n)),ud$=-(2n**(216n-1n)),md$=-(2n**(224n-1n)),ld$=-(2n**(232n-1n)),dd$=-(2n**(240n-1n)),pd$=-(2n**(248n-1n)),nd$=-(2n**(256n-1n)),cd$=2n**8n-1n,id$=2n**16n-1n,od$=2n**24n-1n,rd$=2n**32n-1n,td$=2n**40n-1n,ad$=2n**48n-1n,sd$=2n**56n-1n,ed$=2n**64n-1n,$p$=2n**72n-1n,Jp$=2n**80n-1n,Qp$=2n**88n-1n,Xp$=2n**96n-1n,Yp$=2n**104n-1n,Gp$=2n**112n-1n,Wp$=2n**120n-1n,Vp$=2n**128n-1n,Kp$=2n**136n-1n,Dp$=2n**144n-1n,Up$=2n**152n-1n,Op$=2n**160n-1n,Np$=2n**168n-1n,wp$=2n**176n-1n,Mp$=2n**184n-1n,Hp$=2n**192n-1n,Ap$=2n**200n-1n,zp$=2n**208n-1n,Zp$=2n**216n-1n,qp$=2n**224n-1n,Lp$=2n**232n-1n,Ip$=2n**240n-1n,Bp$=2n**248n-1n,sE=2n**256n-1n;function d9($,J,Q){let{checksumAddress:Y,staticPosition:X}=Q,G=J_(J.type);if(G){let[W,V]=G;return fK$($,{...J,type:V},{checksumAddress:Y,length:W,staticPosition:X})}if(J.type==="tuple")return hK$($,J,{checksumAddress:Y,staticPosition:X});if(J.type==="address")return xK$($,{checksum:Y});if(J.type==="bool")return bK$($);if(J.type.startsWith("bytes"))return gK$($,J,{staticPosition:X});if(J.type.startsWith("uint")||J.type.startsWith("int"))return yK$($,J);if(J.type==="string")return uK$($,{staticPosition:X});throw new $D(J.type)}var Dn=32,eE=32;function xK$($,J={}){let{checksum:Q=!1}=J,Y=$.readBytes(32);return[((G)=>Q?OH(G):G)(X6(zd(Y,-20))),32]}function fK$($,J,Q){let{checksumAddress:Y,length:X,staticPosition:G}=Q;if(!X){let K=_J($.readBytes(eE)),D=G+K,O=D+Dn;$.setPosition(D);let N=_J($.readBytes(Dn)),w=eK(J),M=0,z=[];for(let q=0;q<N;++q){$.setPosition(O+(w?q*32:M));let[F,I]=d9($,J,{checksumAddress:Y,staticPosition:O});M+=I,z.push(F)}return $.setPosition(G+32),[z,32]}if(eK(J)){let K=_J($.readBytes(eE)),D=G+K,O=[];for(let N=0;N<X;++N){$.setPosition(D+N*32);let[w]=d9($,J,{checksumAddress:Y,staticPosition:D});O.push(w)}return $.setPosition(G+32),[O,32]}let W=0,V=[];for(let K=0;K<X;++K){let[D,O]=d9($,J,{checksumAddress:Y,staticPosition:G+W});W+=O,V.push(D)}return[V,W]}function bK$($){return[qd($.readBytes(32),{size:32}),32]}function gK$($,J,{staticPosition:Q}){let[Y,X]=J.type.split("bytes");if(!X){let W=_J($.readBytes(32));$.setPosition(Q+W);let V=_J($.readBytes(32));if(V===0)return $.setPosition(Q+32),["0x",32];let K=$.readBytes(V);return $.setPosition(Q+32),[X6(K),32]}return[X6($.readBytes(Number.parseInt(X,10),32)),32]}function yK$($,J){let Q=J.type.startsWith("int"),Y=Number.parseInt(J.type.split("int")[1]||"256",10),X=$.readBytes(32);return[Y>48?Zd(X,{signed:Q}):_J(X,{signed:Q}),32]}function hK$($,J,Q){let{checksumAddress:Y,staticPosition:X}=Q,G=J.components.length===0||J.components.some(({name:K})=>!K),W=G?[]:{},V=0;if(eK(J)){let K=_J($.readBytes(eE)),D=X+K;for(let O=0;O<J.components.length;++O){let N=J.components[O];$.setPosition(D+V);let[w,M]=d9($,N,{checksumAddress:Y,staticPosition:D});V+=M,W[G?O:N?.name]=w}return $.setPosition(X+32),[W,32]}for(let K=0;K<J.components.length;++K){let D=J.components[K],[O,N]=d9($,D,{checksumAddress:Y,staticPosition:X});W[G?K:D?.name]=O,V+=N}return[W,V]}function uK$($,{staticPosition:J}){let Q=_J($.readBytes(32)),Y=J+Q;$.setPosition(Y);let X=_J($.readBytes(32));if(X===0)return $.setPosition(J+32),["",32];let G=$.readBytes(X,32),W=Ld(YE(G));return $.setPosition(J+32),[W,32]}function Un({checksumAddress:$,parameters:J,values:Q}){let Y=[];for(let X=0;X<J.length;X++)Y.push($_({checksumAddress:$,parameter:J[X],value:Q[X]}));return Y}function $_({checksumAddress:$=!1,parameter:J,value:Q}){let Y=J,X=J_(Y.type);if(X){let[G,W]=X;return lK$(Q,{checksumAddress:$,length:G,parameter:{...Y,type:W}})}if(Y.type==="tuple")return iK$(Q,{checksumAddress:$,parameter:Y});if(Y.type==="address")return mK$(Q,{checksum:$});if(Y.type==="bool")return pK$(Q);if(Y.type.startsWith("uint")||Y.type.startsWith("int")){let G=Y.type.startsWith("int"),[,,W="256"]=zH.exec(Y.type)??[];return nK$(Q,{signed:G,size:Number(W)})}if(Y.type.startsWith("bytes"))return dK$(Q,{type:Y.type});if(Y.type==="string")return cK$(Q);throw new $D(Y.type)}function ZH($){let J=0;for(let G=0;G<$.length;G++){let{dynamic:W,encoded:V}=$[G];if(W)J+=32;else J+=l4(V)}let Q=[],Y=[],X=0;for(let G=0;G<$.length;G++){let{dynamic:W,encoded:V}=$[G];if(W)Q.push(D4(J+X,{size:32})),Y.push(V),X+=l4(V);else Q.push(V)}return c4(...Q,...Y)}function mK$($,J){let{checksum:Q=!1}=J;return m9($,{strict:Q}),{dynamic:!1,encoded:kQ($.toLowerCase())}}function lK$($,J){let{checksumAddress:Q,length:Y,parameter:X}=J,G=Y===null;if(!Array.isArray($))throw new X_($);if(!G&&$.length!==Y)throw new Q_({expectedLength:Y,givenLength:$.length,type:`${X.type}[${Y}]`});let W=!1,V=[];for(let K=0;K<$.length;K++){let D=$_({checksumAddress:Q,parameter:X,value:$[K]});if(D.dynamic)W=!0;V.push(D)}if(G||W){let K=ZH(V);if(G){let D=D4(V.length,{size:32});return{dynamic:!0,encoded:V.length>0?c4(D,K):D}}if(W)return{dynamic:!0,encoded:K}}return{dynamic:!1,encoded:c4(...V.map(({encoded:K})=>K))}}function dK$($,{type:J}){let[,Q]=J.split("bytes"),Y=l4($);if(!Q){let X=$;if(Y%32!==0)X=SJ(X,Math.ceil(($.length-2)/2/32)*32);return{dynamic:!0,encoded:c4(kQ(D4(Y,{size:32})),X)}}if(Y!==Number.parseInt(Q,10))throw new qH({expectedSize:Number.parseInt(Q,10),value:$});return{dynamic:!1,encoded:SJ($)}}function pK$($){if(typeof $!=="boolean")throw new H$(`Invalid boolean value: "${$}" (type: ${typeof $}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:kQ(bM($))}}function nK$($,{signed:J,size:Q}){if(typeof Q==="number"){let Y=2n**(BigInt(Q)-(J?1n:0n))-1n,X=J?-Y-1n:0n;if($>Y||$<X)throw new gM({max:Y.toString(),min:X.toString(),signed:J,size:Q/8,value:$.toString()})}return{dynamic:!1,encoded:D4($,{size:32,signed:J})}}function cK$($){let J=CG($),Q=Math.ceil(l4(J)/32),Y=[];for(let X=0;X<Q;X++)Y.push(SJ(d4(J,X*32,(X+1)*32)));return{dynamic:!0,encoded:c4(SJ(D4(l4(J),{size:32})),...Y)}}function iK$($,J){let{checksumAddress:Q,parameter:Y}=J,X=!1,G=[];for(let W=0;W<Y.components.length;W++){let V=Y.components[W],K=Array.isArray($)?W:V.name,D=$_({checksumAddress:Q,parameter:V,value:$[K]});if(G.push(D),D.dynamic)X=!0}return{dynamic:X,encoded:X?ZH(G):c4(...G.map(({encoded:W})=>W))}}function J_($){let J=$.match(/^(.*)\[(\d+)?\]$/);return J?[J[2]?Number(J[2]):null,J[1]]:void 0}function eK($){let{type:J}=$;if(J==="string")return!0;if(J==="bytes")return!0;if(J.endsWith("[]"))return!0;if(J==="tuple")return $.components?.some(eK);let Q=J_($.type);if(Q&&eK({...$,type:Q[1]}))return!0;return!1}g0();var rK$={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 Nn({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition($){if($<0||$>this.bytes.length-1)throw new On({length:this.bytes.length,position:$})},decrementPosition($){if($<0)throw new Y_({offset:$});let J=this.position-$;this.assertPosition(J),this.position=J},getReadCount($){return this.positionReadCount.get($||this.position)||0},incrementPosition($){if($<0)throw new Y_({offset:$});let J=this.position+$;this.assertPosition(J),this.position=J},inspectByte($){let J=$??this.position;return this.assertPosition(J),this.bytes[J]},inspectBytes($,J){let Q=J??this.position;return this.assertPosition(Q+$-1),this.bytes.subarray(Q,Q+$)},inspectUint8($){let J=$??this.position;return this.assertPosition(J),this.bytes[J]},inspectUint16($){let J=$??this.position;return this.assertPosition(J+1),this.dataView.getUint16(J)},inspectUint24($){let J=$??this.position;return this.assertPosition(J+2),(this.dataView.getUint16(J)<<8)+this.dataView.getUint8(J+2)},inspectUint32($){let J=$??this.position;return this.assertPosition(J+3),this.dataView.getUint32(J)},pushByte($){this.assertPosition(this.position),this.bytes[this.position]=$,this.position++},pushBytes($){this.assertPosition(this.position+$.length-1),this.bytes.set($,this.position),this.position+=$.length},pushUint8($){this.assertPosition(this.position),this.bytes[this.position]=$,this.position++},pushUint16($){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,$),this.position+=2},pushUint24($){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,$>>8),this.dataView.setUint8(this.position+2,$&255),this.position+=3},pushUint32($){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,$),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let $=this.inspectByte();return this.position++,$},readBytes($,J){this.assertReadLimit(),this._touch();let Q=this.inspectBytes($);return this.position+=J??$,Q},readUint8(){this.assertReadLimit(),this._touch();let $=this.inspectUint8();return this.position+=1,$},readUint16(){this.assertReadLimit(),this._touch();let $=this.inspectUint16();return this.position+=2,$},readUint24(){this.assertReadLimit(),this._touch();let $=this.inspectUint24();return this.position+=3,$},readUint32(){this.assertReadLimit(),this._touch();let $=this.inspectUint32();return this.position+=4,$},get remaining(){return this.bytes.length-this.position},setPosition($){let J=this.position;return this.assertPosition($),this.position=$,()=>this.position=J},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let $=this.getReadCount();if(this.positionReadCount.set(this.position,$+1),$>0)this.recursiveReadCount++}};function LH($,{recursiveReadLimit:J=8192}={}){let Q=Object.create(rK$);return Q.bytes=$,Q.dataView=new DataView($.buffer,$.byteOffset,$.byteLength),Q.positionReadCount=new Map,Q.recursiveReadLimit=J,Q}class Y_ extends H${constructor({offset:$}){super(`Offset \`${$}\` cannot be negative.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class On extends H${constructor({length:$,position:J}){super(`Position \`${J}\` is out of bounds (\`0 < position < ${$}\`).`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}}class Nn extends H${constructor({count:$,limit:J}){super(`Recursive read limit of \`${J}\` exceeded (recursive read count: \`${$}\`).`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}}function nG($,J,Q={}){let{as:Y="Array",checksumAddress:X=!1}=Q,G=typeof J==="string"?RG(J):J,W=LH(G);if(w1(G)===0&&$.length>0)throw new Hn;if(w1(G)&&w1(G)<32)throw new Mn({data:typeof J==="string"?J:X6(J),parameters:$,size:w1(G)});let V=0,K=Y==="Array"?[]:{};for(let D=0;D<$.length;++D){let O=$[D];W.setPosition(V);let[N,w]=d9(W,O,{checksumAddress:X,staticPosition:0});if(V+=w,Y==="Array")K.push(N);else K[O.name??D]=N}return K}function QX($,J,Q){let{checksumAddress:Y=!1}=Q??{};if($.length!==J.length)throw new W_({expectedLength:$.length,givenLength:J.length});let X=Un({checksumAddress:Y,parameters:$,values:J}),G=ZH(X);if(G.length===0)return"0x";return G}function G_($,J){if($.length!==J.length)throw new W_({expectedLength:$.length,givenLength:J.length});let Q=[];for(let Y=0;Y<$.length;Y++){let X=$[Y],G=J[Y];Q.push(G_.encode(X,G))}return c4(...Q)}(function($){function J(Q,Y,X=!1){if(Q==="address"){let K=Y;return m9(K),kQ(K.toLowerCase(),X?32:0)}if(Q==="string")return CG(Y);if(Q==="bytes")return Y;if(Q==="bool")return kQ(bM(Y),X?32:1);let G=Q.match(zH);if(G){let[K,D,O="256"]=G,N=Number.parseInt(O,10)/8;return D4(Y,{size:X?32:N,signed:D==="int"})}let W=Q.match(Vn);if(W){let[K,D]=W;if(Number.parseInt(D,10)!==(Y.length-2)/2)throw new qH({expectedSize:Number.parseInt(D,10),value:Y});return SJ(Y,X?32:0)}let V=Q.match(Wn);if(V&&Array.isArray(Y)){let[K,D]=V,O=[];for(let N=0;N<Y.length;N++)O.push(J(D,Y[N],!0));if(O.length===0)return"0x";return c4(...O)}throw new $D(Q)}$.encode=J})(G_||(G_={}));function QD($){if(Array.isArray($)&&typeof $[0]==="string")return BM($);if(typeof $==="string")return BM($);return $}class Mn extends H${constructor({data:$,parameters:J,size:Q}){super(`Data size of ${Q} bytes is too small for given parameters.`,{metaMessages:[`Params: (${jQ(J)})`,`Data: ${$} (${Q} bytes)`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class Hn extends H${constructor(){super('Cannot decode zero data ("0x") with ABI parameters.');Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class Q_ extends H${constructor({expectedLength:$,givenLength:J,type:Q}){super(`Array length mismatch for type \`${Q}\`. Expected: \`${$}\`. Given: \`${J}\`.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}}class qH extends H${constructor({expectedSize:$,value:J}){super(`Size of bytes "${J}" (bytes${l4(J)}) does not match expected size (bytes${$}).`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class W_ extends H${constructor({expectedLength:$,givenLength:J}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${$}`,`Given length (values): ${J}`].join(`
141
+ ${J}`}function nw($,J){return Y9(mw.sign(b5(J),$))}var WK=[0.0001,0.001,0.01,0.1,1,10,100,1000,1e4];var JW$=1e4,QW$=15000,XW$=30000,YW$=1000,GW$=["created","activated","cancelled","parent_cancelled","triggered","failed","oco_cancelled"],WW$=["STOP_LOSS","TAKE_PROFIT"],VW$=["MARK_PRICE"],KW$=["PENDING_PARENT","ACTIVE","TRIGGERING","TRIGGERED","CANCELLED","EXPIRED","FAILED"],DW$=["POSITION","PARENT_ORDER"];function Iu($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function H9($,J){let Q=$[J];if(typeof Q!=="string"||Q.length===0)throw Error(`Invalid conditional order event: ${J} must be a non-empty string`);return Q}function y1($,J){let Q=$[J];if(Q===void 0||Q===null)return;if(typeof Q!=="string")throw Error(`Invalid conditional order event: ${J} must be a string`);return Q}function UW$($,J){let Q=$[J];if(typeof Q!=="boolean")throw Error(`Invalid conditional order event: ${J} must be a boolean`);return Q}function OW$($,J){let Q=$[J];if(Q===void 0||Q===null)return;if(typeof Q!=="number"||!Number.isFinite(Q))throw Error(`Invalid conditional order event: ${J} must be a finite number`);return Q}function g8($,J,Q){let Y=H9($,J);if(!Q.includes(Y))throw Error(`Invalid conditional order event: ${J} must be one of ${Q.join(", ")}`);return Y}function Bu($,J,Q){let Y=$[J];if(Y===void 0||Y===null)return;if(typeof Y!=="string"||!Q.includes(Y))throw Error(`Invalid conditional order event: ${J} must be one of ${Q.join(", ")}`);return Y}function NW$($){if(!Iu($))throw Error("Invalid conditional order event: payload must be an object");if(!Iu($.data))throw Error("Invalid conditional order event: data must be an object");let J=f5($.data);return{eventType:g8($,"event_type",["conditional_order_update"]),userId:H9($,"user_id"),data:{conditionalOrderId:H9(J,"conditionalOrderId"),tradingPairId:H9(J,"tradingPairId"),marginAccountId:H9(J,"marginAccountId"),positionId:y1(J,"positionId"),parentOrderId:y1(J,"parentOrderId"),associationType:Bu(J,"associationType",DW$),linkedGroupId:y1(J,"linkedGroupId"),conditionType:g8(J,"conditionType",WW$),triggerSource:g8(J,"triggerSource",VW$),triggerPrice:H9(J,"triggerPrice"),side:g8(J,"side",["BUY","SELL"]),positionSide:g8(J,"positionSide",["LONG","SHORT","NONE"]),orderType:g8(J,"orderType",["LIMIT","MARKET"]),limitPrice:y1(J,"limitPrice"),quantity:y1(J,"quantity"),slippageToleranceBps:OW$(J,"slippageToleranceBps"),reduceOnly:UW$(J,"reduceOnly"),timeInForce:Bu(J,"timeInForce",["GTC","IOC"]),state:g8(J,"state",KW$),triggeredOrderId:y1(J,"triggeredOrderId"),triggeredAt:y1(J,"triggeredAt"),activatedAt:y1(J,"activatedAt"),cancelledAt:y1(J,"cancelledAt"),expiresAt:y1(J,"expiresAt"),failureReason:y1(J,"failureReason"),reason:g8(J,"reason",GW$),updatedAt:H9(J,"updatedAt")}}}function FF($,J={}){let Q=null,Y=J.session,X=0,G=null,W=null,V=J.autoReconnect??!0,K=J.maxReconnectAttempts??Number.POSITIVE_INFINITY,D=Number.isFinite(J.reconnectBaseDelayMs)&&J.reconnectBaseDelayMs>0?J.reconnectBaseDelayMs:YW$,O=Number.isFinite(J.connectionTimeoutMs)&&J.connectionTimeoutMs>0?J.connectionTimeoutMs:JW$,N=null,w=new Map,M=()=>{if(!Q)return G?"reconnecting":"disconnected";switch(Q.readyState){case WebSocket.CONNECTING:return"connecting";case WebSocket.OPEN:return"connected";default:return G?"reconnecting":"disconnected"}},z=()=>$,q=()=>{if(!Y||Q?.readyState!==WebSocket.OPEN)return;let S=Date.now(),k=nw(aV(Y.privateKey),Lu(Y.publicKey,S));Q.send(JSON.stringify({type:"Authenticate",public_key:Y.publicKey,timestamp:S,signature:k}))},F=()=>{if(W)clearInterval(W),W=null},I=()=>{F(),W=setInterval(()=>{if(Q?.readyState===WebSocket.OPEN)Q.send(JSON.stringify({type:"Ping"}))},QW$)},E=()=>{if(G)clearTimeout(G),G=null},B=()=>{if(G)return;if(!V||X>=K){console.error("WebSocket: Max reconnect attempts reached");return}let S=Math.min(D*2**X,XW$);X++;let k=Math.random()*S;G=setTimeout(()=>{if(G=null,!V)return;P().catch((b)=>{console.warn("WebSocket: Failed to reconnect:",b),B()})},k),J.onStatusChange?.("reconnecting")},L=(S)=>{if(Q?.readyState===WebSocket.OPEN)Q.send(JSON.stringify(S))},j=()=>{let S=Array.from(w.keys());if(S.length>0)L({type:"Subscribe",channels:S})},R=(S)=>{if(S.type!=="Event"||!S.channel)return;for(let[k,b]of w)if(S.channel===k||S.channel.startsWith(`${k}:`))for(let t of b)t(S.data)},P=()=>{return new Promise((S,k)=>{if(Q?.readyState===WebSocket.CONNECTING||Q?.readyState===WebSocket.OPEN){S();return}try{let b=new WebSocket(z());Q=b;let t=setTimeout(()=>{if(Q!==b){S();return}if(b.readyState===WebSocket.CONNECTING)b.close(1000,"Connection timeout"),k(Error("WebSocket connection timeout"))},O);b.onopen=()=>{if(clearTimeout(t),Q!==b){S();return}if(X=0,E(),I(),q(),j(),J.onStatusChange?.("connected"),N!==null){let n=N;N=null,J.onResync?.({code:n,slowClient:n===1013})}S()},b.onmessage=(n)=>{if(Q!==b)return;try{let N$=JSON.parse(n.data);if(N$.type==="Pong")return;if(N$.type==="Ping"){L({type:"Pong"});return}R(N$)}catch(N$){console.warn("WebSocket: Failed to parse message",N$)}},b.onclose=(n)=>{if(clearTimeout(t),Q!==b){S();return}if(Q=null,F(),V&&n.code!==1000){if(N===null||n.code===1013)N=n.code;B()}if(!G)J.onStatusChange?.("disconnected")},b.onerror=()=>clearTimeout(t)}catch(b){J.onStatusChange?.("disconnected"),k(b)}})},x=()=>{V=!1,E(),F(),N=null,w.clear(),Q?.close(1000,"Client disconnect"),Q=null,J.onStatusChange?.("disconnected")},y=(S,k)=>{let b=!w.has(S);if(!w.has(S))w.set(S,new Set);if(w.get(S)?.add(k),b&&Q?.readyState===WebSocket.OPEN)L({type:"Subscribe",channels:[S]});return()=>{let t=w.get(S);if(t){if(t.delete(k),t.size===0){if(w.delete(S),Q?.readyState===WebSocket.OPEN)L({type:"Unsubscribe",channels:[S]})}}}};return{connect:P,disconnect:x,isConnected:()=>Q?.readyState===WebSocket.OPEN,getStatus:M,setSessionKeypair:(S)=>{if(Y=S??void 0,Y&&Q?.readyState===WebSocket.OPEN)q();else if(Y&&(!Q||Q.readyState===WebSocket.CLOSED))P().catch((k)=>{console.warn("WebSocket: Failed to connect after session update:",k)})},orders:(S,k,b)=>{let t=`orders:${S}:${k}`;return y(t,(n)=>{try{let N$=n,Z$={orderId:N$.order_id,eventType:N$.event_type,timestamp:N$.timestamp,data:f5(N$.data)};b(Z$)}catch(N$){console.error("WebSocket: Error processing order event",N$)}})},orderbook:(S,k,b,t,n)=>{if(!S||!k||b===void 0||!t)throw Error(`orderbook subscription requires all params: tradingPairId="${S}", tradingMode="${k}", magnitude=${b} (valid: ${WK.join(", ")}), quotationMode="${t}" (valid: "BASE", "QUOTE")`);if(!WK.includes(b))throw Error(`Invalid magnitude: ${b}. Must be one of: ${WK.join(", ")}`);let N$=`orderbook:${S}:${k}:${b}:${t.toLowerCase()}`;return y(N$,(Z$)=>{try{let w$=Z$,f$=w$.data,H4={tradingPairId:w$.trading_pair_id,tradingMode:w$.trading_mode,bids:(f$?.bids||[]).map((o$)=>({price:o$.price,quantity:o$.quantity,orderCount:o$.order_count||0})),asks:(f$?.asks||[]).map((o$)=>({price:o$.price,quantity:o$.quantity,orderCount:o$.order_count||0})),bestBid:f$?.best_bid,bestAsk:f$?.best_ask,bidVolume:f$?.bid_volume||void 0,askVolume:f$?.ask_volume||void 0,priceChange:f$?.price_change?{side:f$.price_change.side,oldPrice:f$.price_change.old_price,newPrice:f$.price_change.new_price,levelRemoved:f$.price_change.level_removed||!1,levelAdded:f$.price_change.level_added||!1}:void 0,baseDecimals:w$.base_decimals||0,quoteDecimals:w$.quote_decimals||0,timestamp:w$.timestamp||new Date().toISOString(),sequence:w$.sequence_number||0};n(H4)}catch(w$){console.error("WebSocket: Error processing orderbook event",w$)}})},ohlcv:(S,k,b,t)=>{let n=`ohlcv:${S}:${k}:${b}`;return y(n,(N$)=>{try{let Z$=N$,w$=Z$.data,f$={tradingPairId:Z$.trading_pair_id,tradingMode:Z$.trading_mode,interval:Z$.interval,candlestick:{T:w$.period_start||0,t:w$.period_end||0,o:w$.open||"0",h:w$.high||"0",l:w$.low||"0",c:w$.close||"0",v:w$.volume||"0",s:Z$.symbol,i:Z$.interval,n:w$.trades_count||0}};t(f$)}catch(Z$){console.error("WebSocket: Error processing OHLCV event",Z$)}})},trades:(S,k)=>{let b=`trades:${S}`;return y(b,(t)=>{try{let n=t,N$=n.data,Z$={eventType:"trade",tradingPairId:n.trading_pair_id,tradingMode:n.trading_mode.toUpperCase(),data:{tradeId:N$.trade_id,price:N$.price,quantity:N$.quantity,makerSide:N$.maker_side.toUpperCase(),executedAt:N$.executed_at}};k(Z$)}catch(n){console.error("WebSocket: Error processing trade event",n)}})},movements:(S)=>{return y("movements",(b)=>{try{let t=b,n=t.data,N$={eventType:"movement",userId:t.user_id,data:{id:n.id,entryType:n.entry_type,transactionType:n.transaction_type,tokenAddress:n.token_address,amount:String(n.amount),amountRaw:n.amount_raw,balanceBefore:n.balance_before!=null?String(n.balance_before):void 0,balanceAfter:n.balance_after!=null?String(n.balance_after):void 0,lockedBefore:n.locked_before!=null?String(n.locked_before):void 0,lockedAfter:n.locked_after!=null?String(n.locked_after):void 0,referenceId:n.reference_id,referenceType:n.reference_type,description:n.description,txHash:n.tx_hash,createdAt:n.created_at,decimals:n.decimals}};S(N$)}catch(t){console.error("WebSocket: Error processing movement event",t)}})},userOrders:(S)=>{return y("orders",(b)=>{try{let t=b,n={orderId:t.order_id,eventType:t.event_type,timestamp:t.timestamp,data:f5(t.data)};S(n)}catch(t){console.error("WebSocket: Error processing user order event",t)}})},balances:(S)=>{return y("balances",(b)=>{try{let t=b,n=t.data,N$={eventType:"balance_update",userId:t.user_id,data:{tokenAddress:n.token_address,tokenSymbol:n.token_symbol,available:n.available,availableRaw:n.available_raw,locked:n.locked,lockedRaw:n.locked_raw,total:n.total,totalRaw:n.total_raw,reason:n.reason,referenceId:n.reference_id,updatedAt:n.updated_at}};S(N$)}catch(t){console.error("WebSocket: Error processing balance event",t)}})},conditionalOrders:(S,k)=>{if(!S)throw Error("conditionalOrders subscription requires a handler");if(k!==void 0&&k.length===0)throw Error("conditionalOrders tradingPairId cannot be empty");let b=k?`conditional_orders:${k}`:"conditional_orders";return y(b,(t)=>{try{S(NW$(t))}catch(n){console.error("WebSocket: Error processing conditional order event",n)}})}}}var y8=e6(iw(),1),xm=["token","accessToken","access_token","refreshToken","refresh_token","authToken","auth_token","bearerToken","bearer_token","jwtToken","jwt_token","apiKey","api_key","apikey","clientSecret","client_secret","clientId","client_id","secret","password","authorization","bearer","auth","credentials","credential","email","phone","phoneNumber","phone_number","ssn","socialSecurity","social_security","address","passport","passportNumber","passport_number","driversLicense","drivers_license","cardNumber","card_number","creditCard","credit_card","cvv","pin","signature","privateKey","private_key","publicKey","public_key","mnemonic","seed","salt","hash","certificate","cert","fingerprint","cookie","session","sessionId","session_id","sessionToken","session_token","ipAddress","ip_address","deviceId","device_id","userId","user_id","accountId","account_id"];function m5($,J=5,Q=0){if(Q>=J)return"[Max depth reached]";if($===null||$===void 0)return $;if(Array.isArray($)){let X=$.slice(0,10).map((G)=>m5(G,J,Q+1));if($.length>10)X.push(`[... ${$.length-10} more items]`);return X}if(typeof $==="object"){let Y={};for(let[X,G]of Object.entries($)){let W=X.toLowerCase();if(xm.some((K)=>W.includes(K.toLowerCase())))Y[X]="[REDACTED]";else if(typeof G==="string"&&G.length>500)Y[X]=`${G.substring(0,500)}... [truncated]`;else Y[X]=m5(G,J,Q+1)}return Y}if(typeof $==="string"){if($.length>1000)return`${$.substring(0,1000)}... [truncated]`;return $}return $}class l5 extends Error{cause;suggestion;retryable=!1;timestamp;constructor($,J){super($);if(this.name=this.constructor.name,this.timestamp=Date.now(),J?.cause)this.cause=J.cause;if(J?.suggestion)this.suggestion=J.suggestion;if(J?.retryable!==void 0)this.retryable=J.retryable}toJSON(){return{name:this.name,code:this.code,message:this.message,suggestion:this.suggestion,retryable:this.retryable,timestamp:this.timestamp,cause:this.cause instanceof Error?this.cause.message:this.cause}}}class k4 extends l5{code="INVALID_CONFIG";field;value;constructor($,J,Q,Y){let X=J?`Check the '${J}' configuration parameter. ${SW$(J)}`:"Review your SDK configuration and ensure all required fields are provided correctly.";super($,{cause:Y,suggestion:X,retryable:!1});this.field=J,this.value=Q}toJSON(){let $;if(this.field){let J=this.field.toLowerCase();if(xm.some((Y)=>J.includes(Y.toLowerCase())))$="[REDACTED]";else $=m5(this.value)}else $=m5(this.value);return{...super.toJSON(),field:this.field,value:$}}}function SW$($){switch($.toLowerCase()){case"walletclient":return"Ensure you're creating the wallet client with a valid account and chain configuration.";case"seirpcurl":return"Use 'https://evm-rpc-testnet.sei-apis.com' for testnet or 'https://evm-rpc.sei-apis.com' for mainnet.";case"wsurl":return"Use 'wss://ws-develop.apimonaco.xyz/ws' for testnet or 'wss://ws.apimonaco.xyz/ws' for mainnet.";case"network":return"Valid networks are: 'mainnet', 'development', 'staging', 'local'.";default:return"Refer to the SDK documentation for correct configuration format."}}class VK extends l5{code="INVALID_STATE";currentState;expectedState;constructor($,J,Q,Y){let X=Q?`${J?`Current state is '${J}', `:""}Expected state is '${Q}'. Ensure operations are performed in the correct order.`:"Check that prerequisites are met before calling this method.";super($,{cause:Y,suggestion:X,retryable:!1});this.currentState=J,this.expectedState=Q}toJSON(){return{...super.toJSON(),currentState:this.currentState,expectedState:this.expectedState}}}class U6 extends l5{code="API_ERROR";endpoint;statusCode;responseBody;requestBody;requestId;retryAfter;constructor($,J){let{suggestion:Q,retryable:Y}=RW$(J?.statusCode,$,J?.responseBody);super($,{cause:J?.cause,suggestion:Q,retryable:Y});this.endpoint=J?.endpoint,this.statusCode=J?.statusCode,this.responseBody=J?.responseBody,this.requestBody=J?.requestBody,this.requestId=J?.requestId,this.retryAfter=J?.retryAfter}toJSON(){return{...super.toJSON(),endpoint:this.endpoint,statusCode:this.statusCode,responseBody:m5(this.responseBody),requestBody:m5(this.requestBody),requestId:this.requestId,retryAfter:this.retryAfter}}}function RW$($,J,Q){if(!$)return{suggestion:"Network request failed. Check your internet connection and try again.",retryable:!0};if($===y8.StatusCodes.UNAUTHORIZED){if(J?.toLowerCase().includes("expired"))return{suggestion:"Access token has expired. Call sdk.refreshAuth() to get a new token, or call sdk.login() to re-authenticate.",retryable:!1};return{suggestion:"Authentication required. Call sdk.login(clientId) to authenticate before making this request.",retryable:!1}}if($===y8.StatusCodes.FORBIDDEN)return{suggestion:"Access denied. Ensure your application has the required permissions and your client ID is valid.",retryable:!1};if($===y8.StatusCodes.NOT_FOUND)return{suggestion:"Resource not found. Check that the ID or identifier is correct and the resource exists.",retryable:!1};if($===y8.StatusCodes.CONFLICT)return{suggestion:"Resource conflict. The resource may have been modified. Refresh and try again.",retryable:!0};if($===y8.StatusCodes.BAD_REQUEST){if(J?.toLowerCase().includes("insufficient balance"))return{suggestion:"Insufficient balance. Deposit more funds using sdk.vault.deposit() or reduce the order size.",retryable:!1};if(J?.toLowerCase().includes("invalid"))return{suggestion:"Invalid request parameters. Check the API documentation for correct parameter format and values.",retryable:!1};return{suggestion:"Bad request. Verify that all required parameters are provided and correctly formatted.",retryable:!1}}if($===y8.StatusCodes.TOO_MANY_REQUESTS){let Y;if(typeof Q==="object"&&Q!==null&&"retry_after"in Q&&Q.retry_after){let X=Q.retry_after;Y=` Wait ${String(X)} seconds before retrying.`}else Y=" Wait a moment before retrying.";return{suggestion:`Rate limit exceeded.${Y} Consider implementing exponential backoff for retries.`,retryable:!0}}if($>=y8.StatusCodes.INTERNAL_SERVER_ERROR&&$<600)return{suggestion:"Server error occurred. This is likely a temporary issue. Try again in a few moments.",retryable:!0};return{suggestion:void 0,retryable:!1}}class AQ extends l5{code="CONTRACT_ERROR";revertReason;transactionHash;contractAddress;constructor($,J){let Q=TW$(J?.revertReason);super($,{cause:J?.cause,suggestion:Q,retryable:!1});this.revertReason=J?.revertReason,this.transactionHash=J?.transactionHash,this.contractAddress=J?.contractAddress}toJSON(){return{...super.toJSON(),revertReason:this.revertReason,transactionHash:this.transactionHash,contractAddress:this.contractAddress}}}function TW$($){if(!$)return"Smart contract execution failed. Check transaction parameters and try again.";let J=$.toLowerCase();if(J.includes("insufficient allowance"))return"Token allowance is insufficient. Call sdk.vault.approve() to increase the token allowance for the vault contract.";if(J.includes("insufficient balance"))return"Wallet balance is insufficient for this transaction. Ensure you have enough tokens and native currency for gas fees.";if(J.includes("nonce"))return"Transaction nonce error. This may be due to a pending transaction. Wait for pending transactions to complete or reset your account nonce.";if(J.includes("gas"))return"Transaction ran out of gas. Try increasing the gas limit for this transaction.";return}var CW$={local:"http://localhost:8080",development:"https://develop.apimonaco.xyz",staging:"https://staging.apimonaco.xyz",mainnet:"https://api.monaco.xyz"},vW$={local:"ws://localhost:8085/ws",development:"wss://ws-develop.apimonaco.xyz/ws",staging:"wss://ws-staging.apimonaco.xyz/ws",mainnet:"wss://ws.apimonaco.xyz/ws"};function KK($){return CW$[$]}function CF($){return vW$[$]}var c_=e6(iw(),1);var ow=256,rw;function tw($=11){if(!rw||ow+$>512){rw="",ow=0;for(let J=0;J<256;J++)rw+=(256+Math.random()*256|0).toString(16).substring(1)}return rw.substring(ow,ow+++$)}function fm($){let{batch:J,chain:Q,ccipRead:Y,dataSuffix:X,key:G="base",name:W="Base Client",type:V="base"}=$,K=$.experimental_blockTag??(typeof Q?.experimental_preconfirmationTime==="number"?"pending":void 0),D=Q?.blockTime??12000,O=Math.min(Math.max(Math.floor(D/2),500),4000),N=$.pollingInterval??O,w=$.cacheTime??N,M=$.account?g4($.account):void 0,{config:z,request:q,value:F}=$.transport({account:M,chain:Q,pollingInterval:N}),I={...z,...F},E={account:M,batch:J,cacheTime:w,ccipRead:Y,chain:Q,dataSuffix:X,key:G,name:W,pollingInterval:N,request:q,transport:I,type:V,uid:tw(),...K?{experimental_blockTag:K}:{}};function B(L){return(j)=>{let R=j(L);for(let x in E)delete R[x];let P={...L,...R};return Object.assign(P,{extend:B(P)})}}return Object.assign(E,{extend:B(E)})}BJ();SQ();U1();F9();p$();Q4();p8();function XG($){if(!($ instanceof u))return!1;let J=$.walk((Q)=>Q instanceof QG);if(!(J instanceof QG))return!1;if(J.data?.errorName==="HttpError")return!0;if(J.data?.errorName==="ResolverError")return!0;if(J.data?.errorName==="ResolverNotContract")return!0;if(J.data?.errorName==="ResolverNotFound")return!0;if(J.data?.errorName==="ReverseAddressMismatch")return!0;if(J.data?.errorName==="UnsupportedResolverProfile")return!0;return!1}RK();g6();p$();d1();function CM($){if($.length!==66)return null;if($.indexOf("[")!==0)return null;if($.indexOf("]")!==65)return null;let J=`0x${$.slice(1,65)}`;if(!Q6(J))return null;return J}function TK($){let J=new Uint8Array(32).fill(0);if(!$)return N4(J);let Q=$.split(".");for(let Y=Q.length-1;Y>=0;Y-=1){let X=CM(Q[Y]),G=X?K1(X):C4(l1(Q[Y]),"bytes");J=C4(y6([J,G]),"bytes")}return N4(J)}g6();function Jd($){return`[${$.slice(2)}]`}g6();p$();d1();function Qd($){let J=new Uint8Array(32).fill(0);if(!$)return N4(J);return CM($)||C4(l1($))}function YG($){let J=$.replace(/^\.|\.$/gm,"");if(J.length===0)return new Uint8Array(1);let Q=new Uint8Array(l1(J).byteLength+2),Y=0,X=J.split(".");for(let G=0;G<X.length;G++){let W=l1(X[G]);if(W.byteLength>255)W=l1(Jd(Qd(X[G])));Q[Y]=W.length,Q.set(W,Y+1),Y+=W.length+1}if(Q.byteLength!==Y+1)return Q.slice(0,Y+1);return Q}function V$($,J,Q){let Y=$[J.name];if(typeof Y==="function")return Y;let X=$[Q];if(typeof X==="function")return X;return(G)=>J($,G)}SQ();U1();J6();Q4();p8();S9();CK();var TV$=3;function i1($,{abi:J,address:Q,args:Y,docsPath:X,functionName:G,sender:W}){let V=$ instanceof TQ?$:$ instanceof u?$.walk((z)=>("data"in z))||$.walk():{},{code:K,data:D,details:O,message:N,shortMessage:w}=V,M=(()=>{if($ instanceof u1)return new dj({functionName:G,cause:$});if([TV$,vQ.code].includes(K)&&(D||O||N||w)||K===N1.code&&O==="execution reverted"&&D)return new QG({abi:J,data:typeof D==="object"?D.data:D,functionName:G,message:V instanceof _9?O:w??N,cause:$});return $})();return new SK(M,{abi:J,args:Y,contractAddress:Q,docsPath:X,functionName:G,sender:W})}f9();async function W6($,J){let{abi:Q,address:Y,args:X,functionName:G,...W}=J,V=n4({abi:Q,args:X,functionName:G});try{let{data:K}=await V$($,H1,"call")({...W,data:V,to:Y});return r6({abi:Q,args:X,functionName:G,data:K||"0x"})}catch(K){throw i1(K,{abi:Q,address:Y,args:X,docsPath:"/docs/contract/readContract",functionName:G})}}async function yd($,J){let{blockNumber:Q,blockTag:Y,coinType:X,name:G,gatewayUrls:W,strict:V}=J,{chain:K}=$,D=(()=>{if(J.universalResolverAddress)return J.universalResolverAddress;if(!K)throw Error("client chain not configured. universalResolverAddress is required.");return O1({blockNumber:Q,chain:K,contract:"ensUniversalResolver"})})(),O=K?.ensTlds;if(O&&!O.some((w)=>G.endsWith(w)))return null;let N=(()=>{if(X!=null)return[TK(G),BigInt(X)];return[TK(G)]})();try{let w=n4({abi:PF,functionName:"addr",args:N}),M={address:D,abi:sw,functionName:"resolveWithGateways",args:[o6(YG(G)),w,W??[CQ]],blockNumber:Q,blockTag:Y},q=await V$($,W6,"readContract")(M);if(q[0]==="0x")return null;let F=r6({abi:PF,args:N,functionName:"addr",data:q[0]});if(F==="0x")return null;if(m1(F)==="0x00")return null;return F}catch(w){if(V)throw w;if(XG(w))return null;throw w}}Q4();class ZE extends u{constructor({data:$}){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($)}`],name:"EnsAvatarInvalidMetadataError"})}}class b9 extends u{constructor({reason:$}){super(`ENS NFT avatar URI is invalid. ${$}`,{name:"EnsAvatarInvalidNftUriError"})}}class dK extends u{constructor({uri:$}){super(`Unable to resolve ENS avatar URI "${$}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class qE extends u{constructor({namespace:$}){super(`ENS NFT avatar namespace "${$}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}var tV$=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,aV$=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,sV$=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,eV$=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function $K$($){try{let J=await fetch($,{method:"HEAD"});if(J.status===200)return J.headers.get("content-type")?.startsWith("image/");return!1}catch(J){if(typeof J==="object"&&typeof J.response<"u")return!1;if(!Object.hasOwn(globalThis,"Image"))return!1;return new Promise((Q)=>{let Y=new Image;Y.onload=()=>{Q(!0)},Y.onerror=()=>{Q(!1)},Y.src=$})}}function hd($,J){if(!$)return J;if($.endsWith("/"))return $.slice(0,-1);return $}function LE({uri:$,gatewayUrls:J}){let Q=sV$.test($);if(Q)return{uri:$,isOnChain:!0,isEncoded:Q};let Y=hd(J?.ipfs,"https://ipfs.io"),X=hd(J?.arweave,"https://arweave.net"),G=$.match(tV$),{protocol:W,subpath:V,target:K,subtarget:D=""}=G?.groups||{},O=W==="ipns:/"||V==="ipns/",N=W==="ipfs:/"||V==="ipfs/"||aV$.test($);if($.startsWith("http")&&!O&&!N){let M=$;if(J?.arweave)M=$.replace(/https:\/\/arweave.net/g,J?.arweave);return{uri:M,isOnChain:!1,isEncoded:!1}}if((O||N)&&K)return{uri:`${Y}/${O?"ipns":"ipfs"}/${K}${D}`,isOnChain:!1,isEncoded:!1};if(W==="ar:/"&&K)return{uri:`${X}/${K}${D||""}`,isOnChain:!1,isEncoded:!1};let w=$.replace(eV$,"");if(w.startsWith("<svg"))w=`data:image/svg+xml;base64,${btoa(w)}`;if(w.startsWith("data:")||w.startsWith("{"))return{uri:w,isOnChain:!0,isEncoded:!1};throw new dK({uri:$})}function IE($){if(typeof $!=="object"||!("image"in $)&&!("image_url"in $)&&!("image_data"in $))throw new ZE({data:$});return $.image||$.image_url||$.image_data}async function ud({gatewayUrls:$,uri:J}){try{let Q=await fetch(J).then((X)=>X.json());return await pM({gatewayUrls:$,uri:IE(Q)})}catch{throw new dK({uri:J})}}async function pM({gatewayUrls:$,uri:J}){let{uri:Q,isOnChain:Y}=LE({uri:J,gatewayUrls:$});if(Y)return Q;if(await $K$(Q))return Q;throw new dK({uri:J})}function md($){let J=$;if(J.startsWith("did:nft:"))J=J.replace("did:nft:","").replace(/_/g,"/");let[Q,Y,X]=J.split("/"),[G,W]=Q.split(":"),[V,K]=Y.split(":");if(!G||G.toLowerCase()!=="eip155")throw new b9({reason:"Only EIP-155 supported"});if(!W)throw new b9({reason:"Chain ID not found"});if(!K)throw new b9({reason:"Contract address not found"});if(!X)throw new b9({reason:"Token ID not found"});if(!V)throw new b9({reason:"ERC namespace not found"});return{chainID:Number.parseInt(W,10),namespace:V.toLowerCase(),contractAddress:K,tokenID:X}}async function ld($,{nft:J}){if(J.namespace==="erc721")return W6($,{address:J.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(J.tokenID)]});if(J.namespace==="erc1155")return W6($,{address:J.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(J.tokenID)]});throw new qE({namespace:J.namespace})}async function dd($,{gatewayUrls:J,record:Q}){if(/eip155:/i.test(Q))return JK$($,{gatewayUrls:J,record:Q});return pM({uri:Q,gatewayUrls:J})}async function JK$($,{gatewayUrls:J,record:Q}){let Y=md(Q),X=await ld($,{nft:Y}),{uri:G,isOnChain:W,isEncoded:V}=LE({uri:X,gatewayUrls:J});if(W&&(G.includes("data:application/json;base64,")||G.startsWith("{"))){let D=V?atob(G.replace("data:application/json;base64,","")):G,O=JSON.parse(D);return pM({uri:IE(O),gatewayUrls:J})}let K=Y.tokenID;if(Y.namespace==="erc1155")K=K.replace("0x","").padStart(64,"0");return ud({gatewayUrls:J,uri:G.replace(/(?:0x)?{id}/,K)})}BJ();SQ();U1();F9();p$();RK();async function nM($,J){let{blockNumber:Q,blockTag:Y,key:X,name:G,gatewayUrls:W,strict:V}=J,{chain:K}=$,D=(()=>{if(J.universalResolverAddress)return J.universalResolverAddress;if(!K)throw Error("client chain not configured. universalResolverAddress is required.");return O1({blockNumber:Q,chain:K,contract:"ensUniversalResolver"})})(),O=K?.ensTlds;if(O&&!O.some((N)=>G.endsWith(N)))return null;try{let N={address:D,abi:sw,args:[o6(YG(G)),n4({abi:vF,functionName:"text",args:[TK(G),X]}),W??[CQ]],functionName:"resolveWithGateways",blockNumber:Q,blockTag:Y},M=await V$($,W6,"readContract")(N);if(M[0]==="0x")return null;let z=r6({abi:vF,functionName:"text",data:M[0]});return z===""?null:z}catch(N){if(V)throw N;if(XG(N))return null;throw N}}async function pd($,{blockNumber:J,blockTag:Q,assetGatewayUrls:Y,name:X,gatewayUrls:G,strict:W,universalResolverAddress:V}){let K=await V$($,nM,"getEnsText")({blockNumber:J,blockTag:Q,key:"avatar",name:X,universalResolverAddress:V,gatewayUrls:G,strict:W});if(!K)return null;try{return await dd($,{record:K,gatewayUrls:Y})}catch{return null}}BJ();F9();RK();async function nd($,J){let{address:Q,blockNumber:Y,blockTag:X,coinType:G=60n,gatewayUrls:W,strict:V}=J,{chain:K}=$,D=(()=>{if(J.universalResolverAddress)return J.universalResolverAddress;if(!K)throw Error("client chain not configured. universalResolverAddress is required.");return O1({blockNumber:Y,chain:K,contract:"ensUniversalResolver"})})();try{let O={address:D,abi:gm,args:[Q,G,W??[CQ]],functionName:"reverseWithGateways",blockNumber:Y,blockTag:X},N=V$($,W6,"readContract"),[w]=await N(O);return w||null}catch(O){if(V)throw O;if(XG(O))return null;throw O}}F9();p$();async function cd($,J){let{blockNumber:Q,blockTag:Y,name:X}=J,{chain:G}=$,W=(()=>{if(J.universalResolverAddress)return J.universalResolverAddress;if(!G)throw Error("client chain not configured. universalResolverAddress is required.");return O1({blockNumber:Q,chain:G,contract:"ensUniversalResolver"})})(),V=G?.ensTlds;if(V&&!V.some((D)=>X.endsWith(D)))throw Error(`${X} is not a valid ENS TLD (${V?.join(", ")}) for chain "${G.name}" (id: ${G.id}).`);let[K]=await V$($,W6,"readContract")({address:W,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[o6(YG(X))],blockNumber:Q,blockTag:Y});return K}f9();p$();NE();PG();x9();async function cM($,J){let{account:Q=$.account,blockNumber:Y,blockTag:X="latest",blobs:G,data:W,gas:V,gasPrice:K,maxFeePerBlobGas:D,maxFeePerGas:O,maxPriorityFeePerGas:N,to:w,value:M,...z}=J,q=Q?g4(Q):void 0;try{M1(J);let I=(typeof Y==="bigint"?O$(Y):void 0)||X,E=$.chain?.formatters?.transactionRequest?.format,L=(E||RJ)({...t8(z,{format:E}),account:q,blobs:G,data:W,gas:V,gasPrice:K,maxFeePerBlobGas:D,maxFeePerGas:O,maxPriorityFeePerGas:N,to:w,value:M},"createAccessList"),j=await $.request({method:"eth_createAccessList",params:[L,I]});return{accessList:j.accessList,gasUsed:BigInt(j.gasUsed)}}catch(F){throw uM(F,{...J,account:q,chain:$.chain})}}function a8($,{method:J}){let Q={};if($.transport.type==="fallback")$.transport.onResponse?.(({method:Y,response:X,status:G,transport:W})=>{if(G==="success"&&J===Y)Q[X]=W.request});return(Y)=>Q[Y]||$.request}async function id($){let J=a8($,{method:"eth_newBlockFilter"}),Q=await $.request({method:"eth_newBlockFilter"});return{id:Q,request:J(Q),type:"block"}}J6();Q4();class BE extends u{constructor($){super(`Filter type "${$}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}g6();d1();FK();BQ();zQ();d8();var od="/docs/contract/encodeEventTopics";function TJ($){let{abi:J,eventName:Q,args:Y}=$,X=J[0];if(Q){let K=b0({abi:J,name:Q});if(!K)throw new QM(Q,{docsPath:od});X=K}if(X.type!=="event")throw new QM(void 0,{docsPath:od});let G=O6(X),W=l8(G),V=[];if(Y&&"inputs"in X){let K=X.inputs?.filter((O)=>("indexed"in O)&&O.indexed),D=Array.isArray(Y)?Y:Object.values(Y).length>0?K?.map((O)=>Y[O.name])??[]:[];if(D.length>0)V=K?.map((O,N)=>{if(Array.isArray(D[N]))return D[N].map((w,M)=>rd({param:O,value:D[N][M]}));return typeof D[N]<"u"&&D[N]!==null?rd({param:O,value:D[N]}):null})??[]}return[W,...V]}function rd({param:$,value:J}){if($.type==="string"||$.type==="bytes")return C4(K1(J));if($.type==="tuple"||$.type.match(/^(.*)\[(\d+)?\]$/))throw new BE($.type);return w0([$],[J])}p$();async function iM($,J){let{address:Q,abi:Y,args:X,eventName:G,fromBlock:W,strict:V,toBlock:K}=J,D=a8($,{method:"eth_newFilter"}),O=G?TJ({abi:Y,args:X,eventName:G}):void 0,N=await $.request({method:"eth_newFilter",params:[{address:Q,fromBlock:typeof W==="bigint"?O$(W):W,toBlock:typeof K==="bigint"?O$(K):K,topics:O}]});return{abi:Y,args:X,eventName:G,id:N,request:D(N),strict:Boolean(V),type:"event"}}p$();async function oM($,{address:J,args:Q,event:Y,events:X,fromBlock:G,strict:W,toBlock:V}={}){let K=X??(Y?[Y]:void 0),D=a8($,{method:"eth_newFilter"}),O=[];if(K){if(O=[K.flatMap((M)=>TJ({abi:[M],eventName:M.name,args:Q}))],Y)O=O[0]}let N=await $.request({method:"eth_newFilter",params:[{address:J,fromBlock:typeof G==="bigint"?O$(G):G,toBlock:typeof V==="bigint"?O$(V):V,...O.length?{topics:O}:{}}]});return{abi:K,args:Q,eventName:Y?Y.name:void 0,fromBlock:G,id:N,request:D(N),strict:Boolean(W),toBlock:V,type:"event"}}async function rM($){let J=a8($,{method:"eth_newPendingTransactionFilter"}),Q=await $.request({method:"eth_newPendingTransactionFilter"});return{id:Q,request:J(Q),type:"transaction"}}U1();Q4();L9();d1();function td($){let J=C4(`0x${$.substring(4)}`).substring(26);return q9(`0x${J}`)}V1();N0();p$();async function Op({hash:$,signature:J}){let Q=Q6($)?$:o6($),{secp256k1:Y}=await Promise.resolve().then(() => ($X(),fE));return`0x${(()=>{if(typeof J==="object"&&"r"in J&&"s"in J){let{r:D,s:O,v:N,yParity:w}=J,M=Number(w??N),z=Up(M);return new Y.Signature(f6(D),f6(O)).addRecoveryBit(z)}let W=Q6(J)?J:o6(J);if(G4(W)!==65)throw Error("invalid signature length");let V=Z6(`0x${W.slice(130)}`),K=Up(V);return Y.Signature.fromCompact(W.substring(2,130)).addRecoveryBit(K)})().recoverPublicKey(Q.substring(2)).toHex(!1)}`}function Up($){if($===0||$===1)return $;if($===27)return 0;if($===28)return 1;throw Error("Invalid yParityOrV value")}async function oK({hash:$,signature:J}){return td(await Op({hash:$,signature:J}))}g6();p$();Q4();UM();g6();p$();function Np($,J="hex"){let Q=wp($),Y=n5(new Uint8Array(Q.length));if(Q.encode(Y),J==="hex")return N4(Y.bytes);return Y.bytes}function wp($){if(Array.isArray($))return HK$($.map((J)=>wp(J)));return AK$($)}function HK$($){let J=$.reduce((X,G)=>X+G.length,0),Q=Mp(J);return{length:(()=>{if(J<=55)return 1+J;return 1+Q+J})(),encode(X){if(J<=55)X.pushByte(192+J);else if(X.pushByte(247+Q),Q===1)X.pushUint8(J);else if(Q===2)X.pushUint16(J);else if(Q===3)X.pushUint24(J);else X.pushUint32(J);for(let{encode:G}of $)G(X)}}}function AK$($){let J=typeof $==="string"?b6($):$,Q=Mp(J.length);return{length:(()=>{if(J.length===1&&J[0]<128)return 1;if(J.length<=55)return 1+J.length;return 1+Q+J.length})(),encode(X){if(J.length===1&&J[0]<128)X.pushBytes(J);else if(J.length<=55)X.pushByte(128+J.length),X.pushBytes(J);else{if(X.pushByte(183+Q),Q===1)X.pushUint8(J.length);else if(Q===2)X.pushUint16(J.length);else if(Q===3)X.pushUint24(J.length);else X.pushUint32(J.length);X.pushBytes(J)}}}}function Mp($){if($<256)return 1;if($<65536)return 2;if($<16777216)return 3;if($<4294967296)return 4;throw new u("Length is too large.")}d1();function Hp($){let{chainId:J,nonce:Q,to:Y}=$,X=$.contractAddress??$.address,G=C4(p1(["0x05",Np([J?O$(J):"0x",X,Q?O$(Q):"0x"])]));if(Y==="bytes")return b6(G);return G}async function eM($){let{authorization:J,signature:Q}=$;return oK({hash:Hp(J),signature:Q??J})}p$();TM();JG();Q4();RQ();class bE extends u{constructor($,{account:J,docsPath:Q,chain:Y,data:X,gas:G,gasPrice:W,maxFeePerGas:V,maxPriorityFeePerGas:K,nonce:D,to:O,value:N}){let w=j9({from:J?.address,to:O,value:typeof N<"u"&&`${$G(N)} ${Y?.nativeCurrency?.symbol||"ETH"}`,data:X,gas:G,gasPrice:typeof W<"u"&&`${N6(W)} gwei`,maxFeePerGas:typeof V<"u"&&`${N6(V)} gwei`,maxPriorityFeePerGas:typeof K<"u"&&`${N6(K)} gwei`,nonce:D});super($.shortMessage,{cause:$,docsPath:Q,metaMessages:[...$.metaMessages?[...$.metaMessages," "]:[],"Estimate Gas Arguments:",w].filter(Boolean),name:"EstimateGasExecutionError"});Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=$}}k9();lK();function Ap($,{docsPath:J,...Q}){let Y=(()=>{let X=r8($,Q);if(X instanceof o1)return $;return X})();return new bE(Y,{docsPath:J,...Q})}PG();dM();x9();JG();Q4();class rK extends u{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class g9 extends u{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class gE extends u{constructor({maxPriorityFeePerGas:$}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${N6($)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}N0();Q4();class tK extends u{constructor({blockHash:$,blockNumber:J}){let Q="Block";if($)Q=`Block at hash "${$}"`;if(J)Q=`Block at number "${J}"`;super(`${Q} could not be found.`,{name:"BlockNotFoundError"})}}p$();N0();var yE={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function bG($,J){let Q={...$,blockHash:$.blockHash?$.blockHash:null,blockNumber:$.blockNumber?BigInt($.blockNumber):null,...$.blockTimestamp!=null&&{blockTimestamp:BigInt($.blockTimestamp)},chainId:$.chainId?Z6($.chainId):void 0,gas:$.gas?BigInt($.gas):void 0,gasPrice:$.gasPrice?BigInt($.gasPrice):void 0,maxFeePerBlobGas:$.maxFeePerBlobGas?BigInt($.maxFeePerBlobGas):void 0,maxFeePerGas:$.maxFeePerGas?BigInt($.maxFeePerGas):void 0,maxPriorityFeePerGas:$.maxPriorityFeePerGas?BigInt($.maxPriorityFeePerGas):void 0,nonce:$.nonce?Z6($.nonce):void 0,to:$.to?$.to:null,transactionIndex:$.transactionIndex?Number($.transactionIndex):null,type:$.type?yE[$.type]:void 0,typeHex:$.type?$.type:void 0,value:$.value?BigInt($.value):void 0,v:$.v?BigInt($.v):void 0};if($.authorizationList)Q.authorizationList=zK$($.authorizationList);if(Q.yParity=(()=>{if($.yParity)return Number($.yParity);if(typeof Q.v==="bigint"){if(Q.v===0n||Q.v===27n)return 0;if(Q.v===1n||Q.v===28n)return 1;if(Q.v>=35n)return Q.v%2n===0n?1:0}return})(),Q.type==="legacy")delete Q.accessList,delete Q.maxFeePerBlobGas,delete Q.maxFeePerGas,delete Q.maxPriorityFeePerGas,delete Q.yParity;if(Q.type==="eip2930")delete Q.maxFeePerBlobGas,delete Q.maxFeePerGas,delete Q.maxPriorityFeePerGas;if(Q.type==="eip1559")delete Q.maxFeePerBlobGas;return Q}function zK$($){return $.map((J)=>({address:J.address,chainId:Number(J.chainId),nonce:Number(J.nonce),r:J.r,s:J.s,yParity:Number(J.yParity)}))}function $H($,J){let Q=($.transactions??[]).map((Y)=>{if(typeof Y==="string")return Y;return bG(Y)});return{...$,baseFeePerGas:$.baseFeePerGas?BigInt($.baseFeePerGas):null,blobGasUsed:$.blobGasUsed?BigInt($.blobGasUsed):void 0,difficulty:$.difficulty?BigInt($.difficulty):void 0,excessBlobGas:$.excessBlobGas?BigInt($.excessBlobGas):void 0,gasLimit:$.gasLimit?BigInt($.gasLimit):void 0,gasUsed:$.gasUsed?BigInt($.gasUsed):void 0,hash:$.hash?$.hash:null,logsBloom:$.logsBloom?$.logsBloom:null,nonce:$.nonce?$.nonce:null,number:$.number?BigInt($.number):null,size:$.size?BigInt($.size):void 0,timestamp:$.timestamp?BigInt($.timestamp):void 0,transactions:Q,totalDifficulty:$.totalDifficulty?BigInt($.totalDifficulty):null}}async function L6($,{blockHash:J,blockNumber:Q,blockTag:Y=$.experimental_blockTag??"latest",includeTransactions:X}={}){let G=X??!1,W=Q!==void 0?O$(Q):void 0,V=null;if(J)V=await $.request({method:"eth_getBlockByHash",params:[J,G]},{dedupe:!0});else V=await $.request({method:"eth_getBlockByNumber",params:[W||Y,G]},{dedupe:Boolean(W)});if(!V)throw new tK({blockHash:J,blockNumber:Q});return($.chain?.formatters?.block?.format||$H)(V,"getBlock")}async function gG($){let J=await $.request({method:"eth_gasPrice"});return BigInt(J)}async function zp($,J){return hE($,J)}async function hE($,J){let{block:Q,chain:Y=$.chain,request:X}=J||{};try{let G=Y?.fees?.maxPriorityFeePerGas??Y?.fees?.defaultPriorityFee;if(typeof G==="function"){let V=Q||await V$($,L6,"getBlock")({}),K=await G({block:V,client:$,request:X});if(K===null)throw Error();return K}if(typeof G<"u")return G;let W=await $.request({method:"eth_maxPriorityFeePerGas"});return f6(W)}catch{let[G,W]=await Promise.all([Q?Promise.resolve(Q):V$($,L6,"getBlock")({}),V$($,gG,"getGasPrice")({})]);if(typeof G.baseFeePerGas!=="bigint")throw new g9;let V=W-G.baseFeePerGas;if(V<0n)return 0n;return V}}async function Zp($,J){return JH($,J)}async function JH($,J){let{block:Q,chain:Y=$.chain,request:X,type:G="eip1559"}=J||{},W=await(async()=>{if(typeof Y?.fees?.baseFeeMultiplier==="function")return Y.fees.baseFeeMultiplier({block:Q,client:$,request:X});return Y?.fees?.baseFeeMultiplier??1.2})();if(W<1)throw new rK;let K=10**(W.toString().split(".")[1]?.length??0),D=(w)=>w*BigInt(Math.ceil(W*K))/BigInt(K),O=Q?Q:await V$($,L6,"getBlock")({});if(typeof Y?.fees?.estimateFeesPerGas==="function"){let w=await Y.fees.estimateFeesPerGas({block:Q,client:$,multiply:D,request:X,type:G});if(w!==null)return w}if(G==="eip1559"){if(typeof O.baseFeePerGas!=="bigint")throw new g9;let w=typeof X?.maxPriorityFeePerGas==="bigint"?X.maxPriorityFeePerGas:await hE($,{block:O,chain:Y,request:X}),M=D(O.baseFeePerGas);return{maxFeePerGas:X?.maxFeePerGas??M+w,maxPriorityFeePerGas:w}}return{gasPrice:X?.gasPrice??D(await V$($,gG,"getGasPrice")({}))}}N0();p$();async function QH($,{address:J,blockTag:Q="latest",blockNumber:Y}){let X=await $.request({method:"eth_getTransactionCount",params:[J,typeof Y==="bigint"?O$(Y):Q]},{dedupe:Boolean(Y)});return Z6(X)}g6();p$();function XH($){let{kzg:J}=$,Q=$.to??(typeof $.blobs[0]==="string"?"hex":"bytes"),Y=typeof $.blobs[0]==="string"?$.blobs.map((G)=>b6(G)):$.blobs,X=[];for(let G of Y)X.push(Uint8Array.from(J.blobToKzgCommitment(G)));return Q==="bytes"?X:X.map((G)=>N4(G))}g6();p$();function YH($){let{kzg:J}=$,Q=$.to??(typeof $.blobs[0]==="string"?"hex":"bytes"),Y=typeof $.blobs[0]==="string"?$.blobs.map((W)=>b6(W)):$.blobs,X=typeof $.commitments[0]==="string"?$.commitments.map((W)=>b6(W)):$.commitments,G=[];for(let W=0;W<Y.length;W++){let V=Y[W],K=X[W];G.push(Uint8Array.from(J.computeBlobKzgProof(V,K)))}return Q==="bytes"?G:G.map((W)=>N4(W))}p$();JK();var GH=OQ;g6();p$();function qp($,J){let Q=J||"hex",Y=GH(Q6($,{strict:!1})?K1($):$);if(Q==="bytes")return Y;return o6(Y)}function Lp($){let{commitment:J,version:Q=1}=$,Y=$.to??(typeof J==="string"?"hex":"bytes"),X=qp(J,"bytes");return X.set([Q],0),Y==="bytes"?X:N4(X)}function Ip($){let{commitments:J,version:Q}=$,Y=$.to??(typeof J[0]==="string"?"hex":"bytes"),X=[];for(let G of J)X.push(Lp({commitment:G,to:Y,version:Q}));return X}var Bp=32,Fp=4096,jp=131072,uE=761855;Q4();class mE extends u{constructor({maxSize:$,size:J}){super("Blob size is too large.",{metaMessages:[`Max: ${$} bytes`,`Given: ${J} bytes`],name:"BlobSizeTooLargeError"})}}class lE extends u{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}UM();V1();g6();p$();function Ep($){let J=$.to??(typeof $.data==="string"?"hex":"bytes"),Q=typeof $.data==="string"?b6($.data):$.data,Y=G4(Q);if(!Y)throw new lE;if(Y>uE)throw new mE({maxSize:uE,size:Y});let X=[],G=!0,W=0;while(G){let V=n5(new Uint8Array(jp)),K=0;while(K<Fp){let D=Q.slice(W,W+(Bp-1));if(V.pushByte(0),V.pushBytes(D),D.length<31){V.pushByte(128),G=!1;break}K++,W+=31}X.push(V)}return J==="bytes"?X.map((V)=>V.bytes):X.map((V)=>N4(V.bytes))}function _p($){let{data:J,kzg:Q,to:Y}=$,X=$.blobs??Ep({data:J,to:Y}),G=$.commitments??XH({blobs:X,kzg:Q,to:Y}),W=$.proofs??YH({blobs:X,commitments:G,kzg:Q,to:Y}),V=[];for(let K=0;K<X.length;K++)V.push({blob:X[K],commitment:G[K],proof:W[K]});return V}zK();x9();RQ();function Sp($){if($.type)return $.type;if(typeof $.authorizationList<"u")return"eip7702";if(typeof $.blobs<"u"||typeof $.blobVersionedHashes<"u"||typeof $.maxFeePerBlobGas<"u"||typeof $.sidecars<"u")return"eip4844";if(typeof $.maxFeePerGas<"u"||typeof $.maxPriorityFeePerGas<"u")return"eip1559";if(typeof $.gasPrice<"u"){if(typeof $.accessList<"u")return"eip2930";return"legacy"}throw new hj({transaction:$})}k9();RQ();lK();function Rp($,{docsPath:J,...Q}){let Y=(()=>{let X=r8($,Q);if(X instanceof o1)return $;return X})();return new uj(Y,{docsPath:J,...Q})}PG();x9();N0();async function yG($){let J=await $.request({method:"eth_chainId"},{dedupe:!0});return Z6(J)}async function WH($,J){let{account:Q=$.account,accessList:Y,authorizationList:X,chain:G=$.chain,blobVersionedHashes:W,blobs:V,data:K,gas:D,gasPrice:O,maxFeePerBlobGas:N,maxFeePerGas:w,maxPriorityFeePerGas:M,nonce:z,nonceManager:q,to:F,type:I,value:E,...B}=J,L=await(async()=>{if(!Q)return z;if(!q)return z;if(typeof z<"u")return z;let x=g4(Q),y=G?G.id:await V$($,yG,"getChainId")({});return await q.consume({address:x.address,chainId:y,client:$})})();M1(J);let j=G?.formatters?.transactionRequest?.format,P=(j||RJ)({...t8(B,{format:j}),account:Q?g4(Q):void 0,accessList:Y,authorizationList:X,blobs:V,blobVersionedHashes:W,data:K,gas:D,gasPrice:O,maxFeePerBlobGas:N,maxFeePerGas:w,maxPriorityFeePerGas:M,nonce:L,to:F,type:I,value:E},"fillTransaction");try{let x=await $.request({method:"eth_fillTransaction",params:[P]}),T=(G?.formatters?.transaction?.format||bG)(x.tx);if(delete T.blockHash,delete T.blockNumber,delete T.r,delete T.s,delete T.transactionIndex,delete T.v,delete T.yParity,T.data=T.input,T.gas)T.gas=J.gas??T.gas;if(T.gasPrice)T.gasPrice=J.gasPrice??T.gasPrice;if(T.maxFeePerBlobGas)T.maxFeePerBlobGas=J.maxFeePerBlobGas??T.maxFeePerBlobGas;if(T.maxFeePerGas)T.maxFeePerGas=J.maxFeePerGas??T.maxFeePerGas;if(T.maxPriorityFeePerGas)T.maxPriorityFeePerGas=J.maxPriorityFeePerGas??T.maxPriorityFeePerGas;if(typeof T.nonce<"u")T.nonce=J.nonce??T.nonce;let d=await(async()=>{if(typeof G?.fees?.baseFeeMultiplier==="function"){let l=await V$($,L6,"getBlock")({});return G.fees.baseFeeMultiplier({block:l,client:$,request:J})}return G?.fees?.baseFeeMultiplier??1.2})();if(d<1)throw new rK;let Y$=10**(d.toString().split(".")[1]?.length??0),c=(l)=>l*BigInt(Math.ceil(d*Y$))/BigInt(Y$);if(!T.feePayerSignature){if(T.maxFeePerGas&&!J.maxFeePerGas)T.maxFeePerGas=c(T.maxFeePerGas);if(T.gasPrice&&!J.gasPrice)T.gasPrice=c(T.gasPrice)}return{raw:x.raw,transaction:{from:P.from,...T},...x.capabilities?{capabilities:x.capabilities}:{}}}catch(x){throw Rp(x,{...J,chain:$.chain})}}var ZK$=["blobVersionedHashes","chainId","fees","gas","nonce","type"],Tp=new Map,dE=new LQ(128);async function VH($,J){let Q=J;Q.account??=$.account,Q.parameters??=ZK$;let{account:Y,chain:X=$.chain,nonceManager:G,parameters:W}=Q,V=(()=>{if(typeof X?.prepareTransactionRequest==="function")return{fn:X.prepareTransactionRequest,runAt:["beforeFillTransaction"]};if(Array.isArray(X?.prepareTransactionRequest))return{fn:X.prepareTransactionRequest[0],runAt:X.prepareTransactionRequest[1].runAt};return})(),K;async function D(){if(K)return K;if(typeof Q.chainId<"u")return Q.chainId;if(X)return X.id;return K=await V$($,yG,"getChainId")({}),K}let O=Y?g4(Y):Y,N=Q.nonce;if(W.includes("nonce")&&typeof N>"u"&&O&&G){let L=await D();N=await G.consume({address:O.address,chainId:L,client:$})}if(V?.fn&&V.runAt?.includes("beforeFillTransaction"))Q=await V.fn({...Q,chain:X},{phase:"beforeFillTransaction"}),N??=Q.nonce;let M=(()=>{if((W.includes("blobVersionedHashes")||W.includes("sidecars"))&&Q.kzg&&Q.blobs)return!1;if(dE.get($.uid)===!1)return!1;if(!["fees","gas"].some((j)=>W.includes(j)))return!1;if(W.includes("chainId")&&typeof Q.chainId!=="number")return!0;if(W.includes("nonce")&&typeof N!=="number")return!0;if(W.includes("fees")&&typeof Q.gasPrice!=="bigint"&&(typeof Q.maxFeePerGas!=="bigint"||typeof Q.maxPriorityFeePerGas!=="bigint"))return!0;if(W.includes("gas")&&typeof Q.gas!=="bigint")return!0;return!1})()?await V$($,WH,"fillTransaction")({...Q,nonce:N}).then((L)=>{let{chainId:j,from:R,gas:P,gasPrice:x,nonce:y,maxFeePerBlobGas:T,maxFeePerGas:d,maxPriorityFeePerGas:p,type:Y$,...c}=L.transaction;return dE.set($.uid,!0),{...Q,...R?{from:R}:{},...Y$&&!Q.type?{type:Y$}:{},...typeof j<"u"?{chainId:j}:{},...typeof P<"u"?{gas:P}:{},...typeof x<"u"?{gasPrice:x}:{},...typeof y<"u"?{nonce:y}:{},...typeof T<"u"&&Q.type!=="legacy"&&Q.type!=="eip2930"?{maxFeePerBlobGas:T}:{},...typeof d<"u"&&Q.type!=="legacy"&&Q.type!=="eip2930"?{maxFeePerGas:d}:{},...typeof p<"u"&&Q.type!=="legacy"&&Q.type!=="eip2930"?{maxPriorityFeePerGas:p}:{},..."nonceKey"in c&&typeof c.nonceKey<"u"?{nonceKey:c.nonceKey}:{},..."keyAuthorization"in c&&typeof c.keyAuthorization<"u"&&c.keyAuthorization!==null&&!("keyAuthorization"in Q)?{keyAuthorization:c.keyAuthorization}:{},..."feePayerSignature"in c&&typeof c.feePayerSignature<"u"&&c.feePayerSignature!==null?{feePayerSignature:c.feePayerSignature}:{},..."feeToken"in c&&typeof c.feeToken<"u"&&c.feeToken!==null&&!("feeToken"in Q)?{feeToken:c.feeToken}:{},...L.capabilities?{_capabilities:L.capabilities}:{}}}).catch((L)=>{let j=L;if(j.name!=="TransactionExecutionError")return Q;if(j.walk?.((x)=>{return x.name==="ExecutionRevertedError"}))throw L;if(j.walk?.((x)=>{let y=x;return y.name==="MethodNotFoundRpcError"||y.name==="MethodNotSupportedRpcError"||y.message?.includes("eth_fillTransaction is not available")}))dE.set($.uid,!1);return Q}):Q;N??=M.nonce,Q={...M,...O?{from:O?.address}:{},...typeof N<"u"?{nonce:N}:{}};let{blobs:z,gas:q,kzg:F,type:I}=Q;if(V?.fn&&V.runAt?.includes("beforeFillParameters"))Q=await V.fn({...Q,chain:X},{phase:"beforeFillParameters"});let E;async function B(){if(E)return E;return E=await V$($,L6,"getBlock")({blockTag:"latest"}),E}if(W.includes("nonce")&&typeof N>"u"&&O&&!G)Q.nonce=await V$($,QH,"getTransactionCount")({address:O.address,blockTag:"pending"});if((W.includes("blobVersionedHashes")||W.includes("sidecars"))&&z&&F){let L=XH({blobs:z,kzg:F});if(W.includes("blobVersionedHashes")){let j=Ip({commitments:L,to:"hex"});Q.blobVersionedHashes=j}if(W.includes("sidecars")){let j=YH({blobs:z,commitments:L,kzg:F}),R=_p({blobs:z,commitments:L,proofs:j,to:"hex"});Q.sidecars=R}}if(W.includes("chainId"))Q.chainId=await D();if((W.includes("fees")||W.includes("type"))&&typeof I>"u")try{Q.type=Sp(Q)}catch{let L=Tp.get($.uid);if(typeof L>"u")L=typeof(await B())?.baseFeePerGas==="bigint",Tp.set($.uid,L);Q.type=L?"eip1559":"legacy"}if(W.includes("fees"))if(Q.type!=="legacy"&&Q.type!=="eip2930"){if(typeof Q.maxFeePerGas>"u"||typeof Q.maxPriorityFeePerGas>"u"){let L=await B(),{maxFeePerGas:j,maxPriorityFeePerGas:R}=await JH($,{block:L,chain:X,request:Q});if(typeof Q.maxPriorityFeePerGas>"u"&&Q.maxFeePerGas&&Q.maxFeePerGas<R)throw new gE({maxPriorityFeePerGas:R});Q.maxPriorityFeePerGas=R,Q.maxFeePerGas=j}}else{if(typeof Q.maxFeePerGas<"u"||typeof Q.maxPriorityFeePerGas<"u")throw new g9;if(typeof Q.gasPrice>"u"){let L=await B(),{gasPrice:j}=await JH($,{block:L,chain:X,request:Q,type:"legacy"});Q.gasPrice=j}}if(W.includes("gas")&&typeof q>"u")Q.gas=await V$($,hG,"estimateGas")({...Q,account:O,prepare:O?.type==="local"?[]:["blobVersionedHashes"]});if(V?.fn&&V.runAt?.includes("afterFillParameters"))Q=await V.fn({...Q,chain:X},{phase:"afterFillParameters"});return M1(Q),delete Q.parameters,Q}async function hG($,J){let{account:Q=$.account,prepare:Y=!0}=J,X=Q?g4(Q):void 0,G=(()=>{if(Array.isArray(Y))return Y;if(X?.type!=="local")return["blobVersionedHashes"];return})();try{let W=await(async()=>{if(J.to)return J.to;if(J.authorizationList&&J.authorizationList.length>0)return await eM({authorization:J.authorizationList[0]}).catch(()=>{throw new u("`to` is required. Could not infer from `authorizationList`")});return})(),{accessList:V,authorizationList:K,blobs:D,blobVersionedHashes:O,blockNumber:N,blockTag:w,data:M,gas:z,gasPrice:q,maxFeePerBlobGas:F,maxFeePerGas:I,maxPriorityFeePerGas:E,nonce:B,value:L,stateOverride:j,...R}=Y?await VH($,{...J,parameters:G,to:W}):J;if(z&&J.gas!==z)return z;let x=(typeof N==="bigint"?O$(N):void 0)||w,y=kG(j);M1(J);let T=$.chain?.formatters?.transactionRequest?.format,p=(T||RJ)({...t8(R,{format:T}),account:X,accessList:V,authorizationList:K,blobs:D,blobVersionedHashes:O,data:M,gasPrice:q,maxFeePerBlobGas:F,maxFeePerGas:I,maxPriorityFeePerGas:E,nonce:B,to:W,value:L},"estimateGas");return BigInt(await $.request({method:"eth_estimateGas",params:y?[p,x??$.experimental_blockTag??"latest",y]:x?[p,x]:[p]}))}catch(W){throw Ap(W,{...J,account:X,chain:$.chain})}}async function Cp($,J){let{abi:Q,address:Y,args:X,functionName:G,dataSuffix:W=typeof $.dataSuffix==="string"?$.dataSuffix:$.dataSuffix?.value,...V}=J,K=n4({abi:Q,args:X,functionName:G});try{return await V$($,hG,"estimateGas")({data:`${K}${W?W.replace("0x",""):""}`,to:Y,...V})}catch(D){let O=V.account?g4(V.account):void 0;throw i1(D,{abi:Q,address:Y,args:X,docsPath:"/docs/contract/estimateContractGas",functionName:G,sender:O?.address})}}BJ();SQ();U1();p$();f9();async function vp($,{address:J,blockNumber:Q,blockTag:Y=$.experimental_blockTag??"latest"}){if($.batch?.multicall&&$.chain?.contracts?.multicall3){let W=$.chain.contracts.multicall3.address,V=n4({abi:h1,functionName:"getEthBalance",args:[J]}),{data:K}=await V$($,H1,"call")({to:W,data:V,blockNumber:Q,blockTag:Y});return r6({abi:h1,functionName:"getEthBalance",args:[J],data:K||"0x"})}let X=typeof Q==="bigint"?O$(Q):void 0,G=await $.request({method:"eth_getBalance",params:[J,X||Y]});return BigInt(G)}async function Pp($){let J=await $.request({method:"eth_blobBaseFee"});return BigInt(J)}var qK$=new Map,LK$=new Map;function kp($){let J=(X,G)=>({clear:()=>G.delete(X),get:()=>G.get(X),set:(W)=>G.set(X,W)}),Q=J($,qK$),Y=J($,LK$);return{clear:()=>{Q.clear(),Y.clear()},promise:Q,response:Y}}async function xp($,{cacheKey:J,cacheTime:Q=Number.POSITIVE_INFINITY}){let Y=kp(J),X=Y.response.get();if(X&&Q>0){if(Date.now()-X.created.getTime()<Q)return X.data}let G=Y.promise.get();if(!G)G=$(),Y.promise.set(G);try{let W=await G;return Y.response.set({created:new Date,data:W}),W}finally{Y.promise.clear()}}var IK$=($)=>`blockNumber.${$}`;async function CJ($,{cacheTime:J=$.cacheTime}={}){let Q=await xp(()=>$.request({method:"eth_blockNumber"}),{cacheKey:IK$($.uid),cacheTime:J});return BigInt(Q)}N0();p$();async function fp($,{blockHash:J,blockNumber:Q,blockTag:Y="latest"}={}){let X=Q!==void 0?O$(Q):void 0,G;if(J)G=await $.request({method:"eth_getBlockTransactionCountByHash",params:[J]},{dedupe:!0});else G=await $.request({method:"eth_getBlockTransactionCountByNumber",params:[X||Y]},{dedupe:Boolean(X)});return Z6(G)}p$();async function y9($,{address:J,blockNumber:Q,blockTag:Y="latest"}){let X=Q!==void 0?O$(Q):void 0,G=await $.request({method:"eth_getCode",params:[J,X||Y]},{dedupe:Boolean(X)});if(G==="0x")return;return G}d8();xG();g6();function I6($,{args:J,eventName:Q}={}){return{...$,blockHash:$.blockHash?$.blockHash:null,blockNumber:$.blockNumber?BigInt($.blockNumber):null,blockTimestamp:$.blockTimestamp?BigInt($.blockTimestamp):$.blockTimestamp===null?null:void 0,logIndex:$.logIndex?Number($.logIndex):null,transactionHash:$.transactionHash?$.transactionHash:null,transactionIndex:$.transactionIndex?Number($.transactionIndex):null,...Q?{args:J,eventName:Q}:{}}}d1();FK();J6();Yj();V1();FK();LK();zQ();var bp="/docs/contract/decodeEventLog";function h9($){let{abi:J,data:Q,strict:Y,topics:X}=$,G=Y??!0,[W,...V]=X;if(!W)throw new lF({docsPath:bp});let K=J.find((I)=>I.type==="event"&&W===l8(O6(I)));if(!(K&&("name"in K))||K.type!=="event")throw new dF(W,{docsPath:bp});let{name:D,inputs:O}=K,N=O?.some((I)=>!(("name"in I)&&I.name)),w=N?[]:{},M=O.map((I,E)=>[I,E]).filter(([I])=>("indexed"in I)&&I.indexed),z=[];for(let I=0;I<M.length;I++){let[E,B]=M[I],L=V[I];if(!L){if(G)throw new A9({abiItem:K,param:E});z.push([E,B]);continue}w[N?B:E.name||B]=BK$({param:E,value:L})}let q=O.filter((I)=>!(("indexed"in I)&&I.indexed)),F=G?q:[...z.map(([I])=>I),...q];if(F.length>0){if(Q&&Q!=="0x")try{let I=FQ(F,Q);if(I){let E=0;if(!G)for(let[B,L]of z)w[N?L:B.name||L]=I[E++];if(N){for(let B=0;B<O.length;B++)if(w[B]===void 0&&E<I.length)w[B]=I[E++]}else for(let B=0;B<q.length;B++)w[q[B].name]=I[E++]}}catch(I){if(G){if(I instanceof OK||I instanceof ZK)throw new h8({abiItem:K,data:Q,params:F,size:G4(Q)});throw I}}else if(G)throw new h8({abiItem:K,data:"0x",params:F,size:0})}return{eventName:D,args:Object.values(w).length>0?w:void 0}}function BK$({param:$,value:J}){if($.type==="string"||$.type==="bytes"||$.type==="tuple"||$.type.match(/^(.*)\[(\d+)?\]$/))return J;return(FQ([$],J)||[])[0]}function uG($){let{abi:J,args:Q,logs:Y,strict:X=!0}=$,G=(()=>{if(!$.eventName)return;if(Array.isArray($.eventName))return $.eventName;return[$.eventName]})(),W=J.filter((V)=>V.type==="event").map((V)=>({abi:V,selector:l8(V)}));return Y.map((V)=>{let K=typeof V.blockNumber==="string"?I6(V):V,D=W.filter((w)=>K.topics[0]===w.selector);if(D.length===0)return null;let O,N;for(let w of D)try{O=h9({...K,abi:[w.abi],strict:!0}),N=w;break}catch{}if(!O&&!X){N=D[0];try{O=h9({data:K.data,topics:K.topics,abi:[N.abi],strict:!1})}catch{let w=N.abi.inputs?.some((M)=>!(("name"in M)&&M.name));return{...K,args:w?[]:{},eventName:N.abi.name}}}if(!O||!N)return null;if(G&&!G.includes(O.eventName))return null;if(!FK$({args:O.args,inputs:N.abi.inputs,matchArgs:Q}))return null;return{...O,...K}}).filter(Boolean)}function FK$($){let{args:J,inputs:Q,matchArgs:Y}=$;if(!Y)return!0;if(!J)return!1;function X(G,W,V){try{if(G.type==="address")return r1(W,V);if(G.type==="string"||G.type==="bytes")return C4(K1(W))===V;return W===V}catch{return!1}}if(Array.isArray(J)&&Array.isArray(Y))return Y.every((G,W)=>{if(G===null||G===void 0)return!0;let V=Q[W];if(!V)return!1;return(Array.isArray(G)?G:[G]).some((D)=>X(V,D,J[W]))});if(typeof J==="object"&&!Array.isArray(J)&&typeof Y==="object"&&!Array.isArray(Y))return Object.entries(Y).every(([G,W])=>{if(W===null||W===void 0)return!0;let V=Q.find((D)=>D.name===G);if(!V)return!1;return(Array.isArray(W)?W:[W]).some((D)=>X(V,D,J[G]))});return!1}p$();async function mG($,{address:J,blockHash:Q,fromBlock:Y,toBlock:X,event:G,events:W,args:V,strict:K}={}){let D=K??!1,O=W??(G?[G]:void 0),N=[];if(O){if(N=[O.flatMap((q)=>TJ({abi:[q],eventName:q.name,args:W?void 0:V}))],G)N=N[0]}let w;if(Q)w=await $.request({method:"eth_getLogs",params:[{address:J,topics:N,blockHash:Q}]});else w=await $.request({method:"eth_getLogs",params:[{address:J,topics:N,fromBlock:typeof Y==="bigint"?O$(Y):Y,toBlock:typeof X==="bigint"?O$(X):X}]});let M=w.map((z)=>I6(z));if(!O)return M;return uG({abi:O,args:V,logs:M,strict:D})}async function KH($,J){let{abi:Q,address:Y,args:X,blockHash:G,eventName:W,fromBlock:V,toBlock:K,strict:D}=J,O=W?b0({abi:Q,name:W}):void 0,N=!O?Q.filter((w)=>w.type==="event"):void 0;return V$($,mG,"getLogs")({address:Y,args:X,blockHash:G,event:O,events:N,fromBlock:V,toBlock:K,strict:D})}L9();V1();B9();async function gp($,{address:J,blockNumber:Q,blockTag:Y="latest"}){let X=await y9($,{address:J,...Q!==void 0?{blockNumber:Q}:{blockTag:Y}});if(!X)return;if(G4(X)!==23)return;if(!X.startsWith("0xef0100"))return;return I9(D1(X,3,23))}Q4();class pE extends u{constructor({address:$}){super(`No EIP-712 domain found on contract "${$}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${$}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function yp($,J){let{address:Q,factory:Y,factoryData:X}=J;try{let[G,W,V,K,D,O,N]=await V$($,W6,"readContract")({abi:jK$,address:Q,functionName:"eip712Domain",factory:Y,factoryData:X});return{domain:{name:W,version:V,chainId:Number(K),verifyingContract:D,salt:O},extensions:N,fields:G}}catch(G){let W=G;if(W.name==="ContractFunctionExecutionError"&&W.cause.name==="ContractFunctionZeroDataError")throw new pE({address:Q});throw W}}var jK$=[{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"}];p$();function hp($){return{baseFeePerGas:$.baseFeePerGas.map((J)=>BigInt(J)),gasUsedRatio:$.gasUsedRatio,oldestBlock:BigInt($.oldestBlock),reward:$.reward?.map((J)=>J.map((Q)=>BigInt(Q)))}}async function up($,{blockCount:J,blockNumber:Q,blockTag:Y="latest",rewardPercentiles:X}){let G=typeof Q==="bigint"?O$(Q):void 0,W=await $.request({method:"eth_feeHistory",params:[O$(J),G||Y,X]},{dedupe:Boolean(G)});return hp(W)}async function JX($,{filter:J}){let Q="strict"in J&&J.strict,Y=await J.request({method:"eth_getFilterChanges",params:[J.id]});if(typeof Y[0]==="string")return Y;let X=Y.map((G)=>I6(G));if(!("abi"in J)||!J.abi)return X;return uG({abi:J.abi,logs:X,strict:Q})}async function mp($,{filter:J}){let Q=J.strict??!1,X=(await J.request({method:"eth_getFilterLogs",params:[J.id]})).map((G)=>I6(G));if(!J.abi)return X;return uG({abi:J.abi,logs:X,strict:Q})}p$();N0();function EK$($){return $.map((J)=>({...J,value:BigInt(J.value)}))}function lp($){return{...$,balance:$.balance?BigInt($.balance):void 0,nonce:$.nonce?Z6($.nonce):void 0,storageProof:$.storageProof?EK$($.storageProof):void 0}}async function dp($,{address:J,blockNumber:Q,blockTag:Y,storageKeys:X}){let G=Y??"latest",W=Q!==void 0?O$(Q):void 0,V=await $.request({method:"eth_getProof",params:[J,X,W||G]});return lp(V)}p$();async function pp($,{address:J,blockNumber:Q,blockTag:Y="latest",slot:X}){let G=Q!==void 0?O$(Q):void 0;return await $.request({method:"eth_getStorageAt",params:[J,X,G||Y]})}RQ();p$();async function lG($,{blockHash:J,blockNumber:Q,blockTag:Y,hash:X,index:G,sender:W,nonce:V}){let K=Y||"latest",D=Q!==void 0?O$(Q):void 0,O=null;if(X)O=await $.request({method:"eth_getTransactionByHash",params:[X]},{dedupe:!0});else if(J)O=await $.request({method:"eth_getTransactionByBlockHashAndIndex",params:[J,O$(G)]},{dedupe:!0});else if((D||K)&&typeof G==="number")O=await $.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[D||K,O$(G)]},{dedupe:Boolean(D)});else if(W&&typeof V==="number")O=await $.request({method:"eth_getTransactionBySenderAndNonce",params:[W,O$(V)]},{dedupe:!0});if(!O)throw new jK({blockHash:J,blockNumber:Q,blockTag:K,hash:X,index:G});return($.chain?.formatters?.transaction?.format||bG)(O,"getTransaction")}async function np($,{hash:J,transactionReceipt:Q}){let[Y,X]=await Promise.all([V$($,CJ,"getBlockNumber")({}),J?V$($,lG,"getTransaction")({hash:J}):void 0]),G=Q?.blockNumber||X?.blockNumber;if(!G)return 0n;return Y-G+1n}RQ();N0();var _K$={"0x0":"reverted","0x1":"success"};function DH($,J){let Q={...$,blockNumber:$.blockNumber?BigInt($.blockNumber):null,contractAddress:$.contractAddress?$.contractAddress:null,cumulativeGasUsed:$.cumulativeGasUsed?BigInt($.cumulativeGasUsed):null,effectiveGasPrice:$.effectiveGasPrice?BigInt($.effectiveGasPrice):null,gasUsed:$.gasUsed?BigInt($.gasUsed):null,logs:$.logs?$.logs.map((Y)=>I6(Y)):null,to:$.to?$.to:null,transactionIndex:$.transactionIndex?Z6($.transactionIndex):null,status:$.status?_K$[$.status]:null,type:$.type?yE[$.type]||$.type:null};if($.blobGasPrice)Q.blobGasPrice=BigInt($.blobGasPrice);if($.blobGasUsed)Q.blobGasUsed=BigInt($.blobGasUsed);return Q}async function dG($,{hash:J}){let Q=await $.request({method:"eth_getTransactionReceipt",params:[J]},{dedupe:!0});if(!Q)throw new EK({hash:J});return($.chain?.formatters?.transactionReceipt?.format||DH)(Q,"getTransactionReceipt")}BJ();J6();Q4();p8();SQ();U1();F9();async function cp($,J){let{account:Q,authorizationList:Y,allowFailure:X=!0,blockNumber:G,blockOverrides:W,blockTag:V,stateOverride:K}=J,D=J.contracts,{batchSize:O=J.batchSize??1024,deployless:N=J.deployless??!1}=typeof $.batch?.multicall==="object"?$.batch.multicall:{},w=(()=>{if(J.multicallAddress)return J.multicallAddress;if(N)return null;if($.chain)return O1({blockNumber:G,chain:$.chain,contract:"multicall3"});throw Error("client chain not configured. multicallAddress is required.")})(),M=[[]],z=0,q=0;for(let E=0;E<D.length;E++){let{abi:B,address:L,args:j,functionName:R}=D[E];try{let P=n4({abi:B,args:j,functionName:R});if(q+=(P.length-2)/2,O>0&&q>O&&M[z].length>0)z++,q=(P.length-2)/2,M[z]=[];M[z]=[...M[z],{allowFailure:!0,callData:P,target:L}]}catch(P){let x=i1(P,{abi:B,address:L,args:j,docsPath:"/docs/contract/multicall",functionName:R,sender:Q});if(!X)throw x;M[z]=[...M[z],{allowFailure:!0,callData:"0x",target:L}]}}let F=await Promise.allSettled(M.map((E)=>V$($,W6,"readContract")({...w===null?{code:vG}:{address:w},abi:h1,account:Q,args:[E],authorizationList:Y,blockNumber:G,blockOverrides:W,blockTag:V,functionName:"aggregate3",stateOverride:K}))),I=[];for(let E=0;E<F.length;E++){let B=F[E];if(B.status==="rejected"){if(!X)throw B.reason;for(let j=0;j<M[E].length;j++)I.push({status:"failure",error:B.reason,result:void 0});continue}let L=B.value;for(let j=0;j<L.length;j++){let{returnData:R,success:P}=L[j],{callData:x}=M[E][j],{abi:y,address:T,functionName:d,args:p}=D[I.length];try{if(x==="0x")throw new u1;if(!P)throw new TQ({data:R});let Y$=r6({abi:y,args:p,data:R,functionName:d});I.push(X?{result:Y$,status:"success"}:Y$)}catch(Y$){let c=i1(Y$,{abi:y,address:T,args:p,docsPath:"/docs/contract/multicall",functionName:d});if(!X)throw c;I.push({error:c,result:void 0,status:"failure"})}}}if(I.length!==D.length)throw new u("multicall results mismatch");return I}DE();J6();p8();k9();SQ();U1();p$();lK();PG();dM();x9();async function aK($,J){let{blockNumber:Q,blockTag:Y=$.experimental_blockTag??"latest",blocks:X,returnFullTransactions:G,traceTransfers:W,validation:V}=J;try{let K=[];for(let w of X){let M=w.blockOverrides?yM(w.blockOverrides):void 0,z=w.calls.map((F)=>{let I=F,E=I.account?g4(I.account):void 0,B=I.abi?n4(I):I.data,L={...I,account:E,data:I.dataSuffix?y6([B||"0x",I.dataSuffix]):B,from:I.from??E?.address};return M1(L),RJ(L)}),q=w.stateOverrides?kG(w.stateOverrides):void 0;K.push({blockOverrides:M,calls:z,stateOverrides:q})}let O=(typeof Q==="bigint"?O$(Q):void 0)||Y;return(await $.request({method:"eth_simulateV1",params:[{blockStateCalls:K,returnFullTransactions:G,traceTransfers:W,validation:V},O]})).map((w,M)=>({...$H(w),calls:w.calls.map((z,q)=>{let{abi:F,args:I,functionName:E,to:B}=X[M].calls[q],L=z.error?.data??z.returnData,j=BigInt(z.gasUsed),R=z.logs?.map((T)=>I6(T)),P=z.status==="0x1"?"success":"failure",x=F&&P==="success"&&L!=="0x"?r6({abi:F,data:L,functionName:E}):null,y=(()=>{if(P==="success")return;let T;if(L==="0x")T=new u1;else if(L)T=new TQ({data:L});if(!T)return;return i1(T,{abi:F??[],address:B??"0x",args:I,functionName:E??"<unknown>"})})();return{data:L,gasUsed:j,logs:R,status:P,...P==="success"?{result:x}:{error:y}}})}))}catch(K){let D=K,O=r8(D,{});if(O instanceof o1)throw D;throw O}}a5();g0();KM();c8();q6();function u9($,J={}){let{as:Q=typeof $==="string"?"Hex":"Bytes"}=J,Y=p5(Hd($));if(Q==="Bytes")return Y;return X6(Y)}q6();c8();class cE extends Map{constructor($){super();Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=$}get($){let J=super.get($);if(super.has($)&&J!==void 0)this.delete($),super.set($,J);return J}set($,J){if(super.set($,J),this.maxSize&&this.size>this.maxSize){let Q=this.keys().next().value;if(Q)this.delete(Q)}return this}}var SK$={checksum:new cE(8192)},UH=SK$.checksum;g0();c8();g0();q6();function ip($,J={}){let{compressed:Q}=J,{prefix:Y,x:X,y:G}=$;if(Q===!1||typeof X==="bigint"&&typeof G==="bigint"){if(Y!==4)throw new iE({prefix:Y,cause:new sp});return}if(Q===!0||typeof X==="bigint"&&typeof G>"u"){if(Y!==3&&Y!==2)throw new iE({prefix:Y,cause:new ap});return}throw new tp({publicKey:$})}function op($){let J=(()=>{if(PK($))return rp($);if(Id($))return TK$($);let{prefix:Q,x:Y,y:X}=$;if(typeof Y==="bigint"&&typeof X==="bigint")return{prefix:Q??4,x:Y,y:X};return{prefix:Q,x:Y}})();return ip(J),J}function TK$($){return rp(X6($))}function rp($){if($.length!==132&&$.length!==130&&$.length!==68)throw new ep({publicKey:$});if($.length===130){let Y=BigInt(d4($,0,32)),X=BigInt(d4($,32,64));return{prefix:4,x:Y,y:X}}if($.length===132){let Y=Number(d4($,0,1)),X=BigInt(d4($,1,33)),G=BigInt(d4($,33,65));return{prefix:Y,x:X,y:G}}let J=Number(d4($,0,1)),Q=BigInt(d4($,1,33));return{prefix:J,x:Q}}function oE($,J={}){ip($);let{prefix:Q,x:Y,y:X}=$,{includePrefix:G=!0}=J;return c4(G?D4(Q,{size:1}):"0x",D4(Y,{size:32}),typeof X==="bigint"?D4(X,{size:32}):"0x")}class tp extends H${constructor({publicKey:$}){super(`Value \`${i8($)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"})}}class iE extends H${constructor({prefix:$,cause:J}){super(`Prefix "${$}" is invalid.`,{cause:J});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"})}}class ap extends H${constructor(){super("Prefix must be 2 or 3 for compressed public keys.");Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"})}}class sp extends H${constructor(){super("Prefix must be 4 for uncompressed public keys.");Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}}class ep extends H${constructor({publicKey:$}){super(`Value \`${$}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${l4(TG($))} bytes.`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}}var CK$=/^0x[a-fA-F0-9]{40}$/;function m9($,J={}){let{strict:Q=!0}=J;if(!CK$.test($))throw new rE({address:$,cause:new Qn});if(Q){if($.toLowerCase()===$)return;if(OH($)!==$)throw new rE({address:$,cause:new Xn})}}function OH($){if(UH.has($))return UH.get($);m9($,{strict:!1});let J=$.substring(2).toLowerCase(),Q=u9(Ad(J),{as:"Bytes"}),Y=J.split("");for(let G=0;G<40;G+=2){if(Q[G>>1]>>4>=8&&Y[G])Y[G]=Y[G].toUpperCase();if((Q[G>>1]&15)>=8&&Y[G+1])Y[G+1]=Y[G+1].toUpperCase()}let X=`0x${Y.join("")}`;return UH.set($,X),X}function vK$($,J={}){let{checksum:Q=!1}=J;if(m9($),Q)return OH($);return $}function Jn($,J={}){let Q=u9(`0x${oE($).slice(4)}`).substring(26);return vK$(`0x${Q}`,J)}function NH($,J={}){let{strict:Q=!0}=J??{};try{return m9($,{strict:Q}),!0}catch{return!1}}class rE extends H${constructor({address:$,cause:J}){super(`Address "${$}" is invalid.`,{cause:J});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class Qn extends H${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 Xn extends H${constructor(){super("Address does not match its checksum counterpart.");Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}g0();function HH($){let J=!0,Q="",Y=0,X="",G=!1;for(let W=0;W<$.length;W++){let V=$[W];if(["(",")",","].includes(V))J=!0;if(V==="(")Y++;if(V===")")Y--;if(!J)continue;if(Y===0){if(V===" "&&["event","function","error",""].includes(X))X="";else if(X+=V,V===")"){G=!0;break}continue}if(V===" "){if($[W-1]!==","&&Q!==","&&Q!==",(")Q="",J=!1;continue}X+=V,Q+=V}if(!G)throw new H$("Unable to normalize signature.");return X}function MH($,J){let Q=typeof $,Y=J.type;switch(Y){case"address":return NH($,{strict:!1});case"bool":return Q==="boolean";case"function":return Q==="string";case"string":return Q==="string";default:{if(Y==="tuple"&&"components"in J)return Object.values(J.components).every((X,G)=>{return MH(Object.values($)[G],X)});if(/^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(Y))return Q==="number"||Q==="bigint";if(/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(Y))return Q==="string"||$ instanceof Uint8Array;if(/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(Y))return Array.isArray($)&&$.every((X)=>MH(X,{...J,type:Y.replace(/(\[[0-9]{0,}\])$/,"")}));return!1}}}function tE($,J,Q){for(let Y in $){let X=$[Y],G=J[Y];if(X.type==="tuple"&&G.type==="tuple"&&"components"in X&&"components"in G)return tE(X.components,G.components,Q[Y]);let W=[X.type,G.type];if((()=>{if(W.includes("address")&&W.includes("bytes20"))return!0;if(W.includes("address")&&W.includes("string"))return NH(Q[Y],{strict:!1});if(W.includes("address")&&W.includes("bytes"))return NH(Q[Y],{strict:!1});return!1})())return W}return}function AH($,J={}){let{prepare:Q=!0}=J,Y=(()=>{if(Array.isArray($))return IM($);if(typeof $==="string")return IM($);return $})();return{...Y,...Q?{hash:pG(Y)}:{}}}function sK($,J,Q){let{args:Y=[],prepare:X=!0}=Q??{},G=PK(J,{strict:!1}),W=$.filter((D)=>{if(G){if(D.type==="function"||D.type==="error")return aE(D)===d4(J,0,4);if(D.type==="event")return pG(D)===J;return!1}return"name"in D&&D.name===J});if(W.length===0)throw new l9({name:J});if(W.length===1)return{...W[0],...X?{hash:pG(W[0])}:{}};let V;for(let D of W){if(!("inputs"in D))continue;if(!Y||Y.length===0){if(!D.inputs||D.inputs.length===0)return{...D,...X?{hash:pG(D)}:{}};continue}if(!D.inputs)continue;if(D.inputs.length===0)continue;if(D.inputs.length!==Y.length)continue;if(Y.every((N,w)=>{let M="inputs"in D&&D.inputs[w];if(!M)return!1;return MH(N,M)})){if(V&&"inputs"in V&&V.inputs){let N=tE(D.inputs,V.inputs,Y);if(N)throw new Yn({abiItem:D,type:N[0]},{abiItem:V,type:N[1]})}V=D}}let K=(()=>{if(V)return V;let[D,...O]=W;return{...D,overloads:O}})();if(!K)throw new l9({name:J});return{...K,...X?{hash:pG(K)}:{}}}function aE(...$){let J=(()=>{if(Array.isArray($[0])){let[Q,Y]=$;return sK(Q,Y)}return $[0]})();return d4(pG(J),0,4)}function kK$(...$){let J=(()=>{if(Array.isArray($[0])){let[Y,X]=$;return sK(Y,X)}return $[0]})(),Q=(()=>{if(typeof J==="string")return J;return EQ(J)})();return HH(Q)}function pG(...$){let J=(()=>{if(Array.isArray($[0])){let[Q,Y]=$;return sK(Q,Y)}return $[0]})();if(typeof J!=="string"&&"hash"in J&&J.hash)return J.hash;return u9(CG(kK$(J)))}class Yn extends H${constructor($,J){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${$.type}\` in \`${HH(EQ($.abiItem))}\`, and`,`\`${J.type}\` in \`${HH(EQ(J.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 l9 extends H${constructor({name:$,data:J,type:Q="item"}){let Y=(()=>{if($)return` with name "${$}"`;if(J)return` with data "${J}"`;return""})();super(`ABI ${Q}${Y} not found.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}a5();c8();g0();q6();c8();g0();q6();var Wn=/^(.*)\[([0-9]*)\]$/,Vn=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,zH=/^(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)?$/,bl$=2n**(8n-1n)-1n,gl$=2n**(16n-1n)-1n,yl$=2n**(24n-1n)-1n,hl$=2n**(32n-1n)-1n,ul$=2n**(40n-1n)-1n,ml$=2n**(48n-1n)-1n,ll$=2n**(56n-1n)-1n,dl$=2n**(64n-1n)-1n,pl$=2n**(72n-1n)-1n,nl$=2n**(80n-1n)-1n,cl$=2n**(88n-1n)-1n,il$=2n**(96n-1n)-1n,ol$=2n**(104n-1n)-1n,rl$=2n**(112n-1n)-1n,tl$=2n**(120n-1n)-1n,al$=2n**(128n-1n)-1n,sl$=2n**(136n-1n)-1n,el$=2n**(144n-1n)-1n,$d$=2n**(152n-1n)-1n,Jd$=2n**(160n-1n)-1n,Qd$=2n**(168n-1n)-1n,Xd$=2n**(176n-1n)-1n,Yd$=2n**(184n-1n)-1n,Gd$=2n**(192n-1n)-1n,Wd$=2n**(200n-1n)-1n,Vd$=2n**(208n-1n)-1n,Kd$=2n**(216n-1n)-1n,Dd$=2n**(224n-1n)-1n,Ud$=2n**(232n-1n)-1n,Od$=2n**(240n-1n)-1n,Nd$=2n**(248n-1n)-1n,wd$=2n**(256n-1n)-1n,Md$=-(2n**(8n-1n)),Hd$=-(2n**(16n-1n)),Ad$=-(2n**(24n-1n)),zd$=-(2n**(32n-1n)),Zd$=-(2n**(40n-1n)),qd$=-(2n**(48n-1n)),Ld$=-(2n**(56n-1n)),Id$=-(2n**(64n-1n)),Bd$=-(2n**(72n-1n)),Fd$=-(2n**(80n-1n)),jd$=-(2n**(88n-1n)),Ed$=-(2n**(96n-1n)),_d$=-(2n**(104n-1n)),Sd$=-(2n**(112n-1n)),Rd$=-(2n**(120n-1n)),Td$=-(2n**(128n-1n)),Cd$=-(2n**(136n-1n)),vd$=-(2n**(144n-1n)),Pd$=-(2n**(152n-1n)),kd$=-(2n**(160n-1n)),xd$=-(2n**(168n-1n)),fd$=-(2n**(176n-1n)),bd$=-(2n**(184n-1n)),gd$=-(2n**(192n-1n)),yd$=-(2n**(200n-1n)),hd$=-(2n**(208n-1n)),ud$=-(2n**(216n-1n)),md$=-(2n**(224n-1n)),ld$=-(2n**(232n-1n)),dd$=-(2n**(240n-1n)),pd$=-(2n**(248n-1n)),nd$=-(2n**(256n-1n)),cd$=2n**8n-1n,id$=2n**16n-1n,od$=2n**24n-1n,rd$=2n**32n-1n,td$=2n**40n-1n,ad$=2n**48n-1n,sd$=2n**56n-1n,ed$=2n**64n-1n,$p$=2n**72n-1n,Jp$=2n**80n-1n,Qp$=2n**88n-1n,Xp$=2n**96n-1n,Yp$=2n**104n-1n,Gp$=2n**112n-1n,Wp$=2n**120n-1n,Vp$=2n**128n-1n,Kp$=2n**136n-1n,Dp$=2n**144n-1n,Up$=2n**152n-1n,Op$=2n**160n-1n,Np$=2n**168n-1n,wp$=2n**176n-1n,Mp$=2n**184n-1n,Hp$=2n**192n-1n,Ap$=2n**200n-1n,zp$=2n**208n-1n,Zp$=2n**216n-1n,qp$=2n**224n-1n,Lp$=2n**232n-1n,Ip$=2n**240n-1n,Bp$=2n**248n-1n,sE=2n**256n-1n;function d9($,J,Q){let{checksumAddress:Y,staticPosition:X}=Q,G=J_(J.type);if(G){let[W,V]=G;return fK$($,{...J,type:V},{checksumAddress:Y,length:W,staticPosition:X})}if(J.type==="tuple")return hK$($,J,{checksumAddress:Y,staticPosition:X});if(J.type==="address")return xK$($,{checksum:Y});if(J.type==="bool")return bK$($);if(J.type.startsWith("bytes"))return gK$($,J,{staticPosition:X});if(J.type.startsWith("uint")||J.type.startsWith("int"))return yK$($,J);if(J.type==="string")return uK$($,{staticPosition:X});throw new $D(J.type)}var Dn=32,eE=32;function xK$($,J={}){let{checksum:Q=!1}=J,Y=$.readBytes(32);return[((G)=>Q?OH(G):G)(X6(zd(Y,-20))),32]}function fK$($,J,Q){let{checksumAddress:Y,length:X,staticPosition:G}=Q;if(!X){let K=_J($.readBytes(eE)),D=G+K,O=D+Dn;$.setPosition(D);let N=_J($.readBytes(Dn)),w=eK(J),M=0,z=[];for(let q=0;q<N;++q){$.setPosition(O+(w?q*32:M));let[F,I]=d9($,J,{checksumAddress:Y,staticPosition:O});M+=I,z.push(F)}return $.setPosition(G+32),[z,32]}if(eK(J)){let K=_J($.readBytes(eE)),D=G+K,O=[];for(let N=0;N<X;++N){$.setPosition(D+N*32);let[w]=d9($,J,{checksumAddress:Y,staticPosition:D});O.push(w)}return $.setPosition(G+32),[O,32]}let W=0,V=[];for(let K=0;K<X;++K){let[D,O]=d9($,J,{checksumAddress:Y,staticPosition:G+W});W+=O,V.push(D)}return[V,W]}function bK$($){return[qd($.readBytes(32),{size:32}),32]}function gK$($,J,{staticPosition:Q}){let[Y,X]=J.type.split("bytes");if(!X){let W=_J($.readBytes(32));$.setPosition(Q+W);let V=_J($.readBytes(32));if(V===0)return $.setPosition(Q+32),["0x",32];let K=$.readBytes(V);return $.setPosition(Q+32),[X6(K),32]}return[X6($.readBytes(Number.parseInt(X,10),32)),32]}function yK$($,J){let Q=J.type.startsWith("int"),Y=Number.parseInt(J.type.split("int")[1]||"256",10),X=$.readBytes(32);return[Y>48?Zd(X,{signed:Q}):_J(X,{signed:Q}),32]}function hK$($,J,Q){let{checksumAddress:Y,staticPosition:X}=Q,G=J.components.length===0||J.components.some(({name:K})=>!K),W=G?[]:{},V=0;if(eK(J)){let K=_J($.readBytes(eE)),D=X+K;for(let O=0;O<J.components.length;++O){let N=J.components[O];$.setPosition(D+V);let[w,M]=d9($,N,{checksumAddress:Y,staticPosition:D});V+=M,W[G?O:N?.name]=w}return $.setPosition(X+32),[W,32]}for(let K=0;K<J.components.length;++K){let D=J.components[K],[O,N]=d9($,D,{checksumAddress:Y,staticPosition:X});W[G?K:D?.name]=O,V+=N}return[W,V]}function uK$($,{staticPosition:J}){let Q=_J($.readBytes(32)),Y=J+Q;$.setPosition(Y);let X=_J($.readBytes(32));if(X===0)return $.setPosition(J+32),["",32];let G=$.readBytes(X,32),W=Ld(YE(G));return $.setPosition(J+32),[W,32]}function Un({checksumAddress:$,parameters:J,values:Q}){let Y=[];for(let X=0;X<J.length;X++)Y.push($_({checksumAddress:$,parameter:J[X],value:Q[X]}));return Y}function $_({checksumAddress:$=!1,parameter:J,value:Q}){let Y=J,X=J_(Y.type);if(X){let[G,W]=X;return lK$(Q,{checksumAddress:$,length:G,parameter:{...Y,type:W}})}if(Y.type==="tuple")return iK$(Q,{checksumAddress:$,parameter:Y});if(Y.type==="address")return mK$(Q,{checksum:$});if(Y.type==="bool")return pK$(Q);if(Y.type.startsWith("uint")||Y.type.startsWith("int")){let G=Y.type.startsWith("int"),[,,W="256"]=zH.exec(Y.type)??[];return nK$(Q,{signed:G,size:Number(W)})}if(Y.type.startsWith("bytes"))return dK$(Q,{type:Y.type});if(Y.type==="string")return cK$(Q);throw new $D(Y.type)}function ZH($){let J=0;for(let G=0;G<$.length;G++){let{dynamic:W,encoded:V}=$[G];if(W)J+=32;else J+=l4(V)}let Q=[],Y=[],X=0;for(let G=0;G<$.length;G++){let{dynamic:W,encoded:V}=$[G];if(W)Q.push(D4(J+X,{size:32})),Y.push(V),X+=l4(V);else Q.push(V)}return c4(...Q,...Y)}function mK$($,J){let{checksum:Q=!1}=J;return m9($,{strict:Q}),{dynamic:!1,encoded:kQ($.toLowerCase())}}function lK$($,J){let{checksumAddress:Q,length:Y,parameter:X}=J,G=Y===null;if(!Array.isArray($))throw new X_($);if(!G&&$.length!==Y)throw new Q_({expectedLength:Y,givenLength:$.length,type:`${X.type}[${Y}]`});let W=!1,V=[];for(let K=0;K<$.length;K++){let D=$_({checksumAddress:Q,parameter:X,value:$[K]});if(D.dynamic)W=!0;V.push(D)}if(G||W){let K=ZH(V);if(G){let D=D4(V.length,{size:32});return{dynamic:!0,encoded:V.length>0?c4(D,K):D}}if(W)return{dynamic:!0,encoded:K}}return{dynamic:!1,encoded:c4(...V.map(({encoded:K})=>K))}}function dK$($,{type:J}){let[,Q]=J.split("bytes"),Y=l4($);if(!Q){let X=$;if(Y%32!==0)X=SJ(X,Math.ceil(($.length-2)/2/32)*32);return{dynamic:!0,encoded:c4(kQ(D4(Y,{size:32})),X)}}if(Y!==Number.parseInt(Q,10))throw new qH({expectedSize:Number.parseInt(Q,10),value:$});return{dynamic:!1,encoded:SJ($)}}function pK$($){if(typeof $!=="boolean")throw new H$(`Invalid boolean value: "${$}" (type: ${typeof $}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:kQ(bM($))}}function nK$($,{signed:J,size:Q}){if(typeof Q==="number"){let Y=2n**(BigInt(Q)-(J?1n:0n))-1n,X=J?-Y-1n:0n;if($>Y||$<X)throw new gM({max:Y.toString(),min:X.toString(),signed:J,size:Q/8,value:$.toString()})}return{dynamic:!1,encoded:D4($,{size:32,signed:J})}}function cK$($){let J=CG($),Q=Math.ceil(l4(J)/32),Y=[];for(let X=0;X<Q;X++)Y.push(SJ(d4(J,X*32,(X+1)*32)));return{dynamic:!0,encoded:c4(SJ(D4(l4(J),{size:32})),...Y)}}function iK$($,J){let{checksumAddress:Q,parameter:Y}=J,X=!1,G=[];for(let W=0;W<Y.components.length;W++){let V=Y.components[W],K=Array.isArray($)?W:V.name,D=$_({checksumAddress:Q,parameter:V,value:$[K]});if(G.push(D),D.dynamic)X=!0}return{dynamic:X,encoded:X?ZH(G):c4(...G.map(({encoded:W})=>W))}}function J_($){let J=$.match(/^(.*)\[(\d+)?\]$/);return J?[J[2]?Number(J[2]):null,J[1]]:void 0}function eK($){let{type:J}=$;if(J==="string")return!0;if(J==="bytes")return!0;if(J.endsWith("[]"))return!0;if(J==="tuple")return $.components?.some(eK);let Q=J_($.type);if(Q&&eK({...$,type:Q[1]}))return!0;return!1}g0();var rK$={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 Nn({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition($){if($<0||$>this.bytes.length-1)throw new On({length:this.bytes.length,position:$})},decrementPosition($){if($<0)throw new Y_({offset:$});let J=this.position-$;this.assertPosition(J),this.position=J},getReadCount($){return this.positionReadCount.get($||this.position)||0},incrementPosition($){if($<0)throw new Y_({offset:$});let J=this.position+$;this.assertPosition(J),this.position=J},inspectByte($){let J=$??this.position;return this.assertPosition(J),this.bytes[J]},inspectBytes($,J){let Q=J??this.position;return this.assertPosition(Q+$-1),this.bytes.subarray(Q,Q+$)},inspectUint8($){let J=$??this.position;return this.assertPosition(J),this.bytes[J]},inspectUint16($){let J=$??this.position;return this.assertPosition(J+1),this.dataView.getUint16(J)},inspectUint24($){let J=$??this.position;return this.assertPosition(J+2),(this.dataView.getUint16(J)<<8)+this.dataView.getUint8(J+2)},inspectUint32($){let J=$??this.position;return this.assertPosition(J+3),this.dataView.getUint32(J)},pushByte($){this.assertPosition(this.position),this.bytes[this.position]=$,this.position++},pushBytes($){this.assertPosition(this.position+$.length-1),this.bytes.set($,this.position),this.position+=$.length},pushUint8($){this.assertPosition(this.position),this.bytes[this.position]=$,this.position++},pushUint16($){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,$),this.position+=2},pushUint24($){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,$>>8),this.dataView.setUint8(this.position+2,$&255),this.position+=3},pushUint32($){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,$),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let $=this.inspectByte();return this.position++,$},readBytes($,J){this.assertReadLimit(),this._touch();let Q=this.inspectBytes($);return this.position+=J??$,Q},readUint8(){this.assertReadLimit(),this._touch();let $=this.inspectUint8();return this.position+=1,$},readUint16(){this.assertReadLimit(),this._touch();let $=this.inspectUint16();return this.position+=2,$},readUint24(){this.assertReadLimit(),this._touch();let $=this.inspectUint24();return this.position+=3,$},readUint32(){this.assertReadLimit(),this._touch();let $=this.inspectUint32();return this.position+=4,$},get remaining(){return this.bytes.length-this.position},setPosition($){let J=this.position;return this.assertPosition($),this.position=$,()=>this.position=J},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let $=this.getReadCount();if(this.positionReadCount.set(this.position,$+1),$>0)this.recursiveReadCount++}};function LH($,{recursiveReadLimit:J=8192}={}){let Q=Object.create(rK$);return Q.bytes=$,Q.dataView=new DataView($.buffer,$.byteOffset,$.byteLength),Q.positionReadCount=new Map,Q.recursiveReadLimit=J,Q}class Y_ extends H${constructor({offset:$}){super(`Offset \`${$}\` cannot be negative.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class On extends H${constructor({length:$,position:J}){super(`Position \`${J}\` is out of bounds (\`0 < position < ${$}\`).`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}}class Nn extends H${constructor({count:$,limit:J}){super(`Recursive read limit of \`${J}\` exceeded (recursive read count: \`${$}\`).`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}}function nG($,J,Q={}){let{as:Y="Array",checksumAddress:X=!1}=Q,G=typeof J==="string"?RG(J):J,W=LH(G);if(w1(G)===0&&$.length>0)throw new Hn;if(w1(G)&&w1(G)<32)throw new Mn({data:typeof J==="string"?J:X6(J),parameters:$,size:w1(G)});let V=0,K=Y==="Array"?[]:{};for(let D=0;D<$.length;++D){let O=$[D];W.setPosition(V);let[N,w]=d9(W,O,{checksumAddress:X,staticPosition:0});if(V+=w,Y==="Array")K.push(N);else K[O.name??D]=N}return K}function QX($,J,Q){let{checksumAddress:Y=!1}=Q??{};if($.length!==J.length)throw new W_({expectedLength:$.length,givenLength:J.length});let X=Un({checksumAddress:Y,parameters:$,values:J}),G=ZH(X);if(G.length===0)return"0x";return G}function G_($,J){if($.length!==J.length)throw new W_({expectedLength:$.length,givenLength:J.length});let Q=[];for(let Y=0;Y<$.length;Y++){let X=$[Y],G=J[Y];Q.push(G_.encode(X,G))}return c4(...Q)}(function($){function J(Q,Y,X=!1){if(Q==="address"){let K=Y;return m9(K),kQ(K.toLowerCase(),X?32:0)}if(Q==="string")return CG(Y);if(Q==="bytes")return Y;if(Q==="bool")return kQ(bM(Y),X?32:1);let G=Q.match(zH);if(G){let[K,D,O="256"]=G,N=Number.parseInt(O,10)/8;return D4(Y,{size:X?32:N,signed:D==="int"})}let W=Q.match(Vn);if(W){let[K,D]=W;if(Number.parseInt(D,10)!==(Y.length-2)/2)throw new qH({expectedSize:Number.parseInt(D,10),value:Y});return SJ(Y,X?32:0)}let V=Q.match(Wn);if(V&&Array.isArray(Y)){let[K,D]=V,O=[];for(let N=0;N<Y.length;N++)O.push(J(D,Y[N],!0));if(O.length===0)return"0x";return c4(...O)}throw new $D(Q)}$.encode=J})(G_||(G_={}));function QD($){if(Array.isArray($)&&typeof $[0]==="string")return BM($);if(typeof $==="string")return BM($);return $}class Mn extends H${constructor({data:$,parameters:J,size:Q}){super(`Data size of ${Q} bytes is too small for given parameters.`,{metaMessages:[`Params: (${jQ(J)})`,`Data: ${$} (${Q} bytes)`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class Hn extends H${constructor(){super('Cannot decode zero data ("0x") with ABI parameters.');Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class Q_ extends H${constructor({expectedLength:$,givenLength:J,type:Q}){super(`Array length mismatch for type \`${Q}\`. Expected: \`${$}\`. Given: \`${J}\`.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}}class qH extends H${constructor({expectedSize:$,value:J}){super(`Size of bytes "${J}" (bytes${l4(J)}) does not match expected size (bytes${$}).`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class W_ extends H${constructor({expectedLength:$,givenLength:J}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${$}`,`Given length (values): ${J}`].join(`
142
142
  `));Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class X_ extends H${constructor($){super(`Value \`${$}\` is not a valid array.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class $D extends H${constructor($){super(`Type \`${$}\` is not a valid ABI Type.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}}q6();function An(...$){let[J,Q]=(()=>{if(Array.isArray($[0])){let[G,W]=$;return[tK$(G),W]}return $})(),{bytecode:Y,args:X}=Q;return c4(Y,J.inputs?.length&&X?.length?QX(J.inputs,X):"0x")}function zn($){return AH($)}function tK$($){let J=$.find((Q)=>Q.type==="constructor");if(!J)throw new l9({name:"constructor"});return J}q6();function qn(...$){let[J,Q=[]]=(()=>{if(Array.isArray($[0])){let[D,O,N]=$;return[Zn(D,O,{args:N}),N]}let[V,K]=$;return[V,K]})(),{overloads:Y}=J,X=Y?Zn([J,...Y],J.name,{args:Q}):J,G=sK$(X),W=Q.length>0?QX(X.inputs,Q):void 0;return W?c4(G,W):G}function p9($,J={}){return AH($,J)}function Zn($,J,Q){let Y=sK($,J,Q);if(Y.type!=="function")throw new l9({name:J,type:"function"});return Y}function sK$($){return aE($)}var V_="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",z0="0x0000000000000000000000000000000000000000";Q4();U1();var $D$="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function Ln($,J){let{blockNumber:Q,blockTag:Y,calls:X,stateOverrides:G,traceAssetChanges:W,traceTransfers:V,validation:K}=J,D=J.account?g4(J.account):void 0;if(W&&!D)throw new u("`account` is required when `traceAssetChanges` is true");let O=D?An(zn("constructor(bytes, bytes)"),{bytecode:hM,args:[$D$,qn(p9("function getBalance(address)"),[D.address])]}):void 0,N=W?await Promise.all(J.calls.map(async(S)=>{if(!S.data&&!S.abi)return;let{accessList:k}=await cM($,{account:D.address,...S,data:S.abi?n4(S):S.data});return k.map(({address:b,storageKeys:t})=>t.length>0?b:null)})).then((S)=>S.flat().filter(Boolean)):[],w=await aK($,{blockNumber:Q,blockTag:Y,blocks:[...W?[{calls:[{data:O}],stateOverrides:G},{calls:N.map((S,k)=>({abi:[p9("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[D.address],to:S,from:z0,nonce:k})),stateOverrides:[{address:z0,nonce:0}]}]:[],{calls:[...X,{to:z0}].map((S)=>({...S,from:D?.address})),stateOverrides:G},...W?[{calls:[{data:O}]},{calls:N.map((S,k)=>({abi:[p9("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[D.address],to:S,from:z0,nonce:k})),stateOverrides:[{address:z0,nonce:0}]},{calls:N.map((S,k)=>({to:S,abi:[p9("function decimals() returns (uint256)")],functionName:"decimals",from:z0,nonce:k})),stateOverrides:[{address:z0,nonce:0}]},{calls:N.map((S,k)=>({to:S,abi:[p9("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:z0,nonce:k})),stateOverrides:[{address:z0,nonce:0}]},{calls:N.map((S,k)=>({to:S,abi:[p9("function symbol() returns (string)")],functionName:"symbol",from:z0,nonce:k})),stateOverrides:[{address:z0,nonce:0}]}]:[]],traceTransfers:V,validation:K}),M=W?w[2]:w[0],[z,q,,F,I,E,B,L]=W?w:[],{calls:j,...R}=M,P=j.slice(0,-1)??[],x=z?.calls??[],y=q?.calls??[],T=[...x,...y].map((S)=>S.status==="success"?f6(S.data):null),d=F?.calls??[],p=I?.calls??[],Y$=[...d,...p].map((S)=>S.status==="success"?f6(S.data):null),c=(E?.calls??[]).map((S)=>S.status==="success"?S.result:null),l=(L?.calls??[]).map((S)=>S.status==="success"?S.result:null),K$=(B?.calls??[]).map((S)=>S.status==="success"?S.result:null),I$=[];for(let[S,k]of Y$.entries()){let b=T[S];if(typeof k!=="bigint")continue;if(typeof b!=="bigint")continue;let t=c[S-1],n=l[S-1],N$=K$[S-1],Z$=(()=>{if(S===0)return{address:V_,decimals:18,symbol:"ETH"};return{address:N[S-1],decimals:N$||t?Number(t??1):void 0,symbol:n??void 0}})();if(I$.some((w$)=>w$.token.address===Z$.address))continue;I$.push({token:Z$,value:{pre:b,post:k,diff:k-b}})}return{assetChanges:I$,block:R,results:P}}SQ();U1();f9();async function In($,J){let{abi:Q,address:Y,args:X,functionName:G,dataSuffix:W=typeof $.dataSuffix==="string"?$.dataSuffix:$.dataSuffix?.value,...V}=J,K=V.account?g4(V.account):$.account,D=n4({abi:Q,args:X,functionName:G});try{let{data:O}=await V$($,H1,"call")({batch:!1,data:`${D}${W?W.replace("0x",""):""}`,to:Y,...V,account:K}),N=r6({abi:Q,args:X,functionName:G,data:O||"0x"}),w=Q.filter((M)=>("name"in M)&&M.name===J.functionName);return{result:N,request:{abi:w,address:Y,args:X,dataSuffix:W,functionName:G,...V,account:K}}}catch(O){throw i1(O,{abi:Q,address:Y,args:X,docsPath:"/docs/contract/simulateContract",functionName:G,sender:K?.address})}}async function XX($,{filter:J}){return J.request({method:"eth_uninstallFilter",params:[J.id]})}var XD={};F0(XD,{wrap:()=>YD$,validate:()=>GD$,unwrap:()=>Bn,universalSignatureValidatorBytecode:()=>JD$,universalSignatureValidatorAbi:()=>QD$,magicBytes:()=>K_,from:()=>XD$,assert:()=>D_,InvalidWrappedSignatureError:()=>U_});g0();q6();var K_="0x6492649264926492649264926492649264926492649264926492649264926492",JD$="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",QD$=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}];function D_($){if(d4($,-32)!==K_)throw new U_($)}function XD$($){if(typeof $==="string")return Bn($);return $}function Bn($){D_($);let[J,Q,Y]=nG(QD("address, bytes, bytes"),$);return{data:Q,signature:Y,to:J}}function YD$($){let{data:J,signature:Q,to:Y}=$;return c4(QX(QD("address, bytes, bytes"),[Y,J,Q]),K_)}function GD$($){try{return D_($),!0}catch{return!1}}class U_ extends H${constructor($){super(`Value \`${$}\` is an invalid ERC-6492 wrapped signature.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}}var YD={};F0(YD,{wrap:()=>LD$,validate:()=>ID$,unwrap:()=>bn,suffixParameters:()=>A_,magicBytes:()=>H_,from:()=>qD$,assert:()=>FH,InvalidWrappedSignatureError:()=>z_});q6();c8();g0();q6();function WD$($,J){let{as:Q}=J,Y=jn($),X=LH(new Uint8Array(Y.length));if(Y.encode(X),Q==="Hex")return X6(X.bytes);return X.bytes}function Fn($,J={}){let{as:Q="Hex"}=J;return WD$($,{as:Q})}function jn($){if(Array.isArray($))return VD$($.map((J)=>jn(J)));return KD$($)}function VD$($){let J=$.reduce((X,G)=>X+G.length,0),Q=En(J);return{length:(()=>{if(J<=55)return 1+J;return 1+Q+J})(),encode(X){if(J<=55)X.pushByte(192+J);else if(X.pushByte(247+Q),Q===1)X.pushUint8(J);else if(Q===2)X.pushUint16(J);else if(Q===3)X.pushUint24(J);else X.pushUint32(J);for(let{encode:G}of $)G(X)}}}function KD$($){let J=typeof $==="string"?RG($):$,Q=En(J.length);return{length:(()=>{if(J.length===1&&J[0]<128)return 1;if(J.length<=55)return 1+J.length;return 1+Q+J.length})(),encode(X){if(J.length===1&&J[0]<128)X.pushBytes(J);else if(J.length<=55)X.pushByte(128+J.length),X.pushBytes(J);else{if(X.pushByte(183+Q),Q===1)X.pushUint8(J.length);else if(Q===2)X.pushUint16(J.length);else if(Q===3)X.pushUint24(J.length);else X.pushUint32(J.length);X.pushBytes(J)}}}}function En($){if($<=255)return 1;if($<=65535)return 2;if($<=16777215)return 3;if($<=4294967295)return 4;throw new H$("Length is too large.")}g0();q6();function O_($,J={}){let{recovered:Q}=J;if(typeof $.r>"u")throw new IH({signature:$});if(typeof $.s>"u")throw new IH({signature:$});if(Q&&typeof $.yParity>"u")throw new IH({signature:$});if($.r<0n||$.r>sE)throw new Tn({value:$.r});if($.s<0n||$.s>sE)throw new Cn({value:$.s});if(typeof $.yParity==="number"&&$.yParity!==0&&$.yParity!==1)throw new BH({value:$.yParity})}function UD$($){return _n(X6($))}function _n($){if($.length!==130&&$.length!==132)throw new Rn({signature:$});let J=BigInt(d4($,0,32)),Q=BigInt(d4($,32,64)),Y=(()=>{let X=Number(`0x${$.slice(130)}`);if(Number.isNaN(X))return;try{return M_(X)}catch{throw new BH({value:X})}})();if(typeof Y>"u")return{r:J,s:Q};return{r:J,s:Q,yParity:Y}}function N_($){if(typeof $.r>"u")return;if(typeof $.s>"u")return;return w_($)}function w_($){let J=(()=>{if(typeof $==="string")return _n($);if($ instanceof Uint8Array)return UD$($);if(typeof $.r==="string")return ND$($);if($.v)return OD$($);return{r:$.r,s:$.s,...typeof $.yParity<"u"?{yParity:$.yParity}:{}}})();return O_(J),J}function OD$($){return{r:$.r,s:$.s,yParity:M_($.v)}}function ND$($){let J=(()=>{let Q=$.v?Number($.v):void 0,Y=$.yParity?Number($.yParity):void 0;if(typeof Q==="number"&&typeof Y!=="number")Y=M_(Q);if(typeof Y!=="number")throw new BH({value:$.yParity});return Y})();return{r:BigInt($.r),s:BigInt($.s),yParity:J}}function Sn($){let{r:J,s:Q,yParity:Y}=$;return[Y?"0x01":"0x",J===0n?"0x":KE(D4(J)),Q===0n?"0x":KE(D4(Q))]}function M_($){if($===0||$===27)return 0;if($===1||$===28)return 1;if($>=35)return $%2===0?1:0;throw new vn({value:$})}class Rn extends H${constructor({signature:$}){super(`Value \`${$}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${l4(TG($))} bytes.`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class IH extends H${constructor({signature:$}){super(`Signature \`${i8($)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class Tn extends H${constructor({value:$}){super(`Value \`${$}\` is an invalid r value. r must be a positive integer less than 2^256.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}}class Cn extends H${constructor({value:$}){super(`Value \`${$}\` is an invalid s value. s must be a positive integer less than 2^256.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}}class BH extends H${constructor({value:$}){super(`Value \`${$}\` is an invalid y-parity value. Y-parity must be 0 or 1.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}}class vn extends H${constructor({value:$}){super(`Value \`${$}\` is an invalid v value. v must be 27, 28 or >=35.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}}function kn($,J={}){if(typeof $.chainId==="string")return wD$($);return{...$,...J.signature}}function wD$($){let{address:J,chainId:Q,nonce:Y}=$,X=N_($);return{address:J,chainId:Number(Q),nonce:BigInt(Y),...X}}function xn($){return MD$($,{presign:!0})}function MD$($,J={}){let{presign:Q}=J;return u9(c4("0x05",Fn(HD$(Q?{address:$.address,chainId:$.chainId,nonce:$.nonce}:$))))}function HD$($){let{address:J,chainId:Q,nonce:Y}=$,X=N_($);return[Q?D4(Q):"0x",J,Y?D4(Y):"0x",...X?Sn(X):[]]}g0();q6();$X();q6();function fn($){return Jn(zD$($))}function zD$($){let{payload:J,signature:Q}=$,{r:Y,s:X,yParity:G}=Q,V=new A0.Signature(BigInt(Y),BigInt(X)).addRecoveryBit(G).recoverPublicKey(TG(J).substring(2));return op(V)}var H_="0x8010801080108010801080108010801080108010801080108010801080108010",A_=QD("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function FH($){if(typeof $==="string"){if(d4($,-32)!==H_)throw new z_($)}else O_($.authorization)}function qD$($){if(typeof $==="string")return bn($);return $}function bn($){FH($);let J=fM(d4($,-64,-32)),Q=d4($,-J-64,-64),Y=d4($,0,-J-64),[X,G,W]=nG(A_,Q);return{authorization:kn({address:X.delegation,chainId:Number(X.chainId),nonce:X.nonce,yParity:X.yParity,r:X.r,s:X.s}),signature:Y,...W&&W!=="0x"?{data:W,to:G}:{}}}function LD$($){let{data:J,signature:Q}=$;FH($);let Y=fn({payload:xn($.authorization),signature:w_($.authorization)}),X=QX(A_,[{...$.authorization,delegation:$.authorization.address,chainId:BigInt($.authorization.chainId)},$.to??Y,J??"0x"]),G=D4(l4(X),{size:32});return c4(Q,X,G,H_)}function ID$($){try{return FH($),!0}catch{return!1}}class z_ extends H${constructor($){super(`Value \`${$}\` is an invalid ERC-8010 wrapped signature.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}}BJ();p8();OE();U1();L9();xG();L9();xG();async function gn({address:$,authorization:J,signature:Q}){return r1(I9($),await eM({authorization:J,signature:Q}))}N0();p$();$X();N0();g6();function yn({r:$,s:J,to:Q="hex",v:Y,yParity:X}){let G=(()=>{if(X===0||X===1)return X;if(Y&&(Y===27n||Y===28n||Y>=35n))return Y%2n===0n?1:0;throw Error("Invalid `v` or `yParity` value")})(),W=`0x${new A0.Signature(f6($),f6(J)).toCompactHex()}${G===0?"1b":"1c"}`;if(Q==="hex")return W;return b6(W)}f9();async function GX($,J){let{address:Q,chain:Y=$.chain,hash:X,erc6492VerifierAddress:G=J.universalSignatureVerifierAddress??Y?.contracts?.erc6492Verifier?.address,multicallAddress:W=J.multicallAddress??Y?.contracts?.multicall3?.address,mode:V="auto"}=J;if(Y?.verifyHash)return await Y.verifyHash($,J);let K=(()=>{let D=J.signature;if(Q6(D))return D;if(typeof D==="object"&&"r"in D&&"s"in D)return yn(D);return N4(D)})();try{if(V==="eoa")try{if(r1(I9(Q),await oK({hash:X,signature:K})))return!0}catch{}if(YD.validate(K))return await BD$($,{...J,multicallAddress:W,signature:K});return await FD$($,{...J,verifierAddress:G,signature:K})}catch(D){if(V!=="eoa")try{if(r1(I9(Q),await oK({hash:X,signature:K})))return!0}catch{}if(D instanceof YX)return!1;throw D}}async function BD$($,J){let{address:Q,blockNumber:Y,blockTag:X,hash:G,multicallAddress:W}=J,{authorization:V,data:K,signature:D,to:O}=YD.unwrap(J.signature);if(await y9($,{address:Q,blockNumber:Y,blockTag:X})===p1(["0xef0100",V.address]))return await jD$($,{address:Q,blockNumber:Y,blockTag:X,hash:G,signature:D});let w={address:V.address,chainId:Number(V.chainId),nonce:Number(V.nonce),r:O$(V.r,{size:32}),s:O$(V.s,{size:32}),yParity:V.yParity};if(!await gn({address:Q,authorization:w}))throw new YX;let z=await V$($,W6,"readContract")({...W?{address:W}:{code:vG},authorizationList:[w],abi:h1,blockNumber:Y,blockTag:"pending",functionName:"aggregate3",args:[[...K?[{allowFailure:!0,target:O??Q,callData:K}]:[],{allowFailure:!0,target:Q,callData:n4({abi:kF,functionName:"isValidSignature",args:[G,D]})}]]});if(z[z.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new YX}async function FD$($,J){let{address:Q,factory:Y,factoryData:X,hash:G,signature:W,verifierAddress:V,...K}=J,D=await(async()=>{if(!Y&&!X)return W;if(XD.validate(W))return W;return XD.wrap({data:X,signature:W,to:Y})})(),O=V?{to:V,data:n4({abi:DK,functionName:"isValidSig",args:[Q,G,D]}),...K}:{data:kK({abi:DK,args:[Q,G,D],bytecode:Rd}),...K},{data:N}=await V$($,H1,"call")(O).catch((w)=>{if(w instanceof _K)throw new YX;throw w});if(sF(N??"0x0"))return!0;throw new YX}async function jD$($,J){let{address:Q,blockNumber:Y,blockTag:X,hash:G,signature:W}=J;if((await V$($,W6,"readContract")({address:Q,abi:kF,args:[G,W],blockNumber:Y,blockTag:X,functionName:"isValidSignature"}).catch((K)=>{if(K instanceof SK)throw new YX;throw K})).startsWith("0x1626ba7e"))return!0;throw new YX}class YX extends Error{}d1();var hn=`\x19Ethereum Signed Message:
143
143
  `;V1();p$();function un($){let J=(()=>{if(typeof $==="string")return d5($);if(typeof $.raw==="string")return $.raw;return N4($.raw)})(),Q=d5(`${hn}${G4(J)}`);return y6([Q,J])}function jH($,J){return C4(un($),J)}async function mn($,{address:J,message:Q,factory:Y,factoryData:X,signature:G,...W}){let V=jH(Q);return V$($,GX,"verifyHash")({address:J,factory:Y,factoryData:X,hash:V,signature:G,...W})}BQ();p$();d1();J6();z9();Q4();class Z_ extends u{constructor({domain:$}){super(`Invalid domain "${K4($)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class q_ extends u{constructor({primaryType:$,types:J}){super(`Invalid primary type \`${$}\` must be one of \`${JSON.stringify(Object.keys(J))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class L_ extends u{constructor({type:$}){super(`Struct type "${$}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}IQ();V1();p$();Wj();function ln($){let{domain:J,message:Q,primaryType:Y,types:X}=$,G=(W,V)=>{for(let K of W){let{name:D,type:O}=K,N=V[D],w=O.match(OM);if(w&&(typeof N==="number"||typeof N==="bigint")){let[q,F,I]=w;O$(N,{signed:F==="int",size:Number.parseInt(I,10)/8})}if(O==="address"&&typeof N==="string"&&!G6(N))throw new O0({address:N});let M=O.match(sm);if(M){let[q,F]=M;if(F&&G4(N)!==Number.parseInt(F,10))throw new cF({expectedSize:Number.parseInt(F,10),givenSize:G4(N)})}let z=X[O];if(z)ED$(O),G(z,N)}};if(X.EIP712Domain&&J){if(typeof J!=="object")throw new Z_({domain:J});G(X.EIP712Domain,J)}if(Y!=="EIP712Domain")if(X[Y])G(X[Y],Q);else throw new q_({primaryType:Y,types:X})}function dn({domain:$}){return[typeof $?.name==="string"&&{name:"name",type:"string"},$?.version&&{name:"version",type:"string"},(typeof $?.chainId==="number"||typeof $?.chainId==="bigint")&&{name:"chainId",type:"uint256"},$?.verifyingContract&&{name:"verifyingContract",type:"address"},$?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function ED$($){if($==="address"||$==="bool"||$==="string"||$.startsWith("bytes")||$.startsWith("uint")||$.startsWith("int"))throw new L_({type:$})}function pn($){let{domain:J={},message:Q,primaryType:Y}=$,X={EIP712Domain:dn({domain:J}),...$.types};ln({domain:J,message:Q,primaryType:Y,types:X});let G=["0x1901"];if(J)G.push(_D$({domain:J,types:X}));if(Y!=="EIP712Domain")G.push(nn({data:Q,primaryType:Y,types:X}));return C4(y6(G))}function _D$({domain:$,types:J}){return nn({data:$,primaryType:"EIP712Domain",types:J})}function nn({data:$,primaryType:J,types:Q}){let Y=cn({data:$,primaryType:J,types:Q});return C4(Y)}function cn({data:$,primaryType:J,types:Q}){let Y=[{type:"bytes32"}],X=[SD$({primaryType:J,types:Q})];for(let G of Q[J]){let[W,V]=rn({types:Q,name:G.name,type:G.type,value:$[G.name]});Y.push(W),X.push(V)}return w0(Y,X)}function SD$({primaryType:$,types:J}){let Q=o6(RD$({primaryType:$,types:J}));return C4(Q)}function RD$({primaryType:$,types:J}){let Q="",Y=on({primaryType:$,types:J});Y.delete($);let X=[$,...Array.from(Y).sort()];for(let G of X)Q+=`${G}(${J[G].map(({name:W,type:V})=>`${V} ${W}`).join(",")})`;return Q}function on({primaryType:$,types:J},Q=new Set){let X=$.match(/^\w*/u)?.[0];if(Q.has(X)||J[X]===void 0)return Q;Q.add(X);for(let G of J[X])on({primaryType:G.type,types:J},Q);return Q}function rn({types:$,name:J,type:Q,value:Y}){if($[Q]!==void 0)return[{type:"bytes32"},C4(cn({data:Y,primaryType:Q,types:$}))];if(Q==="bytes")return[{type:"bytes32"},C4(Y)];if(Q==="string")return[{type:"bytes32"},C4(o6(Y))];if(Q.lastIndexOf("]")===Q.length-1){let X=Q.slice(0,Q.lastIndexOf("[")),G=Y.map((W)=>rn({name:J,type:X,types:$,value:W}));return[{type:"bytes32"},C4(w0(G.map(([W])=>W),G.map(([,W])=>W)))]}return[{type:Q},Y]}async function tn($,J){let{address:Q,factory:Y,factoryData:X,signature:G,message:W,primaryType:V,types:K,domain:D,...O}=J,N=pn({message:W,primaryType:V,types:K,domain:D});return V$($,GX,"verifyHash")({address:Q,factory:Y,factoryData:X,hash:N,signature:G,...O})}RQ();var I_=new Map,an=new Map,TD$=0;function y0($,J,Q){let Y=++TD$,X=()=>I_.get($)||[],G=()=>{let O=X();I_.set($,O.filter((N)=>N.id!==Y))},W=()=>{let O=X();if(!O.some((w)=>w.id===Y))return;let N=an.get($);if(O.length===1&&N){let w=N();if(w instanceof Promise)w.catch(()=>{})}G()},V=X();if(I_.set($,[...V,{id:Y,fns:J}]),V&&V.length>0)return W;let K={};for(let O in J)K[O]=(...N)=>{let w=X();if(w.length===0)return;for(let M of w)M.fns[O]?.(...N)};let D=Q(K);if(typeof D==="function")an.set($,D);return W}async function GD($){return new Promise((J)=>setTimeout(J,$))}function WD($,{delay:J=100,retryCount:Q=2,shouldRetry:Y=()=>!0}={}){return new Promise((X,G)=>{let W=async({count:V=0}={})=>{let K=async({error:D})=>{let O=typeof J==="function"?J({count:V,error:D}):J;if(O)await GD(O);W({count:V+1})};try{let D=await $();X(D)}catch(D){if(V<Q&&await Y({count:V,error:D}))return K({error:D});G(D)}};W()})}N0();function vJ($,{emitOnBegin:J,initialWaitTime:Q,interval:Y}){let X=!0,G=()=>X=!1;return(async()=>{let V;if(J)V=await $({unpoll:G});let K=await Q?.(V)??Y;await GD(K);let D=async()=>{if(!X)return;await $({unpoll:G}),await GD(Y),D()};D()})(),G}function EH($,{emitOnBegin:J=!1,emitMissed:Q=!1,onBlockNumber:Y,onError:X,poll:G,pollingInterval:W=$.pollingInterval}){let V=(()=>{if(typeof G<"u")return G;if($.transport.type==="webSocket"||$.transport.type==="ipc")return!1;if($.transport.type==="fallback"&&($.transport.transports[0].config.type==="webSocket"||$.transport.transports[0].config.type==="ipc"))return!1;return!0})(),K;return V?(()=>{let N=K4(["watchBlockNumber",$.uid,J,Q,W]);return y0(N,{onBlockNumber:Y,onError:X},(w)=>vJ(async()=>{try{let M=await V$($,CJ,"getBlockNumber")({cacheTime:0});if(K!==void 0){if(M===K)return;if(M-K>1&&Q)for(let z=K+1n;z<M;z++)w.onBlockNumber(z,K),K=z}if(K===void 0||M>K)w.onBlockNumber(M,K),K=M}catch(M){w.onError?.(M)}},{emitOnBegin:J,interval:W}))})():(()=>{let N=K4(["watchBlockNumber",$.uid,J,Q]);return y0(N,{onBlockNumber:Y,onError:X},(w)=>{let M=!0,z=()=>M=!1;return(async()=>{try{let q=(()=>{if($.transport.type==="fallback"){let I=$.transport.transports.find((E)=>E.config.type==="webSocket"||E.config.type==="ipc");if(!I)return $.transport;return I.value}return $.transport})(),{unsubscribe:F}=await q.subscribe({params:["newHeads"],onData(I){if(!M)return;let E=f6(I.result?.number);w.onBlockNumber(E,K),K=E},onError(I){w.onError?.(I)}});if(z=F,!M)z()}catch(q){X?.(q)}})(),()=>z()})})()}async function sn($,J){let{checkReplacement:Q=!0,confirmations:Y=1,hash:X,onReplaced:G,retryCount:W=6,retryDelay:V=({count:j})=>~~(1<<j)*200,timeout:K=180000}=J,D=K4(["waitForTransactionReceipt",$.uid,X]),O=(()=>{if(J.pollingInterval)return J.pollingInterval;if($.chain?.experimental_preconfirmationTime)return $.chain.experimental_preconfirmationTime;return $.pollingInterval})(),N,w,M,z=!1,q,F,{promise:I,resolve:E,reject:B}=mM(),L=K?setTimeout(()=>{F?.(),q?.(),B(new lj({hash:X}))},K):void 0;return q=y0(D,{onReplaced:G,resolve:E,reject:B},async(j)=>{if(M=await V$($,dG,"getTransactionReceipt")({hash:X}).catch(()=>{return}),M&&Y<=1){clearTimeout(L),j.resolve(M),q?.();return}F=V$($,EH,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:O,async onBlockNumber(R){let P=(y)=>{clearTimeout(L),F?.(),y(),q?.()},x=R;if(z)return;try{if(M){if(Y>1&&(!M.blockNumber||x-M.blockNumber+1n<Y))return;P(()=>j.resolve(M));return}if(Q&&!N)z=!0,await WD(async()=>{if(N=await V$($,lG,"getTransaction")({hash:X}),N.blockNumber)x=N.blockNumber},{delay:V,retryCount:W}),z=!1;if(M=await V$($,dG,"getTransactionReceipt")({hash:X}),Y>1&&(!M.blockNumber||x-M.blockNumber+1n<Y))return;P(()=>j.resolve(M))}catch(y){if(y instanceof jK||y instanceof EK){if(!N){z=!1;return}try{w=N,z=!0;let T=await WD(()=>V$($,L6,"getBlock")({blockNumber:x,includeTransactions:!0}),{delay:V,retryCount:W,shouldRetry:({error:Y$})=>Y$ instanceof tK});z=!1;let d=T.transactions.find(({from:Y$,nonce:c})=>Y$===w.from&&c===w.nonce);if(!d)return;if(M=await V$($,dG,"getTransactionReceipt")({hash:d.hash}),Y>1&&(!M.blockNumber||x-M.blockNumber+1n<Y))return;let p="replaced";if(d.to===w.to&&d.value===w.value&&d.input===w.input)p="repriced";else if(d.from===d.to&&d.value===0n)p="cancelled";P(()=>{j.onReplaced?.({reason:p,replacedTransaction:w,transaction:d,transactionReceipt:M}),j.resolve(M)})}catch(T){P(()=>j.reject(T))}}else P(()=>j.reject(y))}}})}),I}function en($,{blockTag:J=$.experimental_blockTag??"latest",emitMissed:Q=!1,emitOnBegin:Y=!1,onBlock:X,onError:G,includeTransactions:W,poll:V,pollingInterval:K=$.pollingInterval}){let D=(()=>{if(typeof V<"u")return V;if($.transport.type==="webSocket"||$.transport.type==="ipc")return!1;if($.transport.type==="fallback"&&($.transport.transports[0].config.type==="webSocket"||$.transport.transports[0].config.type==="ipc"))return!1;return!0})(),O=W??!1,N;return D?(()=>{let z=K4(["watchBlocks",$.uid,J,Q,Y,O,K]);return y0(z,{onBlock:X,onError:G},(q)=>vJ(async()=>{try{let F=await V$($,L6,"getBlock")({blockTag:J,includeTransactions:O});if(F.number!==null&&N?.number!=null){if(F.number===N.number)return;if(F.number-N.number>1&&Q)for(let I=N?.number+1n;I<F.number;I++){let E=await V$($,L6,"getBlock")({blockNumber:I,includeTransactions:O});q.onBlock(E,N),N=E}}if(N?.number==null||J==="pending"&&F?.number==null||F.number!==null&&F.number>N.number)q.onBlock(F,N),N=F}catch(F){q.onError?.(F)}},{emitOnBegin:Y,interval:K}))})():(()=>{let z=!0,q=!0,F=()=>z=!1;return(async()=>{try{if(Y)V$($,L6,"getBlock")({blockTag:J,includeTransactions:O}).then((B)=>{if(!z)return;if(!q)return;X(B,void 0),q=!1}).catch(G);let I=(()=>{if($.transport.type==="fallback"){let B=$.transport.transports.find((L)=>L.config.type==="webSocket"||L.config.type==="ipc");if(!B)return $.transport;return B.value}return $.transport})(),{unsubscribe:E}=await I.subscribe({params:["newHeads"],async onData(B){if(!z)return;let L=await V$($,L6,"getBlock")({blockNumber:B.result?.number,includeTransactions:O}).catch(()=>{});if(!z)return;X(L,N),q=!1,N=L},onError(B){G?.(B)}});if(F=E,!z)F()}catch(I){G?.(I)}})(),()=>F()})()}J6();CK();function $c($,J){let{abi:Q,address:Y,args:X,batch:G=!0,eventName:W,fromBlock:V,onError:K,onLogs:D,poll:O,pollingInterval:N=$.pollingInterval,strict:w}=J;return(()=>{if(typeof O<"u")return O;if(typeof V==="bigint")return!0;if($.transport.type==="webSocket"||$.transport.type==="ipc")return!1;if($.transport.type==="fallback"&&($.transport.transports[0].config.type==="webSocket"||$.transport.transports[0].config.type==="ipc"))return!1;return!0})()?(()=>{let F=w??!1,I=K4(["watchContractEvent",Y,X,G,$.uid,W,N,F,V]);return y0(I,{onLogs:D,onError:K},(E)=>{let B;if(V!==void 0)B=V-1n;let L,j=!1,R=vJ(async()=>{if(!j){try{L=await V$($,iM,"createContractEventFilter")({abi:Q,address:Y,args:X,eventName:W,strict:F,fromBlock:V})}catch{}j=!0;return}try{let P;if(L)P=await V$($,JX,"getFilterChanges")({filter:L});else{let x=await V$($,CJ,"getBlockNumber")({});if(B&&B<x)P=await V$($,KH,"getContractEvents")({abi:Q,address:Y,args:X,eventName:W,fromBlock:B+1n,toBlock:x,strict:F});else P=[];B=x}if(P.length===0)return;if(G)E.onLogs(P);else for(let x of P)E.onLogs([x])}catch(P){if(L&&P instanceof N1)j=!1;E.onError?.(P)}},{emitOnBegin:!0,interval:N});return async()=>{if(L)await V$($,XX,"uninstallFilter")({filter:L});R()}})})():(()=>{let F=w??!1,I=K4(["watchContractEvent",Y,X,G,$.uid,W,N,F]),E=!0,B=()=>E=!1;return y0(I,{onLogs:D,onError:K},(L)=>{return(async()=>{try{let j=(()=>{if($.transport.type==="fallback"){let x=$.transport.transports.find((y)=>y.config.type==="webSocket"||y.config.type==="ipc");if(!x)return $.transport;return x.value}return $.transport})(),R=W?TJ({abi:Q,eventName:W,args:X}):[],{unsubscribe:P}=await j.subscribe({params:["logs",{address:Y,topics:R}],onData(x){if(!E)return;let y=x.result;try{let{eventName:T,args:d}=h9({abi:Q,data:y.data,topics:y.topics,strict:w}),p=I6(y,{args:d,eventName:T});L.onLogs([p])}catch(T){let d,p;if(T instanceof h8||T instanceof A9){if(w)return;d=T.abiItem.name,p=T.abiItem.inputs?.some((c)=>!(("name"in c)&&c.name))}let Y$=I6(y,{args:p?[]:{},eventName:d});L.onLogs([Y$])}},onError(x){L.onError?.(x)}});if(B=P,!E)B()}catch(j){K?.(j)}})(),()=>B()})})()}J6();CK();function Jc($,{address:J,args:Q,batch:Y=!0,event:X,events:G,fromBlock:W,onError:V,onLogs:K,poll:D,pollingInterval:O=$.pollingInterval,strict:N}){let w=(()=>{if(typeof D<"u")return D;if(typeof W==="bigint")return!0;if($.transport.type==="webSocket"||$.transport.type==="ipc")return!1;if($.transport.type==="fallback"&&($.transport.transports[0].config.type==="webSocket"||$.transport.transports[0].config.type==="ipc"))return!1;return!0})(),M=N??!1;return w?(()=>{let F=K4(["watchEvent",J,Q,Y,$.uid,X,O,W]);return y0(F,{onLogs:K,onError:V},(I)=>{let E;if(W!==void 0)E=W-1n;let B,L=!1,j=vJ(async()=>{if(!L){try{B=await V$($,oM,"createEventFilter")({address:J,args:Q,event:X,events:G,strict:M,fromBlock:W})}catch{}L=!0;return}try{let R;if(B)R=await V$($,JX,"getFilterChanges")({filter:B});else{let P=await V$($,CJ,"getBlockNumber")({});if(E&&E!==P)R=await V$($,mG,"getLogs")({address:J,args:Q,event:X,events:G,fromBlock:E+1n,toBlock:P});else R=[];E=P}if(R.length===0)return;if(Y)I.onLogs(R);else for(let P of R)I.onLogs([P])}catch(R){if(B&&R instanceof N1)L=!1;I.onError?.(R)}},{emitOnBegin:!0,interval:O});return async()=>{if(B)await V$($,XX,"uninstallFilter")({filter:B});j()}})})():(()=>{let F=!0,I=()=>F=!1;return(async()=>{try{let E=(()=>{if($.transport.type==="fallback"){let R=$.transport.transports.find((P)=>P.config.type==="webSocket"||P.config.type==="ipc");if(!R)return $.transport;return R.value}return $.transport})(),B=G??(X?[X]:void 0),L=[];if(B){if(L=[B.flatMap((P)=>TJ({abi:[P],eventName:P.name,args:Q}))],X)L=L[0]}let{unsubscribe:j}=await E.subscribe({params:["logs",{address:J,topics:L}],onData(R){if(!F)return;let P=R.result;try{let{eventName:x,args:y}=h9({abi:B??[],data:P.data,topics:P.topics,strict:M}),T=I6(P,{args:y,eventName:x});K([T])}catch(x){let y,T;if(x instanceof h8||x instanceof A9){if(N)return;y=x.abiItem.name,T=x.abiItem.inputs?.some((p)=>!(("name"in p)&&p.name))}let d=I6(P,{args:T?[]:{},eventName:y});K([d])}},onError(R){V?.(R)}});if(I=j,!F)I()}catch(E){V?.(E)}})(),()=>I()})()}function Qc($,{batch:J=!0,onError:Q,onTransactions:Y,poll:X,pollingInterval:G=$.pollingInterval}){return(typeof X<"u"?X:$.transport.type!=="webSocket"&&$.transport.type!=="ipc")?(()=>{let D=K4(["watchPendingTransactions",$.uid,J,G]);return y0(D,{onTransactions:Y,onError:Q},(O)=>{let N,w=vJ(async()=>{try{if(!N)try{N=await V$($,rM,"createPendingTransactionFilter")({});return}catch(z){throw w(),z}let M=await V$($,JX,"getFilterChanges")({filter:N});if(M.length===0)return;if(J)O.onTransactions(M);else for(let z of M)O.onTransactions([z])}catch(M){O.onError?.(M)}},{emitOnBegin:!0,interval:G});return async()=>{if(N)await V$($,XX,"uninstallFilter")({filter:N});w()}})})():(()=>{let D=!0,O=()=>D=!1;return(async()=>{try{let{unsubscribe:N}=await $.transport.subscribe({params:["newPendingTransactions"],onData(w){if(!D)return;let M=w.result;Y([M])},onError(w){Q?.(w)}});if(O=N,!D)O()}catch(N){Q?.(N)}})(),()=>O()})()}function Xc($){let{scheme:J,statement:Q,...Y}=$.match(CD$)?.groups??{},{chainId:X,expirationTime:G,issuedAt:W,notBefore:V,requestId:K,...D}=$.match(vD$)?.groups??{},O=$.split("Resources:")[1]?.split(`
144
144
  - `).slice(1);return{...Y,...D,...X?{chainId:Number(X)}:{},...G?{expirationTime:new Date(G)}:{},...W?{issuedAt:new Date(W)}:{},...V?{notBefore:new Date(V)}:{},...K?{requestId:K}:{},...O?{resources:O}:{},...J?{scheme:J}:{},...Q?{statement:Q}:{}}}var CD$=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,vD$=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;IQ();xG();function Yc($){let{address:J,domain:Q,message:Y,nonce:X,scheme:G,time:W=new Date}=$;if(Q&&Y.domain!==Q)return!1;if(X&&Y.nonce!==X)return!1;if(G&&Y.scheme!==G)return!1;if(Y.expirationTime&&W>=Y.expirationTime)return!1;if(Y.notBefore&&W<Y.notBefore)return!1;try{if(!Y.address)return!1;if(!G6(Y.address,{strict:!1}))return!1;if(J&&!r1(Y.address,J))return!1}catch{return!1}return!0}async function Gc($,J){let{address:Q,domain:Y,message:X,nonce:G,scheme:W,signature:V,time:K=new Date,...D}=J,O=Xc(X);if(!O.address)return!1;if(!Yc({address:Q,domain:Y,message:O,nonce:G,scheme:W,time:K}))return!1;let w=jH(X);return GX($,{address:O.address,hash:w,signature:V,...D})}async function Wc($,{serializedTransaction:J}){return $.request({method:"eth_sendRawTransaction",params:[J]},{retryCount:0})}RQ();async function Vc($,{serializedTransaction:J,throwOnReceiptRevert:Q,timeout:Y}){let X=await $.request({method:"eth_sendRawTransactionSync",params:Y?[J,Y]:[J]},{retryCount:0}),W=($.chain?.formatters?.transactionReceipt?.format||DH)(X);if(W.status==="reverted"&&Q)throw new mj({receipt:W});return W}function Kc($){return{call:(J)=>H1($,J),createAccessList:(J)=>cM($,J),createBlockFilter:()=>id($),createContractEventFilter:(J)=>iM($,J),createEventFilter:(J)=>oM($,J),createPendingTransactionFilter:()=>rM($),estimateContractGas:(J)=>Cp($,J),estimateGas:(J)=>hG($,J),getBalance:(J)=>vp($,J),getBlobBaseFee:()=>Pp($),getBlock:(J)=>L6($,J),getBlockNumber:(J)=>CJ($,J),getBlockTransactionCount:(J)=>fp($,J),getBytecode:(J)=>y9($,J),getChainId:()=>yG($),getCode:(J)=>y9($,J),getContractEvents:(J)=>KH($,J),getDelegation:(J)=>gp($,J),getEip712Domain:(J)=>yp($,J),getEnsAddress:(J)=>yd($,J),getEnsAvatar:(J)=>pd($,J),getEnsName:(J)=>nd($,J),getEnsResolver:(J)=>cd($,J),getEnsText:(J)=>nM($,J),getFeeHistory:(J)=>up($,J),estimateFeesPerGas:(J)=>Zp($,J),getFilterChanges:(J)=>JX($,J),getFilterLogs:(J)=>mp($,J),getGasPrice:()=>gG($),getLogs:(J)=>mG($,J),getProof:(J)=>dp($,J),estimateMaxPriorityFeePerGas:(J)=>zp($,J),fillTransaction:(J)=>WH($,J),getStorageAt:(J)=>pp($,J),getTransaction:(J)=>lG($,J),getTransactionConfirmations:(J)=>np($,J),getTransactionCount:(J)=>QH($,J),getTransactionReceipt:(J)=>dG($,J),multicall:(J)=>cp($,J),prepareTransactionRequest:(J)=>VH($,J),readContract:(J)=>W6($,J),sendRawTransaction:(J)=>Wc($,J),sendRawTransactionSync:(J)=>Vc($,J),simulate:(J)=>aK($,J),simulateBlocks:(J)=>aK($,J),simulateCalls:(J)=>Ln($,J),simulateContract:(J)=>In($,J),verifyHash:(J)=>GX($,J),verifyMessage:(J)=>mn($,J),verifySiweMessage:(J)=>Gc($,J),verifyTypedData:(J)=>tn($,J),uninstallFilter:(J)=>XX($,J),waitForTransactionReceipt:(J)=>sn($,J),watchBlocks:(J)=>en($,J),watchBlockNumber:(J)=>EH($,J),watchContractEvent:(J)=>$c($,J),watchEvent:(J)=>Jc($,J),watchPendingTransactions:(J)=>Qc($,J)}}function B_($){let{key:J="public",name:Q="Public Client"}=$;return fm({...$,key:J,name:Q,type:"publicClient"}).extend(Kc)}S9();Q4();class F_ extends u{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}ME();S9();function Dc($,{errorInstance:J=Error("timed out"),timeout:Q,signal:Y}){return new Promise((X,G)=>{(async()=>{let W;try{let V=new AbortController;if(Q>0)W=setTimeout(()=>{if(Y)V.abort();else G(J)},Q);X(await $({signal:V?.signal||null}))}catch(V){if(V?.name==="AbortError")G(J);G(V)}finally{clearTimeout(W)}})()})}function PD$(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var j_=PD$();function Uc($,J={}){let{url:Q,headers:Y}=kD$($);return{async request(X){let{body:G,fetchFn:W=J.fetchFn??fetch,onRequest:V=J.onRequest,onResponse:K=J.onResponse,timeout:D=J.timeout??1e4}=X,O={...J.fetchOptions??{},...X.fetchOptions??{}},{headers:N,method:w,signal:M}=O;try{let z=await Dc(async({signal:F})=>{let I={...O,body:Array.isArray(G)?K4(G.map((j)=>({jsonrpc:"2.0",id:j.id??j_.take(),...j}))):K4({jsonrpc:"2.0",id:G.id??j_.take(),...G}),headers:{...Y,"Content-Type":"application/json",...N},method:w||"POST",signal:M||(D>0?F:null)},E=new Request(Q,I),B=await V?.(E,I)??{...I,url:Q};return await W(B.url??Q,B)},{errorInstance:new vM({body:G,url:Q}),timeout:D,signal:!0});if(K)await K(z);let q;if(z.headers.get("Content-Type")?.startsWith("application/json"))q=await z.json();else{q=await z.text();try{q=JSON.parse(q||"{}")}catch(F){if(z.ok)throw F;q={error:q}}}if(!z.ok){if(typeof q.error?.code==="number"&&typeof q.error?.message==="string")return q;throw new c1({body:G,details:K4(q.error)||z.statusText,headers:z.headers,status:z.status,url:Q})}return q}catch(z){if(z instanceof c1)throw z;if(z instanceof vM)throw z;throw new c1({body:G,cause:z,url:Q})}}}}function kD$($){try{let J=new URL($),Q=(()=>{if(J.username){let Y=`${decodeURIComponent(J.username)}:${decodeURIComponent(J.password)}`;return J.username="",J.password="",{url:J.toString(),headers:{Authorization:`Basic ${btoa(Y)}`}}}return})();return{url:J.toString(),...Q}}catch{return{url:$}}}Q4();S9();CK();zK();var _H=new LQ(8192);function Oc($,{enabled:J=!0,id:Q}){if(!J||!Q)return $();if(_H.get(Q))return _H.get(Q);let Y=$().finally(()=>_H.delete(Q));return _H.set(Q,Y),Y}function Nc($,J={}){return async(Q,Y={})=>{let{dedupe:X=!1,methods:G,retryDelay:W=150,retryCount:V=3,uid:K}={...J,...Y},{method:D}=Q;if(G?.exclude?.includes(D))throw new n8(Error("method not supported"),{method:D});if(G?.include&&!G.include.includes(D))throw new n8(Error("method not supported"),{method:D});let O=X?fD$(`${K}.${K4(Q)}`):void 0;return Oc(()=>WD(async()=>{try{return await $(Q)}catch(N){let w=N;switch(w.code){case GG.code:throw new GG(w);case WG.code:throw new WG(w);case VG.code:throw new VG(w,{method:Q.method});case KG.code:throw new KG(w);case vQ.code:throw new vQ(w);case N1.code:throw new N1(w);case DG.code:throw new DG(w);case UG.code:throw new UG(w);case OG.code:throw new OG(w);case n8.code:throw new n8(w,{method:Q.method});case R9.code:throw new R9(w);case NG.code:throw new NG(w);case T9.code:throw new T9(w);case wG.code:throw new wG(w);case MG.code:throw new MG(w);case HG.code:throw new HG(w);case AG.code:throw new AG(w);case zG.code:throw new zG(w);case ZG.code:throw new ZG(w);case qG.code:throw new qG(w);case LG.code:throw new LG(w);case IG.code:throw new IG(w);case BG.code:throw new BG(w);case FG.code:throw new FG(w);case jG.code:throw new jG(w);case 5000:throw new T9(w);case EG.code:throw new EG(w);default:if(N instanceof u)throw N;throw new rj(w)}}},{delay:({count:N,error:w})=>{if(w&&w instanceof c1){let M=w?.headers?.get("Retry-After");if(M?.match(/\d/))return Number.parseInt(M,10)*1000}return~~(1<<N)*W},retryCount:V,shouldRetry:({error:N})=>xD$(N)}),{enabled:X,id:O})}}function xD$($){if("code"in $&&typeof $.code==="number"){if($.code===-1)return!0;if($.code===R9.code)return!0;if($.code===vQ.code)return!0;if($.code===429)return!0;return!1}if($ instanceof c1&&$.status){if($.status===403)return!0;if($.status===408)return!0;if($.status===413)return!0;if($.status===429)return!0;if($.status===500)return!0;if($.status===502)return!0;if($.status===503)return!0;if($.status===504)return!0;return!1}return!0}function fD$($,J=0){let Q=3735928559^J,Y=1103547991^J;for(let X=0;X<$.length;X++){let G=$.charCodeAt(X);Q=Math.imul(Q^G,2654435761),Y=Math.imul(Y^G,1597334677)}return Q=Math.imul(Q^Q>>>16,2246822507),Q^=Math.imul(Y^Y>>>16,3266489909),Y=Math.imul(Y^Y>>>16,2246822507),Y^=Math.imul(Q^Q>>>16,3266489909),(4294967296*(2097151&Y)+(Q>>>0)).toString(36)}function wc({key:$,methods:J,name:Q,request:Y,retryCount:X=3,retryDelay:G=150,timeout:W,type:V},K){let D=tw();return{config:{key:$,methods:J,name:Q,request:Y,retryCount:X,retryDelay:G,timeout:W,type:V},request:Nc(Y,{methods:J,retryCount:X,retryDelay:G,uid:D}),value:K}}function E_($,J={}){let{batch:Q,fetchFn:Y,fetchOptions:X,key:G="http",methods:W,name:V="HTTP JSON-RPC",onFetchRequest:K,onFetchResponse:D,retryDelay:O,raw:N}=J;return({chain:w,retryCount:M,timeout:z})=>{let{batchSize:q=1000,wait:F=0}=typeof Q==="object"?Q:{},I=J.retryCount??M,E=z??J.timeout??1e4,B=$||w?.rpcUrls.default.http[0];if(!B)throw new F_;let L=Uc(B,{fetchFn:Y,fetchOptions:X,onRequest:K,onResponse:D,timeout:E});return wc({key:G,methods:W,name:V,async request({method:j,params:R}){let P={method:j,params:R},{schedule:x}=lM({id:B,wait:F,shouldSplitBatch(p){return p.length>q},fn:(p)=>L.request({body:p}),sort:(p,Y$)=>p.id-Y$.id}),y=async(p)=>Q?x(p):[await L.request({body:p})],[{error:T,result:d}]=await y(P);if(N)return{error:T,result:d};if(T)throw new _9({body:P,error:T,url:B});return d},retryCount:I,retryDelay:O,timeout:E,type:"http"},{fetchOptions:X,url:B})}}BJ();function SH($){let J={formatters:void 0,fees:void 0,serializers:void 0,...$};function Q(Y){return(X)=>{let G=typeof X==="function"?X(Y):X,W={...Y,...G};return Object.assign(W,{extend:Q(W)})}}return Object.assign(J,{extend:Q(J)})}var __=SH({id:1329,name:"Sei Network",nativeCurrency:{name:"Sei",symbol:"SEI",decimals:18},rpcUrls:{default:{http:["https://evm-rpc.sei-apis.com/"],webSocket:["wss://evm-ws.sei-apis.com/"]}},blockExplorers:{default:{name:"Seiscan",url:"https://seiscan.io",apiUrl:"https://api.etherscan.io/v2/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11"}}});var S_=SH({id:1328,name:"Sei Testnet",nativeCurrency:{name:"Sei",symbol:"SEI",decimals:18},rpcUrls:{default:{http:["https://evm-rpc-testnet.sei-apis.com"],webSocket:["wss://evm-ws-testnet.sei-apis.com"]}},blockExplorers:{default:{name:"Seiscan",url:"https://testnet.seiscan.io",apiUrl:"https://api.etherscan.io/v2/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:98697651}},testnet:!0});W1();var RH=e6(iw(),1);var bD$="@0xmonaco/core";class i${apiUrl;sessionKeypair;serverKey;retryOptions;constructor($,J){this.apiUrl=$,this.retryOptions={maxRetries:J?.maxRetries??3,baseDelayMs:J?.baseDelayMs??1000}}setSessionKeypair($){this.sessionKeypair=$?zu($.publicKey,$.privateKey):void 0}setServerKey($){this.serverKey=$}parseRequestBody($){if(!$)return;if(typeof $==="string")try{return JSON.parse($)}catch{return $}if($ instanceof FormData){let J={};return $.forEach((Q,Y)=>{J[Y]=Q instanceof File?`[File: ${Q.name}]`:Q}),J}if($ instanceof URLSearchParams){let J={};return $.forEach((Q,Y)=>{J[Y]=Q}),J}if($ instanceof Blob)return{type:"[Blob]",size:$.size,contentType:$.type};if($ instanceof ArrayBuffer||ArrayBuffer.isView($))return{type:"[ArrayBuffer]",size:$ instanceof ArrayBuffer?$.byteLength:$.byteLength};if(typeof ReadableStream<"u"&&$ instanceof ReadableStream)return{type:"[ReadableStream]",note:"Stream body not captured for logging"};return{type:"[Unknown]",bodyType:typeof $}}extractResponseMetadata($){if(!$)return{};let J=$.get("x-request-id")||$.get("request-id")||$.get("x-correlation-id")||void 0,Q=$.get("retry-after"),Y;if(Q!==null){let X=Number.parseInt(Q,10);Y=Number.isNaN(X)?void 0:X}return{requestId:J,retryAfter:Y}}async executeRequest($,J,Q,Y){let X,G={"User-Agent":bD$,...Q.headers};try{X=await fetch($,{...Q,headers:G})}catch(D){throw new U6(`Network request failed for ${J}`,{endpoint:$,cause:D instanceof Error?D:Error(String(D)),requestBody:Y})}let W,V=X.headers?.get("content-type")||"unknown",K=X.clone?X.clone():X;try{W=await X.json()}catch(D){let O;try{O=await K.text()}catch{O="[Unable to read response body]"}if(!X.ok){let N=`API request failed: ${X.status}. Response is not JSON (Content-Type: ${V})`,{requestId:w,retryAfter:M}=this.extractResponseMetadata(X.headers);throw new U6(N,{endpoint:$,statusCode:X.status,responseBody:{rawResponse:O.substring(0,500),contentType:V,parseError:D instanceof Error?D.message:String(D)},cause:D instanceof Error?D:void 0,requestBody:Y,requestId:w,retryAfter:M})}if(O.trim()==="")return;throw new U6(`Expected JSON response but received ${V}`,{endpoint:$,statusCode:X.status,responseBody:{rawResponse:O.substring(0,500),contentType:V},cause:D instanceof Error?D:void 0,requestBody:Y})}if(!X.ok){let D=W!==null&&typeof W==="object"?W:void 0,O=(typeof D?.message==="string"?D.message:void 0)||(typeof D?.error==="string"?D.error:void 0)||`API request failed: ${X.status}`,{requestId:N,retryAfter:w}=this.extractResponseMetadata(X.headers);throw new U6(O,{endpoint:$,statusCode:X.status,responseBody:W,requestBody:Y,requestId:N,retryAfter:w})}return W}async makeAuthenticatedRequest($,J={}){if(!this.sessionKeypair)throw new U6("Session keypair not set. Authenticate (login) first.",{endpoint:`${this.apiUrl}${$}`,statusCode:RH.StatusCodes.UNAUTHORIZED});let Q=`${this.apiUrl}${$}`,Y=this.parseRequestBody(J.body),X=this.buildSignatureHeaders($,J);return this.executeRequest(Q,$,{...J,headers:{"Content-Type":"application/json",...X,...J.headers}},Y)}buildSignatureHeaders($,J){if(!this.sessionKeypair)throw new U6("Session keypair not set. Authenticate (login) first.",{endpoint:`${this.apiUrl}${$}`,statusCode:RH.StatusCodes.UNAUTHORIZED});let Q=(J.method??"GET").toUpperCase(),Y=Date.now(),X=typeof J.body==="string"?b5(J.body):new Uint8Array(0),G=Zu(X),W=qu(Q,$,Y,G),V=nw(this.sessionKeypair.privateKey,W);return{"X-Monaco-PublicKey":Y9(this.sessionKeypair.publicKey),"X-Monaco-Timestamp":String(Y),"X-Monaco-Signature":V}}async makeBackendRequest($,J={}){if(!this.serverKey)throw new U6("Server key not set. Call setServerKey(sk_...) first.",{endpoint:`${this.apiUrl}${$}`,statusCode:RH.StatusCodes.UNAUTHORIZED});let Q=`${this.apiUrl}${$}`,Y=this.parseRequestBody(J.body);return this.executeRequest(Q,$,{...J,headers:{"Content-Type":"application/json","x-server-key":this.serverKey,...J.headers}},Y)}async makePublicRequest($,J={}){let Q=`${this.apiUrl}${$}`,Y=this.parseRequestBody(J.body);return this.executeRequest(Q,$,{...J,headers:{"Content-Type":"application/json",...J.headers}},Y)}}function e$($){return encodeURIComponent($)}function y4($,J){if(!J)return $;let Q=new URLSearchParams;for(let[X,G]of Object.entries(J))if(G!==void 0)Q.set(X,String(G));let Y=Q.toString();return Y?`${$}?${Y}`:$}var W$={orders:{create:()=>"/api/v1/orders",list:($)=>y4("/api/v1/orders",$),get:($)=>`/api/v1/orders/${e$($)}`,replace:($)=>`/api/v1/orders/${e$($)}`,cancel:()=>"/api/v1/orders/cancel",batchCancel:()=>"/api/v1/orders/batch-cancel",batchCancelAll:()=>"/api/v1/orders/batch-cancel-all",batchCancelAllByPair:($)=>`/api/v1/orders/batch-cancel-all/${e$($)}`,batchCreate:()=>"/api/v1/orders/batch-create",batchReplace:()=>"/api/v1/orders/batch-replace",listConditional:($)=>y4("/api/v1/orders/conditional",$),cancelConditional:($)=>`/api/v1/orders/conditional/${e$($)}`,getConditional:($)=>`/api/v1/orders/conditional/${e$($)}`},delegatedAgents:{list:()=>"/api/v1/delegated-agents",owners:()=>"/api/v1/delegated-agents/owners",byId:($)=>`/api/v1/delegated-agents/${e$($)}`,sessions:()=>"/api/v1/delegated-agents/sessions"},withdrawals:{initiate:()=>"/api/v1/withdrawals",byIndex:($)=>`/api/v1/withdrawals/${e$(String($))}`,list:($)=>y4("/api/v1/withdrawals",$)},market:{listTradingPairs:($)=>y4("/api/v1/market/pairs",$),getTradingPair:($)=>`/api/v1/market/pairs/${e$($)}`,getCandles:($,J,Q)=>y4(`/api/v1/market/pairs/charts/candlestick/${e$($)}/${e$(J)}`,Q),getMarketMetadata:($)=>`/api/v1/market/pairs/${e$($)}/metadata`,getPerpMarketConfig:($)=>`/api/v1/market/pairs/${e$($)}/perp/config`,getPerpMarketSummary:($)=>`/api/v1/market/pairs/${e$($)}/perp/summary`,getMarkPrice:($)=>`/api/v1/market/pairs/${e$($)}/mark-price`,getIndexPrice:($)=>`/api/v1/market/pairs/${e$($)}/index-price`,getFundingState:($)=>`/api/v1/market/pairs/${e$($)}/funding`,listFundingHistory:($,J)=>y4(`/api/v1/market/pairs/${e$($)}/funding/history`,J),listAllFundingHistory:($)=>y4("/api/v1/market/funding/history",$),getOpenInterest:($)=>`/api/v1/market/pairs/${e$($)}/open-interest`,getScreener:($)=>y4("/api/v1/market/screener",$),getMarketStats:()=>"/api/v1/market/stats"},orderbook:{get:($,J)=>y4(`/api/v1/orderbook/${e$($)}`,J)},trades:{publicByPair:($,J)=>y4(`/api/v1/trades/${e$($)}`,J),byId:($)=>`/api/v1/trades/by-id/${e$($)}`,user:($)=>y4("/api/v1/accounts/trades",$)},applications:{orders:($)=>y4("/api/v1/applications/orders",$),users:($)=>y4("/api/v1/applications/users",$),movements:($)=>y4("/api/v1/applications/movements",$),balances:($)=>y4("/api/v1/applications/balances",$),stats:($)=>y4("/api/v1/applications/stats",$)},subAccounts:{list:()=>"/api/v1/accounts/sub-accounts",createLimit:()=>"/api/v1/accounts/sub-accounts/limits",getLimits:($)=>`/api/v1/accounts/sub-accounts/${e$($)}/limits`,limit:($,J)=>`/api/v1/accounts/sub-accounts/${e$($)}/limits/${e$(J)}`},faucet:{mint:()=>"/api/v1/faucet/mint",info:()=>"/api/v1/faucet/info"},whitelist:{submit:()=>"/api/v1/whitelist"},positions:{list:($)=>y4("/api/v1/positions",$),get:($)=>`/api/v1/positions/${e$($)}`,close:($)=>`/api/v1/positions/${e$($)}/close`,batchCloseAll:()=>"/api/v1/positions/batch-close-all",risk:($)=>`/api/v1/positions/${e$($)}/risk`,addMargin:($)=>`/api/v1/positions/${e$($)}/margin/add`,reduceMargin:($)=>`/api/v1/positions/${e$($)}/margin/reduce`,attachTpSl:($)=>`/api/v1/positions/${e$($)}/tp-sl`,history:($)=>y4("/api/v1/positions/history",$),pnlHistory:($,J)=>y4(`/api/v1/positions/${e$($)}/pnl/history`,J)},marginAccounts:{list:($)=>y4("/api/v1/margin/accounts",$),parentSummary:($)=>y4("/api/v1/margin/parent-margin-account",$),summary:($,J)=>y4(`/api/v1/margin/accounts/${e$($)}`,J),availableCollateral:($)=>y4("/api/v1/margin/collateral/available",$),transferIn:($)=>`/api/v1/margin/accounts/${e$($)}/collateral/transfer-in`,transferInParent:()=>"/api/v1/margin/parent-margin-account/collateral/transfer-in",transferInRiskBucket:()=>"/api/v1/margin/risk-buckets/collateral/transfer-in",transferOut:($)=>`/api/v1/margin/accounts/${e$($)}/collateral/transfer-out`,transferOutParent:()=>"/api/v1/margin/parent-margin-account/collateral/transfer-out",movements:($,J)=>y4(`/api/v1/margin/accounts/${e$($)}/movements`,J),parentMovements:($)=>y4("/api/v1/margin/parent-margin-account/movements",$),simulateParentMarginOrderRisk:()=>"/api/v1/margin/parent-margin-account/simulate-order-risk",simulateOrderRisk:($)=>`/api/v1/margin/accounts/${e$($)}/simulate-order-risk`,simulateRiskBucketOrderRisk:()=>"/api/v1/margin/risk-buckets/simulate-order-risk"},streams:{orderbook:()=>"/api/v1/streaming/orderbook",trades:()=>"/api/v1/streaming/trades",perpMarketSummaries:()=>"/api/v1/streaming/perp-market-summaries",markPrices:()=>"/api/v1/streaming/mark-prices",privateTrades:()=>"/api/v1/streaming/private-trades",orders:()=>"/api/v1/streaming/orders",positions:()=>"/api/v1/streaming/positions",funding:()=>"/api/v1/streaming/funding",liquidationAlerts:()=>"/api/v1/streaming/liquidation-alerts"}};class TH extends i${async getApplicationConfig(){let $=await this.makeAuthenticatedRequest("/api/v1/applications/config",{method:"GET"});return{id:$.id,name:$.name,allowedOrigins:$.allowedOrigins,webhookUrl:$.webhookUrl,vaultContractAddress:$.vaultContractAddress,clientId:$.clientId}}async listApplicationOrders($){return await this.makeBackendRequest(W$.applications.orders($))}async listApplicationUsers($){return await this.makeBackendRequest(W$.applications.users($))}async listApplicationMovements($){return await this.makeBackendRequest(W$.applications.movements($))}async listApplicationBalances($){return await this.makeBackendRequest(W$.applications.balances($))}async getApplicationStats($){return await this.makeBackendRequest(W$.applications.stats($))}}class R_ extends i${async upsertDelegatedAgent($){return this.makeAuthenticatedRequest(W$.delegatedAgents.list(),{method:"POST",body:JSON.stringify({agentAddress:$.agentAddress,name:$.name,expiresAt:$.expiresAt,allowedActions:$.allowedActions,allowedTradingPairIds:$.allowedTradingPairIds,allowedMarginAccountIds:$.allowedMarginAccountIds,allowedOrderTypes:$.allowedOrderTypes,allowedTimeInForce:$.allowedTimeInForce,maxLeverage:$.maxLeverage,maxOrderNotional:$.maxOrderNotional,maxOpenOrders:$.maxOpenOrders})})}async listDelegatedAgents(){return this.makeAuthenticatedRequest(W$.delegatedAgents.list())}async listDelegatedOwners(){return this.makeAuthenticatedRequest(W$.delegatedAgents.owners())}async revokeDelegatedAgent($){return this.makeAuthenticatedRequest(W$.delegatedAgents.byId($),{method:"DELETE"})}async createDelegatedSession($){return this.makeAuthenticatedRequest(W$.delegatedAgents.sessions(),{method:"POST",body:JSON.stringify({ownerUserId:$.ownerUserId,sessionPublicKey:$.sessionPublicKey})})}}class CH extends i${async mint($){return await this.makeAuthenticatedRequest(W$.faucet.mint(),{method:"POST",body:JSON.stringify({turnstileToken:$.turnstileToken})})}async getInfo(){return await this.makeAuthenticatedRequest(W$.faucet.info(),{method:"GET"})}}var T_=A.object({tradingPairId:A.string().trim().min(1,"Trading pair ID is required and cannot be empty"),side:A.enum(["BUY","SELL"],{message:"Order side is required and must be either 'BUY' or 'SELL'"}),price:A.string().trim().min(1,"Price is required and cannot be empty").refine(($)=>!Number.isNaN(Number($)),"Price must be a valid number").refine(($)=>Number($)>0,"Price must be greater than 0"),quantity:A.string().trim().min(1,"Quantity is required and cannot be empty").refine(($)=>!Number.isNaN(Number($)),"Quantity must be a valid number").refine(($)=>Number($)>0,"Quantity must be greater than 0"),orderType:A.enum(["LIMIT","MARKET"]).optional(),slippageToleranceBps:A.number().int().min(0,"Slippage tolerance must be between 0 and 1000 bps").max(1000,"Slippage tolerance must be between 0 and 1000 bps").optional()}).superRefine(($,J)=>{if($.slippageToleranceBps!==void 0&&$.orderType!=="MARKET")J.addIssue({code:A.ZodIssueCode.custom,message:"slippageToleranceBps is only valid when orderType is MARKET",path:["slippageToleranceBps"]})}),gD$=A.object({applicationName:A.string().nullable().optional(),applicationTakerFee:A.string(),applicationTakerFeeBps:A.number(),buyOrderLockAmount:A.string().nullable().optional(),makerTotalReceipt:A.string(),monacoMakerRebate:A.string(),monacoMakerRebateBps:A.number(),monacoMakerRebateBpsExact:A.string(),monacoTakerFee:A.string(),monacoTakerFeeBps:A.number(),monacoTakerFeeBpsExact:A.string(),notional:A.string(),takerTotalPayment:A.string(),totalTakerFees:A.string(),maxQuantity:A.string().nullable(),maxQuantityRaw:A.string().nullable(),slippageToleranceBps:A.number().nullable()}),C_=A.object({tradingPairId:A.string().trim().min(1,"Trading pair ID is required and cannot be empty")}),Mc=A.object({tierLevel:A.number().int(),minVolumeThreshold:A.string(),makerFeeBps:A.string(),takerFeeBps:A.string()}),yD$=A.object({currentTierLevel:A.number().int(),weightedVolume14d:A.string(),spotVolume14d:A.string(),perpVolume14d:A.string(),volumeToNextTier:A.string().nullable().optional(),nextTierLevel:A.number().int().nullable().optional(),feeSchedule:A.array(Mc)});var Hc=A.object({token:A.string(),available:A.string()}),hD$=A.object({balances:A.array(Hc)}),uD$=A.object({code:A.string(),createdAt:A.string()}),mD$=A.object({code:A.string()}),v_=A.object({token:A.string().trim().min(1,"token is required").regex(/^0x[0-9a-fA-F]{40}$/,"token must be a 0x-prefixed EVM address"),amount:A.string().trim().min(1,"amount is required").refine(($)=>/^\d+$/.test($)&&BigInt($)>0n,"amount must be a positive integer string")}),lD$=A.object({rewardsBalance:A.string(),tradingBalance:A.string()});var vH=["SUBMITTED","PARTIALLY_FILLED","FILLED","SETTLED_ON_CHAIN","SETTLED","CANCELLED","REJECTED","EXPIRED"];class Ac extends Error{issues;constructor($){let J=$.issues.map((Q)=>{let Y=Q.path.join(".");return`${Y?`${Y}: `:""}${Q.message}`});super(`Validation failed:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xmonaco/mcp-server",
3
- "version": "1.0.31",
3
+ "version": "1.0.32",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,8 +25,8 @@
25
25
  },
26
26
  "author": "@codebycarson",
27
27
  "dependencies": {
28
- "@0xmonaco/core": "1.0.31",
29
- "@0xmonaco/types": "1.0.31",
28
+ "@0xmonaco/core": "1.0.32",
29
+ "@0xmonaco/types": "1.0.32",
30
30
  "@modelcontextprotocol/sdk": "^1.29.0",
31
31
  "node-fetch": "^3.3.2",
32
32
  "viem": "^2.53.1",