@morpho-org/cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +93 -0
- package/dist/bundle.js +549 -0
- package/package.json +29 -0
package/dist/bundle.js
ADDED
|
@@ -0,0 +1,549 @@
|
|
|
1
|
+
#!/usr/bin/env -S node --no-deprecation
|
|
2
|
+
import{createRequire as GR}from"node:module";var rE=Object.create;var{getPrototypeOf:tE,defineProperty:jY,getOwnPropertyNames:aE}=Object;var eE=Object.prototype.hasOwnProperty;function $R($){return this[$]}var JR,QR,G3=($,J,Q)=>{var Y=$!=null&&typeof $==="object";if(Y){var X=J?JR??=new WeakMap:QR??=new WeakMap,G=X.get($);if(G)return G}Q=$!=null?rE(tE($)):{};let W=J||!$||!$.__esModule?jY(Q,"default",{value:$,enumerable:!0}):Q;for(let K of aE($))if(!eE.call(W,K))jY(W,K,{get:$R.bind($,K),enumerable:!0});if(Y)X.set($,W);return W};var H0=($,J)=>()=>(J||$((J={exports:{}}).exports,J),J.exports);var YR=($)=>$;function XR($,J){this[$]=YR.bind(null,J)}var W3=($,J)=>{for(var Q in J)jY($,Q,{get:J[Q],enumerable:!0,configurable:!0,set:XR.bind(J,Q)})};var g=($,J)=>()=>($&&(J=$($=0)),J);var k0=GR(import.meta.url);var K3=H0((WR)=>{class CY extends Error{constructor($,J,Q){super(Q);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=J,this.exitCode=$,this.nestedError=void 0}}class zU extends CY{constructor($){super(1,"commander.invalidArgument",$);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}WR.CommanderError=CY;WR.InvalidArgumentError=zU});var a7=H0((HR)=>{var{InvalidArgumentError:UR}=K3();class VU{constructor($,J){switch(this.description=J||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,$[0]){case"<":this.required=!0,this._name=$.slice(1,-1);break;case"[":this.required=!1,this._name=$.slice(1,-1);break;default:this.required=!0,this._name=$;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue($,J){if(J===this.defaultValue||!Array.isArray(J))return[$];return J.push($),J}default($,J){return this.defaultValue=$,this.defaultValueDescription=J,this}argParser($){return this.parseArg=$,this}choices($){return this.argChoices=$.slice(),this.parseArg=(J,Q)=>{if(!this.argChoices.includes(J))throw new UR(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(J,Q);return J},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function NR($){let J=$.name()+($.variadic===!0?"...":"");return $.required?"<"+J+">":"["+J+"]"}HR.Argument=VU;HR.humanReadableArgName=NR});var PY=H0((zR)=>{var{humanReadableArgName:MR}=a7();class OU{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext($){this.helpWidth=this.helpWidth??$.helpWidth??80}visibleCommands($){let J=$.commands.filter((Y)=>!Y._hidden),Q=$._getHelpCommand();if(Q&&!Q._hidden)J.push(Q);if(this.sortSubcommands)J.sort((Y,X)=>{return Y.name().localeCompare(X.name())});return J}compareOptions($,J){let Q=(Y)=>{return Y.short?Y.short.replace(/^-/,""):Y.long.replace(/^--/,"")};return Q($).localeCompare(Q(J))}visibleOptions($){let J=$.options.filter((Y)=>!Y.hidden),Q=$._getHelpOption();if(Q&&!Q.hidden){let Y=Q.short&&$._findOption(Q.short),X=Q.long&&$._findOption(Q.long);if(!Y&&!X)J.push(Q);else if(Q.long&&!X)J.push($.createOption(Q.long,Q.description));else if(Q.short&&!Y)J.push($.createOption(Q.short,Q.description))}if(this.sortOptions)J.sort(this.compareOptions);return J}visibleGlobalOptions($){if(!this.showGlobalOptions)return[];let J=[];for(let Q=$.parent;Q;Q=Q.parent){let Y=Q.options.filter((X)=>!X.hidden);J.push(...Y)}if(this.sortOptions)J.sort(this.compareOptions);return J}visibleArguments($){if($._argsDescription)$.registeredArguments.forEach((J)=>{J.description=J.description||$._argsDescription[J.name()]||""});if($.registeredArguments.find((J)=>J.description))return $.registeredArguments;return[]}subcommandTerm($){let J=$.registeredArguments.map((Q)=>MR(Q)).join(" ");return $._name+($._aliases[0]?"|"+$._aliases[0]:"")+($.options.length?" [options]":"")+(J?" "+J:"")}optionTerm($){return $.flags}argumentTerm($){return $.name()}longestSubcommandTermLength($,J){return J.visibleCommands($).reduce((Q,Y)=>{return Math.max(Q,this.displayWidth(J.styleSubcommandTerm(J.subcommandTerm(Y))))},0)}longestOptionTermLength($,J){return J.visibleOptions($).reduce((Q,Y)=>{return Math.max(Q,this.displayWidth(J.styleOptionTerm(J.optionTerm(Y))))},0)}longestGlobalOptionTermLength($,J){return J.visibleGlobalOptions($).reduce((Q,Y)=>{return Math.max(Q,this.displayWidth(J.styleOptionTerm(J.optionTerm(Y))))},0)}longestArgumentTermLength($,J){return J.visibleArguments($).reduce((Q,Y)=>{return Math.max(Q,this.displayWidth(J.styleArgumentTerm(J.argumentTerm(Y))))},0)}commandUsage($){let J=$._name;if($._aliases[0])J=J+"|"+$._aliases[0];let Q="";for(let Y=$.parent;Y;Y=Y.parent)Q=Y.name()+" "+Q;return Q+J+" "+$.usage()}commandDescription($){return $.description()}subcommandDescription($){return $.summary()||$.description()}optionDescription($){let J=[];if($.argChoices)J.push(`choices: ${$.argChoices.map((Q)=>JSON.stringify(Q)).join(", ")}`);if($.defaultValue!==void 0){if($.required||$.optional||$.isBoolean()&&typeof $.defaultValue==="boolean")J.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`)}if($.presetArg!==void 0&&$.optional)J.push(`preset: ${JSON.stringify($.presetArg)}`);if($.envVar!==void 0)J.push(`env: ${$.envVar}`);if(J.length>0){let Q=`(${J.join(", ")})`;if($.description)return`${$.description} ${Q}`;return Q}return $.description}argumentDescription($){let J=[];if($.argChoices)J.push(`choices: ${$.argChoices.map((Q)=>JSON.stringify(Q)).join(", ")}`);if($.defaultValue!==void 0)J.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`);if(J.length>0){let Q=`(${J.join(", ")})`;if($.description)return`${$.description} ${Q}`;return Q}return $.description}formatItemList($,J,Q){if(J.length===0)return[];return[Q.styleTitle($),...J,""]}groupItems($,J,Q){let Y=new Map;return $.forEach((X)=>{let G=Q(X);if(!Y.has(G))Y.set(G,[])}),J.forEach((X)=>{let G=Q(X);if(!Y.has(G))Y.set(G,[]);Y.get(G).push(X)}),Y}formatHelp($,J){let Q=J.padWidth($,J),Y=J.helpWidth??80;function X(N,H){return J.formatItem(N,Q,H,J)}let G=[`${J.styleTitle("Usage:")} ${J.styleUsage(J.commandUsage($))}`,""],W=J.commandDescription($);if(W.length>0)G=G.concat([J.boxWrap(J.styleCommandDescription(W),Y),""]);let K=J.visibleArguments($).map((N)=>{return X(J.styleArgumentTerm(J.argumentTerm(N)),J.styleArgumentDescription(J.argumentDescription(N)))});if(G=G.concat(this.formatItemList("Arguments:",K,J)),this.groupItems($.options,J.visibleOptions($),(N)=>N.helpGroupHeading??"Options:").forEach((N,H)=>{let f=N.map((Z)=>{return X(J.styleOptionTerm(J.optionTerm(Z)),J.styleOptionDescription(J.optionDescription(Z)))});G=G.concat(this.formatItemList(H,f,J))}),J.showGlobalOptions){let N=J.visibleGlobalOptions($).map((H)=>{return X(J.styleOptionTerm(J.optionTerm(H)),J.styleOptionDescription(J.optionDescription(H)))});G=G.concat(this.formatItemList("Global Options:",N,J))}return this.groupItems($.commands,J.visibleCommands($),(N)=>N.helpGroup()||"Commands:").forEach((N,H)=>{let f=N.map((Z)=>{return X(J.styleSubcommandTerm(J.subcommandTerm(Z)),J.styleSubcommandDescription(J.subcommandDescription(Z)))});G=G.concat(this.formatItemList(H,f,J))}),G.join(`
|
|
3
|
+
`)}displayWidth($){return DU($).length}styleTitle($){return $}styleUsage($){return $.split(" ").map((J)=>{if(J==="[options]")return this.styleOptionText(J);if(J==="[command]")return this.styleSubcommandText(J);if(J[0]==="["||J[0]==="<")return this.styleArgumentText(J);return this.styleCommandText(J)}).join(" ")}styleCommandDescription($){return this.styleDescriptionText($)}styleOptionDescription($){return this.styleDescriptionText($)}styleSubcommandDescription($){return this.styleDescriptionText($)}styleArgumentDescription($){return this.styleDescriptionText($)}styleDescriptionText($){return $}styleOptionTerm($){return this.styleOptionText($)}styleSubcommandTerm($){return $.split(" ").map((J)=>{if(J==="[options]")return this.styleOptionText(J);if(J[0]==="["||J[0]==="<")return this.styleArgumentText(J);return this.styleSubcommandText(J)}).join(" ")}styleArgumentTerm($){return this.styleArgumentText($)}styleOptionText($){return $}styleArgumentText($){return $}styleSubcommandText($){return $}styleCommandText($){return $}padWidth($,J){return Math.max(J.longestOptionTermLength($,J),J.longestGlobalOptionTermLength($,J),J.longestSubcommandTermLength($,J),J.longestArgumentTermLength($,J))}preformatted($){return/\n[^\S\r\n]/.test($)}formatItem($,J,Q,Y){let G=" ".repeat(2);if(!Q)return G+$;let W=$.padEnd(J+$.length-Y.displayWidth($)),K=2,U=(this.helpWidth??80)-J-K-2,N;if(U<this.minWidthToWrap||Y.preformatted(Q))N=Q;else N=Y.boxWrap(Q,U).replace(/\n/g,`
|
|
4
|
+
`+" ".repeat(J+K));return G+W+" ".repeat(K)+N.replace(/\n/g,`
|
|
5
|
+
${G}`)}boxWrap($,J){if(J<this.minWidthToWrap)return $;let Q=$.split(/\r\n|\n/),Y=/[\s]*[^\s]+/g,X=[];return Q.forEach((G)=>{let W=G.match(Y);if(W===null){X.push("");return}let K=[W.shift()],q=this.displayWidth(K[0]);W.forEach((U)=>{let N=this.displayWidth(U);if(q+N<=J){K.push(U),q+=N;return}X.push(K.join(""));let H=U.trimStart();K=[H],q=this.displayWidth(H)}),X.push(K.join(""))}),X.join(`
|
|
6
|
+
`)}}function DU($){let J=/\x1b\[\d*(;\d*)*m/g;return $.replace(J,"")}zR.Help=OU;zR.stripColor=DU});var TY=H0((ER)=>{var{InvalidArgumentError:DR}=K3();class EU{constructor($,J){this.flags=$,this.description=J||"",this.required=$.includes("<"),this.optional=$.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test($),this.mandatory=!1;let Q=wR($);if(this.short=Q.shortFlag,this.long=Q.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default($,J){return this.defaultValue=$,this.defaultValueDescription=J,this}preset($){return this.presetArg=$,this}conflicts($){return this.conflictsWith=this.conflictsWith.concat($),this}implies($){let J=$;if(typeof $==="string")J={[$]:!0};return this.implied=Object.assign(this.implied||{},J),this}env($){return this.envVar=$,this}argParser($){return this.parseArg=$,this}makeOptionMandatory($=!0){return this.mandatory=!!$,this}hideHelp($=!0){return this.hidden=!!$,this}_collectValue($,J){if(J===this.defaultValue||!Array.isArray(J))return[$];return J.push($),J}choices($){return this.argChoices=$.slice(),this.parseArg=(J,Q)=>{if(!this.argChoices.includes(J))throw new DR(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(J,Q);return J},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return wU(this.name().replace(/^no-/,""));return wU(this.name())}helpGroup($){return this.helpGroupHeading=$,this}is($){return this.short===$||this.long===$}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class RU{constructor($){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,$.forEach((J)=>{if(J.negate)this.negativeOptions.set(J.attributeName(),J);else this.positiveOptions.set(J.attributeName(),J)}),this.negativeOptions.forEach((J,Q)=>{if(this.positiveOptions.has(Q))this.dualOptions.add(Q)})}valueFromOption($,J){let Q=J.attributeName();if(!this.dualOptions.has(Q))return!0;let Y=this.negativeOptions.get(Q).presetArg,X=Y!==void 0?Y:!1;return J.negate===(X===$)}}function wU($){return $.split("-").reduce((J,Q)=>{return J+Q[0].toUpperCase()+Q.slice(1)})}function wR($){let J,Q,Y=/^-[^-]$/,X=/^--[^-]/,G=$.split(/[ |,]+/).concat("guard");if(Y.test(G[0]))J=G.shift();if(X.test(G[0]))Q=G.shift();if(!J&&Y.test(G[0]))J=G.shift();if(!J&&X.test(G[0]))J=Q,Q=G.shift();if(G[0].startsWith("-")){let W=G[0],K=`option creation failed due to '${W}' in option flags '${$}'`;if(/^-[^-][^-]/.test(W))throw Error(`${K}
|
|
7
|
+
- a short flag is a single dash and a single character
|
|
8
|
+
- either use a single dash and a single character (for a short flag)
|
|
9
|
+
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(Y.test(W))throw Error(`${K}
|
|
10
|
+
- too many short flags`);if(X.test(W))throw Error(`${K}
|
|
11
|
+
- too many long flags`);throw Error(`${K}
|
|
12
|
+
- unrecognised flag format`)}if(J===void 0&&Q===void 0)throw Error(`option creation failed due to no flags found in '${$}'.`);return{shortFlag:J,longFlag:Q}}ER.Option=EU;ER.DualOptions=RU});var BU=H0((FR)=>{function _R($,J){if(Math.abs($.length-J.length)>3)return Math.max($.length,J.length);let Q=[];for(let Y=0;Y<=$.length;Y++)Q[Y]=[Y];for(let Y=0;Y<=J.length;Y++)Q[0][Y]=Y;for(let Y=1;Y<=J.length;Y++)for(let X=1;X<=$.length;X++){let G=1;if($[X-1]===J[Y-1])G=0;else G=1;if(Q[X][Y]=Math.min(Q[X-1][Y]+1,Q[X][Y-1]+1,Q[X-1][Y-1]+G),X>1&&Y>1&&$[X-1]===J[Y-2]&&$[X-2]===J[Y-1])Q[X][Y]=Math.min(Q[X][Y],Q[X-2][Y-2]+1)}return Q[$.length][J.length]}function LR($,J){if(!J||J.length===0)return"";J=Array.from(new Set(J));let Q=$.startsWith("--");if(Q)$=$.slice(2),J=J.map((W)=>W.slice(2));let Y=[],X=3,G=0.4;if(J.forEach((W)=>{if(W.length<=1)return;let K=_R($,W),q=Math.max($.length,W.length);if((q-K)/q>G){if(K<X)X=K,Y=[W];else if(K===X)Y.push(W)}}),Y.sort((W,K)=>W.localeCompare(K)),Q)Y=Y.map((W)=>`--${W}`);if(Y.length>1)return`
|
|
13
|
+
(Did you mean one of ${Y.join(", ")}?)`;if(Y.length===1)return`
|
|
14
|
+
(Did you mean ${Y[0]}?)`;return""}FR.suggestSimilar=LR});var SU=H0((xR)=>{var jR=k0("node:events").EventEmitter,IY=k0("node:child_process"),b5=k0("node:path"),e7=k0("node:fs"),S0=k0("node:process"),{Argument:CR,humanReadableArgName:PR}=a7(),{CommanderError:AY}=K3(),{Help:TR,stripColor:IR}=PY(),{Option:_U,DualOptions:AR}=TY(),{suggestSimilar:LU}=BU();class bY extends jR{constructor($){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=$||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(J)=>S0.stdout.write(J),writeErr:(J)=>S0.stderr.write(J),outputError:(J,Q)=>Q(J),getOutHelpWidth:()=>S0.stdout.isTTY?S0.stdout.columns:void 0,getErrHelpWidth:()=>S0.stderr.isTTY?S0.stderr.columns:void 0,getOutHasColors:()=>xY()??(S0.stdout.isTTY&&S0.stdout.hasColors?.()),getErrHasColors:()=>xY()??(S0.stderr.isTTY&&S0.stderr.hasColors?.()),stripColor:(J)=>IR(J)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings($){return this._outputConfiguration=$._outputConfiguration,this._helpOption=$._helpOption,this._helpCommand=$._helpCommand,this._helpConfiguration=$._helpConfiguration,this._exitCallback=$._exitCallback,this._storeOptionsAsProperties=$._storeOptionsAsProperties,this._combineFlagAndOptionalValue=$._combineFlagAndOptionalValue,this._allowExcessArguments=$._allowExcessArguments,this._enablePositionalOptions=$._enablePositionalOptions,this._showHelpAfterError=$._showHelpAfterError,this._showSuggestionAfterError=$._showSuggestionAfterError,this}_getCommandAndAncestors(){let $=[];for(let J=this;J;J=J.parent)$.push(J);return $}command($,J,Q){let Y=J,X=Q;if(typeof Y==="object"&&Y!==null)X=Y,Y=null;X=X||{};let[,G,W]=$.match(/([^ ]+) *(.*)/),K=this.createCommand(G);if(Y)K.description(Y),K._executableHandler=!0;if(X.isDefault)this._defaultCommandName=K._name;if(K._hidden=!!(X.noHelp||X.hidden),K._executableFile=X.executableFile||null,W)K.arguments(W);if(this._registerCommand(K),K.parent=this,K.copyInheritedSettings(this),Y)return this;return K}createCommand($){return new bY($)}createHelp(){return Object.assign(new TR,this.configureHelp())}configureHelp($){if($===void 0)return this._helpConfiguration;return this._helpConfiguration=$,this}configureOutput($){if($===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...$},this}showHelpAfterError($=!0){if(typeof $!=="string")$=!!$;return this._showHelpAfterError=$,this}showSuggestionAfterError($=!0){return this._showSuggestionAfterError=!!$,this}addCommand($,J){if(!$._name)throw Error(`Command passed to .addCommand() must have a name
|
|
15
|
+
- specify the name in Command constructor or using .name()`);if(J=J||{},J.isDefault)this._defaultCommandName=$._name;if(J.noHelp||J.hidden)$._hidden=!0;return this._registerCommand($),$.parent=this,$._checkForBrokenPassThrough(),this}createArgument($,J){return new CR($,J)}argument($,J,Q,Y){let X=this.createArgument($,J);if(typeof Q==="function")X.default(Y).argParser(Q);else X.default(Q);return this.addArgument(X),this}arguments($){return $.trim().split(/ +/).forEach((J)=>{this.argument(J)}),this}addArgument($){let J=this.registeredArguments.slice(-1)[0];if(J?.variadic)throw Error(`only the last argument can be variadic '${J.name()}'`);if($.required&&$.defaultValue!==void 0&&$.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${$.name()}'`);return this.registeredArguments.push($),this}helpCommand($,J){if(typeof $==="boolean"){if(this._addImplicitHelpCommand=$,$&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let Q=$??"help [command]",[,Y,X]=Q.match(/([^ ]+) *(.*)/),G=J??"display help for command",W=this.createCommand(Y);if(W.helpOption(!1),X)W.arguments(X);if(G)W.description(G);if(this._addImplicitHelpCommand=!0,this._helpCommand=W,$||J)this._initCommandGroup(W);return this}addHelpCommand($,J){if(typeof $!=="object")return this.helpCommand($,J),this;return this._addImplicitHelpCommand=!0,this._helpCommand=$,this._initCommandGroup($),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook($,J){let Q=["preSubcommand","preAction","postAction"];if(!Q.includes($))throw Error(`Unexpected value for event passed to hook : '${$}'.
|
|
16
|
+
Expecting one of '${Q.join("', '")}'`);if(this._lifeCycleHooks[$])this._lifeCycleHooks[$].push(J);else this._lifeCycleHooks[$]=[J];return this}exitOverride($){if($)this._exitCallback=$;else this._exitCallback=(J)=>{if(J.code!=="commander.executeSubCommandAsync")throw J};return this}_exit($,J,Q){if(this._exitCallback)this._exitCallback(new AY($,J,Q));S0.exit($)}action($){let J=(Q)=>{let Y=this.registeredArguments.length,X=Q.slice(0,Y);if(this._storeOptionsAsProperties)X[Y]=this;else X[Y]=this.opts();return X.push(this),$.apply(this,X)};return this._actionHandler=J,this}createOption($,J){return new _U($,J)}_callParseArg($,J,Q,Y){try{return $.parseArg(J,Q)}catch(X){if(X.code==="commander.invalidArgument"){let G=`${Y} ${X.message}`;this.error(G,{exitCode:X.exitCode,code:X.code})}throw X}}_registerOption($){let J=$.short&&this._findOption($.short)||$.long&&this._findOption($.long);if(J){let Q=$.long&&this._findOption($.long)?$.long:$.short;throw Error(`Cannot add option '${$.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${Q}'
|
|
17
|
+
- already used by option '${J.flags}'`)}this._initOptionGroup($),this.options.push($)}_registerCommand($){let J=(Y)=>{return[Y.name()].concat(Y.aliases())},Q=J($).find((Y)=>this._findCommand(Y));if(Q){let Y=J(this._findCommand(Q)).join("|"),X=J($).join("|");throw Error(`cannot add command '${X}' as already have command '${Y}'`)}this._initCommandGroup($),this.commands.push($)}addOption($){this._registerOption($);let J=$.name(),Q=$.attributeName();if($.negate){let X=$.long.replace(/^--no-/,"--");if(!this._findOption(X))this.setOptionValueWithSource(Q,$.defaultValue===void 0?!0:$.defaultValue,"default")}else if($.defaultValue!==void 0)this.setOptionValueWithSource(Q,$.defaultValue,"default");let Y=(X,G,W)=>{if(X==null&&$.presetArg!==void 0)X=$.presetArg;let K=this.getOptionValue(Q);if(X!==null&&$.parseArg)X=this._callParseArg($,X,K,G);else if(X!==null&&$.variadic)X=$._collectValue(X,K);if(X==null)if($.negate)X=!1;else if($.isBoolean()||$.optional)X=!0;else X="";this.setOptionValueWithSource(Q,X,W)};if(this.on("option:"+J,(X)=>{let G=`error: option '${$.flags}' argument '${X}' is invalid.`;Y(X,G,"cli")}),$.envVar)this.on("optionEnv:"+J,(X)=>{let G=`error: option '${$.flags}' value '${X}' from env '${$.envVar}' is invalid.`;Y(X,G,"env")});return this}_optionEx($,J,Q,Y,X){if(typeof J==="object"&&J instanceof _U)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let G=this.createOption(J,Q);if(G.makeOptionMandatory(!!$.mandatory),typeof Y==="function")G.default(X).argParser(Y);else if(Y instanceof RegExp){let W=Y;Y=(K,q)=>{let U=W.exec(K);return U?U[0]:q},G.default(X).argParser(Y)}else G.default(Y);return this.addOption(G)}option($,J,Q,Y){return this._optionEx({},$,J,Q,Y)}requiredOption($,J,Q,Y){return this._optionEx({mandatory:!0},$,J,Q,Y)}combineFlagAndOptionalValue($=!0){return this._combineFlagAndOptionalValue=!!$,this}allowUnknownOption($=!0){return this._allowUnknownOption=!!$,this}allowExcessArguments($=!0){return this._allowExcessArguments=!!$,this}enablePositionalOptions($=!0){return this._enablePositionalOptions=!!$,this}passThroughOptions($=!0){return this._passThroughOptions=!!$,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties($=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!$,this}getOptionValue($){if(this._storeOptionsAsProperties)return this[$];return this._optionValues[$]}setOptionValue($,J){return this.setOptionValueWithSource($,J,void 0)}setOptionValueWithSource($,J,Q){if(this._storeOptionsAsProperties)this[$]=J;else this._optionValues[$]=J;return this._optionValueSources[$]=Q,this}getOptionValueSource($){return this._optionValueSources[$]}getOptionValueSourceWithGlobals($){let J;return this._getCommandAndAncestors().forEach((Q)=>{if(Q.getOptionValueSource($)!==void 0)J=Q.getOptionValueSource($)}),J}_prepareUserArgs($,J){if($!==void 0&&!Array.isArray($))throw Error("first parameter to parse must be array or undefined");if(J=J||{},$===void 0&&J.from===void 0){if(S0.versions?.electron)J.from="electron";let Y=S0.execArgv??[];if(Y.includes("-e")||Y.includes("--eval")||Y.includes("-p")||Y.includes("--print"))J.from="eval"}if($===void 0)$=S0.argv;this.rawArgs=$.slice();let Q;switch(J.from){case void 0:case"node":this._scriptPath=$[1],Q=$.slice(2);break;case"electron":if(S0.defaultApp)this._scriptPath=$[1],Q=$.slice(2);else Q=$.slice(1);break;case"user":Q=$.slice(0);break;case"eval":Q=$.slice(1);break;default:throw Error(`unexpected parse option { from: '${J.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",Q}parse($,J){this._prepareForParse();let Q=this._prepareUserArgs($,J);return this._parseCommand([],Q),this}async parseAsync($,J){this._prepareForParse();let Q=this._prepareUserArgs($,J);return await this._parseCommand([],Q),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
|
|
18
|
+
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable($,J,Q){if(e7.existsSync($))return;let Y=J?`searched for local subcommand relative to directory '${J}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",X=`'${$}' does not exist
|
|
19
|
+
- if '${Q}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
20
|
+
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
21
|
+
- ${Y}`;throw Error(X)}_executeSubCommand($,J){J=J.slice();let Q=!1,Y=[".js",".ts",".tsx",".mjs",".cjs"];function X(U,N){let H=b5.resolve(U,N);if(e7.existsSync(H))return H;if(Y.includes(b5.extname(N)))return;let f=Y.find((Z)=>e7.existsSync(`${H}${Z}`));if(f)return`${H}${f}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let G=$._executableFile||`${this._name}-${$._name}`,W=this._executableDir||"";if(this._scriptPath){let U;try{U=e7.realpathSync(this._scriptPath)}catch{U=this._scriptPath}W=b5.resolve(b5.dirname(U),W)}if(W){let U=X(W,G);if(!U&&!$._executableFile&&this._scriptPath){let N=b5.basename(this._scriptPath,b5.extname(this._scriptPath));if(N!==this._name)U=X(W,`${N}-${$._name}`)}G=U||G}Q=Y.includes(b5.extname(G));let K;if(S0.platform!=="win32")if(Q)J.unshift(G),J=FU(S0.execArgv).concat(J),K=IY.spawn(S0.argv[0],J,{stdio:"inherit"});else K=IY.spawn(G,J,{stdio:"inherit"});else this._checkForMissingExecutable(G,W,$._name),J.unshift(G),J=FU(S0.execArgv).concat(J),K=IY.spawn(S0.execPath,J,{stdio:"inherit"});if(!K.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((N)=>{S0.on(N,()=>{if(K.killed===!1&&K.exitCode===null)K.kill(N)})});let q=this._exitCallback;K.on("close",(U)=>{if(U=U??1,!q)S0.exit(U);else q(new AY(U,"commander.executeSubCommandAsync","(close)"))}),K.on("error",(U)=>{if(U.code==="ENOENT")this._checkForMissingExecutable(G,W,$._name);else if(U.code==="EACCES")throw Error(`'${G}' not executable`);if(!q)S0.exit(1);else{let N=new AY(1,"commander.executeSubCommandAsync","(error)");N.nestedError=U,q(N)}}),this.runningCommand=K}_dispatchSubcommand($,J,Q){let Y=this._findCommand($);if(!Y)this.help({error:!0});Y._prepareForParse();let X;return X=this._chainOrCallSubCommandHook(X,Y,"preSubcommand"),X=this._chainOrCall(X,()=>{if(Y._executableHandler)this._executeSubCommand(Y,J.concat(Q));else return Y._parseCommand(J,Q)}),X}_dispatchHelpCommand($){if(!$)this.help();let J=this._findCommand($);if(J&&!J._executableHandler)J.help();return this._dispatchSubcommand($,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach(($,J)=>{if($.required&&this.args[J]==null)this.missingArgument($.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let $=(Q,Y,X)=>{let G=Y;if(Y!==null&&Q.parseArg){let W=`error: command-argument value '${Y}' is invalid for argument '${Q.name()}'.`;G=this._callParseArg(Q,Y,X,W)}return G};this._checkNumberOfArguments();let J=[];this.registeredArguments.forEach((Q,Y)=>{let X=Q.defaultValue;if(Q.variadic){if(Y<this.args.length){if(X=this.args.slice(Y),Q.parseArg)X=X.reduce((G,W)=>{return $(Q,W,G)},Q.defaultValue)}else if(X===void 0)X=[]}else if(Y<this.args.length){if(X=this.args[Y],Q.parseArg)X=$(Q,X,Q.defaultValue)}J[Y]=X}),this.processedArgs=J}_chainOrCall($,J){if($?.then&&typeof $.then==="function")return $.then(()=>J());return J()}_chainOrCallHooks($,J){let Q=$,Y=[];if(this._getCommandAndAncestors().reverse().filter((X)=>X._lifeCycleHooks[J]!==void 0).forEach((X)=>{X._lifeCycleHooks[J].forEach((G)=>{Y.push({hookedCommand:X,callback:G})})}),J==="postAction")Y.reverse();return Y.forEach((X)=>{Q=this._chainOrCall(Q,()=>{return X.callback(X.hookedCommand,this)})}),Q}_chainOrCallSubCommandHook($,J,Q){let Y=$;if(this._lifeCycleHooks[Q]!==void 0)this._lifeCycleHooks[Q].forEach((X)=>{Y=this._chainOrCall(Y,()=>{return X(this,J)})});return Y}_parseCommand($,J){let Q=this.parseOptions(J);if(this._parseOptionsEnv(),this._parseOptionsImplied(),$=$.concat(Q.operands),J=Q.unknown,this.args=$.concat(J),$&&this._findCommand($[0]))return this._dispatchSubcommand($[0],$.slice(1),J);if(this._getHelpCommand()&&$[0]===this._getHelpCommand().name())return this._dispatchHelpCommand($[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(J),this._dispatchSubcommand(this._defaultCommandName,$,J);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(Q.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Y=()=>{if(Q.unknown.length>0)this.unknownOption(Q.unknown[0])},X=`command:${this.name()}`;if(this._actionHandler){Y(),this._processArguments();let G;if(G=this._chainOrCallHooks(G,"preAction"),G=this._chainOrCall(G,()=>this._actionHandler(this.processedArgs)),this.parent)G=this._chainOrCall(G,()=>{this.parent.emit(X,$,J)});return G=this._chainOrCallHooks(G,"postAction"),G}if(this.parent?.listenerCount(X))Y(),this._processArguments(),this.parent.emit(X,$,J);else if($.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",$,J);if(this.listenerCount("command:*"))this.emit("command:*",$,J);else if(this.commands.length)this.unknownCommand();else Y(),this._processArguments()}else if(this.commands.length)Y(),this.help({error:!0});else Y(),this._processArguments()}_findCommand($){if(!$)return;return this.commands.find((J)=>J._name===$||J._aliases.includes($))}_findOption($){return this.options.find((J)=>J.is($))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(($)=>{$.options.forEach((J)=>{if(J.mandatory&&$.getOptionValue(J.attributeName())===void 0)$.missingMandatoryOptionValue(J)})})}_checkForConflictingLocalOptions(){let $=this.options.filter((Q)=>{let Y=Q.attributeName();if(this.getOptionValue(Y)===void 0)return!1;return this.getOptionValueSource(Y)!=="default"});$.filter((Q)=>Q.conflictsWith.length>0).forEach((Q)=>{let Y=$.find((X)=>Q.conflictsWith.includes(X.attributeName()));if(Y)this._conflictingOption(Q,Y)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(($)=>{$._checkForConflictingLocalOptions()})}parseOptions($){let J=[],Q=[],Y=J;function X(U){return U.length>1&&U[0]==="-"}let G=(U)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(U))return!1;return!this._getCommandAndAncestors().some((N)=>N.options.map((H)=>H.short).some((H)=>/^-\d$/.test(H)))},W=null,K=null,q=0;while(q<$.length||K){let U=K??$[q++];if(K=null,U==="--"){if(Y===Q)Y.push(U);Y.push(...$.slice(q));break}if(W&&(!X(U)||G(U))){this.emit(`option:${W.name()}`,U);continue}if(W=null,X(U)){let N=this._findOption(U);if(N){if(N.required){let H=$[q++];if(H===void 0)this.optionMissingArgument(N);this.emit(`option:${N.name()}`,H)}else if(N.optional){let H=null;if(q<$.length&&(!X($[q])||G($[q])))H=$[q++];this.emit(`option:${N.name()}`,H)}else this.emit(`option:${N.name()}`);W=N.variadic?N:null;continue}}if(U.length>2&&U[0]==="-"&&U[1]!=="-"){let N=this._findOption(`-${U[1]}`);if(N){if(N.required||N.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${N.name()}`,U.slice(2));else this.emit(`option:${N.name()}`),K=`-${U.slice(2)}`;continue}}if(/^--[^=]+=/.test(U)){let N=U.indexOf("="),H=this._findOption(U.slice(0,N));if(H&&(H.required||H.optional)){this.emit(`option:${H.name()}`,U.slice(N+1));continue}}if(Y===J&&X(U)&&!(this.commands.length===0&&G(U)))Y=Q;if((this._enablePositionalOptions||this._passThroughOptions)&&J.length===0&&Q.length===0){if(this._findCommand(U)){J.push(U),Q.push(...$.slice(q));break}else if(this._getHelpCommand()&&U===this._getHelpCommand().name()){J.push(U,...$.slice(q));break}else if(this._defaultCommandName){Q.push(U,...$.slice(q));break}}if(this._passThroughOptions){Y.push(U,...$.slice(q));break}Y.push(U)}return{operands:J,unknown:Q}}opts(){if(this._storeOptionsAsProperties){let $={},J=this.options.length;for(let Q=0;Q<J;Q++){let Y=this.options[Q].attributeName();$[Y]=Y===this._versionOptionName?this._version:this[Y]}return $}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(($,J)=>Object.assign($,J.opts()),{})}error($,J){if(this._outputConfiguration.outputError(`${$}
|
|
22
|
+
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
|
|
23
|
+
`);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
|
|
24
|
+
`),this.outputHelp({error:!0});let Q=J||{},Y=Q.exitCode||1,X=Q.code||"commander.error";this._exit(Y,X,$)}_parseOptionsEnv(){this.options.forEach(($)=>{if($.envVar&&$.envVar in S0.env){let J=$.attributeName();if(this.getOptionValue(J)===void 0||["default","config","env"].includes(this.getOptionValueSource(J)))if($.required||$.optional)this.emit(`optionEnv:${$.name()}`,S0.env[$.envVar]);else this.emit(`optionEnv:${$.name()}`)}})}_parseOptionsImplied(){let $=new AR(this.options),J=(Q)=>{return this.getOptionValue(Q)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(Q))};this.options.filter((Q)=>Q.implied!==void 0&&J(Q.attributeName())&&$.valueFromOption(this.getOptionValue(Q.attributeName()),Q)).forEach((Q)=>{Object.keys(Q.implied).filter((Y)=>!J(Y)).forEach((Y)=>{this.setOptionValueWithSource(Y,Q.implied[Y],"implied")})})}missingArgument($){let J=`error: missing required argument '${$}'`;this.error(J,{code:"commander.missingArgument"})}optionMissingArgument($){let J=`error: option '${$.flags}' argument missing`;this.error(J,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue($){let J=`error: required option '${$.flags}' not specified`;this.error(J,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption($,J){let Q=(G)=>{let W=G.attributeName(),K=this.getOptionValue(W),q=this.options.find((N)=>N.negate&&W===N.attributeName()),U=this.options.find((N)=>!N.negate&&W===N.attributeName());if(q&&(q.presetArg===void 0&&K===!1||q.presetArg!==void 0&&K===q.presetArg))return q;return U||G},Y=(G)=>{let W=Q(G),K=W.attributeName();if(this.getOptionValueSource(K)==="env")return`environment variable '${W.envVar}'`;return`option '${W.flags}'`},X=`error: ${Y($)} cannot be used with ${Y(J)}`;this.error(X,{code:"commander.conflictingOption"})}unknownOption($){if(this._allowUnknownOption)return;let J="";if($.startsWith("--")&&this._showSuggestionAfterError){let Y=[],X=this;do{let G=X.createHelp().visibleOptions(X).filter((W)=>W.long).map((W)=>W.long);Y=Y.concat(G),X=X.parent}while(X&&!X._enablePositionalOptions);J=LU($,Y)}let Q=`error: unknown option '${$}'${J}`;this.error(Q,{code:"commander.unknownOption"})}_excessArguments($){if(this._allowExcessArguments)return;let J=this.registeredArguments.length,Q=J===1?"":"s",X=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${J} argument${Q} but got ${$.length}.`;this.error(X,{code:"commander.excessArguments"})}unknownCommand(){let $=this.args[0],J="";if(this._showSuggestionAfterError){let Y=[];this.createHelp().visibleCommands(this).forEach((X)=>{if(Y.push(X.name()),X.alias())Y.push(X.alias())}),J=LU($,Y)}let Q=`error: unknown command '${$}'${J}`;this.error(Q,{code:"commander.unknownCommand"})}version($,J,Q){if($===void 0)return this._version;this._version=$,J=J||"-V, --version",Q=Q||"output the version number";let Y=this.createOption(J,Q);return this._versionOptionName=Y.attributeName(),this._registerOption(Y),this.on("option:"+Y.name(),()=>{this._outputConfiguration.writeOut(`${$}
|
|
25
|
+
`),this._exit(0,"commander.version",$)}),this}description($,J){if($===void 0&&J===void 0)return this._description;if(this._description=$,J)this._argsDescription=J;return this}summary($){if($===void 0)return this._summary;return this._summary=$,this}alias($){if($===void 0)return this._aliases[0];let J=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)J=this.commands[this.commands.length-1];if($===J._name)throw Error("Command alias can't be the same as its name");let Q=this.parent?._findCommand($);if(Q){let Y=[Q.name()].concat(Q.aliases()).join("|");throw Error(`cannot add alias '${$}' to command '${this.name()}' as already have command '${Y}'`)}return J._aliases.push($),this}aliases($){if($===void 0)return this._aliases;return $.forEach((J)=>this.alias(J)),this}usage($){if($===void 0){if(this._usage)return this._usage;let J=this.registeredArguments.map((Q)=>{return PR(Q)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?J:[]).join(" ")}return this._usage=$,this}name($){if($===void 0)return this._name;return this._name=$,this}helpGroup($){if($===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=$,this}commandsGroup($){if($===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=$,this}optionsGroup($){if($===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=$,this}_initOptionGroup($){if(this._defaultOptionGroup&&!$.helpGroupHeading)$.helpGroup(this._defaultOptionGroup)}_initCommandGroup($){if(this._defaultCommandGroup&&!$.helpGroup())$.helpGroup(this._defaultCommandGroup)}nameFromFilename($){return this._name=b5.basename($,b5.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let J=this.createHelp(),Q=this._getOutputContext($);J.prepareContext({error:Q.error,helpWidth:Q.helpWidth,outputHasColors:Q.hasColors});let Y=J.formatHelp(this,J);if(Q.hasColors)return Y;return this._outputConfiguration.stripColor(Y)}_getOutputContext($){$=$||{};let J=!!$.error,Q,Y,X;if(J)Q=(W)=>this._outputConfiguration.writeErr(W),Y=this._outputConfiguration.getErrHasColors(),X=this._outputConfiguration.getErrHelpWidth();else Q=(W)=>this._outputConfiguration.writeOut(W),Y=this._outputConfiguration.getOutHasColors(),X=this._outputConfiguration.getOutHelpWidth();return{error:J,write:(W)=>{if(!Y)W=this._outputConfiguration.stripColor(W);return Q(W)},hasColors:Y,helpWidth:X}}outputHelp($){let J;if(typeof $==="function")J=$,$=void 0;let Q=this._getOutputContext($),Y={error:Q.error,write:Q.write,command:this};this._getCommandAndAncestors().reverse().forEach((G)=>G.emit("beforeAllHelp",Y)),this.emit("beforeHelp",Y);let X=this.helpInformation({error:Q.error});if(J){if(X=J(X),typeof X!=="string"&&!Buffer.isBuffer(X))throw Error("outputHelp callback must return a string or a Buffer")}if(Q.write(X),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",Y),this._getCommandAndAncestors().forEach((G)=>G.emit("afterAllHelp",Y))}helpOption($,J){if(typeof $==="boolean"){if($){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption($??"-h, --help",J??"display help for command"),$||J)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption($){return this._helpOption=$,this._initOptionGroup($),this}help($){this.outputHelp($);let J=Number(S0.exitCode??0);if(J===0&&$&&typeof $!=="function"&&$.error)J=1;this._exit(J,"commander.help","(outputHelp)")}addHelpText($,J){let Q=["beforeAll","before","after","afterAll"];if(!Q.includes($))throw Error(`Unexpected value for position to addHelpText.
|
|
26
|
+
Expecting one of '${Q.join("', '")}'`);let Y=`${$}Help`;return this.on(Y,(X)=>{let G;if(typeof J==="function")G=J({error:X.error,command:X.command});else G=J;if(G)X.write(`${G}
|
|
27
|
+
`)}),this}_outputHelpIfRequested($){let J=this._getHelpOption();if(J&&$.find((Y)=>J.is(Y)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function FU($){return $.map((J)=>{if(!J.startsWith("--inspect"))return J;let Q,Y="127.0.0.1",X="9229",G;if((G=J.match(/^(--inspect(-brk)?)$/))!==null)Q=G[1];else if((G=J.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(Q=G[1],/^\d+$/.test(G[3]))X=G[3];else Y=G[3];else if((G=J.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)Q=G[1],Y=G[3],X=G[4];if(Q&&X!=="0")return`${Q}=${Y}:${parseInt(X)+1}`;return J})}function xY(){if(S0.env.NO_COLOR||S0.env.FORCE_COLOR==="0"||S0.env.FORCE_COLOR==="false")return!1;if(S0.env.FORCE_COLOR||S0.env.CLICOLOR_FORCE!==void 0)return!0;return}xR.Command=bY;xR.useColor=xY});var TU=H0((hR)=>{var{Argument:jU}=a7(),{Command:kY}=SU(),{CommanderError:yR,InvalidArgumentError:CU}=K3(),{Help:vR}=PY(),{Option:PU}=TY();hR.program=new kY;hR.createCommand=($)=>new kY($);hR.createOption=($,J)=>new PU($,J);hR.createArgument=($,J)=>new jU($,J);hR.Command=kY;hR.Option=PU;hR.Argument=jU;hR.Help=vR;hR.CommanderError=yR;hR.InvalidArgumentError=CU;hR.InvalidOptionArgumentError=CU});function h0($){if(typeof $==="string")return{address:$,type:"json-rpc"};return $}var A6,K$,oU,q$,iU,gY,mY,dY,z3,P0,U$;var X5=g(()=>{A6=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],K$=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],oU=[{inputs:[{name:"dns",type:"bytes"}],name:"DNSDecodingFailed",type:"error"},{inputs:[{name:"ens",type:"string"}],name:"DNSEncodingFailed",type:"error"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"HttpError",type:"error"},{inputs:[],name:"InvalidBatchGatewayResponse",type:"error"},{inputs:[{name:"errorData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{name:"name",type:"bytes"},{name:"resolver",type:"address"}],name:"ResolverNotContract",type:"error"},{inputs:[{name:"name",type:"bytes"}],name:"ResolverNotFound",type:"error"},{inputs:[{name:"primary",type:"string"},{name:"primaryAddress",type:"bytes"}],name:"ReverseAddressMismatch",type:"error"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"UnsupportedResolverProfile",type:"error"}],q$=[...oU,{name:"resolveWithGateways",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],iU=[...oU,{name:"reverseWithGateways",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"},{type:"uint256",name:"coinType"},{type:"string[]",name:"gateways"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolver"},{type:"address",name:"reverseResolver"}]}],gY=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],mY=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],dY=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],z3=[{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"}],P0=[{type:"event",name:"Approval",inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}]},{type:"event",name:"Transfer",inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}]},{type:"function",name:"allowance",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]},{type:"function",name:"balanceOf",stateMutability:"view",inputs:[{name:"account",type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"decimals",stateMutability:"view",inputs:[],outputs:[{type:"uint8"}]},{type:"function",name:"name",stateMutability:"view",inputs:[],outputs:[{type:"string"}]},{type:"function",name:"symbol",stateMutability:"view",inputs:[],outputs:[{type:"string"}]},{type:"function",name:"totalSupply",stateMutability:"view",inputs:[],outputs:[{type:"uint256"}]},{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],U$=[{type:"event",name:"Approval",inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}]},{type:"event",name:"Transfer",inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}]},{type:"function",name:"allowance",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]},{type:"function",name:"balanceOf",stateMutability:"view",inputs:[{name:"account",type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"decimals",stateMutability:"view",inputs:[],outputs:[{type:"uint8"}]},{type:"function",name:"name",stateMutability:"view",inputs:[],outputs:[{type:"bytes32"}]},{type:"function",name:"symbol",stateMutability:"view",inputs:[],outputs:[{type:"bytes32"}]},{type:"function",name:"totalSupply",stateMutability:"view",inputs:[],outputs:[{type:"uint256"}]},{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}]});function q1($,{includeName:J=!1}={}){if($.type!=="function"&&$.type!=="event"&&$.type!=="error")throw new uY($.type);return`${$.name}(${V3($.inputs,{includeName:J})})`}function V3($,{includeName:J=!1}={}){if(!$)return"";return $.map((Q)=>W_(Q,{includeName:J})).join(J?", ":",")}function W_($,{includeName:J}){if($.type.startsWith("tuple"))return`(${V3($.components,{includeName:J})})${$.type.slice(5)}`;return $.type+(J&&$.name?` ${$.name}`:"")}var h5=g(()=>{$1()});function c0($,{strict:J=!0}={}){if(!$)return!1;if(typeof $!=="string")return!1;return J?/^0x[0-9a-fA-F]*$/.test($):$.startsWith("0x")}function W0($){if(c0($,{strict:!1}))return Math.ceil(($.length-2)/2);return $.length}var s1=()=>{};var cY="2.47.0";function sU($,J){if(J?.($))return $;if($&&typeof $==="object"&&"cause"in $&&$.cause!==void 0)return sU($.cause,J);return J?null:$}var pY,I;var f0=g(()=>{pY={getDocsUrl:({docsBaseUrl:$,docsPath:J="",docsSlug:Q})=>J?`${$??"https://viem.sh"}${J}${Q?`#${Q}`:""}`:void 0,version:`viem@${cY}`};I=class I extends Error{constructor($,J={}){let Q=(()=>{if(J.cause instanceof I)return J.cause.details;if(J.cause?.message)return J.cause.message;return J.details})(),Y=(()=>{if(J.cause instanceof I)return J.cause.docsPath||J.docsPath;return J.docsPath})(),X=pY.getDocsUrl?.({...J,docsPath:Y}),G=[$||"An error occurred.","",...J.metaMessages?[...J.metaMessages,""]:[],...X?[`Docs: ${X}`]:[],...Q?[`Details: ${Q}`]:[],...pY.version?[`Version: ${pY.version}`]:[]].join(`
|
|
28
|
+
`);super(G,J.cause?{cause:J.cause}:void 0);Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=Q,this.docsPath=Y,this.metaMessages=J.metaMessages,this.name=J.name??this.name,this.shortMessage=$,this.version=cY}walk($){return sU(this,$)}}});var lY,N$,O3,x6,nY,oY,iY,sY,H$,D3,rY,tY,f$,G5,w3,aY,eY,$X,_8,H2,JX,QX,E3,uY;var $1=g(()=>{h5();s1();f0();lY=class lY extends I{constructor({docsPath:$}){super(["A constructor was not found on the ABI.","Make sure you are using the correct ABI and that the constructor exists on it."].join(`
|
|
29
|
+
`),{docsPath:$,name:"AbiConstructorNotFoundError"})}};N$=class N$ extends I{constructor({docsPath:$}){super(["Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.","Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists."].join(`
|
|
30
|
+
`),{docsPath:$,name:"AbiConstructorParamsNotFoundError"})}};O3=class O3 extends I{constructor({data:$,params:J,size:Q}){super([`Data size of ${Q} bytes is too small for given parameters.`].join(`
|
|
31
|
+
`),{metaMessages:[`Params: (${V3(J,{includeName:!0})})`,`Data: ${$} (${Q} bytes)`],name:"AbiDecodingDataSizeTooSmallError"});Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=$,this.params=J,this.size=Q}};x6=class x6 extends I{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}};nY=class nY extends I{constructor({expectedLength:$,givenLength:J,type:Q}){super([`ABI encoding array length mismatch for type ${Q}.`,`Expected length: ${$}`,`Given length: ${J}`].join(`
|
|
32
|
+
`),{name:"AbiEncodingArrayLengthMismatchError"})}};oY=class oY extends I{constructor({expectedSize:$,value:J}){super(`Size of bytes "${J}" (bytes${W0(J)}) does not match expected size (bytes${$}).`,{name:"AbiEncodingBytesSizeMismatchError"})}};iY=class iY extends I{constructor({expectedLength:$,givenLength:J}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${$}`,`Given length (values): ${J}`].join(`
|
|
33
|
+
`),{name:"AbiEncodingLengthMismatchError"})}};sY=class sY extends I{constructor($,{docsPath:J}){super([`Arguments (\`args\`) were provided to "${$}", but "${$}" on the ABI does not contain any parameters (\`inputs\`).`,"Cannot encode error result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the inputs exist on it."].join(`
|
|
34
|
+
`),{docsPath:J,name:"AbiErrorInputsNotFoundError"})}};H$=class H$ extends I{constructor($,{docsPath:J}={}){super([`Error ${$?`"${$}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it."].join(`
|
|
35
|
+
`),{docsPath:J,name:"AbiErrorNotFoundError"})}};D3=class D3 extends I{constructor($,{docsPath:J}){super([`Encoded error signature "${$}" not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${$}.`].join(`
|
|
36
|
+
`),{docsPath:J,name:"AbiErrorSignatureNotFoundError"});Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=$}};rY=class rY extends I{constructor({docsPath:$}){super("Cannot extract event signature from empty topics.",{docsPath:$,name:"AbiEventSignatureEmptyTopicsError"})}};tY=class tY extends I{constructor($,{docsPath:J}){super([`Encoded event signature "${$}" not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it.",`You can look up the signature here: https://4byte.sourcify.dev/?q=${$}.`].join(`
|
|
37
|
+
`),{docsPath:J,name:"AbiEventSignatureNotFoundError"})}};f$=class f$ extends I{constructor($,{docsPath:J}={}){super([`Event ${$?`"${$}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join(`
|
|
38
|
+
`),{docsPath:J,name:"AbiEventNotFoundError"})}};G5=class G5 extends I{constructor($,{docsPath:J}={}){super([`Function ${$?`"${$}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(`
|
|
39
|
+
`),{docsPath:J,name:"AbiFunctionNotFoundError"})}};w3=class w3 extends I{constructor($,{docsPath:J}){super([`Function "${$}" does not contain any \`outputs\` on ABI.`,"Cannot decode function result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the function exists on it."].join(`
|
|
40
|
+
`),{docsPath:J,name:"AbiFunctionOutputsNotFoundError"})}};aY=class aY extends I{constructor($,{docsPath:J}){super([`Encoded function signature "${$}" not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it.",`You can look up the signature here: https://4byte.sourcify.dev/?q=${$}.`].join(`
|
|
41
|
+
`),{docsPath:J,name:"AbiFunctionSignatureNotFoundError"})}};eY=class eY extends I{constructor($,J){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${$.type}\` in \`${q1($.abiItem)}\`, and`,`\`${J.type}\` in \`${q1(J.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}};$X=class $X extends I{constructor({expectedSize:$,givenSize:J}){super(`Expected bytes${$}, got bytes${J}.`,{name:"BytesSizeMismatchError"})}};_8=class _8 extends I{constructor({abiItem:$,data:J,params:Q,size:Y}){super([`Data size of ${Y} bytes is too small for non-indexed event parameters.`].join(`
|
|
42
|
+
`),{metaMessages:[`Params: (${V3(Q,{includeName:!0})})`,`Data: ${J} (${Y} bytes)`],name:"DecodeLogDataMismatch"});Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=$,this.data=J,this.params=Q,this.size=Y}};H2=class H2 extends I{constructor({abiItem:$,param:J}){super([`Expected a topic for indexed event parameter${J.name?` "${J.name}"`:""} on event "${q1($,{includeName:!0})}".`].join(`
|
|
43
|
+
`),{name:"DecodeLogTopicsMismatch"});Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=$}};JX=class JX extends I{constructor($,{docsPath:J}){super([`Type "${$}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(`
|
|
44
|
+
`),{docsPath:J,name:"InvalidAbiEncodingType"})}};QX=class QX extends I{constructor($,{docsPath:J}){super([`Type "${$}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(`
|
|
45
|
+
`),{docsPath:J,name:"InvalidAbiDecodingType"})}};E3=class E3 extends I{constructor($){super([`Value "${$}" is not a valid array.`].join(`
|
|
46
|
+
`),{name:"InvalidArrayError"})}};uY=class uY extends I{constructor($){super([`"${$}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(`
|
|
47
|
+
`),{name:"InvalidDefinitionTypeError"})}}});var g0;var W5=g(()=>{f0();g0=class g0 extends I{constructor({address:$}){super(`Address "${$}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}});var Z$,M$,z$;var V$=g(()=>{f0();Z$=class Z$ extends I{constructor({offset:$,position:J,size:Q}){super(`Slice ${J==="start"?"starting":"ending"} at offset "${$}" is out-of-bounds (size: ${Q}).`,{name:"SliceOffsetOutOfBoundsError"})}};M$=class M$ extends I{constructor({size:$,targetSize:J,type:Q}){super(`${Q.charAt(0).toUpperCase()}${Q.slice(1).toLowerCase()} size (${$}) exceeds padding size (${J}).`,{name:"SizeExceedsPaddingSizeError"})}};z$=class z$ extends I{constructor({size:$,targetSize:J,type:Q}){super(`${Q.charAt(0).toUpperCase()}${Q.slice(1).toLowerCase()} is expected to be ${J} ${Q} long, but is ${$} ${Q} long.`,{name:"InvalidBytesLengthError"})}}});function L8($,{dir:J,size:Q=32}={}){if(typeof $==="string")return g5($,{dir:J,size:Q});return K_($,{dir:J,size:Q})}function g5($,{dir:J,size:Q=32}={}){if(Q===null)return $;let Y=$.replace("0x","");if(Y.length>Q*2)throw new M$({size:Math.ceil(Y.length/2),targetSize:Q,type:"hex"});return`0x${Y[J==="right"?"padEnd":"padStart"](Q*2,"0")}`}function K_($,{dir:J,size:Q=32}={}){if(Q===null)return $;if($.length>Q)throw new M$({size:$.length,targetSize:Q,type:"bytes"});let Y=new Uint8Array(Q);for(let X=0;X<Q;X++){let G=J==="right";Y[G?X:Q-X-1]=$[G?X:$.length-X-1]}return Y}var O$=g(()=>{V$()});var f2,YX,XX,GX;var R3=g(()=>{f0();f2=class f2 extends I{constructor({max:$,min:J,signed:Q,size:Y,value:X}){super(`Number "${X}" is not in safe ${Y?`${Y*8}-bit ${Q?"signed":"unsigned"} `:""}integer range ${$?`(${J} to ${$})`:`(above ${J})`}`,{name:"IntegerOutOfRangeError"})}};YX=class YX extends I{constructor($){super(`Bytes value "${$}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}};XX=class XX extends I{constructor($){super(`Hex value "${$}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}};GX=class GX extends I{constructor({givenSize:$,maxSize:J}){super(`Size cannot exceed ${J} bytes. Given size: ${$} bytes.`,{name:"SizeOverflowError"})}}});function S1($,{dir:J="left"}={}){let Q=typeof $==="string"?$.replace("0x",""):$,Y=0;for(let X=0;X<Q.length-1;X++)if(Q[J==="left"?X:Q.length-X-1].toString()==="0")Y++;else break;if(Q=J==="left"?Q.slice(Y):Q.slice(0,Q.length-Y),typeof $==="string"){if(Q.length===1&&J==="right")Q=`${Q}0`;return`0x${Q.length%2===1?`0${Q}`:Q}`}return Q}function h1($,{size:J}){if(W0($)>J)throw new GX({givenSize:W0($),maxSize:J})}function E0($,J={}){let{signed:Q}=J;if(J.size)h1($,{size:J.size});let Y=BigInt($);if(!Q)return Y;let X=($.length-2)/2,G=(1n<<BigInt(X)*8n-1n)-1n;if(Y<=G)return Y;return Y-BigInt(`0x${"f".padStart(X*2,"f")}`)-1n}function D$($,J={}){let Q=$;if(J.size)h1(Q,{size:J.size}),Q=S1(Q);if(S1(Q)==="0x00")return!1;if(S1(Q)==="0x01")return!0;throw new XX(Q)}function J1($,J={}){let Q=E0($,J),Y=Number(Q);if(!Number.isSafeInteger(Y))throw new f2({max:`${Number.MAX_SAFE_INTEGER}`,min:`${Number.MIN_SAFE_INTEGER}`,signed:J.signed,size:J.size,value:`${Q}n`});return Y}function w$($,J={}){let Q=U1($);if(J.size)h1(Q,{size:J.size}),Q=S1(Q,{dir:"right"});return new TextDecoder().decode(Q)}var V1=g(()=>{R3();s1();O1()});function s0($,J={}){if(typeof $==="number"||typeof $==="bigint")return h($,J);if(typeof $==="string")return F8($,J);if(typeof $==="boolean")return WX($,J);return R0($,J)}function WX($,J={}){let Q=`0x${Number($)}`;if(typeof J.size==="number")return h1(Q,{size:J.size}),L8(Q,{size:J.size});return Q}function R0($,J={}){let Q="";for(let X=0;X<$.length;X++)Q+=q_[$[X]];let Y=`0x${Q}`;if(typeof J.size==="number")return h1(Y,{size:J.size}),L8(Y,{dir:"right",size:J.size});return Y}function h($,J={}){let{signed:Q,size:Y}=J,X=BigInt($),G;if(Y)if(Q)G=(1n<<BigInt(Y)*8n-1n)-1n;else G=2n**(BigInt(Y)*8n)-1n;else if(typeof $==="number")G=BigInt(Number.MAX_SAFE_INTEGER);let W=typeof G==="bigint"&&Q?-G-1n:0;if(G&&X>G||X<W){let q=typeof $==="bigint"?"n":"";throw new f2({max:G?`${G}${q}`:void 0,min:`${W}${q}`,signed:Q,size:Y,value:`${$}${q}`})}let K=`0x${(Q&&X<0?(1n<<BigInt(Y*8))+BigInt(X):X).toString(16)}`;if(Y)return L8(K,{size:Y});return K}function F8($,J={}){let Q=U_.encode($);return R0(Q,J)}var q_,U_;var G0=g(()=>{R3();O$();V1();q_=Array.from({length:256},($,J)=>J.toString(16).padStart(2,"0"));U_=new TextEncoder});function N6($,J={}){if(typeof $==="number"||typeof $==="bigint")return f_($,J);if(typeof $==="boolean")return H_($,J);if(c0($))return U1($,J);return b6($,J)}function H_($,J={}){let Q=new Uint8Array(1);if(Q[0]=Number($),typeof J.size==="number")return h1(Q,{size:J.size}),L8(Q,{size:J.size});return Q}function rU($){if($>=m5.zero&&$<=m5.nine)return $-m5.zero;if($>=m5.A&&$<=m5.F)return $-(m5.A-10);if($>=m5.a&&$<=m5.f)return $-(m5.a-10);return}function U1($,J={}){let Q=$;if(J.size)h1(Q,{size:J.size}),Q=L8(Q,{dir:"right",size:J.size});let Y=Q.slice(2);if(Y.length%2)Y=`0${Y}`;let X=Y.length/2,G=new Uint8Array(X);for(let W=0,K=0;W<X;W++){let q=rU(Y.charCodeAt(K++)),U=rU(Y.charCodeAt(K++));if(q===void 0||U===void 0)throw new I(`Invalid byte sequence ("${Y[K-2]}${Y[K-1]}" in "${Y}").`);G[W]=q*16+U}return G}function f_($,J){let Q=h($,J);return U1(Q)}function b6($,J={}){let Q=N_.encode($);if(typeof J.size==="number")return h1(Q,{size:J.size}),L8(Q,{dir:"right",size:J.size});return Q}var N_,m5;var O1=g(()=>{f0();O$();V1();G0();N_=new TextEncoder;m5={zero:48,nine:57,A:65,F:70,a:97,f:102}});function Z_($,J=!1){if(J)return{h:Number($&E$),l:Number($>>tU&E$)};return{h:Number($>>tU&E$)|0,l:Number($&E$)|0}}function aU($,J=!1){let Q=$.length,Y=new Uint32Array(Q),X=new Uint32Array(Q);for(let G=0;G<Q;G++){let{h:W,l:K}=Z_($[G],J);[Y[G],X[G]]=[W,K]}return[Y,X]}var E$,tU,eU=($,J,Q)=>$<<Q|J>>>32-Q,$N=($,J,Q)=>J<<Q|$>>>32-Q,JN=($,J,Q)=>J<<Q-32|$>>>64-Q,QN=($,J,Q)=>$<<Q-32|J>>>64-Q;var YN=g(()=>{E$=BigInt(4294967295),tU=BigInt(32)});import*as d5 from"node:crypto";var Z2;var XN=g(()=>{Z2=d5&&typeof d5==="object"&&"webcrypto"in d5?d5.webcrypto:d5&&typeof d5==="object"&&("randomBytes"in d5)?d5:void 0});function M_($){return $ instanceof Uint8Array||ArrayBuffer.isView($)&&$.constructor.name==="Uint8Array"}function M2($){if(!Number.isSafeInteger($)||$<0)throw Error("positive integer expected, got "+$)}function k6($,...J){if(!M_($))throw Error("Uint8Array expected");if(J.length>0&&!J.includes($.length))throw Error("Uint8Array expected of length "+J+", got length="+$.length)}function WN($){if(typeof $!=="function"||typeof $.create!=="function")throw Error("Hash should be wrapped by utils.createHasher");M2($.outputLen),M2($.blockLen)}function c5($,J=!0){if($.destroyed)throw Error("Hash instance has been destroyed");if(J&&$.finished)throw Error("Hash#digest() has already been called")}function R$($,J){k6($);let Q=J.outputLen;if($.length<Q)throw Error("digestInto() expects output buffer of length at least "+Q)}function KN($){return new Uint32Array($.buffer,$.byteOffset,Math.floor($.byteLength/4))}function K5(...$){for(let J=0;J<$.length;J++)$[J].fill(0)}function B$($){return new DataView($.buffer,$.byteOffset,$.byteLength)}function y6($,J){return $<<32-J|$>>>J}function V_($){return $<<24&4278190080|$<<8&16711680|$>>>8&65280|$>>>24&255}function O_($){for(let J=0;J<$.length;J++)$[J]=V_($[J]);return $}function UN($){if(k6($),qN)return $.toHex();let J="";for(let Q=0;Q<$.length;Q++)J+=D_[$[Q]];return J}function GN($){if($>=u5._0&&$<=u5._9)return $-u5._0;if($>=u5.A&&$<=u5.F)return $-(u5.A-10);if($>=u5.a&&$<=u5.f)return $-(u5.a-10);return}function NN($){if(typeof $!=="string")throw Error("hex string expected, got "+typeof $);if(qN)return Uint8Array.fromHex($);let J=$.length,Q=J/2;if(J%2)throw Error("hex string expected, got unpadded hex of length "+J);let Y=new Uint8Array(Q);for(let X=0,G=0;X<Q;X++,G+=2){let W=GN($.charCodeAt(G)),K=GN($.charCodeAt(G+1));if(W===void 0||K===void 0){let q=$[G]+$[G+1];throw Error('hex string expected, got non-hex character "'+q+'" at index '+G)}Y[X]=W*16+K}return Y}function w_($){if(typeof $!=="string")throw Error("string expected");return new Uint8Array(new TextEncoder().encode($))}function z2($){if(typeof $==="string")$=w_($);return k6($),$}function HN(...$){let J=0;for(let Y=0;Y<$.length;Y++){let X=$[Y];k6(X),J+=X.length}let Q=new Uint8Array(J);for(let Y=0,X=0;Y<$.length;Y++){let G=$[Y];Q.set(G,X),X+=G.length}return Q}class V2{}function _$($){let J=(Y)=>$().update(z2(Y)).digest(),Q=$();return J.outputLen=Q.outputLen,J.blockLen=Q.blockLen,J.create=()=>$(),J}function L$($=32){if(Z2&&typeof Z2.getRandomValues==="function")return Z2.getRandomValues(new Uint8Array($));if(Z2&&typeof Z2.randomBytes==="function")return Uint8Array.from(Z2.randomBytes($));throw Error("crypto.getRandomValues must be defined")}var z_,KX,qN,D_,u5;var p5=g(()=>{XN();/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */z_=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();KX=z_?($)=>$:O_,qN=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),D_=Array.from({length:256},($,J)=>J.toString(16).padStart(2,"0"));u5={_0:48,_9:57,A:65,F:70,a:97,f:102}});function j_($,J=24){let Q=new Uint32Array(10);for(let Y=24-J;Y<24;Y++){for(let W=0;W<10;W++)Q[W]=$[W]^$[W+10]^$[W+20]^$[W+30]^$[W+40];for(let W=0;W<10;W+=2){let K=(W+8)%10,q=(W+2)%10,U=Q[q],N=Q[q+1],H=fN(U,N,1)^Q[K],f=ZN(U,N,1)^Q[K+1];for(let Z=0;Z<50;Z+=10)$[W+Z]^=H,$[W+Z+1]^=f}let X=$[2],G=$[3];for(let W=0;W<24;W++){let K=zN[W],q=fN(X,G,K),U=ZN(X,G,K),N=MN[W];X=$[N],G=$[N+1],$[N]=q,$[N+1]=U}for(let W=0;W<50;W+=10){for(let K=0;K<10;K++)Q[K]=$[W+K];for(let K=0;K<10;K++)$[W+K]^=~Q[(K+2)%10]&Q[(K+4)%10]}$[0]^=F_[Y],$[1]^=S_[Y]}K5(Q)}var E_,B3,R_,B_,__,L_,MN,zN,VN,ON,F_,S_,fN=($,J,Q)=>Q>32?JN($,J,Q):eU($,J,Q),ZN=($,J,Q)=>Q>32?QN($,J,Q):$N($,J,Q),qX,C_=($,J,Q)=>_$(()=>new qX(J,$,Q)),_9;var F$=g(()=>{YN();p5();E_=BigInt(0),B3=BigInt(1),R_=BigInt(2),B_=BigInt(7),__=BigInt(256),L_=BigInt(113),MN=[],zN=[],VN=[];for(let $=0,J=B3,Q=1,Y=0;$<24;$++){[Q,Y]=[Y,(2*Q+3*Y)%5],MN.push(2*(5*Y+Q)),zN.push(($+1)*($+2)/2%64);let X=E_;for(let G=0;G<7;G++)if(J=(J<<B3^(J>>B_)*L_)%__,J&R_)X^=B3<<(B3<<BigInt(G))-B3;VN.push(X)}ON=aU(VN,!0),F_=ON[0],S_=ON[1];qX=class qX extends V2{constructor($,J,Q,Y=!1,X=24){super();if(this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=$,this.suffix=J,this.outputLen=Q,this.enableXOF=Y,this.rounds=X,M2(Q),!(0<$&&$<200))throw Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=KN(this.state)}clone(){return this._cloneInto()}keccak(){KX(this.state32),j_(this.state32,this.rounds),KX(this.state32),this.posOut=0,this.pos=0}update($){c5(this),$=z2($),k6($);let{blockLen:J,state:Q}=this,Y=$.length;for(let X=0;X<Y;){let G=Math.min(J-this.pos,Y-X);for(let W=0;W<G;W++)Q[this.pos++]^=$[X++];if(this.pos===J)this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:$,suffix:J,pos:Q,blockLen:Y}=this;if($[Q]^=J,(J&128)!==0&&Q===Y-1)this.keccak();$[Y-1]^=128,this.keccak()}writeInto($){c5(this,!1),k6($),this.finish();let J=this.state,{blockLen:Q}=this;for(let Y=0,X=$.length;Y<X;){if(this.posOut>=Q)this.keccak();let G=Math.min(Q-this.posOut,X-Y);$.set(J.subarray(this.posOut,this.posOut+G),Y),this.posOut+=G,Y+=G}return $}xofInto($){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto($)}xof($){return M2($),this.xofInto(new Uint8Array($))}digestInto($){if(R$($,this),this.finished)throw Error("digest() was already called");return this.writeInto($),this.destroy(),$}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,K5(this.state)}_cloneInto($){let{blockLen:J,suffix:Q,outputLen:Y,rounds:X,enableXOF:G}=this;return $||($=new qX(J,Q,Y,G,X)),$.state32.set(this.state32),$.pos=this.pos,$.posOut=this.posOut,$.finished=this.finished,$.rounds=X,$.suffix=Q,$.outputLen=Y,$.enableXOF=G,$.destroyed=this.destroyed,$}};_9=(()=>C_(1,136,32))()});function Z0($,J){let Q=J||"hex",Y=_9(c0($,{strict:!1})?N6($):$);if(Q==="bytes")return Y;return s0(Y)}var H6=g(()=>{F$();O1();G0()});var l5;var _3=g(()=>{l5=class l5 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}}});function T0($,J){let{strict:Q=!0}=J??{},Y=`${$}.${Q}`;if(UX.has(Y))return UX.get(Y);let X=(()=>{if(!P_.test($))return!1;if($.toLowerCase()===$)return!0;if(Q)return O2($)===$;return!0})();return UX.set(Y,X),X}var P_,UX;var f6=g(()=>{_3();D2();P_=/^0x[a-fA-F0-9]{40}$/,UX=new l5(8192)});function O2($,J){if(NX.has(`${$}.${J}`))return NX.get(`${$}.${J}`);let Q=J?`${J}${$.toLowerCase()}`:$.substring(2).toLowerCase(),Y=Z0(b6(Q),"bytes"),X=(J?Q.substring(`${J}0x`.length):Q).split("");for(let W=0;W<40;W+=2){if(Y[W>>1]>>4>=8&&X[W])X[W]=X[W].toUpperCase();if((Y[W>>1]&15)>=8&&X[W+1])X[W+1]=X[W+1].toUpperCase()}let G=`0x${X.join("")}`;return NX.set(`${$}.${J}`,G),G}function w2($,J){if(!T0($,{strict:!1}))throw new g0({address:$});return O2($,J)}var NX;var D2=g(()=>{W5();O1();H6();_3();f6();NX=new l5(8192)});var S$,L3,HX;var fX=g(()=>{f0();S$=class S$ extends I{constructor({offset:$}){super(`Offset \`${$}\` cannot be negative.`,{name:"NegativeOffsetError"})}};L3=class L3 extends I{constructor({length:$,position:J}){super(`Position \`${J}\` is out of bounds (\`0 < position < ${$}\`).`,{name:"PositionOutOfBoundsError"})}};HX=class HX extends I{constructor({count:$,limit:J}){super(`Recursive read limit of \`${J}\` exceeded (recursive read count: \`${$}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function L9($,{recursiveReadLimit:J=8192}={}){let Q=Object.create(T_);return Q.bytes=$,Q.dataView=new DataView($.buffer??$,$.byteOffset,$.byteLength),Q.positionReadCount=new Map,Q.recursiveReadLimit=J,Q}var T_;var j$=g(()=>{fX();T_={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 HX({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition($){if($<0||$>this.bytes.length-1)throw new L3({length:this.bytes.length,position:$})},decrementPosition($){if($<0)throw new S$({offset:$});let J=this.position-$;this.assertPosition(J),this.position=J},getReadCount($){return this.positionReadCount.get($||this.position)||0},incrementPosition($){if($<0)throw new S$({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 p0($,J,Q,{strict:Y}={}){if(c0($,{strict:!1}))return EN($,J,Q,{strict:Y});return C$($,J,Q,{strict:Y})}function DN($,J){if(typeof J==="number"&&J>0&&J>W0($)-1)throw new Z$({offset:J,position:"start",size:W0($)})}function wN($,J,Q){if(typeof J==="number"&&typeof Q==="number"&&W0($)!==Q-J)throw new Z$({offset:Q,position:"end",size:W0($)})}function C$($,J,Q,{strict:Y}={}){DN($,J);let X=$.slice(J,Q);if(Y)wN(X,J,Q);return X}function EN($,J,Q,{strict:Y}={}){DN($,J);let X=`0x${$.replace("0x","").slice((J??0)*2,(Q??$.length)*2)}`;if(Y)wN(X,J,Q);return X}var n5=g(()=>{V$();s1()});function RN($,J={}){if(typeof J.size<"u")h1($,{size:J.size});let Q=R0($,J);return E0(Q,J)}function BN($,J={}){let Q=$;if(typeof J.size<"u")h1(Q,{size:J.size}),Q=S1(Q);if(Q.length>1||Q[0]>1)throw new YX(Q);return Boolean(Q[0])}function q5($,J={}){if(typeof J.size<"u")h1($,{size:J.size});let Q=R0($,J);return J1(Q,J)}function _N($,J={}){let Q=$;if(typeof J.size<"u")h1(Q,{size:J.size}),Q=S1(Q,{dir:"right"});return new TextDecoder().decode(Q)}var LN=g(()=>{R3();V1();G0()});function j1($){if(typeof $[0]==="string")return D1($);return I_($)}function I_($){let J=0;for(let X of $)J+=X.length;let Q=new Uint8Array(J),Y=0;for(let X of $)Q.set(X,Y),Y+=X.length;return Q}function D1($){return`0x${$.reduce((J,Q)=>J+Q.replace("0x",""),"")}`}var FN,P$;var ZX=g(()=>{FN=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,P$=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/});function y0($,J){if($.length!==J.length)throw new iY({expectedLength:$.length,givenLength:J.length});let Q=A_({params:$,values:J}),Y=zX(Q);if(Y.length===0)return"0x";return Y}function A_({params:$,values:J}){let Q=[];for(let Y=0;Y<$.length;Y++)Q.push(MX({param:$[Y],value:J[Y]}));return Q}function MX({param:$,value:J}){let Q=T$($.type);if(Q){let[Y,X]=Q;return b_(J,{length:Y,param:{...$,type:X}})}if($.type==="tuple")return g_(J,{param:$});if($.type==="address")return x_(J);if($.type==="bool")return y_(J);if($.type.startsWith("uint")||$.type.startsWith("int")){let Y=$.type.startsWith("int"),[,,X="256"]=P$.exec($.type)??[];return v_(J,{signed:Y,size:Number(X)})}if($.type.startsWith("bytes"))return k_(J,{param:$});if($.type==="string")return h_(J);throw new JX($.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function zX($){let J=0;for(let G=0;G<$.length;G++){let{dynamic:W,encoded:K}=$[G];if(W)J+=32;else J+=W0(K)}let Q=[],Y=[],X=0;for(let G=0;G<$.length;G++){let{dynamic:W,encoded:K}=$[G];if(W)Q.push(h(J+X,{size:32})),Y.push(K),X+=W0(K);else Q.push(K)}return j1([...Q,...Y])}function x_($){if(!T0($))throw new g0({address:$});return{dynamic:!1,encoded:g5($.toLowerCase())}}function b_($,{length:J,param:Q}){let Y=J===null;if(!Array.isArray($))throw new E3($);if(!Y&&$.length!==J)throw new nY({expectedLength:J,givenLength:$.length,type:`${Q.type}[${J}]`});let X=!1,G=[];for(let W=0;W<$.length;W++){let K=MX({param:Q,value:$[W]});if(K.dynamic)X=!0;G.push(K)}if(Y||X){let W=zX(G);if(Y){let K=h(G.length,{size:32});return{dynamic:!0,encoded:G.length>0?j1([K,W]):K}}if(X)return{dynamic:!0,encoded:W}}return{dynamic:!1,encoded:j1(G.map(({encoded:W})=>W))}}function k_($,{param:J}){let[,Q]=J.type.split("bytes"),Y=W0($);if(!Q){let X=$;if(Y%32!==0)X=g5(X,{dir:"right",size:Math.ceil(($.length-2)/2/32)*32});return{dynamic:!0,encoded:j1([g5(h(Y,{size:32})),X])}}if(Y!==Number.parseInt(Q,10))throw new oY({expectedSize:Number.parseInt(Q,10),value:$});return{dynamic:!1,encoded:g5($,{dir:"right"})}}function y_($){if(typeof $!=="boolean")throw new I(`Invalid boolean value: "${$}" (type: ${typeof $}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:g5(WX($))}}function v_($,{signed:J,size:Q=256}){if(typeof Q==="number"){let Y=2n**(BigInt(Q)-(J?1n:0n))-1n,X=J?-Y-1n:0n;if($>Y||$<X)throw new f2({max:Y.toString(),min:X.toString(),signed:J,size:Q/8,value:$.toString()})}return{dynamic:!1,encoded:h($,{size:32,signed:J})}}function h_($){let J=F8($),Q=Math.ceil(W0(J)/32),Y=[];for(let X=0;X<Q;X++)Y.push(g5(p0(J,X*32,(X+1)*32),{dir:"right"}));return{dynamic:!0,encoded:j1([g5(h(W0(J),{size:32})),...Y])}}function g_($,{param:J}){let Q=!1,Y=[];for(let X=0;X<J.components.length;X++){let G=J.components[X],W=Array.isArray($)?X:G.name,K=MX({param:G,value:$[W]});if(Y.push(K),K.dynamic)Q=!0}return{dynamic:Q,encoded:Q?zX(Y):j1(Y.map(({encoded:X})=>X))}}function T$($){let J=$.match(/^(.*)\[(\d+)?\]$/);return J?[J[2]?Number(J[2]):null,J[1]]:void 0}var U5=g(()=>{$1();W5();f0();R3();f6();O$();s1();n5();G0();ZX()});function C1($,J){let Q=typeof J==="string"?U1(J):J,Y=L9(Q);if(W0(Q)===0&&$.length>0)throw new x6;if(W0(J)&&W0(J)<32)throw new O3({data:typeof J==="string"?J:R0(J),params:$,size:W0(J)});let X=0,G=[];for(let W=0;W<$.length;++W){let K=$[W];Y.setPosition(X);let[q,U]=F9(Y,K,{staticPosition:0});X+=U,G.push(q)}return G}function F9($,J,{staticPosition:Q}){let Y=T$(J.type);if(Y){let[X,G]=Y;return d_($,{...J,type:G},{length:X,staticPosition:Q})}if(J.type==="tuple")return l_($,J,{staticPosition:Q});if(J.type==="address")return m_($);if(J.type==="bool")return u_($);if(J.type.startsWith("bytes"))return c_($,J,{staticPosition:Q});if(J.type.startsWith("uint")||J.type.startsWith("int"))return p_($,J);if(J.type==="string")return n_($,{staticPosition:Q});throw new QX(J.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function m_($){let J=$.readBytes(32);return[O2(R0(C$(J,-20))),32]}function d_($,J,{length:Q,staticPosition:Y}){if(!Q){let W=q5($.readBytes(VX)),K=Y+W,q=K+SN;$.setPosition(K);let U=q5($.readBytes(SN)),N=F3(J),H=0,f=[];for(let Z=0;Z<U;++Z){$.setPosition(q+(N?Z*32:H));let[M,D]=F9($,J,{staticPosition:q});H+=D,f.push(M)}return $.setPosition(Y+32),[f,32]}if(F3(J)){let W=q5($.readBytes(VX)),K=Y+W,q=[];for(let U=0;U<Q;++U){$.setPosition(K+U*32);let[N]=F9($,J,{staticPosition:K});q.push(N)}return $.setPosition(Y+32),[q,32]}let X=0,G=[];for(let W=0;W<Q;++W){let[K,q]=F9($,J,{staticPosition:Y+X});X+=q,G.push(K)}return[G,X]}function u_($){return[BN($.readBytes(32),{size:32}),32]}function c_($,J,{staticPosition:Q}){let[Y,X]=J.type.split("bytes");if(!X){let W=q5($.readBytes(32));$.setPosition(Q+W);let K=q5($.readBytes(32));if(K===0)return $.setPosition(Q+32),["0x",32];let q=$.readBytes(K);return $.setPosition(Q+32),[R0(q),32]}return[R0($.readBytes(Number.parseInt(X,10),32)),32]}function p_($,J){let Q=J.type.startsWith("int"),Y=Number.parseInt(J.type.split("int")[1]||"256",10),X=$.readBytes(32);return[Y>48?RN(X,{signed:Q}):q5(X,{signed:Q}),32]}function l_($,J,{staticPosition:Q}){let Y=J.components.length===0||J.components.some(({name:W})=>!W),X=Y?[]:{},G=0;if(F3(J)){let W=q5($.readBytes(VX)),K=Q+W;for(let q=0;q<J.components.length;++q){let U=J.components[q];$.setPosition(K+G);let[N,H]=F9($,U,{staticPosition:K});G+=H,X[Y?q:U?.name]=N}return $.setPosition(Q+32),[X,32]}for(let W=0;W<J.components.length;++W){let K=J.components[W],[q,U]=F9($,K,{staticPosition:Q});X[Y?W:K?.name]=q,G+=U}return[X,G]}function n_($,{staticPosition:J}){let Q=q5($.readBytes(32)),Y=J+Q;$.setPosition(Y);let X=q5($.readBytes(32));if(X===0)return $.setPosition(J+32),["",32];let G=$.readBytes(X,32),W=_N(S1(G));return $.setPosition(J+32),[W,32]}function F3($){let{type:J}=$;if(J==="string")return!0;if(J==="bytes")return!0;if(J.endsWith("[]"))return!0;if(J==="tuple")return $.components?.some(F3);let Q=T$($.type);if(Q&&F3({...$,type:Q[1]}))return!0;return!1}var SN=32,VX=32;var S9=g(()=>{$1();D2();j$();s1();n5();LN();O1();G0();U5()});function jN($){return o_($)}var o_=($)=>Z0(N6($));var CN=g(()=>{O1();H6()});var PN="1.2.3";var a0;var j9=g(()=>{a0=class a0 extends Error{constructor($,J={}){let Q=J.cause instanceof a0?J.cause.details:J.cause?.message?J.cause.message:J.details,Y=J.cause instanceof a0?J.cause.docsPath||J.docsPath:J.docsPath,X=[$||"An error occurred.","",...J.metaMessages?[...J.metaMessages,""]:[],...Y?[`Docs: https://abitype.dev${Y}`]:[],...Q?[`Details: ${Q}`]:[],`Version: abitype@${PN}`].join(`
|
|
48
|
+
`);super(X);if(Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),J.cause)this.cause=J.cause;this.details=Q,this.docsPath=Y,this.metaMessages=J.metaMessages,this.shortMessage=$}}});function X6($,J){return $.exec(J)?.groups}var OX,DX,I$;var S3=g(()=>{OX=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,DX=/^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)?$/,I$=/^\(.+?\).*?$/});function A$($){let J=$.type;if(TN.test($.type)&&"components"in $){J="(";let Q=$.components.length;for(let X=0;X<Q;X++){let G=$.components[X];if(J+=A$(G),X<Q-1)J+=", "}let Y=X6(TN,$.type);return J+=`)${Y?.array||""}`,A$({...$,type:J})}if("indexed"in $&&$.indexed)J=`${J} indexed`;if($.name)return`${J} ${$.name}`;return J}var TN;var IN=g(()=>{S3();TN=/^tuple(?<array>(\[(\d*)\])*)$/});function o5($){let J="",Q=$.length;for(let Y=0;Y<Q;Y++){let X=$[Y];if(J+=A$(X),Y!==Q-1)J+=", "}return J}var wX=g(()=>{IN()});function E2($){if($.type==="function")return`function ${$.name}(${o5($.inputs)})${$.stateMutability&&$.stateMutability!=="nonpayable"?` ${$.stateMutability}`:""}${$.outputs?.length?` returns (${o5($.outputs)})`:""}`;if($.type==="event")return`event ${$.name}(${o5($.inputs)})`;if($.type==="error")return`error ${$.name}(${o5($.inputs)})`;if($.type==="constructor")return`constructor(${o5($.inputs)})${$.stateMutability==="payable"?" payable":""}`;if($.type==="fallback")return`fallback() external${$.stateMutability==="payable"?" payable":""}`;return"receive() external payable"}var AN=g(()=>{wX()});function bN($){return xN.test($)}function kN($){return X6(xN,$)}function vN($){return yN.test($)}function hN($){return X6(yN,$)}function mN($){return gN.test($)}function dN($){return X6(gN,$)}function S8($){return uN.test($)}function cN($){return X6(uN,$)}function lN($){return pN.test($)}function nN($){return X6(pN,$)}function iN($){return oN.test($)}function sN($){return X6(oN,$)}function rN($){return i_.test($)}var xN,yN,gN,uN,pN,oN,i_,EX,tN,x$;var C9=g(()=>{S3();xN=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;yN=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;gN=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;uN=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;pN=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;oN=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;i_=/^receive\(\) external payable$/;EX=new Set(["memory","indexed","storage","calldata"]),tN=new Set(["indexed"]),x$=new Set(["calldata","memory","storage"])});var RX,BX,_X;var b$=g(()=>{j9();RX=class RX extends a0{constructor({signature:$}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify($,null,2)})`,docsPath:"/api/human#parseabiitem-1"});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}};BX=class BX extends a0{constructor({type:$}){super("Unknown type.",{metaMessages:[`Type "${$}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}};_X=class _X extends a0{constructor({type:$}){super("Unknown type.",{metaMessages:[`Type "${$}" is not a valid ABI type.`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}});var LX,FX,SX,jX,CX,PX;var k$=g(()=>{j9();LX=class LX extends a0{constructor({params:$}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify($,null,2)})`,docsPath:"/api/human#parseabiparameters-1"});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}};FX=class FX extends a0{constructor({param:$}){super("Invalid ABI parameter.",{details:$});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}};SX=class SX extends a0{constructor({param:$,name:J}){super("Invalid ABI parameter.",{details:$,metaMessages:[`"${J}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}};jX=class jX extends a0{constructor({param:$,type:J,modifier:Q}){super("Invalid ABI parameter.",{details:$,metaMessages:[`Modifier "${Q}" not allowed${J?` in "${J}" type`:""}.`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}};CX=class CX extends a0{constructor({param:$,type:J,modifier:Q}){super("Invalid ABI parameter.",{details:$,metaMessages:[`Modifier "${Q}" not allowed${J?` in "${J}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${Q}" was given.`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}};PX=class PX extends a0{constructor({abiParameter:$}){super("Invalid ABI parameter.",{details:JSON.stringify($,null,2),metaMessages:["ABI parameter type is invalid."]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}});var i5,TX,IX;var AX=g(()=>{j9();i5=class i5 extends a0{constructor({signature:$,type:J}){super(`Invalid ${J} signature.`,{details:$});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}};TX=class TX extends a0{constructor({signature:$}){super("Unknown signature.",{details:$});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}};IX=class IX extends a0{constructor({signature:$}){super("Invalid struct signature.",{details:$,metaMessages:["No properties exist."]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}});var xX;var aN=g(()=>{j9();xX=class xX extends a0{constructor({type:$}){super("Circular reference detected.",{metaMessages:[`Struct "${$}" is a circular reference.`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}});var bX;var eN=g(()=>{j9();bX=class bX extends a0{constructor({current:$,depth:J}){super("Unbalanced parentheses.",{metaMessages:[`"${$.trim()}" has too many ${J>0?"opening":"closing"} parentheses.`],details:`Depth "${J}"`});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}});function $H($,J,Q){let Y="";if(Q)for(let X of Object.entries(Q)){if(!X)continue;let G="";for(let W of X[1])G+=`[${W.type}${W.name?`:${W.name}`:""}]`;Y+=`(${X[0]}{${G}})`}if(J)return`${J}:${$}${Y}`;return`${$}${Y}`}var y$;var JH=g(()=>{y$=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]])});function j3($,J={}){if(mN($))return s_($,J);if(vN($))return r_($,J);if(bN($))return t_($,J);if(lN($))return a_($,J);if(iN($))return e_($);if(rN($))return{type:"receive",stateMutability:"payable"};throw new TX({signature:$})}function s_($,J={}){let Q=dN($);if(!Q)throw new i5({signature:$,type:"function"});let Y=r1(Q.parameters),X=[],G=Y.length;for(let K=0;K<G;K++)X.push(v6(Y[K],{modifiers:x$,structs:J,type:"function"}));let W=[];if(Q.returns){let K=r1(Q.returns),q=K.length;for(let U=0;U<q;U++)W.push(v6(K[U],{modifiers:x$,structs:J,type:"function"}))}return{name:Q.name,type:"function",stateMutability:Q.stateMutability??"nonpayable",inputs:X,outputs:W}}function r_($,J={}){let Q=hN($);if(!Q)throw new i5({signature:$,type:"event"});let Y=r1(Q.parameters),X=[],G=Y.length;for(let W=0;W<G;W++)X.push(v6(Y[W],{modifiers:tN,structs:J,type:"event"}));return{name:Q.name,type:"event",inputs:X}}function t_($,J={}){let Q=kN($);if(!Q)throw new i5({signature:$,type:"error"});let Y=r1(Q.parameters),X=[],G=Y.length;for(let W=0;W<G;W++)X.push(v6(Y[W],{structs:J,type:"error"}));return{name:Q.name,type:"error",inputs:X}}function a_($,J={}){let Q=nN($);if(!Q)throw new i5({signature:$,type:"constructor"});let Y=r1(Q.parameters),X=[],G=Y.length;for(let W=0;W<G;W++)X.push(v6(Y[W],{structs:J,type:"constructor"}));return{type:"constructor",stateMutability:Q.stateMutability??"nonpayable",inputs:X}}function e_($){let J=sN($);if(!J)throw new i5({signature:$,type:"fallback"});return{type:"fallback",stateMutability:J.stateMutability??"nonpayable"}}function v6($,J){let Q=$H($,J?.type,J?.structs);if(y$.has(Q))return y$.get(Q);let Y=I$.test($),X=X6(Y?JL:$L,$);if(!X)throw new FX({param:$});if(X.name&&XL(X.name))throw new SX({param:$,name:X.name});let G=X.name?{name:X.name}:{},W=X.modifier==="indexed"?{indexed:!0}:{},K=J?.structs??{},q,U={};if(Y){q="tuple";let H=r1(X.type),f=[],Z=H.length;for(let M=0;M<Z;M++)f.push(v6(H[M],{structs:K}));U={components:f}}else if(X.type in K)q="tuple",U={components:K[X.type]};else if(QL.test(X.type))q=`${X.type}256`;else if(X.type==="address payable")q="address";else if(q=X.type,J?.type!=="struct"&&!kX(q))throw new _X({type:q});if(X.modifier){if(!J?.modifiers?.has?.(X.modifier))throw new jX({param:$,type:J?.type,modifier:X.modifier});if(x$.has(X.modifier)&&!GL(q,!!X.array))throw new CX({param:$,type:J?.type,modifier:X.modifier})}let N={type:`${q}${X.array??""}`,...G,...W,...U};return y$.set(Q,N),N}function r1($,J=[],Q="",Y=0){let X=$.trim().length;for(let G=0;G<X;G++){let W=$[G],K=$.slice(G+1);switch(W){case",":return Y===0?r1(K,[...J,Q.trim()]):r1(K,J,`${Q}${W}`,Y);case"(":return r1(K,J,`${Q}${W}`,Y+1);case")":return r1(K,J,`${Q}${W}`,Y-1);default:return r1(K,J,`${Q}${W}`,Y)}}if(Q==="")return J;if(Y!==0)throw new bX({current:Q,depth:Y});return J.push(Q.trim()),J}function kX($){return $==="address"||$==="bool"||$==="function"||$==="string"||OX.test($)||DX.test($)}function XL($){return $==="address"||$==="bool"||$==="function"||$==="string"||$==="tuple"||OX.test($)||DX.test($)||YL.test($)}function GL($,J){return J||$==="bytes"||$==="string"||$==="tuple"}var $L,JL,QL,YL;var P9=g(()=>{S3();b$();k$();AX();eN();JH();C9();$L=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,JL=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,QL=/^u?int$/;YL=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/});function T9($){let J={},Q=$.length;for(let W=0;W<Q;W++){let K=$[W];if(!S8(K))continue;let q=cN(K);if(!q)throw new i5({signature:K,type:"struct"});let U=q.properties.split(";"),N=[],H=U.length;for(let f=0;f<H;f++){let M=U[f].trim();if(!M)continue;let D=v6(M,{type:"struct"});N.push(D)}if(!N.length)throw new IX({signature:K});J[q.name]=N}let Y={},X=Object.entries(J),G=X.length;for(let W=0;W<G;W++){let[K,q]=X[W];Y[K]=QH(q,J)}return Y}function QH($=[],J={},Q=new Set){let Y=[],X=$.length;for(let G=0;G<X;G++){let W=$[G];if(I$.test(W.type))Y.push(W);else{let q=X6(WL,W.type);if(!q?.type)throw new PX({abiParameter:W});let{array:U,type:N}=q;if(N in J){if(Q.has(N))throw new xX({type:N});Y.push({...W,type:`tuple${U??""}`,components:QH(J[N],J,new Set([...Q,N]))})}else if(kX(N))Y.push(W);else throw new BX({type:N})}}return Y}var WL;var v$=g(()=>{S3();b$();k$();AX();aN();C9();P9();WL=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/});function h$($){let J=T9($),Q=[],Y=$.length;for(let X=0;X<Y;X++){let G=$[X];if(S8(G))continue;Q.push(j3(G,J))}return Q}var YH=g(()=>{C9();v$();P9()});function g$($){let J;if(typeof $==="string")J=j3($);else{let Q=T9($),Y=$.length;for(let X=0;X<Y;X++){let G=$[X];if(S8(G))continue;J=j3(G,Q);break}}if(!J)throw new RX({signature:$});return J}var XH=g(()=>{b$();C9();v$();P9()});function m$($){let J=[];if(typeof $==="string"){let Q=r1($),Y=Q.length;for(let X=0;X<Y;X++)J.push(v6(Q[X],{modifiers:EX}))}else{let Q=T9($),Y=$.length;for(let X=0;X<Y;X++){let G=$[X];if(S8(G))continue;let W=r1(G),K=W.length;for(let q=0;q<K;q++)J.push(v6(W[q],{modifiers:EX,structs:Q}))}}if(J.length===0)throw new LX({params:$});return J}var GH=g(()=>{k$();C9();v$();P9();P9()});var C3=g(()=>{AN();wX();YH();XH();GH()});function KH($){let J=!0,Q="",Y=0,X="",G=!1;for(let W=0;W<$.length;W++){let K=$[W];if(["(",")",","].includes(K))J=!0;if(K==="(")Y++;if(K===")")Y--;if(!J)continue;if(Y===0){if(K===" "&&["event","function",""].includes(X))X="";else if(X+=K,K===")"){G=!0;break}continue}if(K===" "){if($[W-1]!==","&&Q!==","&&Q!==",(")Q="",J=!1;continue}X+=K,Q+=K}if(!G)throw new I("Unable to normalize signature.");return X}var qH=g(()=>{f0()});var UH=($)=>{let J=(()=>{if(typeof $==="string")return $;return E2($)})();return KH(J)};var NH=g(()=>{C3();qH()});function d$($){return jN(UH($))}var yX=g(()=>{CN();NH()});var j8;var P3=g(()=>{yX();j8=d$});var N5=($)=>p0(d$($),0,4);var I9=g(()=>{n5();yX()});function P1($){let{abi:J,args:Q=[],name:Y}=$,X=c0(Y,{strict:!1}),G=J.filter((K)=>{if(X){if(K.type==="function")return N5(K)===Y;if(K.type==="event")return j8(K)===Y;return!1}return"name"in K&&K.name===Y});if(G.length===0)return;if(G.length===1)return G[0];let W;for(let K of G){if(!("inputs"in K))continue;if(!Q||Q.length===0){if(!K.inputs||K.inputs.length===0)return K;continue}if(!K.inputs)continue;if(K.inputs.length===0)continue;if(K.inputs.length!==Q.length)continue;if(Q.every((U,N)=>{let H="inputs"in K&&K.inputs[N];if(!H)return!1;return vX(U,H)})){if(W&&"inputs"in W&&W.inputs){let U=HH(K.inputs,W.inputs,Q);if(U)throw new eY({abiItem:K,type:U[0]},{abiItem:W,type:U[1]})}W=K}}if(W)return W;return G[0]}function vX($,J){let Q=typeof $,Y=J.type;switch(Y){case"address":return T0($,{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 Q==="object"&&vX(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)=>vX(X,{...J,type:Y.replace(/(\[[0-9]{0,}\])$/,"")}));return!1}}}function HH($,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 HH(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 T0(Q[Y],{strict:!1});if(W.includes("address")&&W.includes("bytes"))return T0(Q[Y],{strict:!1});return!1})())return W}return}var s5=g(()=>{$1();f6();P3();I9()});function x1($){let{abi:J,args:Q,functionName:Y,data:X}=$,G=J[0];if(Y){let K=P1({abi:J,args:Q,name:Y});if(!K)throw new G5(Y,{docsPath:hX});G=K}if(G.type!=="function")throw new G5(void 0,{docsPath:hX});if(!G.outputs)throw new w3(G.name,{docsPath:hX});let W=C1(G.outputs,X);if(W&&W.length>1)return W;if(W&&W.length===1)return W[0];return}var hX="/docs/contract/decodeFunctionResult";var r5=g(()=>{$1();S9();s5()});function ZH($){let{abi:J,args:Q,functionName:Y}=$,X=J[0];if(Y){let G=P1({abi:J,args:Q,name:Y});if(!G)throw new G5(Y,{docsPath:fH});X=G}if(X.type!=="function")throw new G5(void 0,{docsPath:fH});return{abi:[X],functionName:N5(q1(X))}}var fH="/docs/contract/encodeFunctionData";var MH=g(()=>{$1();I9();h5();s5()});function r($){let{args:J}=$,{abi:Q,functionName:Y}=(()=>{if($.abi.length===1&&$.functionName?.startsWith("0x"))return $;return ZH($)})(),X=Q[0],G=Y,W="inputs"in X&&X.inputs?y0(X.inputs,J??[]):void 0;return D1([G,W??"0x"])}var G6=g(()=>{U5();MH()});var A9,u$,x9;var c$=g(()=>{f0();A9=class A9 extends I{constructor({blockNumber:$,chain:J,contract:Q}){super(`Chain "${J.name}" does not support contract "${Q.name}".`,{metaMessages:["This could be due to any of the following:",...$&&Q.blockCreated&&Q.blockCreated>$?[`- The contract "${Q.name}" was not deployed until block ${Q.blockCreated} (current block ${$}).`]:[`- The chain does not have the contract "${Q.name}" configured.`]],name:"ChainDoesNotSupportContract"})}};u$=class u$ extends I{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}};x9=class x9 extends I{constructor({chainId:$}){super(typeof $==="number"?`Chain ID "${$}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}});function Z6({blockNumber:$,chain:J,contract:Q}){let Y=J?.contracts?.[Q];if(!Y)throw new A9({chain:J,contract:{name:Q}});if($&&Y.blockCreated&&Y.blockCreated>$)throw new A9({blockNumber:$,chain:J,contract:{name:Q,blockCreated:Y.blockCreated}});return Y.address}var R2=g(()=>{c$()});var zH,p$,VH;var l$=g(()=>{zH={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},p$={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},VH={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"}});function n$($){let{abi:J,data:Q}=$,Y=p0(Q,0,4);if(Y==="0x")throw new x6;let G=[...J||[],p$,VH].find((W)=>W.type==="error"&&Y===N5(q1(W)));if(!G)throw new D3(Y,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:G,args:"inputs"in G&&G.inputs&&G.inputs.length>0?C1(G.inputs,p0(Q,4)):void 0,errorName:G.name}}var gX=g(()=>{l$();$1();n5();I9();S9();h5()});var L0=($,J,Q)=>JSON.stringify($,(Y,X)=>{let G=typeof X==="bigint"?X.toString():X;return typeof J==="function"?J(Y,G):G},Q);function mX({abiItem:$,args:J,includeFunctionName:Q=!0,includeName:Y=!1}){if(!("name"in $))return;if(!("inputs"in $))return;if(!$.inputs)return;return`${Q?$.name:""}(${$.inputs.map((X,G)=>`${Y&&X.name?`${X.name}: `:""}${typeof J[G]==="object"?L0(J[G]):J[G]}`).join(", ")})`}var OH=()=>{};var o$,DH;var i$=g(()=>{o$={gwei:9,wei:18},DH={ether:-9,wei:9}});function l0($,J){let Q=$.toString(),Y=Q.startsWith("-");if(Y)Q=Q.slice(1);Q=Q.padStart(J,"0");let[X,G]=[Q.slice(0,Q.length-J),Q.slice(Q.length-J)];return G=G.replace(/(0+)$/,""),`${Y?"-":""}${X||"0"}${G?`.${G}`:""}`}function t5($,J="wei"){return l0($,o$[J])}var T3=g(()=>{i$()});function N1($,J="wei"){return l0($,DH[J])}var b9=g(()=>{i$()});function wH($){return $.reduce((J,{slot:Q,value:Y})=>{return`${J} ${Q}: ${Y}
|
|
49
|
+
`},"")}function EH($){return $.reduce((J,{address:Q,...Y})=>{let X=`${J} ${Q}:
|
|
50
|
+
`;if(Y.nonce)X+=` nonce: ${Y.nonce}
|
|
51
|
+
`;if(Y.balance)X+=` balance: ${Y.balance}
|
|
52
|
+
`;if(Y.code)X+=` code: ${Y.code}
|
|
53
|
+
`;if(Y.state)X+=` state:
|
|
54
|
+
`,X+=wH(Y.state);if(Y.stateDiff)X+=` stateDiff:
|
|
55
|
+
`,X+=wH(Y.stateDiff);return X},` State Override:
|
|
56
|
+
`).slice(0,-1)}var dX,uX;var cX=g(()=>{f0();dX=class dX extends I{constructor({address:$}){super(`State for account "${$}" is set multiple times.`,{name:"AccountStateConflictError"})}};uX=class uX extends I{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}});function B2($){let J=Object.entries($).map(([Y,X])=>{if(X===void 0||X===!1)return null;return[Y,X]}).filter(Boolean),Q=J.reduce((Y,[X])=>Math.max(Y,X.length),0);return J.map(([Y,X])=>` ${`${Y}:`.padEnd(Q+1)} ${X}`).join(`
|
|
57
|
+
`)}var pX,lX,nX,oX,I3,A3,iX,sX;var h6=g(()=>{T3();b9();f0();pX=class pX extends I{constructor({v:$}){super(`Invalid \`v\` value "${$}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}};lX=class lX extends I{constructor({transaction:$}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",B2($),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}};nX=class nX extends I{constructor({storageKey:$}){super(`Size for storage key "${$}" is invalid. Expected 32 bytes. Got ${Math.floor(($.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}};oX=class oX extends I{constructor($,{account:J,docsPath:Q,chain:Y,data:X,gas:G,gasPrice:W,maxFeePerGas:K,maxPriorityFeePerGas:q,nonce:U,to:N,value:H}){let f=B2({chain:Y&&`${Y?.name} (id: ${Y?.id})`,from:J?.address,to:N,value:typeof H<"u"&&`${t5(H)} ${Y?.nativeCurrency?.symbol||"ETH"}`,data:X,gas:G,gasPrice:typeof W<"u"&&`${N1(W)} gwei`,maxFeePerGas:typeof K<"u"&&`${N1(K)} gwei`,maxPriorityFeePerGas:typeof q<"u"&&`${N1(q)} gwei`,nonce:U});super($.shortMessage,{cause:$,docsPath:Q,metaMessages:[...$.metaMessages?[...$.metaMessages," "]:[],"Request Arguments:",f].filter(Boolean),name:"TransactionExecutionError"});Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=$}};I3=class I3 extends I{constructor({blockHash:$,blockNumber:J,blockTag:Q,hash:Y,index:X}){let G="Transaction";if(Q&&X!==void 0)G=`Transaction at block time "${Q}" at index "${X}"`;if($&&X!==void 0)G=`Transaction at block hash "${$}" at index "${X}"`;if(J&&X!==void 0)G=`Transaction at block number "${J}" at index "${X}"`;if(Y)G=`Transaction with hash "${Y}"`;super(`${G} could not be found.`,{name:"TransactionNotFoundError"})}};A3=class A3 extends I{constructor({hash:$}){super(`Transaction receipt with hash "${$}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}};iX=class iX extends I{constructor({receipt:$}){super(`Transaction with hash "${$.transactionHash}" reverted.`,{metaMessages:['The receipt marked the transaction as "reverted". This could mean that the function on the contract you are trying to call threw an error.'," ","You can attempt to extract the revert reason by:","- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract","- using the `call` Action with raw `data`"],name:"TransactionReceiptRevertedError"});Object.defineProperty(this,"receipt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=$}};sX=class sX extends I{constructor({hash:$}){super(`Timed out while waiting for transaction with hash "${$}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}});var RH=($)=>$,_2=($)=>$;var k9,y9,H5,s$,r$,f5;var a5=g(()=>{l$();gX();h5();OH();s5();T3();b9();$1();f0();cX();h6();k9=class k9 extends I{constructor($,{account:J,docsPath:Q,chain:Y,data:X,gas:G,gasPrice:W,maxFeePerGas:K,maxPriorityFeePerGas:q,nonce:U,to:N,value:H,stateOverride:f}){let Z=J?h0(J):void 0,M=B2({from:Z?.address,to:N,value:typeof H<"u"&&`${t5(H)} ${Y?.nativeCurrency?.symbol||"ETH"}`,data:X,gas:G,gasPrice:typeof W<"u"&&`${N1(W)} gwei`,maxFeePerGas:typeof K<"u"&&`${N1(K)} gwei`,maxPriorityFeePerGas:typeof q<"u"&&`${N1(q)} gwei`,nonce:U});if(f)M+=`
|
|
58
|
+
${EH(f)}`;super($.shortMessage,{cause:$,docsPath:Q,metaMessages:[...$.metaMessages?[...$.metaMessages," "]:[],"Raw Call Arguments:",M].filter(Boolean),name:"CallExecutionError"});Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=$}};y9=class y9 extends I{constructor($,{abi:J,args:Q,contractAddress:Y,docsPath:X,functionName:G,sender:W}){let K=P1({abi:J,args:Q,name:G}),q=K?mX({abiItem:K,args:Q,includeFunctionName:!1,includeName:!1}):void 0,U=K?q1(K,{includeName:!0}):void 0,N=B2({address:Y&&RH(Y),function:U,args:q&&q!=="()"&&`${[...Array(G?.length??0).keys()].map(()=>" ").join("")}${q}`,sender:W});super($.shortMessage||`An unknown error occurred while executing the contract function "${G}".`,{cause:$,docsPath:X,metaMessages:[...$.metaMessages?[...$.metaMessages," "]:[],N&&"Contract Call:",N].filter(Boolean),name:"ContractFunctionExecutionError"});Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=J,this.args=Q,this.cause=$,this.contractAddress=Y,this.functionName=G,this.sender=W}};H5=class H5 extends I{constructor({abi:$,data:J,functionName:Q,message:Y}){let X,G,W,K;if(J&&J!=="0x")try{G=n$({abi:$,data:J});let{abiItem:U,errorName:N,args:H}=G;if(N==="Error")K=H[0];else if(N==="Panic"){let[f]=H;K=zH[f]}else{let f=U?q1(U,{includeName:!0}):void 0,Z=U&&H?mX({abiItem:U,args:H,includeFunctionName:!1,includeName:!1}):void 0;W=[f?`Error: ${f}`:"",Z&&Z!=="()"?` ${[...Array(N?.length??0).keys()].map(()=>" ").join("")}${Z}`:""]}}catch(U){X=U}else if(Y)K=Y;let q;if(X instanceof D3)q=X.signature,W=[`Unable to decode signature "${q}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${q}.`];super(K&&K!=="execution reverted"||q?[`The contract function "${Q}" reverted with the following ${q?"signature":"reason"}:`,K||q].join(`
|
|
59
|
+
`):`The contract function "${Q}" reverted.`,{cause:X,metaMessages:W,name:"ContractFunctionRevertedError"});Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=G,this.raw=J,this.reason=K,this.signature=q}};s$=class s$ extends I{constructor({functionName:$}){super(`The contract function "${$}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${$}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError"})}};r$=class r$ extends I{constructor({factory:$}){super(`Deployment for counterfactual contract call failed${$?` for factory "${$}".`:""}`,{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}};f5=class f5 extends I{constructor({data:$,message:J}){super(J||"",{name:"RawContractError"});Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=$}}});function BH($){let{abi:J,data:Q}=$,Y=p0(Q,0,4),X=J.find((G)=>G.type==="function"&&Y===N5(q1(G)));if(!X)throw new aY(Y,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:X.name,args:"inputs"in X&&X.inputs&&X.inputs.length>0?C1(X.inputs,p0(Q,4)):void 0}}var _H=g(()=>{$1();n5();I9();S9();h5()});function tX($){let{abi:J,errorName:Q,args:Y}=$,X=J[0];if(Q){let q=P1({abi:J,args:Y,name:Q});if(!q)throw new H$(Q,{docsPath:rX});X=q}if(X.type!=="error")throw new H$(void 0,{docsPath:rX});let G=q1(X),W=N5(G),K="0x";if(Y&&Y.length>0){if(!X.inputs)throw new sY(X.name,{docsPath:rX});K=y0(X.inputs,Y)}return D1([W,K])}var rX="/docs/contract/encodeErrorResult";var LH=g(()=>{$1();I9();U5();h5();s5()});function FH($){let{abi:J,functionName:Q,result:Y}=$,X=J[0];if(Q){let W=P1({abi:J,name:Q});if(!W)throw new G5(Q,{docsPath:aX});X=W}if(X.type!=="function")throw new G5(void 0,{docsPath:aX});if(!X.outputs)throw new w3(X.name,{docsPath:aX});let G=(()=>{if(X.outputs.length===0)return[];if(X.outputs.length===1)return[Y];if(Array.isArray(Y))return Y;throw new E3(Y)})();return y0(X.outputs,G)}var aX="/docs/contract/encodeFunctionResult";var SH=g(()=>{$1();U5();s5()});async function eX($){let{data:J,ccipRequest:Q}=$,{args:[Y]}=BH({abi:K$,data:J}),X=[],G=[];return await Promise.all(Y.map(async(W,K)=>{try{G[K]=W.urls.includes(e5)?await eX({data:W.data,ccipRequest:Q}):await Q(W),X[K]=!1}catch(q){X[K]=!0,G[K]=KL(q)}})),FH({abi:K$,functionName:"query",result:[X,G]})}function KL($){if($.name==="HttpRequestError"&&$.status)return tX({abi:K$,errorName:"HttpError",args:[$.status,$.shortMessage]});return tX({abi:[p$],errorName:"Error",args:["shortMessage"in $?$.shortMessage:$.message]})}var e5="x-batch-gateway:true";var x3=g(()=>{X5();l$();_H();LH();SH()});var g6,L2,a$;var F2=g(()=>{f0();g6=class g6 extends I{constructor({body:$,cause:J,details:Q,headers:Y,status:X,url:G}){super("HTTP request failed.",{cause:J,details:Q,metaMessages:[X&&`Status: ${X}`,`URL: ${_2(G)}`,$&&`Request body: ${L0($)}`].filter(Boolean),name:"HttpRequestError"});Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=$,this.headers=Y,this.status=X,this.url=G}};L2=class L2 extends I{constructor({body:$,error:J,url:Q}){super("RPC Request failed.",{cause:J,details:J.message,metaMessages:[`URL: ${_2(Q)}`,`Request body: ${L0($)}`],name:"RpcRequestError"});Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=J.code,this.data=J.data,this.url=Q}};a$=class a$ extends I{constructor({body:$,url:J}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${_2(J)}`,`Request body: ${L0($)}`],name:"TimeoutError"});Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=J}}});var qL=-1,g1,m1,g9,m9,d9,u9,$8,M6,c9,p9,l9,C8,S2,n9,j2,o9,i9,s9,r9,t9,a9,e9,$4,J4,Q4,Y4,X4,G4,$G;var k3=g(()=>{f0();F2();g1=class g1 extends I{constructor($,{code:J,docsPath:Q,metaMessages:Y,name:X,shortMessage:G}){super(G,{cause:$,docsPath:Q,metaMessages:Y||$?.metaMessages,name:X||"RpcError"});Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=X||$.name,this.code=$ instanceof L2?$.code:J??qL}};m1=class m1 extends g1{constructor($,J){super($,J);Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=J.data}};g9=class g9 extends g1{constructor($){super($,{code:g9.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}};Object.defineProperty(g9,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});m9=class m9 extends g1{constructor($){super($,{code:m9.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}};Object.defineProperty(m9,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});d9=class d9 extends g1{constructor($,{method:J}={}){super($,{code:d9.code,name:"MethodNotFoundRpcError",shortMessage:`The method${J?` "${J}"`:""} does not exist / is not available.`})}};Object.defineProperty(d9,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});u9=class u9 extends g1{constructor($){super($,{code:u9.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(`
|
|
60
|
+
`)})}};Object.defineProperty(u9,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});$8=class $8 extends g1{constructor($){super($,{code:$8.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}};Object.defineProperty($8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});M6=class M6 extends g1{constructor($){super($,{code:M6.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(`
|
|
61
|
+
`)})}};Object.defineProperty(M6,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32000});c9=class c9 extends g1{constructor($){super($,{code:c9.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}};Object.defineProperty(c9,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});p9=class p9 extends g1{constructor($){super($,{code:p9.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}};Object.defineProperty(p9,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});l9=class l9 extends g1{constructor($){super($,{code:l9.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}};Object.defineProperty(l9,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});C8=class C8 extends g1{constructor($,{method:J}={}){super($,{code:C8.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${J?` "${J}"`:""} is not supported.`})}};Object.defineProperty(C8,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});S2=class S2 extends g1{constructor($){super($,{code:S2.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}};Object.defineProperty(S2,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});n9=class n9 extends g1{constructor($){super($,{code:n9.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}};Object.defineProperty(n9,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});j2=class j2 extends m1{constructor($){super($,{code:j2.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}};Object.defineProperty(j2,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});o9=class o9 extends m1{constructor($){super($,{code:o9.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}};Object.defineProperty(o9,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});i9=class i9 extends m1{constructor($,{method:J}={}){super($,{code:i9.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${J?` " ${J}"`:""}.`})}};Object.defineProperty(i9,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});s9=class s9 extends m1{constructor($){super($,{code:s9.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}};Object.defineProperty(s9,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});r9=class r9 extends m1{constructor($){super($,{code:r9.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}};Object.defineProperty(r9,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});t9=class t9 extends m1{constructor($){super($,{code:t9.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}};Object.defineProperty(t9,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});a9=class a9 extends m1{constructor($){super($,{code:a9.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}};Object.defineProperty(a9,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});e9=class e9 extends m1{constructor($){super($,{code:e9.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}};Object.defineProperty(e9,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});$4=class $4 extends m1{constructor($){super($,{code:$4.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}};Object.defineProperty($4,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});J4=class J4 extends m1{constructor($){super($,{code:J4.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}};Object.defineProperty(J4,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});Q4=class Q4 extends m1{constructor($){super($,{code:Q4.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}};Object.defineProperty(Q4,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});Y4=class Y4 extends m1{constructor($){super($,{code:Y4.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}};Object.defineProperty(Y4,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});X4=class X4 extends m1{constructor($){super($,{code:X4.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}};Object.defineProperty(X4,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});G4=class G4 extends m1{constructor($){super($,{code:G4.code,name:"WalletConnectSessionSettlementError",shortMessage:"WalletConnect session settlement failed."})}};Object.defineProperty(G4,"code",{enumerable:!0,configurable:!0,writable:!0,value:7000});$G=class $G extends g1{constructor($){super($,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}});function W4($){return $ instanceof Uint8Array||ArrayBuffer.isView($)&&$.constructor.name==="Uint8Array"}function Q8($){if(!W4($))throw Error("Uint8Array expected")}function K4($,J){if(typeof J!=="boolean")throw Error($+" boolean expected, got "+J)}function y3($){let J=$.toString(16);return J.length&1?"0"+J:J}function IH($){if(typeof $!=="string")throw Error("hex string expected, got "+typeof $);return $===""?XG:BigInt("0x"+$)}function q4($){if(Q8($),AH)return $.toHex();let J="";for(let Q=0;Q<$.length;Q++)J+=NL[$[Q]];return J}function PH($){if($>=J8._0&&$<=J8._9)return $-J8._0;if($>=J8.A&&$<=J8.F)return $-(J8.A-10);if($>=J8.a&&$<=J8.f)return $-(J8.a-10);return}function v3($){if(typeof $!=="string")throw Error("hex string expected, got "+typeof $);if(AH)return Uint8Array.fromHex($);let J=$.length,Q=J/2;if(J%2)throw Error("hex string expected, got unpadded hex of length "+J);let Y=new Uint8Array(Q);for(let X=0,G=0;X<Q;X++,G+=2){let W=PH($.charCodeAt(G)),K=PH($.charCodeAt(G+1));if(W===void 0||K===void 0){let q=$[G]+$[G+1];throw Error('hex string expected, got non-hex character "'+q+'" at index '+G)}Y[X]=W*16+K}return Y}function t1($){return IH(q4($))}function GG($){return Q8($),IH(q4(Uint8Array.from($).reverse()))}function Z5($,J){return v3($.toString(16).padStart(J*2,"0"))}function WG($,J){return Z5($,J).reverse()}function G1($,J,Q){let Y;if(typeof J==="string")try{Y=v3(J)}catch(G){throw Error($+" must be hex string or Uint8Array, cause: "+G)}else if(W4(J))Y=Uint8Array.from(J);else throw Error($+" must be hex string or Uint8Array");let X=Y.length;if(typeof Q==="number"&&X!==Q)throw Error($+" of length "+Q+" expected, got "+X);return Y}function d1(...$){let J=0;for(let Y=0;Y<$.length;Y++){let X=$[Y];Q8(X),J+=X.length}let Q=new Uint8Array(J);for(let Y=0,X=0;Y<$.length;Y++){let G=$[Y];Q.set(G,X),X+=G.length}return Q}function e$($){if(typeof $!=="string")throw Error("string expected");return new Uint8Array(new TextEncoder().encode($))}function C2($,J,Q){return JG($)&&JG(J)&&JG(Q)&&J<=$&&$<Q}function Y8($,J,Q,Y){if(!C2(J,Q,Y))throw Error("expected valid "+$+": "+Q+" <= n < "+Y+", got "+J)}function xH($){let J;for(J=0;$>XG;$>>=YG,J+=1);return J}function bH($,J,Q){if(typeof $!=="number"||$<2)throw Error("hashLen must be a number");if(typeof J!=="number"||J<2)throw Error("qByteLen must be a number");if(typeof Q!=="function")throw Error("hmacFn must be a function");let Y=QG($),X=QG($),G=0,W=()=>{Y.fill(1),X.fill(0),G=0},K=(...H)=>Q(X,Y,...H),q=(H=QG(0))=>{if(X=K(TH([0]),H),Y=K(),H.length===0)return;X=K(TH([1]),H),Y=K()},U=()=>{if(G++>=1000)throw Error("drbg: tried 1000 values");let H=0,f=[];while(H<J){Y=K();let Z=Y.slice();f.push(Z),H+=Y.length}return d1(...f)};return(H,f)=>{W(),q(H);let Z=void 0;while(!(Z=f(U())))q();return W(),Z}}function X8($,J,Q={}){let Y=(X,G,W)=>{let K=HL[G];if(typeof K!=="function")throw Error("invalid validator function");let q=$[X];if(W&&q===void 0)return;if(!K(q,$))throw Error("param "+String(X)+" is invalid. Expected "+G+", got "+q)};for(let[X,G]of Object.entries(J))Y(X,G,!1);for(let[X,G]of Object.entries(Q))Y(X,G,!0);return $}function KG($){let J=new WeakMap;return(Q,...Y)=>{let X=J.get(Q);if(X!==void 0)return X;let G=$(Q,...Y);return J.set(Q,G),G}}var XG,YG,AH,NL,J8,JG=($)=>typeof $==="bigint"&&XG<=$,P2=($)=>(YG<<BigInt($))-YG,QG=($)=>new Uint8Array($),TH=($)=>Uint8Array.from($),HL;var U4=g(()=>{/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */XG=BigInt(0),YG=BigInt(1);AH=typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function",NL=Array.from({length:256},($,J)=>J.toString(16).padStart(2,"0"));J8={_0:48,_9:57,A:65,F:70,a:97,f:102};HL={bigint:($)=>typeof $==="bigint",function:($)=>typeof $==="function",boolean:($)=>typeof $==="boolean",string:($)=>typeof $==="string",stringOrUint8Array:($)=>typeof $==="string"||W4($),isSafeInteger:($)=>Number.isSafeInteger($),array:($)=>Array.isArray($),field:($,J)=>J.Fp.isValid($),hash:($)=>typeof $==="function"&&Number.isSafeInteger($.outputLen)}});var kH="0.1.1";function yH(){return kH}var vH=()=>{};function hH($,J){if(J?.($))return $;if($&&typeof $==="object"&&"cause"in $&&$.cause)return hH($.cause,J);return J?null:$}var s;var a1=g(()=>{vH();s=class s extends Error{static setStaticOptions($){s.prototype.docsOrigin=$.docsOrigin,s.prototype.showVersion=$.showVersion,s.prototype.version=$.version}constructor($,J={}){let Q=(()=>{if(J.cause instanceof s){if(J.cause.details)return J.cause.details;if(J.cause.shortMessage)return J.cause.shortMessage}if(J.cause&&"details"in J.cause&&typeof J.cause.details==="string")return J.cause.details;if(J.cause?.message)return J.cause.message;return J.details})(),Y=(()=>{if(J.cause instanceof s)return J.cause.docsPath||J.docsPath;return J.docsPath})(),X=J.docsOrigin??s.prototype.docsOrigin,G=`${X}${Y??""}`,W=Boolean(J.version??s.prototype.showVersion),K=J.version??s.prototype.version,q=[$||"An error occurred.",...J.metaMessages?["",...J.metaMessages]:[],...Q||Y||W?["",Q?`Details: ${Q}`:void 0,Y?`See: ${G}`:void 0,W?`Version: ${K}`:void 0]:[]].filter((U)=>typeof U==="string").join(`
|
|
62
|
+
`);super(q,J.cause?{cause:J.cause}:void 0);Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsOrigin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.cause=J.cause,this.details=Q,this.docs=G,this.docsOrigin=X,this.docsPath=Y,this.shortMessage=$,this.showVersion=W,this.version=K}walk($){return hH(this,$)}};Object.defineProperty(s,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${yH()}`}});(()=>{s.setStaticOptions(s.defaultStaticOptions)})()});function N4($,J){if(z6($)>J)throw new NG({givenSize:z6($),maxSize:J})}function gH($,J){if(typeof J==="number"&&J>0&&J>z6($)-1)throw new $J({offset:J,position:"start",size:z6($)})}function mH($,J,Q){if(typeof J==="number"&&typeof Q==="number"&&z6($)!==Q-J)throw new $J({offset:Q,position:"end",size:z6($)})}function qG($){if($>=G8.zero&&$<=G8.nine)return $-G8.zero;if($>=G8.A&&$<=G8.F)return $-(G8.A-10);if($>=G8.a&&$<=G8.f)return $-(G8.a-10);return}function dH($,J={}){let{dir:Q,size:Y=32}=J;if(Y===0)return $;if($.length>Y)throw new HG({size:$.length,targetSize:Y,type:"Bytes"});let X=new Uint8Array(Y);for(let G=0;G<Y;G++){let W=Q==="right";X[W?G:Y-G-1]=$[W?G:$.length-G-1]}return X}function UG($,J={}){let{dir:Q="left"}=J,Y=$,X=0;for(let G=0;G<Y.length-1;G++)if(Y[Q==="left"?G:Y.length-G-1].toString()==="0")X++;else break;return Y=Q==="left"?Y.slice(X):Y.slice(0,Y.length-X),Y}var G8;var uH=g(()=>{P8();G8={zero:48,nine:57,A:65,F:70,a:97,f:102}});function H4($,J){if(n0($)>J)throw new MG({givenSize:n0($),maxSize:J})}function cH($,J){if(typeof J==="number"&&J>0&&J>n0($)-1)throw new JJ({offset:J,position:"start",size:n0($)})}function pH($,J,Q){if(typeof J==="number"&&typeof Q==="number"&&n0($)!==Q-J)throw new JJ({offset:Q,position:"end",size:n0($)})}function fG($,J={}){let{dir:Q,size:Y=32}=J;if(Y===0)return $;let X=$.replace("0x","");if(X.length>Y*2)throw new zG({size:Math.ceil(X.length/2),targetSize:Y,type:"Hex"});return`0x${X[Q==="right"?"padEnd":"padStart"](Y*2,"0")}`}function lH($,J={}){let{dir:Q="left"}=J,Y=$.replace("0x",""),X=0;for(let G=0;G<Y.length-1;G++)if(Y[Q==="left"?G:Y.length-G-1].toString()==="0")X++;else break;if(Y=Q==="left"?Y.slice(X):Y.slice(0,Y.length-X),Y==="0")return"0x";if(Q==="right"&&Y.length%2===1)return`0x${Y}0`;return`0x${Y}`}var ZG=g(()=>{w1()});function T8($,J,Q){return JSON.stringify($,(Y,X)=>{if(typeof J==="function")return J(Y,X);if(typeof X==="bigint")return X.toString()+"#__bigint";return X},Q)}function zL($){if($ instanceof Uint8Array)return;if(!$)throw new h3($);if(typeof $!=="object")throw new h3($);if(!("BYTES_PER_ELEMENT"in $))throw new h3($);if($.BYTES_PER_ELEMENT!==1||$.constructor.name!=="Uint8Array")throw new h3($)}function oH($){if($ instanceof Uint8Array)return $;if(typeof $==="string")return f4($);return VL($)}function VL($){return $ instanceof Uint8Array?$:new Uint8Array($)}function f4($,J={}){let{size:Q}=J,Y=$;if(Q)H4($,Q),Y=z5($,Q);let X=Y.slice(2);if(X.length%2)X=`0${X}`;let G=X.length/2,W=new Uint8Array(G);for(let K=0,q=0;K<G;K++){let U=qG(X.charCodeAt(q++)),N=qG(X.charCodeAt(q++));if(U===void 0||N===void 0)throw new s(`Invalid byte sequence ("${X[q-2]}${X[q-1]}" in "${X}").`);W[K]=U<<4|N}return W}function iH($,J={}){let{size:Q}=J,Y=ML.encode($);if(typeof Q==="number")return N4(Y,Q),OL(Y,Q);return Y}function OL($,J){return dH($,{dir:"right",size:J})}function z6($){return $.length}function sH($,J,Q,Y={}){let{strict:X}=Y;gH($,J);let G=$.slice(J,Q);if(X)mH(G,J,Q);return G}function rH($,J={}){let{size:Q}=J;if(typeof Q<"u")N4($,Q);let Y=Q1($,J);return OG(Y,J)}function tH($,J={}){let{size:Q}=J,Y=$;if(typeof Q<"u")N4(Y,Q),Y=VG(Y);if(Y.length>1||Y[0]>1)throw new $f(Y);return Boolean(Y[0])}function M5($,J={}){let{size:Q}=J;if(typeof Q<"u")N4($,Q);let Y=Q1($,J);return YJ(Y,J)}function aH($,J={}){let{size:Q}=J,Y=$;if(typeof Q<"u")N4(Y,Q),Y=DL(Y);return ZL.decode(Y)}function VG($){return UG($,{dir:"left"})}function DL($){return UG($,{dir:"right"})}function eH($){try{return zL($),!0}catch{return!1}}var ZL,ML,$f,h3,NG,$J,HG;var P8=g(()=>{a1();w1();uH();ZG();ZL=new TextDecoder,ML=new TextEncoder;$f=class $f extends s{constructor($){super(`Bytes value \`${$}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"})}};h3=class h3 extends s{constructor($){super(`Value \`${typeof $==="object"?T8($):$}\` of type \`${typeof $}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"})}};NG=class NG extends s{constructor({givenSize:$,maxSize:J}){super(`Size cannot exceed \`${J}\` bytes. Given size: \`${$}\` bytes.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}};$J=class $J extends s{constructor({offset:$,position:J,size:Q}){super(`Slice ${J==="start"?"starting":"ending"} at offset \`${$}\` is out-of-bounds (size: \`${Q}\`).`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"})}};HG=class HG extends s{constructor({size:$,targetSize:J,type:Q}){super(`${Q.charAt(0).toUpperCase()}${Q.slice(1).toLowerCase()} size (\`${$}\`) exceeds padding size (\`${J}\`).`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}}});function RL($,J={}){let{strict:Q=!1}=J;if(!$)throw new DG($);if(typeof $!=="string")throw new DG($);if(Q){if(!/^0x[0-9a-fA-F]*$/.test($))throw new wG($)}if(!$.startsWith("0x"))throw new wG($)}function r0(...$){return`0x${$.reduce((J,Q)=>J+Q.replace("0x",""),"")}`}function Z4($){if($ instanceof Uint8Array)return Q1($);if(Array.isArray($))return Q1(new Uint8Array($));return $}function XJ($,J={}){let Q=`0x${Number($)}`;if(typeof J.size==="number")return H4(Q,J.size),W8(Q,J.size);return Q}function Q1($,J={}){let Q="";for(let X=0;X<$.length;X++)Q+=EL[$[X]];let Y=`0x${Q}`;if(typeof J.size==="number")return H4(Y,J.size),z5(Y,J.size);return Y}function F0($,J={}){let{signed:Q,size:Y}=J,X=BigInt($),G;if(Y)if(Q)G=(1n<<BigInt(Y)*8n-1n)-1n;else G=2n**(BigInt(Y)*8n)-1n;else if(typeof $==="number")G=BigInt(Number.MAX_SAFE_INTEGER);let W=typeof G==="bigint"&&Q?-G-1n:0;if(G&&X>G||X<W){let U=typeof $==="bigint"?"n":"";throw new GJ({max:G?`${G}${U}`:void 0,min:`${W}${U}`,signed:Q,size:Y,value:`${$}${U}`})}let q=`0x${(Q&&X<0?BigInt.asUintN(Y*8,BigInt(X)):X).toString(16)}`;if(Y)return W8(q,Y);return q}function M4($,J={}){return Q1(wL.encode($),J)}function W8($,J){return fG($,{dir:"left",size:J})}function z5($,J){return fG($,{dir:"right",size:J})}function o0($,J,Q,Y={}){let{strict:X}=Y;cH($,J);let G=`0x${$.replace("0x","").slice((J??0)*2,(Q??$.length)*2)}`;if(X)pH(G,J,Q);return G}function n0($){return Math.ceil(($.length-2)/2)}function EG($){return lH($,{dir:"left"})}function OG($,J={}){let{signed:Q}=J;if(J.size)H4($,J.size);let Y=BigInt($);if(!Q)return Y;let X=($.length-2)/2,G=(1n<<BigInt(X)*8n)-1n,W=G>>1n;if(Y<=W)return Y;return Y-G-1n}function YJ($,J={}){let{signed:Q,size:Y}=J;if(!Q&&!Y)return Number($);return Number(OG($,J))}function g3($,J={}){let{strict:Q=!1}=J;try{return RL($,{strict:Q}),!0}catch{return!1}}var wL,EL,GJ,DG,wG,MG,JJ,zG;var w1=g(()=>{a1();ZG();wL=new TextEncoder,EL=Array.from({length:256},($,J)=>J.toString(16).padStart(2,"0"));GJ=class GJ extends s{constructor({max:$,min:J,signed:Q,size:Y,value:X}){super(`Number \`${X}\` is not in safe${Y?` ${Y*8}-bit`:""}${Q?" signed":" unsigned"} integer range ${$?`(\`${J}\` to \`${$}\`)`:`(above \`${J}\`)`}`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}};DG=class DG extends s{constructor($){super(`Value \`${typeof $==="object"?T8($):$}\` of type \`${typeof $}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}};wG=class wG extends s{constructor($){super(`Value \`${$}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}};MG=class MG extends s{constructor({givenSize:$,maxSize:J}){super(`Size cannot exceed \`${J}\` bytes. Given size: \`${$}\` bytes.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}};JJ=class JJ extends s{constructor({offset:$,position:J,size:Q}){super(`Slice ${J==="start"?"starting":"ending"} at offset \`${$}\` is out-of-bounds (size: \`${Q}\`).`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}};zG=class zG extends s{constructor({size:$,targetSize:J,type:Q}){super(`${Q.charAt(0).toUpperCase()}${Q.slice(1).toLowerCase()} size (\`${$}\`) exceeds padding size (\`${J}\`).`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}});function Jf($){return{address:$.address,amount:F0($.amount),index:F0($.index),validatorIndex:F0($.validatorIndex)}}var Qf=g(()=>{w1()});function WJ($){return{...typeof $.baseFeePerGas==="bigint"&&{baseFeePerGas:F0($.baseFeePerGas)},...typeof $.blobBaseFee==="bigint"&&{blobBaseFee:F0($.blobBaseFee)},...typeof $.feeRecipient==="string"&&{feeRecipient:$.feeRecipient},...typeof $.gasLimit==="bigint"&&{gasLimit:F0($.gasLimit)},...typeof $.number==="bigint"&&{number:F0($.number)},...typeof $.prevRandao==="bigint"&&{prevRandao:F0($.prevRandao)},...typeof $.time==="bigint"&&{time:F0($.time)},...$.withdrawals&&{withdrawals:$.withdrawals.map(Jf)}}}var RG=g(()=>{w1();Qf()});var Xf="0x82ad56cb";var KJ="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",Gf="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",Wf="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",z4="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033";function m3($){let{abi:J,args:Q,bytecode:Y}=$;if(!Q||Q.length===0)return Y;let X=J.find((W)=>("type"in W)&&W.type==="constructor");if(!X)throw new lY({docsPath:BG});if(!("inputs"in X))throw new N$({docsPath:BG});if(!X.inputs||X.inputs.length===0)throw new N$({docsPath:BG});let G=y0(X.inputs,Q);return D1([Y,G])}var BG="/docs/contract/encodeDeployData";var _G=g(()=>{$1();U5()});var I8,d6,d3,u3,c3,p3,l3,n3,o3,i3,K8,u6;var A8=g(()=>{b9();f0();I8=class I8 extends I{constructor({cause:$,message:J}={}){let Q=J?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${Q?`with reason: ${Q}`:"for an unknown reason"}.`,{cause:$,name:"ExecutionRevertedError"})}};Object.defineProperty(I8,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(I8,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});d6=class d6 extends I{constructor({cause:$,maxFeePerGas:J}={}){super(`The fee cap (\`maxFeePerGas\`${J?` = ${N1(J)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:$,name:"FeeCapTooHighError"})}};Object.defineProperty(d6,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});d3=class d3 extends I{constructor({cause:$,maxFeePerGas:J}={}){super(`The fee cap (\`maxFeePerGas\`${J?` = ${N1(J)}`:""} gwei) cannot be lower than the block base fee.`,{cause:$,name:"FeeCapTooLowError"})}};Object.defineProperty(d3,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});u3=class u3 extends I{constructor({cause:$,nonce:J}={}){super(`Nonce provided for the transaction ${J?`(${J}) `:""}is higher than the next one expected.`,{cause:$,name:"NonceTooHighError"})}};Object.defineProperty(u3,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});c3=class c3 extends I{constructor({cause:$,nonce:J}={}){super([`Nonce provided for the transaction ${J?`(${J}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
|
|
63
|
+
`),{cause:$,name:"NonceTooLowError"})}};Object.defineProperty(c3,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});p3=class p3 extends I{constructor({cause:$,nonce:J}={}){super(`Nonce provided for the transaction ${J?`(${J}) `:""}exceeds the maximum allowed nonce.`,{cause:$,name:"NonceMaxValueError"})}};Object.defineProperty(p3,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});l3=class l3 extends I{constructor({cause:$}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(`
|
|
64
|
+
`),{cause:$,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}};Object.defineProperty(l3,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});n3=class n3 extends I{constructor({cause:$,gas:J}={}){super(`The amount of gas ${J?`(${J}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:$,name:"IntrinsicGasTooHighError"})}};Object.defineProperty(n3,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});o3=class o3 extends I{constructor({cause:$,gas:J}={}){super(`The amount of gas ${J?`(${J}) `:""}provided for the transaction is too low.`,{cause:$,name:"IntrinsicGasTooLowError"})}};Object.defineProperty(o3,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});i3=class i3 extends I{constructor({cause:$}){super("The transaction type is not supported for this chain.",{cause:$,name:"TransactionTypeNotSupportedError"})}};Object.defineProperty(i3,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});K8=class K8 extends I{constructor({cause:$,maxPriorityFeePerGas:J,maxFeePerGas:Q}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${J?` = ${N1(J)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${Q?` = ${N1(Q)} gwei`:""}).`].join(`
|
|
65
|
+
`),{cause:$,name:"TipAboveFeeCapError"})}};Object.defineProperty(K8,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});u6=class u6 extends I{constructor({cause:$}){super(`An error occurred while executing: ${$?.shortMessage}`,{cause:$,name:"UnknownNodeError"})}}});function x8($,J){let Q=($.details||"").toLowerCase(),Y=$ instanceof I?$.walk((X)=>X?.code===I8.code):$;if(Y instanceof I)return new I8({cause:$,message:Y.details});if(I8.nodeMessage.test(Q))return new I8({cause:$,message:$.details});if(d6.nodeMessage.test(Q))return new d6({cause:$,maxFeePerGas:J?.maxFeePerGas});if(d3.nodeMessage.test(Q))return new d3({cause:$,maxFeePerGas:J?.maxFeePerGas});if(u3.nodeMessage.test(Q))return new u3({cause:$,nonce:J?.nonce});if(c3.nodeMessage.test(Q))return new c3({cause:$,nonce:J?.nonce});if(p3.nodeMessage.test(Q))return new p3({cause:$,nonce:J?.nonce});if(l3.nodeMessage.test(Q))return new l3({cause:$});if(n3.nodeMessage.test(Q))return new n3({cause:$,gas:J?.gas});if(o3.nodeMessage.test(Q))return new o3({cause:$,gas:J?.gas});if(i3.nodeMessage.test(Q))return new i3({cause:$});if(K8.nodeMessage.test(Q))return new K8({cause:$,maxFeePerGas:J?.maxFeePerGas,maxPriorityFeePerGas:J?.maxPriorityFeePerGas});return new u6({cause:$})}var s3=g(()=>{f0();A8()});function qJ($,{docsPath:J,...Q}){let Y=(()=>{let X=x8($,Q);if(X instanceof u6)return $;return X})();return new k9(Y,{docsPath:J,...Q})}var LG=g(()=>{a5();A8();s3()});function b8($,{format:J}){if(!J)return{};let Q={};function Y(G){let W=Object.keys(G);for(let K of W){if(K in $)Q[K]=$[K];if(G[K]&&typeof G[K]==="object"&&!Array.isArray(G[K]))Y(G[K])}}let X=J($||{});return Y(X),Q}function V4($,J){return({exclude:Q,format:Y})=>{return{exclude:Q,format:(X,G)=>{let W=J(X,G);if(Q)for(let K of Q)delete W[K];return{...W,...Y(X,G)}},type:$}}}function V5($,J){let Q={};if(typeof $.authorizationList<"u")Q.authorizationList=LL($.authorizationList);if(typeof $.accessList<"u")Q.accessList=$.accessList;if(typeof $.blobVersionedHashes<"u")Q.blobVersionedHashes=$.blobVersionedHashes;if(typeof $.blobs<"u")if(typeof $.blobs[0]!=="string")Q.blobs=$.blobs.map((Y)=>R0(Y));else Q.blobs=$.blobs;if(typeof $.data<"u")Q.data=$.data;if($.account)Q.from=$.account.address;if(typeof $.from<"u")Q.from=$.from;if(typeof $.gas<"u")Q.gas=h($.gas);if(typeof $.gasPrice<"u")Q.gasPrice=h($.gasPrice);if(typeof $.maxFeePerBlobGas<"u")Q.maxFeePerBlobGas=h($.maxFeePerBlobGas);if(typeof $.maxFeePerGas<"u")Q.maxFeePerGas=h($.maxFeePerGas);if(typeof $.maxPriorityFeePerGas<"u")Q.maxPriorityFeePerGas=h($.maxPriorityFeePerGas);if(typeof $.nonce<"u")Q.nonce=h($.nonce);if(typeof $.to<"u")Q.to=$.to;if(typeof $.type<"u")Q.type=_L[$.type];if(typeof $.value<"u")Q.value=h($.value);return Q}function LL($){return $.map((J)=>({address:J.address,r:J.r?h(BigInt(J.r)):J.r,s:J.s?h(BigInt(J.s)):J.s,chainId:h(J.chainId),nonce:h(J.nonce),...typeof J.yParity<"u"?{yParity:h(J.yParity)}:{},...typeof J.v<"u"&&typeof J.yParity>"u"?{v:h(J.v)}:{}}))}var _L;var O4=g(()=>{G0();_L={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"}});function UJ(){let $=()=>{return},J=()=>{return};return{promise:new Promise((Y,X)=>{$=Y,J=X}),resolve:$,reject:J}}function NJ({fn:$,id:J,shouldSplitBatch:Q,wait:Y=0,sort:X}){let G=async()=>{let N=q();W();let H=N.map(({args:f})=>f);if(H.length===0)return;$(H).then((f)=>{if(X&&Array.isArray(f))f.sort(X);for(let Z=0;Z<N.length;Z++){let{resolve:M}=N[Z];M?.([f[Z],f])}}).catch((f)=>{for(let Z=0;Z<N.length;Z++){let{reject:M}=N[Z];M?.(f)}})},W=()=>FG.delete(J),K=()=>q().map(({args:N})=>N),q=()=>FG.get(J)||[],U=(N)=>FG.set(J,[...q(),N]);return{flush:W,async schedule(N){let{promise:H,resolve:f,reject:Z}=UJ();if(Q?.([...K(),N]))G();if(q().length>0)return U({args:N,resolve:f,reject:Z}),H;return U({args:N,resolve:f,reject:Z}),setTimeout(G,Y),H}}}var FG;var SG=g(()=>{FG=new Map});function Kf($){if(!$||$.length===0)return;return $.reduce((J,{slot:Q,value:Y})=>{if(Q.length!==66)throw new z$({size:Q.length,targetSize:66,type:"hex"});if(Y.length!==66)throw new z$({size:Y.length,targetSize:66,type:"hex"});return J[Q]=Y,J},{})}function FL($){let{balance:J,nonce:Q,state:Y,stateDiff:X,code:G}=$,W={};if(G!==void 0)W.code=G;if(J!==void 0)W.balance=h(J);if(Q!==void 0)W.nonce=h(Q);if(Y!==void 0)W.state=Kf(Y);if(X!==void 0){if(W.state)throw new uX;W.stateDiff=Kf(X)}return W}function D4($){if(!$)return;let J={};for(let{address:Q,...Y}of $){if(!T0(Q,{strict:!1}))throw new g0({address:Q});if(J[Q])throw new dX({address:Q});J[Q]=FL(Y)}return J}var HJ=g(()=>{W5();V$();cX();f6();G0()});var SL,jL,CL,PL,TL,IL,AL,xL,bL,kL,yL,vL,hL,gL,mL,dL,uL,cL,pL,lL,nL,oL,iL,sL,rL,tL,aL,eL,$F,JF,QF,YF,XF,GF,WF,KF,qF,UF,NF,HF,fF,ZF,MF,zF,VF,OF,DF,wF,EF,RF,BF,_F,LF,FF,SF,jF,CF,PF,TF,IF,AF,xF,bF,kF,yF,vF,hF,gF,mF,dF,uF,cF,pF,lF,nF,w4,oF,iF,sF,rF,tF,aF,eF,$S,JS,QS,YS,XS,GS,WS,KS,qS,US,NS,HS,e0;var fJ=g(()=>{SL=2n**(8n-1n)-1n,jL=2n**(16n-1n)-1n,CL=2n**(24n-1n)-1n,PL=2n**(32n-1n)-1n,TL=2n**(40n-1n)-1n,IL=2n**(48n-1n)-1n,AL=2n**(56n-1n)-1n,xL=2n**(64n-1n)-1n,bL=2n**(72n-1n)-1n,kL=2n**(80n-1n)-1n,yL=2n**(88n-1n)-1n,vL=2n**(96n-1n)-1n,hL=2n**(104n-1n)-1n,gL=2n**(112n-1n)-1n,mL=2n**(120n-1n)-1n,dL=2n**(128n-1n)-1n,uL=2n**(136n-1n)-1n,cL=2n**(144n-1n)-1n,pL=2n**(152n-1n)-1n,lL=2n**(160n-1n)-1n,nL=2n**(168n-1n)-1n,oL=2n**(176n-1n)-1n,iL=2n**(184n-1n)-1n,sL=2n**(192n-1n)-1n,rL=2n**(200n-1n)-1n,tL=2n**(208n-1n)-1n,aL=2n**(216n-1n)-1n,eL=2n**(224n-1n)-1n,$F=2n**(232n-1n)-1n,JF=2n**(240n-1n)-1n,QF=2n**(248n-1n)-1n,YF=2n**(256n-1n)-1n,XF=-(2n**(8n-1n)),GF=-(2n**(16n-1n)),WF=-(2n**(24n-1n)),KF=-(2n**(32n-1n)),qF=-(2n**(40n-1n)),UF=-(2n**(48n-1n)),NF=-(2n**(56n-1n)),HF=-(2n**(64n-1n)),fF=-(2n**(72n-1n)),ZF=-(2n**(80n-1n)),MF=-(2n**(88n-1n)),zF=-(2n**(96n-1n)),VF=-(2n**(104n-1n)),OF=-(2n**(112n-1n)),DF=-(2n**(120n-1n)),wF=-(2n**(128n-1n)),EF=-(2n**(136n-1n)),RF=-(2n**(144n-1n)),BF=-(2n**(152n-1n)),_F=-(2n**(160n-1n)),LF=-(2n**(168n-1n)),FF=-(2n**(176n-1n)),SF=-(2n**(184n-1n)),jF=-(2n**(192n-1n)),CF=-(2n**(200n-1n)),PF=-(2n**(208n-1n)),TF=-(2n**(216n-1n)),IF=-(2n**(224n-1n)),AF=-(2n**(232n-1n)),xF=-(2n**(240n-1n)),bF=-(2n**(248n-1n)),kF=-(2n**(256n-1n)),yF=2n**8n-1n,vF=2n**16n-1n,hF=2n**24n-1n,gF=2n**32n-1n,mF=2n**40n-1n,dF=2n**48n-1n,uF=2n**56n-1n,cF=2n**64n-1n,pF=2n**72n-1n,lF=2n**80n-1n,nF=2n**88n-1n,w4=2n**96n-1n,oF=2n**104n-1n,iF=2n**112n-1n,sF=2n**120n-1n,rF=2n**128n-1n,tF=2n**136n-1n,aF=2n**144n-1n,eF=2n**152n-1n,$S=2n**160n-1n,JS=2n**168n-1n,QS=2n**176n-1n,YS=2n**184n-1n,XS=2n**192n-1n,GS=2n**200n-1n,WS=2n**208n-1n,KS=2n**216n-1n,qS=2n**224n-1n,US=2n**232n-1n,NS=2n**240n-1n,HS=2n**248n-1n,e0=2n**256n-1n});function V6($){let{account:J,maxFeePerGas:Q,maxPriorityFeePerGas:Y,to:X}=$,G=J?h0(J):void 0;if(G&&!T0(G.address))throw new g0({address:G.address});if(X&&!T0(X))throw new g0({address:X});if(Q&&Q>e0)throw new d6({maxFeePerGas:Q});if(Y&&Q&&Y>Q)throw new K8({maxFeePerGas:Q,maxPriorityFeePerGas:Y})}var I2=g(()=>{fJ();W5();A8();f6()});var jG,CG,PG;var qf=g(()=>{f0();jG=class jG extends I{constructor({callbackSelector:$,cause:J,data:Q,extraData:Y,sender:X,urls:G}){super(J.shortMessage||"An error occurred while fetching for an offchain result.",{cause:J,metaMessages:[...J.metaMessages||[],J.metaMessages?.length?"":[],"Offchain Gateway Call:",G&&[" Gateway URL(s):",...G.map((W)=>` ${_2(W)}`)],` Sender: ${X}`,` Data: ${Q}`,` Callback selector: ${$}`,` Extra data: ${Y}`].flat(),name:"OffchainLookupError"})}};CG=class CG extends I{constructor({result:$,url:J}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${_2(J)}`,`Response: ${L0($)}`],name:"OffchainLookupResponseMalformedError"})}};PG=class PG extends I{constructor({sender:$,to:J}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${J}`,`OffchainLookup sender address: ${$}`],name:"OffchainLookupSenderMismatchError"})}}});function O5($,J){if(!T0($,{strict:!1}))throw new g0({address:$});if(!T0(J,{strict:!1}))throw new g0({address:J});return $.toLowerCase()===J.toLowerCase()}var E4=g(()=>{W5();f6()});var Hf={};W3(Hf,{offchainLookupSignature:()=>fS,offchainLookupAbiItem:()=>Uf,offchainLookup:()=>ZS,ccipRequest:()=>Nf});async function ZS($,{blockNumber:J,blockTag:Q,data:Y,to:X}){let{args:G}=n$({data:Y,abi:[Uf]}),[W,K,q,U,N]=G,{ccipRead:H}=$,f=H&&typeof H?.request==="function"?H.request:Nf;try{if(!O5(X,W))throw new PG({sender:W,to:X});let Z=K.includes(e5)?await eX({data:q,ccipRequest:f}):await f({data:q,sender:W,urls:K}),{data:M}=await O6($,{blockNumber:J,blockTag:Q,data:j1([U,y0([{type:"bytes"},{type:"bytes"}],[Z,N])]),to:X});return M}catch(Z){throw new jG({callbackSelector:U,cause:Z,data:Y,extraData:N,sender:W,urls:K})}}async function Nf({data:$,sender:J,urls:Q}){let Y=Error("An unknown error occurred.");for(let X=0;X<Q.length;X++){let G=Q[X],W=G.includes("{data}")?"GET":"POST",K=W==="POST"?{data:$,sender:J}:void 0,q=W==="POST"?{"Content-Type":"application/json"}:{};try{let U=await fetch(G.replace("{sender}",J.toLowerCase()).replace("{data}",$),{body:JSON.stringify(K),headers:q,method:W}),N;if(U.headers.get("Content-Type")?.startsWith("application/json"))N=(await U.json()).data;else N=await U.text();if(!U.ok){Y=new g6({body:K,details:N?.error?L0(N.error):U.statusText,headers:U.headers,status:U.status,url:G});continue}if(!c0(N)){Y=new CG({result:N,url:G});continue}return N}catch(U){Y=new g6({body:K,details:U.message,url:G})}}throw Y}var fS="0x556f1830",Uf;var ff=g(()=>{A2();qf();F2();gX();U5();E4();x3();Uf={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]}});async function O6($,J){let{account:Q=$.account,authorizationList:Y,batch:X=Boolean($.batch?.multicall),blockNumber:G,blockTag:W=$.experimental_blockTag??"latest",accessList:K,blobs:q,blockOverrides:U,code:N,data:H,factory:f,factoryData:Z,gas:M,gasPrice:D,maxFeePerBlobGas:R,maxFeePerGas:O,maxPriorityFeePerGas:E,nonce:V,to:w,value:B,stateOverride:j,...T}=J,x=Q?h0(Q):void 0;if(N&&(f||Z))throw new I("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(N&&w)throw new I("Cannot provide both `code` & `to` as parameters.");let C=N&&H,S=f&&Z&&w&&H,v=C||S,F=(()=>{if(C)return Zf({code:N,data:H});if(S)return VS({data:H,factory:f,factoryData:Z,to:w});return H})();try{V6(J);let k=(typeof G==="bigint"?h(G):void 0)||W,P=U?WJ(U):void 0,m=D4(j),n=$.chain?.formatters?.transactionRequest?.format,o=(n||V5)({...b8(T,{format:n}),accessList:K,account:x,authorizationList:Y,blobs:q,data:F,gas:M,gasPrice:D,maxFeePerBlobGas:R,maxFeePerGas:O,maxPriorityFeePerGas:E,nonce:V,to:v?void 0:w,value:B},"call");if(X&&MS({request:o})&&!m&&!P)try{return await zS($,{...o,blockNumber:G,blockTag:W})}catch(I0){if(!(I0 instanceof u$)&&!(I0 instanceof A9))throw I0}let Q0=(()=>{let I0=[o,k];if(m&&P)return[...I0,m,P];if(m)return[...I0,m];if(P)return[...I0,{},P];return I0})(),t0=await $.request({method:"eth_call",params:Q0});if(t0==="0x")return{data:void 0};return{data:t0}}catch(A){let k=OS(A),{offchainLookup:P,offchainLookupSignature:m}=await Promise.resolve().then(() => (ff(),Hf));if($.ccipRead!==!1&&k?.slice(0,10)===m&&w)return{data:await P($,{data:k,to:w})};if(v&&k?.slice(0,10)==="0x101bb98d")throw new r$({factory:f});throw qJ(A,{...J,account:x,chain:$.chain})}}function MS({request:$}){let{data:J,to:Q,...Y}=$;if(!J)return!1;if(J.startsWith(Xf))return!1;if(!Q)return!1;if(Object.values(Y).filter((X)=>typeof X<"u").length>0)return!1;return!0}async function zS($,J){let{batchSize:Q=1024,deployless:Y=!1,wait:X=0}=typeof $.batch?.multicall==="object"?$.batch.multicall:{},{blockNumber:G,blockTag:W=$.experimental_blockTag??"latest",data:K,to:q}=J,U=(()=>{if(Y)return null;if(J.multicallAddress)return J.multicallAddress;if($.chain)return Z6({blockNumber:G,chain:$.chain,contract:"multicall3"});throw new u$})(),H=(typeof G==="bigint"?h(G):void 0)||W,{schedule:f}=NJ({id:`${$.uid}.${H}`,wait:X,shouldSplitBatch(D){return D.reduce((O,{data:E})=>O+(E.length-2),0)>Q*2},fn:async(D)=>{let R=D.map((V)=>({allowFailure:!0,callData:V.data,target:V.to})),O=r({abi:A6,args:[R],functionName:"aggregate3"}),E=await $.request({method:"eth_call",params:[{...U===null?{data:Zf({code:z4,data:O})}:{to:U,data:O}},H]});return x1({abi:A6,args:[R],functionName:"aggregate3",data:E||"0x"})}}),[{returnData:Z,success:M}]=await f({data:K,to:q});if(!M)throw new f5({data:Z});if(Z==="0x")return{data:void 0};return{data:Z}}function Zf($){let{code:J,data:Q}=$;return m3({abi:h$(["constructor(bytes, bytes)"]),bytecode:KJ,args:[J,Q]})}function VS($){let{data:J,factory:Q,factoryData:Y,to:X}=$;return m3({abi:h$(["constructor(address, bytes, address, bytes)"]),bytecode:Gf,args:[X,J,Q,Y]})}function OS($){if(!($ instanceof I))return;let J=$.walk();return typeof J?.data==="object"?J.data?.data:J.data}var A2=g(()=>{C3();RG();X5();f0();c$();a5();r5();_G();G6();R2();G0();LG();O4();SG();HJ();I2()});function LS($,J,Q,Y){if(typeof $.setBigUint64==="function")return $.setBigUint64(J,Q,Y);let X=BigInt(32),G=BigInt(4294967295),W=Number(Q>>X&G),K=Number(Q&G),q=Y?4:0,U=Y?0:4;$.setUint32(J+q,W,Y),$.setUint32(J+U,K,Y)}function jf($,J,Q){return $&J^~$&Q}function Cf($,J,Q){return $&J^$&Q^J&Q}var kG,q8;var Pf=g(()=>{p5();kG=class kG extends V2{constructor($,J,Q,Y){super();this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=$,this.outputLen=J,this.padOffset=Q,this.isLE=Y,this.buffer=new Uint8Array($),this.view=B$(this.buffer)}update($){c5(this),$=z2($),k6($);let{view:J,buffer:Q,blockLen:Y}=this,X=$.length;for(let G=0;G<X;){let W=Math.min(Y-this.pos,X-G);if(W===Y){let K=B$($);for(;Y<=X-G;G+=Y)this.process(K,G);continue}if(Q.set($.subarray(G,G+W),this.pos),this.pos+=W,G+=W,this.pos===Y)this.process(J,0),this.pos=0}return this.length+=$.length,this.roundClean(),this}digestInto($){c5(this),R$($,this),this.finished=!0;let{buffer:J,view:Q,blockLen:Y,isLE:X}=this,{pos:G}=this;if(J[G++]=128,K5(this.buffer.subarray(G)),this.padOffset>Y-G)this.process(Q,0),G=0;for(let N=G;N<Y;N++)J[N]=0;LS(Q,Y-8,BigInt(this.length*8),X),this.process(Q,0);let W=B$($),K=this.outputLen;if(K%4)throw Error("_sha2: outputLen should be aligned to 32bit");let q=K/4,U=this.get();if(q>U.length)throw Error("_sha2: outputLen bigger than state");for(let N=0;N<q;N++)W.setUint32(4*N,U[N],X)}digest(){let{buffer:$,outputLen:J}=this;this.digestInto($);let Q=$.slice(0,J);return this.destroy(),Q}_cloneInto($){$||($=new this.constructor),$.set(...this.get());let{blockLen:J,buffer:Q,length:Y,finished:X,destroyed:G,pos:W}=this;if($.destroyed=G,$.finished=X,$.length=Y,$.pos=W,Y%J)$.buffer.set(Q);return $}clone(){return this._cloneInto()}};q8=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225])});var FS,y8,yG,b2;var vG=g(()=>{Pf();p5();FS=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),y8=new Uint32Array(64);yG=class yG extends kG{constructor($=32){super(64,$,8,!1);this.A=q8[0]|0,this.B=q8[1]|0,this.C=q8[2]|0,this.D=q8[3]|0,this.E=q8[4]|0,this.F=q8[5]|0,this.G=q8[6]|0,this.H=q8[7]|0}get(){let{A:$,B:J,C:Q,D:Y,E:X,F:G,G:W,H:K}=this;return[$,J,Q,Y,X,G,W,K]}set($,J,Q,Y,X,G,W,K){this.A=$|0,this.B=J|0,this.C=Q|0,this.D=Y|0,this.E=X|0,this.F=G|0,this.G=W|0,this.H=K|0}process($,J){for(let N=0;N<16;N++,J+=4)y8[N]=$.getUint32(J,!1);for(let N=16;N<64;N++){let H=y8[N-15],f=y8[N-2],Z=y6(H,7)^y6(H,18)^H>>>3,M=y6(f,17)^y6(f,19)^f>>>10;y8[N]=M+y8[N-7]+Z+y8[N-16]|0}let{A:Q,B:Y,C:X,D:G,E:W,F:K,G:q,H:U}=this;for(let N=0;N<64;N++){let H=y6(W,6)^y6(W,11)^y6(W,25),f=U+H+jf(W,K,q)+FS[N]+y8[N]|0,M=(y6(Q,2)^y6(Q,13)^y6(Q,22))+Cf(Q,Y,X)|0;U=q,q=K,K=W,W=G+f|0,G=X,X=Y,Y=Q,Q=f+M|0}Q=Q+this.A|0,Y=Y+this.B|0,X=X+this.C|0,G=G+this.D|0,W=W+this.E|0,K=K+this.F|0,q=q+this.G|0,U=U+this.H|0,this.set(Q,Y,X,G,W,K,q,U)}roundClean(){K5(y8)}destroy(){this.set(0,0,0,0,0,0,0,0),K5(this.buffer)}};b2=_$(()=>new yG)});var hG,gG=($,J,Q)=>new hG($,J).update(Q).digest();var Tf=g(()=>{p5();hG=class hG extends V2{constructor($,J){super();this.finished=!1,this.destroyed=!1,WN($);let Q=z2(J);if(this.iHash=$.create(),typeof this.iHash.update!=="function")throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let Y=this.blockLen,X=new Uint8Array(Y);X.set(Q.length>Y?$.create().update(Q).digest():Q);for(let G=0;G<X.length;G++)X[G]^=54;this.iHash.update(X),this.oHash=$.create();for(let G=0;G<X.length;G++)X[G]^=106;this.oHash.update(X),K5(X)}update($){return c5(this),this.iHash.update($),this}digestInto($){c5(this),k6($,this.outputLen),this.finished=!0,this.iHash.digestInto($),this.oHash.update($),this.oHash.digestInto($),this.destroy()}digest(){let $=new Uint8Array(this.oHash.outputLen);return this.digestInto($),$}_cloneInto($){$||($=Object.create(Object.getPrototypeOf(this),{}));let{oHash:J,iHash:Q,finished:Y,destroyed:X,blockLen:G,outputLen:W}=this;return $=$,$.finished=Y,$.destroyed=X,$.blockLen=G,$.outputLen=W,$.oHash=J._cloneInto($.oHash),$.iHash=Q._cloneInto($.iHash),$}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};gG.create=($,J)=>new hG($,J)});function Y1($,J){let Q=$%J;return Q>=u1?Q:J+Q}function K6($,J,Q){let Y=$;while(J-- >u1)Y*=Y,Y%=Q;return Y}function wJ($,J){if($===u1)throw Error("invert: expected non-zero number");if(J<=u1)throw Error("invert: expected positive modulus, got "+J);let Q=Y1($,J),Y=J,X=u1,G=b1,W=b1,K=u1;while(Q!==u1){let U=Y/Q,N=Y%Q,H=X-W*U,f=G-K*U;Y=Q,Q=N,X=W,G=K,W=H,K=f}if(Y!==b1)throw Error("invert: does not exist");return Y1(X,J)}function kf($,J){let Q=($.ORDER+b1)/Af,Y=$.pow(J,Q);if(!$.eql($.sqr(Y),J))throw Error("Cannot find square root");return Y}function jS($,J){let Q=($.ORDER-xf)/bf,Y=$.mul(J,k2),X=$.pow(Y,Q),G=$.mul(J,X),W=$.mul($.mul(G,k2),X),K=$.mul(G,$.sub(W,$.ONE));if(!$.eql($.sqr(K),J))throw Error("Cannot find square root");return K}function CS($){if($<BigInt(3))throw Error("sqrt is not defined for small field");let J=$-b1,Q=0;while(J%k2===u1)J/=k2,Q++;let Y=k2,X=t3($);while(If(X,Y)===1)if(Y++>1000)throw Error("Cannot find square root: probably non-prime P");if(Q===1)return kf;let G=X.pow(Y,J),W=(J+b1)/k2;return function(q,U){if(q.is0(U))return U;if(If(q,U)!==1)throw Error("Cannot find square root");let N=Q,H=q.mul(q.ONE,G),f=q.pow(U,J),Z=q.pow(U,W);while(!q.eql(f,q.ONE)){if(q.is0(f))return q.ZERO;let M=1,D=q.sqr(f);while(!q.eql(D,q.ONE))if(M++,D=q.sqr(D),M===N)throw Error("Cannot find square root");let R=b1<<BigInt(N-M-1),O=q.pow(H,R);N=M,H=q.sqr(O),f=q.mul(f,H),Z=q.mul(Z,O)}return Z}}function PS($){if($%Af===SS)return kf;if($%bf===xf)return jS;return CS($)}function EJ($){let J={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},Q=TS.reduce((Y,X)=>{return Y[X]="function",Y},J);return X8($,Q)}function IS($,J,Q){if(Q<u1)throw Error("invalid exponent, negatives unsupported");if(Q===u1)return $.ONE;if(Q===b1)return J;let Y=$.ONE,X=J;while(Q>u1){if(Q&b1)Y=$.mul(Y,X);X=$.sqr(X),Q>>=b1}return Y}function R4($,J,Q=!1){let Y=Array(J.length).fill(Q?$.ZERO:void 0),X=J.reduce((W,K,q)=>{if($.is0(K))return W;return Y[q]=W,$.mul(W,K)},$.ONE),G=$.inv(X);return J.reduceRight((W,K,q)=>{if($.is0(K))return W;return Y[q]=$.mul(W,Y[q]),$.mul(W,K)},G),Y}function If($,J){let Q=($.ORDER-b1)/k2,Y=$.pow(J,Q),X=$.eql(Y,$.ONE),G=$.eql(Y,$.ZERO),W=$.eql(Y,$.neg($.ONE));if(!X&&!G&&!W)throw Error("invalid Legendre symbol result");return X?1:G?0:-1}function mG($,J){if(J!==void 0)M2(J);let Q=J!==void 0?J:$.toString(2).length,Y=Math.ceil(Q/8);return{nBitLength:Q,nByteLength:Y}}function t3($,J,Q=!1,Y={}){if($<=u1)throw Error("invalid field: expected ORDER > 0, got "+$);let{nBitLength:X,nByteLength:G}=mG($,J);if(G>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let W,K=Object.freeze({ORDER:$,isLE:Q,BITS:X,BYTES:G,MASK:P2(X),ZERO:u1,ONE:b1,create:(q)=>Y1(q,$),isValid:(q)=>{if(typeof q!=="bigint")throw Error("invalid field element: expected bigint, got "+typeof q);return u1<=q&&q<$},is0:(q)=>q===u1,isOdd:(q)=>(q&b1)===b1,neg:(q)=>Y1(-q,$),eql:(q,U)=>q===U,sqr:(q)=>Y1(q*q,$),add:(q,U)=>Y1(q+U,$),sub:(q,U)=>Y1(q-U,$),mul:(q,U)=>Y1(q*U,$),pow:(q,U)=>IS(K,q,U),div:(q,U)=>Y1(q*wJ(U,$),$),sqrN:(q)=>q*q,addN:(q,U)=>q+U,subN:(q,U)=>q-U,mulN:(q,U)=>q*U,inv:(q)=>wJ(q,$),sqrt:Y.sqrt||((q)=>{if(!W)W=PS($);return W(K,q)}),toBytes:(q)=>Q?WG(q,G):Z5(q,G),fromBytes:(q)=>{if(q.length!==G)throw Error("Field.fromBytes: expected "+G+" bytes, got "+q.length);return Q?GG(q):t1(q)},invertBatch:(q)=>R4(K,q),cmov:(q,U,N)=>N?U:q});return Object.freeze(K)}function yf($){if(typeof $!=="bigint")throw Error("field order must be bigint");let J=$.toString(2).length;return Math.ceil(J/8)}function dG($){let J=yf($);return J+Math.ceil(J/2)}function vf($,J,Q=!1){let Y=$.length,X=yf(J),G=dG(J);if(Y<16||Y<G||Y>1024)throw Error("expected "+G+"-1024 bytes of input, got "+Y);let W=Q?GG($):t1($),K=Y1(W,J-b1)+b1;return Q?WG(K,X):Z5(K,X)}var u1,b1,k2,SS,Af,xf,bf,TS;var a3=g(()=>{p5();U4();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */u1=BigInt(0),b1=BigInt(1),k2=BigInt(2),SS=BigInt(3),Af=BigInt(4),xf=BigInt(5),bf=BigInt(8);TS=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"]});function uG($,J){let Q=J.negate();return $?Q:J}function mf($,J){if(!Number.isSafeInteger($)||$<=0||$>J)throw Error("invalid window size, expected [1.."+J+"], got W="+$)}function cG($,J){mf($,J);let Q=Math.ceil(J/$)+1,Y=2**($-1),X=2**$,G=P2($),W=BigInt($);return{windows:Q,windowSize:Y,mask:G,maxNumber:X,shiftBy:W}}function gf($,J,Q){let{windowSize:Y,mask:X,maxNumber:G,shiftBy:W}=Q,K=Number($&X),q=$>>W;if(K>Y)K-=G,q+=nG;let U=J*Y,N=U+Math.abs(K)-1,H=K===0,f=K<0,Z=J%2!==0;return{nextN:q,offset:N,isZero:H,isNeg:f,isNegF:Z,offsetF:U}}function AS($,J){if(!Array.isArray($))throw Error("array expected");$.forEach((Q,Y)=>{if(!(Q instanceof J))throw Error("invalid point at index "+Y)})}function xS($,J){if(!Array.isArray($))throw Error("array of scalars expected");$.forEach((Q,Y)=>{if(!J.isValid(Q))throw Error("invalid scalar at index "+Y)})}function lG($){return df.get($)||1}function uf($,J){return{constTimeNegate:uG,hasPrecomputes(Q){return lG(Q)!==1},unsafeLadder(Q,Y,X=$.ZERO){let G=Q;while(Y>hf){if(Y&nG)X=X.add(G);G=G.double(),Y>>=nG}return X},precomputeWindow(Q,Y){let{windows:X,windowSize:G}=cG(Y,J),W=[],K=Q,q=K;for(let U=0;U<X;U++){q=K,W.push(q);for(let N=1;N<G;N++)q=q.add(K),W.push(q);K=q.double()}return W},wNAF(Q,Y,X){let{ZERO:G,BASE:W}=$,K=cG(Q,J);for(let q=0;q<K.windows;q++){let{nextN:U,offset:N,isZero:H,isNeg:f,isNegF:Z,offsetF:M}=gf(X,q,K);if(X=U,H)W=W.add(uG(Z,Y[M]));else G=G.add(uG(f,Y[N]))}return{p:G,f:W}},wNAFUnsafe(Q,Y,X,G=$.ZERO){let W=cG(Q,J);for(let K=0;K<W.windows;K++){if(X===hf)break;let{nextN:q,offset:U,isZero:N,isNeg:H}=gf(X,K,W);if(X=q,N)continue;else{let f=Y[U];G=G.add(H?f.negate():f)}}return G},getPrecomputes(Q,Y,X){let G=pG.get(Y);if(!G){if(G=this.precomputeWindow(Y,Q),Q!==1)pG.set(Y,X(G))}return G},wNAFCached(Q,Y,X){let G=lG(Q);return this.wNAF(G,this.getPrecomputes(G,Q,X),Y)},wNAFCachedUnsafe(Q,Y,X,G){let W=lG(Q);if(W===1)return this.unsafeLadder(Q,Y,G);return this.wNAFUnsafe(W,this.getPrecomputes(W,Q,X),Y,G)},setWindowSize(Q,Y){mf(Y,J),df.set(Q,Y),pG.delete(Q)}}}function cf($,J,Q,Y){AS(Q,$),xS(Y,J);let X=Q.length,G=Y.length;if(X!==G)throw Error("arrays of points and scalars must have equal length");let W=$.ZERO,K=xH(BigInt(X)),q=1;if(K>12)q=K-3;else if(K>4)q=K-2;else if(K>0)q=2;let U=P2(q),N=Array(Number(U)+1).fill(W),H=Math.floor((J.BITS-1)/q)*q,f=W;for(let Z=H;Z>=0;Z-=q){N.fill(W);for(let D=0;D<G;D++){let R=Y[D],O=Number(R>>BigInt(Z)&U);N[O]=N[O].add(Q[D])}let M=W;for(let D=N.length-1,R=W;D>0;D--)R=R.add(N[D]),M=M.add(R);if(f=f.add(M),Z!==0)for(let D=0;D<q;D++)f=f.double()}return f}function oG($){return EJ($.Fp),X8($,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...mG($.n,$.nBitLength),...$,...{p:$.Fp.ORDER}})}var hf,nG,pG,df;var pf=g(()=>{a3();U4();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */hf=BigInt(0),nG=BigInt(1);pG=new WeakMap,df=new WeakMap});function lf($){if($.lowS!==void 0)K4("lowS",$.lowS);if($.prehash!==void 0)K4("prehash",$.prehash)}function bS($){let J=oG($);X8(J,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:Q,Fp:Y,a:X}=J;if(Q){if(!Y.eql(X,Y.ZERO))throw Error("invalid endo: CURVE.a must be 0");if(typeof Q!=="object"||typeof Q.beta!=="bigint"||typeof Q.splitScalar!=="function")throw Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...J})}function iG($,J){return q4(Z5($,J))}function kS($){let J=bS($),{Fp:Q}=J,Y=t3(J.n,J.nBitLength),X=J.toBytes||((V,w,B)=>{let j=w.toAffine();return d1(Uint8Array.from([4]),Q.toBytes(j.x),Q.toBytes(j.y))}),G=J.fromBytes||((V)=>{let w=V.subarray(1),B=Q.fromBytes(w.subarray(0,Q.BYTES)),j=Q.fromBytes(w.subarray(Q.BYTES,2*Q.BYTES));return{x:B,y:j}});function W(V){let{a:w,b:B}=J,j=Q.sqr(V),T=Q.mul(j,V);return Q.add(Q.add(T,Q.mul(V,w)),B)}function K(V,w){let B=Q.sqr(w),j=W(V);return Q.eql(B,j)}if(!K(J.Gx,J.Gy))throw Error("bad curve params: generator point");let q=Q.mul(Q.pow(J.a,e3),sG),U=Q.mul(Q.sqr(J.b),BigInt(27));if(Q.is0(Q.add(q,U)))throw Error("bad curve params: a or b");function N(V){return C2(V,A0,J.n)}function H(V){let{allowedPrivateKeyLengths:w,nByteLength:B,wrapPrivateKey:j,n:T}=J;if(w&&typeof V!=="bigint"){if(W4(V))V=q4(V);if(typeof V!=="string"||!w.includes(V.length))throw Error("invalid private key");V=V.padStart(B*2,"0")}let x;try{x=typeof V==="bigint"?V:t1(G1("private key",V,B))}catch(C){throw Error("invalid private key, expected hex or "+B+" bytes, got "+typeof V)}if(j)x=Y1(x,T);return Y8("private key",x,A0,T),x}function f(V){if(!(V instanceof D))throw Error("ProjectivePoint expected")}let Z=KG((V,w)=>{let{px:B,py:j,pz:T}=V;if(Q.eql(T,Q.ONE))return{x:B,y:j};let x=V.is0();if(w==null)w=x?Q.ONE:Q.inv(T);let C=Q.mul(B,w),S=Q.mul(j,w),v=Q.mul(T,w);if(x)return{x:Q.ZERO,y:Q.ZERO};if(!Q.eql(v,Q.ONE))throw Error("invZ was invalid");return{x:C,y:S}}),M=KG((V)=>{if(V.is0()){if(J.allowInfinityPoint&&!Q.is0(V.py))return;throw Error("bad point: ZERO")}let{x:w,y:B}=V.toAffine();if(!Q.isValid(w)||!Q.isValid(B))throw Error("bad point: x or y not FE");if(!K(w,B))throw Error("bad point: equation left != right");if(!V.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});class D{constructor(V,w,B){if(V==null||!Q.isValid(V))throw Error("x required");if(w==null||!Q.isValid(w)||Q.is0(w))throw Error("y required");if(B==null||!Q.isValid(B))throw Error("z required");this.px=V,this.py=w,this.pz=B,Object.freeze(this)}static fromAffine(V){let{x:w,y:B}=V||{};if(!V||!Q.isValid(w)||!Q.isValid(B))throw Error("invalid affine point");if(V instanceof D)throw Error("projective point not allowed");let j=(T)=>Q.eql(T,Q.ZERO);if(j(w)&&j(B))return D.ZERO;return new D(w,B,Q.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(V){let w=R4(Q,V.map((B)=>B.pz));return V.map((B,j)=>B.toAffine(w[j])).map(D.fromAffine)}static fromHex(V){let w=D.fromAffine(G(G1("pointHex",V)));return w.assertValidity(),w}static fromPrivateKey(V){return D.BASE.multiply(H(V))}static msm(V,w){return cf(D,Y,V,w)}_setWindowSize(V){E.setWindowSize(this,V)}assertValidity(){M(this)}hasEvenY(){let{y:V}=this.toAffine();if(Q.isOdd)return!Q.isOdd(V);throw Error("Field doesn't support isOdd")}equals(V){f(V);let{px:w,py:B,pz:j}=this,{px:T,py:x,pz:C}=V,S=Q.eql(Q.mul(w,C),Q.mul(T,j)),v=Q.eql(Q.mul(B,C),Q.mul(x,j));return S&&v}negate(){return new D(this.px,Q.neg(this.py),this.pz)}double(){let{a:V,b:w}=J,B=Q.mul(w,e3),{px:j,py:T,pz:x}=this,C=Q.ZERO,S=Q.ZERO,v=Q.ZERO,F=Q.mul(j,j),A=Q.mul(T,T),k=Q.mul(x,x),P=Q.mul(j,T);return P=Q.add(P,P),v=Q.mul(j,x),v=Q.add(v,v),C=Q.mul(V,v),S=Q.mul(B,k),S=Q.add(C,S),C=Q.sub(A,S),S=Q.add(A,S),S=Q.mul(C,S),C=Q.mul(P,C),v=Q.mul(B,v),k=Q.mul(V,k),P=Q.sub(F,k),P=Q.mul(V,P),P=Q.add(P,v),v=Q.add(F,F),F=Q.add(v,F),F=Q.add(F,k),F=Q.mul(F,P),S=Q.add(S,F),k=Q.mul(T,x),k=Q.add(k,k),F=Q.mul(k,P),C=Q.sub(C,F),v=Q.mul(k,A),v=Q.add(v,v),v=Q.add(v,v),new D(C,S,v)}add(V){f(V);let{px:w,py:B,pz:j}=this,{px:T,py:x,pz:C}=V,S=Q.ZERO,v=Q.ZERO,F=Q.ZERO,A=J.a,k=Q.mul(J.b,e3),P=Q.mul(w,T),m=Q.mul(B,x),n=Q.mul(j,C),u=Q.add(w,B),o=Q.add(T,x);u=Q.mul(u,o),o=Q.add(P,m),u=Q.sub(u,o),o=Q.add(w,j);let Q0=Q.add(T,C);return o=Q.mul(o,Q0),Q0=Q.add(P,n),o=Q.sub(o,Q0),Q0=Q.add(B,j),S=Q.add(x,C),Q0=Q.mul(Q0,S),S=Q.add(m,n),Q0=Q.sub(Q0,S),F=Q.mul(A,o),S=Q.mul(k,n),F=Q.add(S,F),S=Q.sub(m,F),F=Q.add(m,F),v=Q.mul(S,F),m=Q.add(P,P),m=Q.add(m,P),n=Q.mul(A,n),o=Q.mul(k,o),m=Q.add(m,n),n=Q.sub(P,n),n=Q.mul(A,n),o=Q.add(o,n),P=Q.mul(m,o),v=Q.add(v,P),P=Q.mul(Q0,o),S=Q.mul(u,S),S=Q.sub(S,P),P=Q.mul(u,m),F=Q.mul(Q0,F),F=Q.add(F,P),new D(S,v,F)}subtract(V){return this.add(V.negate())}is0(){return this.equals(D.ZERO)}wNAF(V){return E.wNAFCached(this,V,D.normalizeZ)}multiplyUnsafe(V){let{endo:w,n:B}=J;Y8("scalar",V,c6,B);let j=D.ZERO;if(V===c6)return j;if(this.is0()||V===A0)return this;if(!w||E.hasPrecomputes(this))return E.wNAFCachedUnsafe(this,V,D.normalizeZ);let{k1neg:T,k1:x,k2neg:C,k2:S}=w.splitScalar(V),v=j,F=j,A=this;while(x>c6||S>c6){if(x&A0)v=v.add(A);if(S&A0)F=F.add(A);A=A.double(),x>>=A0,S>>=A0}if(T)v=v.negate();if(C)F=F.negate();return F=new D(Q.mul(F.px,w.beta),F.py,F.pz),v.add(F)}multiply(V){let{endo:w,n:B}=J;Y8("scalar",V,A0,B);let j,T;if(w){let{k1neg:x,k1:C,k2neg:S,k2:v}=w.splitScalar(V),{p:F,f:A}=this.wNAF(C),{p:k,f:P}=this.wNAF(v);F=E.constTimeNegate(x,F),k=E.constTimeNegate(S,k),k=new D(Q.mul(k.px,w.beta),k.py,k.pz),j=F.add(k),T=A.add(P)}else{let{p:x,f:C}=this.wNAF(V);j=x,T=C}return D.normalizeZ([j,T])[0]}multiplyAndAddUnsafe(V,w,B){let j=D.BASE,T=(C,S)=>S===c6||S===A0||!C.equals(j)?C.multiplyUnsafe(S):C.multiply(S),x=T(this,w).add(T(V,B));return x.is0()?void 0:x}toAffine(V){return Z(this,V)}isTorsionFree(){let{h:V,isTorsionFree:w}=J;if(V===A0)return!0;if(w)return w(D,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:V,clearCofactor:w}=J;if(V===A0)return this;if(w)return w(D,this);return this.multiplyUnsafe(J.h)}toRawBytes(V=!0){return K4("isCompressed",V),this.assertValidity(),X(D,this,V)}toHex(V=!0){return K4("isCompressed",V),q4(this.toRawBytes(V))}}D.BASE=new D(J.Gx,J.Gy,Q.ONE),D.ZERO=new D(Q.ZERO,Q.ONE,Q.ZERO);let{endo:R,nBitLength:O}=J,E=uf(D,R?Math.ceil(O/2):O);return{CURVE:J,ProjectivePoint:D,normPrivateKeyToScalar:H,weierstrassEquation:W,isWithinCurveOrder:N}}function yS($){let J=oG($);return X8(J,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...J})}function of($){let J=yS($),{Fp:Q,n:Y,nByteLength:X,nBitLength:G}=J,W=Q.BYTES+1,K=2*Q.BYTES+1;function q(P){return Y1(P,Y)}function U(P){return wJ(P,Y)}let{ProjectivePoint:N,normPrivateKeyToScalar:H,weierstrassEquation:f,isWithinCurveOrder:Z}=kS({...J,toBytes(P,m,n){let u=m.toAffine(),o=Q.toBytes(u.x),Q0=d1;if(K4("isCompressed",n),n)return Q0(Uint8Array.from([m.hasEvenY()?2:3]),o);else return Q0(Uint8Array.from([4]),o,Q.toBytes(u.y))},fromBytes(P){let m=P.length,n=P[0],u=P.subarray(1);if(m===W&&(n===2||n===3)){let o=t1(u);if(!C2(o,A0,Q.ORDER))throw Error("Point is not on curve");let Q0=f(o),t0;try{t0=Q.sqrt(Q0)}catch(v1){let z1=v1 instanceof Error?": "+v1.message:"";throw Error("Point is not on curve"+z1)}let I0=(t0&A0)===A0;if((n&1)===1!==I0)t0=Q.neg(t0);return{x:o,y:t0}}else if(m===K&&n===4){let o=Q.fromBytes(u.subarray(0,Q.BYTES)),Q0=Q.fromBytes(u.subarray(Q.BYTES,2*Q.BYTES));return{x:o,y:Q0}}else{let o=W,Q0=K;throw Error("invalid Point, expected length of "+o+", or uncompressed "+Q0+", got "+m)}}});function M(P){let m=Y>>A0;return P>m}function D(P){return M(P)?q(-P):P}let R=(P,m,n)=>t1(P.slice(m,n));class O{constructor(P,m,n){if(Y8("r",P,A0,Y),Y8("s",m,A0,Y),this.r=P,this.s=m,n!=null)this.recovery=n;Object.freeze(this)}static fromCompact(P){let m=X;return P=G1("compactSignature",P,m*2),new O(R(P,0,m),R(P,m,2*m))}static fromDER(P){let{r:m,s:n}=U8.toSig(G1("DER",P));return new O(m,n)}assertValidity(){}addRecoveryBit(P){return new O(this.r,this.s,P)}recoverPublicKey(P){let{r:m,s:n,recovery:u}=this,o=T(G1("msgHash",P));if(u==null||![0,1,2,3].includes(u))throw Error("recovery id invalid");let Q0=u===2||u===3?m+J.n:m;if(Q0>=Q.ORDER)throw Error("recovery id 2 or 3 invalid");let t0=(u&1)===0?"02":"03",I0=N.fromHex(t0+iG(Q0,Q.BYTES)),o1=U(Q0),v1=q(-o*o1),z1=q(n*o1),$5=N.BASE.multiplyAndAddUnsafe(I0,v1,z1);if(!$5)throw Error("point at infinify");return $5.assertValidity(),$5}hasHighS(){return M(this.s)}normalizeS(){return this.hasHighS()?new O(this.r,q(-this.s),this.recovery):this}toDERRawBytes(){return v3(this.toDERHex())}toDERHex(){return U8.hexFromSig(this)}toCompactRawBytes(){return v3(this.toCompactHex())}toCompactHex(){let P=X;return iG(this.r,P)+iG(this.s,P)}}let E={isValidPrivateKey(P){try{return H(P),!0}catch(m){return!1}},normPrivateKeyToScalar:H,randomPrivateKey:()=>{let P=dG(J.n);return vf(J.randomBytes(P),J.n)},precompute(P=8,m=N.BASE){return m._setWindowSize(P),m.multiply(BigInt(3)),m}};function V(P,m=!0){return N.fromPrivateKey(P).toRawBytes(m)}function w(P){if(typeof P==="bigint")return!1;if(P instanceof N)return!0;let n=G1("key",P).length,u=Q.BYTES,o=u+1,Q0=2*u+1;if(J.allowedPrivateKeyLengths||X===o)return;else return n===o||n===Q0}function B(P,m,n=!0){if(w(P)===!0)throw Error("first arg must be private key");if(w(m)===!1)throw Error("second arg must be public key");return N.fromHex(m).multiply(H(P)).toRawBytes(n)}let j=J.bits2int||function(P){if(P.length>8192)throw Error("input is too large");let m=t1(P),n=P.length*8-G;return n>0?m>>BigInt(n):m},T=J.bits2int_modN||function(P){return q(j(P))},x=P2(G);function C(P){return Y8("num < 2^"+G,P,c6,x),Z5(P,X)}function S(P,m,n=v){if(["recovered","canonical"].some((x5)=>(x5 in n)))throw Error("sign() legacy options not supported");let{hash:u,randomBytes:o}=J,{lowS:Q0,prehash:t0,extraEntropy:I0}=n;if(Q0==null)Q0=!0;if(P=G1("msgHash",P),lf(n),t0)P=G1("prehashed msgHash",u(P));let o1=T(P),v1=H(m),z1=[C(v1),C(o1)];if(I0!=null&&I0!==!1){let x5=I0===!0?o(Q.BYTES):I0;z1.push(G1("extraEntropy",x5))}let $5=d1(...z1),W9=o1;function Q3(x5){let O8=j(x5);if(!Z(O8))return;let Y3=U(O8),X2=N.BASE.multiply(O8).toAffine(),G2=q(X2.x);if(G2===c6)return;let X3=q(Y3*q(W9+G2*v1));if(X3===c6)return;let K9=(X2.x===G2?0:2)|Number(X2.y&A0),MU=X3;if(Q0&&M(X3))MU=D(X3),K9^=1;return new O(G2,MU,K9)}return{seed:$5,k2sig:Q3}}let v={lowS:J.lowS,prehash:!1},F={lowS:J.lowS,prehash:!1};function A(P,m,n=v){let{seed:u,k2sig:o}=S(P,m,n),Q0=J;return bH(Q0.hash.outputLen,Q0.nByteLength,Q0.hmac)(u,o)}N.BASE._setWindowSize(8);function k(P,m,n,u=F){let o=P;m=G1("msgHash",m),n=G1("publicKey",n);let{lowS:Q0,prehash:t0,format:I0}=u;if(lf(u),"strict"in u)throw Error("options.strict was renamed to lowS");if(I0!==void 0&&I0!=="compact"&&I0!=="der")throw Error("format must be compact or der");let o1=typeof o==="string"||W4(o),v1=!o1&&!I0&&typeof o==="object"&&o!==null&&typeof o.r==="bigint"&&typeof o.s==="bigint";if(!o1&&!v1)throw Error("invalid signature, expected Uint8Array, hex string or Signature instance");let z1=void 0,$5;try{if(v1)z1=new O(o.r,o.s);if(o1){try{if(I0!=="compact")z1=O.fromDER(o)}catch(K9){if(!(K9 instanceof U8.Err))throw K9}if(!z1&&I0!=="der")z1=O.fromCompact(o)}$5=N.fromHex(n)}catch(K9){return!1}if(!z1)return!1;if(Q0&&z1.hasHighS())return!1;if(t0)m=J.hash(m);let{r:W9,s:Q3}=z1,x5=T(m),O8=U(Q3),Y3=q(x5*O8),X2=q(W9*O8),G2=N.BASE.multiplyAndAddUnsafe($5,Y3,X2)?.toAffine();if(!G2)return!1;return q(G2.x)===W9}return{CURVE:J,getPublicKey:V,getSharedSecret:B,sign:A,verify:k,ProjectivePoint:N,Signature:O,utils:E}}function vS($,J){let Q=$.ORDER,Y=c6;for(let M=Q-A0;M%v8===c6;M/=v8)Y+=A0;let X=Y,G=v8<<X-A0-A0,W=G*v8,K=(Q-A0)/W,q=(K-A0)/v8,U=W-A0,N=G,H=$.pow(J,K),f=$.pow(J,(K+A0)/v8),Z=(M,D)=>{let R=H,O=$.pow(D,U),E=$.sqr(O);E=$.mul(E,D);let V=$.mul(M,E);V=$.pow(V,q),V=$.mul(V,O),O=$.mul(V,D),E=$.mul(V,M);let w=$.mul(E,O);V=$.pow(w,N);let B=$.eql(V,$.ONE);O=$.mul(E,f),V=$.mul(w,R),E=$.cmov(O,E,B),w=$.cmov(V,w,B);for(let j=X;j>A0;j--){let T=j-v8;T=v8<<T-A0;let x=$.pow(w,T),C=$.eql(x,$.ONE);O=$.mul(E,R),R=$.mul(R,R),x=$.mul(w,R),E=$.cmov(O,E,C),w=$.cmov(x,w,C)}return{isValid:B,value:E}};if($.ORDER%sG===e3){let M=($.ORDER-e3)/sG,D=$.sqrt($.neg(J));Z=(R,O)=>{let E=$.sqr(O),V=$.mul(R,O);E=$.mul(E,V);let w=$.pow(E,M);w=$.mul(w,V);let B=$.mul(w,D),j=$.mul($.sqr(w),O),T=$.eql(j,R),x=$.cmov(B,w,T);return{isValid:T,value:x}}}return Z}function sf($,J){if(EJ($),!$.isValid(J.A)||!$.isValid(J.B)||!$.isValid(J.Z))throw Error("mapToCurveSimpleSWU: invalid opts");let Q=vS($,J.Z);if(!$.isOdd)throw Error("Fp.isOdd is not implemented!");return(Y)=>{let X,G,W,K,q,U,N,H;X=$.sqr(Y),X=$.mul(X,J.Z),G=$.sqr(X),G=$.add(G,X),W=$.add(G,$.ONE),W=$.mul(W,J.B),K=$.cmov(J.Z,$.neg(G),!$.eql(G,$.ZERO)),K=$.mul(K,J.A),G=$.sqr(W),U=$.sqr(K),q=$.mul(U,J.A),G=$.add(G,q),G=$.mul(G,W),U=$.mul(U,K),q=$.mul(U,J.B),G=$.add(G,q),N=$.mul(X,W);let{isValid:f,value:Z}=Q(G,U);H=$.mul(X,Y),H=$.mul(H,Z),N=$.cmov(N,W,f),H=$.cmov(H,Z,f);let M=$.isOdd(Y)===$.isOdd(H);H=$.cmov($.neg(H),H,M);let D=R4($,[K],!0)[0];return N=$.mul(N,D),{x:N,y:H}}}var nf,U8,c6,A0,v8,e3,sG;var rG=g(()=>{pf();a3();U4();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */nf=class nf extends Error{constructor($=""){super($)}};U8={Err:nf,_tlv:{encode:($,J)=>{let{Err:Q}=U8;if($<0||$>256)throw new Q("tlv.encode: wrong tag");if(J.length&1)throw new Q("tlv.encode: unpadded data");let Y=J.length/2,X=y3(Y);if(X.length/2&128)throw new Q("tlv.encode: long form length too big");let G=Y>127?y3(X.length/2|128):"";return y3($)+G+X+J},decode($,J){let{Err:Q}=U8,Y=0;if($<0||$>256)throw new Q("tlv.encode: wrong tag");if(J.length<2||J[Y++]!==$)throw new Q("tlv.decode: wrong tlv");let X=J[Y++],G=!!(X&128),W=0;if(!G)W=X;else{let q=X&127;if(!q)throw new Q("tlv.decode(long): indefinite length not supported");if(q>4)throw new Q("tlv.decode(long): byte length is too big");let U=J.subarray(Y,Y+q);if(U.length!==q)throw new Q("tlv.decode: length bytes not complete");if(U[0]===0)throw new Q("tlv.decode(long): zero leftmost byte");for(let N of U)W=W<<8|N;if(Y+=q,W<128)throw new Q("tlv.decode(long): not minimal encoding")}let K=J.subarray(Y,Y+W);if(K.length!==W)throw new Q("tlv.decode: wrong value length");return{v:K,l:J.subarray(Y+W)}}},_int:{encode($){let{Err:J}=U8;if($<c6)throw new J("integer: negative integers are not allowed");let Q=y3($);if(Number.parseInt(Q[0],16)&8)Q="00"+Q;if(Q.length&1)throw new J("unexpected DER parsing assertion: unpadded hex");return Q},decode($){let{Err:J}=U8;if($[0]&128)throw new J("invalid signature integer: negative");if($[0]===0&&!($[1]&128))throw new J("invalid signature integer: unnecessary leading zero");return t1($)}},toSig($){let{Err:J,_int:Q,_tlv:Y}=U8,X=G1("signature",$),{v:G,l:W}=Y.decode(48,X);if(W.length)throw new J("invalid signature: left bytes after parsing");let{v:K,l:q}=Y.decode(2,G),{v:U,l:N}=Y.decode(2,q);if(N.length)throw new J("invalid signature: left bytes after parsing");return{r:Q.decode(K),s:Q.decode(U)}},hexFromSig($){let{_tlv:J,_int:Q}=U8,Y=J.encode(2,Q.encode($.r)),X=J.encode(2,Q.encode($.s)),G=Y+X;return J.encode(48,G)}};c6=BigInt(0),A0=BigInt(1),v8=BigInt(2),e3=BigInt(3),sG=BigInt(4)});function hS($){return{hash:$,hmac:(J,...Q)=>gG($,J,HN(...Q)),randomBytes:L$}}function rf($,J){let Q=(Y)=>of({...$,...hS(Y)});return{...Q(J),create:Q}}var tf=g(()=>{Tf();p5();rG();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */});function h8($,J){if($7($),$7(J),$<0||$>=1<<8*J)throw Error("invalid I2OSP input: "+$);let Q=Array.from({length:J}).fill(0);for(let Y=J-1;Y>=0;Y--)Q[Y]=$&255,$>>>=8;return new Uint8Array(Q)}function mS($,J){let Q=new Uint8Array($.length);for(let Y=0;Y<$.length;Y++)Q[Y]=$[Y]^J[Y];return Q}function $7($){if(!Number.isSafeInteger($))throw Error("number expected")}function dS($,J,Q,Y){if(Q8($),Q8(J),$7(Q),J.length>255)J=Y(d1(e$("H2C-OVERSIZE-DST-"),J));let{outputLen:X,blockLen:G}=Y,W=Math.ceil(Q/X);if(Q>65535||W>255)throw Error("expand_message_xmd: invalid lenInBytes");let K=d1(J,h8(J.length,1)),q=h8(0,G),U=h8(Q,2),N=Array(W),H=Y(d1(q,$,U,h8(0,1),K));N[0]=Y(d1(H,h8(1,1),K));for(let Z=1;Z<=W;Z++){let M=[mS(H,N[Z-1]),h8(Z+1,1),K];N[Z]=Y(d1(...M))}return d1(...N).slice(0,Q)}function uS($,J,Q,Y,X){if(Q8($),Q8(J),$7(Q),J.length>255){let G=Math.ceil(2*Y/8);J=X.create({dkLen:G}).update(e$("H2C-OVERSIZE-DST-")).update(J).digest()}if(Q>65535||J.length>255)throw Error("expand_message_xof: invalid lenInBytes");return X.create({dkLen:Q}).update($).update(h8(Q,2)).update(J).update(h8(J.length,1)).digest()}function af($,J,Q){X8(Q,{DST:"stringOrUint8Array",p:"bigint",m:"isSafeInteger",k:"isSafeInteger",hash:"hash"});let{p:Y,k:X,m:G,hash:W,expand:K,DST:q}=Q;Q8($),$7(J);let U=typeof q==="string"?e$(q):q,N=Y.toString(2).length,H=Math.ceil((N+X)/8),f=J*G*H,Z;if(K==="xmd")Z=dS($,U,f,W);else if(K==="xof")Z=uS($,U,f,X,W);else if(K==="_internal_pass")Z=$;else throw Error('expand must be "xmd" or "xof"');let M=Array(J);for(let D=0;D<J;D++){let R=Array(G);for(let O=0;O<G;O++){let E=H*(O+D*G),V=Z.subarray(E,E+H);R[O]=Y1(gS(V),Y)}M[D]=R}return M}function ef($,J){let Q=J.map((Y)=>Array.from(Y).reverse());return(Y,X)=>{let[G,W,K,q]=Q.map((H)=>H.reduce((f,Z)=>$.add($.mul(f,Y),Z))),[U,N]=R4($,[W,q],!0);return Y=$.mul(G,U),X=$.mul(X,$.mul(K,N)),{x:Y,y:X}}}function $Z($,J,Q){if(typeof J!=="function")throw Error("mapToCurve() must be defined");function Y(G){return $.fromAffine(J(G))}function X(G){let W=G.clearCofactor();if(W.equals($.ZERO))return $.ZERO;return W.assertValidity(),W}return{defaults:Q,hashToCurve(G,W){let K=af(G,2,{...Q,DST:Q.DST,...W}),q=Y(K[0]),U=Y(K[1]);return X(q.add(U))},encodeToCurve(G,W){let K=af(G,1,{...Q,DST:Q.encodeDST,...W});return X(Y(K[0]))},mapToCurve(G){if(!Array.isArray(G))throw Error("expected array of bigints");for(let W of G)if(typeof W!=="bigint")throw Error("expected array of bigints");return X(Y(G))}}}var gS;var JZ=g(()=>{a3();U4();gS=t1});var qZ={};W3(qZ,{secp256k1_hasher:()=>YW,secp256k1:()=>N8,schnorr:()=>nS,hashToCurve:()=>sS,encodeToCurve:()=>rS});function XZ($){let J=Y7,Q=BigInt(3),Y=BigInt(6),X=BigInt(11),G=BigInt(22),W=BigInt(23),K=BigInt(44),q=BigInt(88),U=$*$*$%J,N=U*U*$%J,H=K6(N,Q,J)*N%J,f=K6(H,Q,J)*N%J,Z=K6(f,BJ,J)*U%J,M=K6(Z,X,J)*Z%J,D=K6(M,G,J)*M%J,R=K6(D,K,J)*D%J,O=K6(R,q,J)*R%J,E=K6(O,K,J)*D%J,V=K6(E,Q,J)*N%J,w=K6(V,W,J)*M%J,B=K6(w,Y,J)*U%J,j=K6(B,BJ,J);if(!g8.eql(g8.sqr(j),$))throw Error("Cannot find square root");return j}function _J($,...J){let Q=YZ[$];if(Q===void 0){let Y=b2(Uint8Array.from($,(X)=>X.charCodeAt(0)));Q=d1(Y,Y),YZ[$]=Q}return b2(d1(Q,...J))}function eG($){let J=N8.utils.normPrivateKeyToScalar($),Q=QW.fromPrivateKey(J);return{scalar:Q.hasEvenY()?J:Q7(-J),bytes:JW(Q)}}function GZ($){Y8("x",$,J7,Y7);let J=tG($*$),Q=tG(J*$+BigInt(7)),Y=XZ(Q);if(Y%BJ!==$W)Y=tG(-Y);let X=new QW($,Y,J7);return X.assertValidity(),X}function WZ(...$){return Q7(B4(_J("BIP0340/challenge",...$)))}function pS($){return eG($).bytes}function lS($,J,Q=L$(32)){let Y=G1("message",$),{bytes:X,scalar:G}=eG(J),W=G1("auxRand",Q,32),K=aG(G^B4(_J("BIP0340/aux",W))),q=_J("BIP0340/nonce",K,X,Y),U=Q7(B4(q));if(U===$W)throw Error("sign failed: k is zero");let{bytes:N,scalar:H}=eG(U),f=WZ(N,X,Y),Z=new Uint8Array(64);if(Z.set(N,0),Z.set(aG(Q7(H+f*G)),32),!KZ(Z,Y,X))throw Error("sign: Invalid signature produced");return Z}function KZ($,J,Q){let Y=G1("signature",$,64),X=G1("message",J),G=G1("publicKey",Q,32);try{let W=GZ(B4(G)),K=B4(Y.subarray(0,32));if(!C2(K,J7,Y7))return!1;let q=B4(Y.subarray(32,64));if(!C2(q,J7,RJ))return!1;let U=WZ(aG(K),JW(W),X),N=cS(W,q,Q7(-U));if(!N||!N.hasEvenY()||N.toAffine().x!==K)return!1;return!0}catch(W){return!1}}var Y7,RJ,$W,J7,BJ,QZ=($,J)=>($+J/BJ)/J,g8,N8,YZ,JW=($)=>$.toRawBytes(!0).slice(1),aG=($)=>Z5($,32),tG=($)=>Y1($,Y7),Q7=($)=>Y1($,RJ),QW,cS=($,J,Q)=>QW.BASE.multiplyAndAddUnsafe($,J,Q),B4,nS,oS,iS,YW,sS,rS;var LJ=g(()=>{vG();p5();tf();JZ();a3();U4();rG();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */Y7=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),RJ=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),$W=BigInt(0),J7=BigInt(1),BJ=BigInt(2);g8=t3(Y7,void 0,void 0,{sqrt:XZ}),N8=rf({a:$W,b:BigInt(7),Fp:g8,n:RJ,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:($)=>{let J=RJ,Q=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),Y=-J7*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),X=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),G=Q,W=BigInt("0x100000000000000000000000000000000"),K=QZ(G*$,J),q=QZ(-Y*$,J),U=Y1($-K*Q-q*X,J),N=Y1(-K*Y-q*G,J),H=U>W,f=N>W;if(H)U=J-U;if(f)N=J-N;if(U>W||N>W)throw Error("splitScalar: Endomorphism failed, k="+$);return{k1neg:H,k1:U,k2neg:f,k2:N}}}},b2),YZ={};QW=(()=>N8.ProjectivePoint)();B4=t1;nS=(()=>({getPublicKey:pS,sign:lS,verify:KZ,utils:{randomPrivateKey:N8.utils.randomPrivateKey,lift_x:GZ,pointToBytes:JW,numberToBytesBE:Z5,bytesToNumberBE:t1,taggedHash:_J,mod:Y1}}))(),oS=(()=>ef(g8,[["0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7","0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581","0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262","0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c"],["0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b","0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14","0x0000000000000000000000000000000000000000000000000000000000000001"],["0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c","0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3","0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931","0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84"],["0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b","0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573","0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f","0x0000000000000000000000000000000000000000000000000000000000000001"]].map(($)=>$.map((J)=>BigInt(J)))))(),iS=(()=>sf(g8,{A:BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"),B:BigInt("1771"),Z:g8.create(BigInt("-11"))}))(),YW=(()=>$Z(N8.ProjectivePoint,($)=>{let{x:J,y:Q}=iS(g8.create($[0]));return oS(J,Q)},{DST:"secp256k1_XMD:SHA-256_SSWU_RO_",encodeDST:"secp256k1_XMD:SHA-256_SSWU_NU_",p:g8.ORDER,m:1,k:128,expand:"xmd",hash:b2}))(),sS=(()=>YW.hashToCurve)(),rS=(()=>YW.encodeToCurve)()});var jz=H0((uU0,Sz)=>{var KP="[object Object]";function qP($){var J=!1;if($!=null&&typeof $.toString!="function")try{J=!!($+"")}catch(Q){}return J}function UP($,J){return function(Q){return $(J(Q))}}var NP=Function.prototype,Lz=Object.prototype,Fz=NP.toString,HP=Lz.hasOwnProperty,fP=Fz.call(Object),ZP=Lz.toString,MP=UP(Object.getPrototypeOf,Object);function zP($){return!!$&&typeof $=="object"}function VP($){if(!zP($)||ZP.call($)!=KP||qP($))return!1;var J=MP($);if(J===null)return!0;var Q=HP.call(J,"constructor")&&J.constructor;return typeof Q=="function"&&Q instanceof Q&&Fz.call(Q)==fP}Sz.exports=VP});var QV=H0((qQ,k4)=>{var OP=200,vz="__lodash_hash_undefined__",DP=800,wP=16,hz=9007199254740991,gz="[object Arguments]",EP="[object Array]",RP="[object AsyncFunction]",BP="[object Boolean]",_P="[object Date]",LP="[object Error]",mz="[object Function]",FP="[object GeneratorFunction]",SP="[object Map]",jP="[object Number]",CP="[object Null]",dz="[object Object]",PP="[object Proxy]",TP="[object RegExp]",IP="[object Set]",AP="[object String]",xP="[object Undefined]",bP="[object WeakMap]",kP="[object ArrayBuffer]",yP="[object DataView]",vP="[object Float32Array]",hP="[object Float64Array]",gP="[object Int8Array]",mP="[object Int16Array]",dP="[object Int32Array]",uP="[object Uint8Array]",cP="[object Uint8ClampedArray]",pP="[object Uint16Array]",lP="[object Uint32Array]",nP=/[\\^$.*+?()[\]{}|]/g,oP=/^\[object .+?Constructor\]$/,iP=/^(?:0|[1-9]\d*)$/,m0={};m0[vP]=m0[hP]=m0[gP]=m0[mP]=m0[dP]=m0[uP]=m0[cP]=m0[pP]=m0[lP]=!0;m0[gz]=m0[EP]=m0[kP]=m0[BP]=m0[yP]=m0[_P]=m0[LP]=m0[mz]=m0[SP]=m0[jP]=m0[dz]=m0[TP]=m0[IP]=m0[AP]=m0[bP]=!1;var uz=typeof global=="object"&&global&&global.Object===Object&&global,sP=typeof self=="object"&&self&&self.Object===Object&&self,S7=uz||sP||Function("return this")(),cz=typeof qQ=="object"&&qQ&&!qQ.nodeType&&qQ,L7=cz&&typeof k4=="object"&&k4&&!k4.nodeType&&k4,pz=L7&&L7.exports===cz,KK=pz&&uz.process,Cz=function(){try{var $=L7&&L7.require&&L7.require("util").types;if($)return $;return KK&&KK.binding&&KK.binding("util")}catch(J){}}(),Pz=Cz&&Cz.isTypedArray;function rP($,J,Q){switch(Q.length){case 0:return $.call(J);case 1:return $.call(J,Q[0]);case 2:return $.call(J,Q[0],Q[1]);case 3:return $.call(J,Q[0],Q[1],Q[2])}return $.apply(J,Q)}function tP($,J){var Q=-1,Y=Array($);while(++Q<$)Y[Q]=J(Q);return Y}function aP($){return function(J){return $(J)}}function eP($,J){return $==null?void 0:$[J]}function $T($,J){return function(Q){return $(J(Q))}}var JT=Array.prototype,QT=Function.prototype,HQ=Object.prototype,qK=S7["__core-js_shared__"],fQ=QT.toString,f8=HQ.hasOwnProperty,Tz=function(){var $=/[^.]+$/.exec(qK&&qK.keys&&qK.keys.IE_PROTO||"");return $?"Symbol(src)_1."+$:""}(),lz=HQ.toString,YT=fQ.call(Object),XT=RegExp("^"+fQ.call(f8).replace(nP,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),UQ=pz?S7.Buffer:void 0,Iz=S7.Symbol,Az=S7.Uint8Array,xz=UQ?UQ.allocUnsafe:void 0,nz=$T(Object.getPrototypeOf,Object),bz=Object.create,GT=HQ.propertyIsEnumerable,WT=JT.splice,p2=Iz?Iz.toStringTag:void 0,NQ=function(){try{var $=MK(Object,"defineProperty");return $({},"",{}),$}catch(J){}}(),KT=UQ?UQ.isBuffer:void 0,kz=Math.max,qT=Date.now,oz=MK(S7,"Map"),F7=MK(Object,"create"),UT=function(){function $(){}return function(J){if(!n2(J))return{};if(bz)return bz(J);$.prototype=J;var Q=new $;return $.prototype=void 0,Q}}();function l2($){var J=-1,Q=$==null?0:$.length;this.clear();while(++J<Q){var Y=$[J];this.set(Y[0],Y[1])}}function NT(){this.__data__=F7?F7(null):{},this.size=0}function HT($){var J=this.has($)&&delete this.__data__[$];return this.size-=J?1:0,J}function fT($){var J=this.__data__;if(F7){var Q=J[$];return Q===vz?void 0:Q}return f8.call(J,$)?J[$]:void 0}function ZT($){var J=this.__data__;return F7?J[$]!==void 0:f8.call(J,$)}function MT($,J){var Q=this.__data__;return this.size+=this.has($)?0:1,Q[$]=F7&&J===void 0?vz:J,this}l2.prototype.clear=NT;l2.prototype.delete=HT;l2.prototype.get=fT;l2.prototype.has=ZT;l2.prototype.set=MT;function Z8($){var J=-1,Q=$==null?0:$.length;this.clear();while(++J<Q){var Y=$[J];this.set(Y[0],Y[1])}}function zT(){this.__data__=[],this.size=0}function VT($){var J=this.__data__,Q=ZQ(J,$);if(Q<0)return!1;var Y=J.length-1;if(Q==Y)J.pop();else WT.call(J,Q,1);return--this.size,!0}function OT($){var J=this.__data__,Q=ZQ(J,$);return Q<0?void 0:J[Q][1]}function DT($){return ZQ(this.__data__,$)>-1}function wT($,J){var Q=this.__data__,Y=ZQ(Q,$);if(Y<0)++this.size,Q.push([$,J]);else Q[Y][1]=J;return this}Z8.prototype.clear=zT;Z8.prototype.delete=VT;Z8.prototype.get=OT;Z8.prototype.has=DT;Z8.prototype.set=wT;function y4($){var J=-1,Q=$==null?0:$.length;this.clear();while(++J<Q){var Y=$[J];this.set(Y[0],Y[1])}}function ET(){this.size=0,this.__data__={hash:new l2,map:new(oz||Z8),string:new l2}}function RT($){var J=zQ(this,$).delete($);return this.size-=J?1:0,J}function BT($){return zQ(this,$).get($)}function _T($){return zQ(this,$).has($)}function LT($,J){var Q=zQ(this,$),Y=Q.size;return Q.set($,J),this.size+=Q.size==Y?0:1,this}y4.prototype.clear=ET;y4.prototype.delete=RT;y4.prototype.get=BT;y4.prototype.has=_T;y4.prototype.set=LT;function v4($){var J=this.__data__=new Z8($);this.size=J.size}function FT(){this.__data__=new Z8,this.size=0}function ST($){var J=this.__data__,Q=J.delete($);return this.size=J.size,Q}function jT($){return this.__data__.get($)}function CT($){return this.__data__.has($)}function PT($,J){var Q=this.__data__;if(Q instanceof Z8){var Y=Q.__data__;if(!oz||Y.length<OP-1)return Y.push([$,J]),this.size=++Q.size,this;Q=this.__data__=new y4(Y)}return Q.set($,J),this.size=Q.size,this}v4.prototype.clear=FT;v4.prototype.delete=ST;v4.prototype.get=jT;v4.prototype.has=CT;v4.prototype.set=PT;function TT($,J){var Q=fK($),Y=!Q&&HK($),X=!Q&&!Y&&tz($),G=!Q&&!Y&&!X&&ez($),W=Q||Y||X||G,K=W?tP($.length,String):[],q=K.length;for(var U in $)if((J||f8.call($,U))&&!(W&&(U=="length"||X&&(U=="offset"||U=="parent")||G&&(U=="buffer"||U=="byteLength"||U=="byteOffset")||sz(U,q))))K.push(U);return K}function UK($,J,Q){if(Q!==void 0&&!VQ($[J],Q)||Q===void 0&&!(J in $))ZK($,J,Q)}function IT($,J,Q){var Y=$[J];if(!(f8.call($,J)&&VQ(Y,Q))||Q===void 0&&!(J in $))ZK($,J,Q)}function ZQ($,J){var Q=$.length;while(Q--)if(VQ($[Q][0],J))return Q;return-1}function ZK($,J,Q){if(J=="__proto__"&&NQ)NQ($,J,{configurable:!0,enumerable:!0,value:Q,writable:!0});else $[J]=Q}var AT=lT();function MQ($){if($==null)return $===void 0?xP:CP;return p2&&p2 in Object($)?nT($):aT($)}function yz($){return j7($)&&MQ($)==gz}function xT($){if(!n2($)||rT($))return!1;var J=VK($)?XT:oP;return J.test(QI($))}function bT($){return j7($)&&az($.length)&&!!m0[MQ($)]}function kT($){if(!n2($))return tT($);var J=rz($),Q=[];for(var Y in $)if(!(Y=="constructor"&&(J||!f8.call($,Y))))Q.push(Y);return Q}function iz($,J,Q,Y,X){if($===J)return;AT(J,function(G,W){if(X||(X=new v4),n2(G))yT($,J,W,Q,iz,Y,X);else{var K=Y?Y(NK($,W),G,W+"",$,J,X):void 0;if(K===void 0)K=G;UK($,W,K)}},$V)}function yT($,J,Q,Y,X,G,W){var K=NK($,Q),q=NK(J,Q),U=W.get(q);if(U){UK($,Q,U);return}var N=G?G(K,q,Q+"",$,J,W):void 0,H=N===void 0;if(H){var f=fK(q),Z=!f&&tz(q),M=!f&&!Z&&ez(q);if(N=q,f||Z||M)if(fK(K))N=K;else if(YI(K))N=uT(K);else if(Z)H=!1,N=gT(q,!0);else if(M)H=!1,N=dT(q,!0);else N=[];else if(XI(q)||HK(q)){if(N=K,HK(K))N=GI(K);else if(!n2(K)||VK(K))N=oT(q)}else H=!1}if(H)W.set(q,N),X(N,q,Y,G,W),W.delete(q);UK($,Q,N)}function vT($,J){return $I(eT($,J,JV),$+"")}var hT=!NQ?JV:function($,J){return NQ($,"toString",{configurable:!0,enumerable:!1,value:KI(J),writable:!0})};function gT($,J){if(J)return $.slice();var Q=$.length,Y=xz?xz(Q):new $.constructor(Q);return $.copy(Y),Y}function mT($){var J=new $.constructor($.byteLength);return new Az(J).set(new Az($)),J}function dT($,J){var Q=J?mT($.buffer):$.buffer;return new $.constructor(Q,$.byteOffset,$.length)}function uT($,J){var Q=-1,Y=$.length;J||(J=Array(Y));while(++Q<Y)J[Q]=$[Q];return J}function cT($,J,Q,Y){var X=!Q;Q||(Q={});var G=-1,W=J.length;while(++G<W){var K=J[G],q=Y?Y(Q[K],$[K],K,Q,$):void 0;if(q===void 0)q=$[K];if(X)ZK(Q,K,q);else IT(Q,K,q)}return Q}function pT($){return vT(function(J,Q){var Y=-1,X=Q.length,G=X>1?Q[X-1]:void 0,W=X>2?Q[2]:void 0;if(G=$.length>3&&typeof G=="function"?(X--,G):void 0,W&&iT(Q[0],Q[1],W))G=X<3?void 0:G,X=1;J=Object(J);while(++Y<X){var K=Q[Y];if(K)$(J,K,Y,G)}return J})}function lT($){return function(J,Q,Y){var X=-1,G=Object(J),W=Y(J),K=W.length;while(K--){var q=W[$?K:++X];if(Q(G[q],q,G)===!1)break}return J}}function zQ($,J){var Q=$.__data__;return sT(J)?Q[typeof J=="string"?"string":"hash"]:Q.map}function MK($,J){var Q=eP($,J);return xT(Q)?Q:void 0}function nT($){var J=f8.call($,p2),Q=$[p2];try{$[p2]=void 0;var Y=!0}catch(G){}var X=lz.call($);if(Y)if(J)$[p2]=Q;else delete $[p2];return X}function oT($){return typeof $.constructor=="function"&&!rz($)?UT(nz($)):{}}function sz($,J){var Q=typeof $;return J=J==null?hz:J,!!J&&(Q=="number"||Q!="symbol"&&iP.test($))&&($>-1&&$%1==0&&$<J)}function iT($,J,Q){if(!n2(Q))return!1;var Y=typeof J;if(Y=="number"?zK(Q)&&sz(J,Q.length):Y=="string"&&(J in Q))return VQ(Q[J],$);return!1}function sT($){var J=typeof $;return J=="string"||J=="number"||J=="symbol"||J=="boolean"?$!=="__proto__":$===null}function rT($){return!!Tz&&Tz in $}function rz($){var J=$&&$.constructor,Q=typeof J=="function"&&J.prototype||HQ;return $===Q}function tT($){var J=[];if($!=null)for(var Q in Object($))J.push(Q);return J}function aT($){return lz.call($)}function eT($,J,Q){return J=kz(J===void 0?$.length-1:J,0),function(){var Y=arguments,X=-1,G=kz(Y.length-J,0),W=Array(G);while(++X<G)W[X]=Y[J+X];X=-1;var K=Array(J+1);while(++X<J)K[X]=Y[X];return K[J]=Q(W),rP($,this,K)}}function NK($,J){if(J==="constructor"&&typeof $[J]==="function")return;if(J=="__proto__")return;return $[J]}var $I=JI(hT);function JI($){var J=0,Q=0;return function(){var Y=qT(),X=wP-(Y-Q);if(Q=Y,X>0){if(++J>=DP)return arguments[0]}else J=0;return $.apply(void 0,arguments)}}function QI($){if($!=null){try{return fQ.call($)}catch(J){}try{return $+""}catch(J){}}return""}function VQ($,J){return $===J||$!==$&&J!==J}var HK=yz(function(){return arguments}())?yz:function($){return j7($)&&f8.call($,"callee")&&!GT.call($,"callee")},fK=Array.isArray;function zK($){return $!=null&&az($.length)&&!VK($)}function YI($){return j7($)&&zK($)}var tz=KT||qI;function VK($){if(!n2($))return!1;var J=MQ($);return J==mz||J==FP||J==RP||J==PP}function az($){return typeof $=="number"&&$>-1&&$%1==0&&$<=hz}function n2($){var J=typeof $;return $!=null&&(J=="object"||J=="function")}function j7($){return $!=null&&typeof $=="object"}function XI($){if(!j7($)||MQ($)!=dz)return!1;var J=nz($);if(J===null)return!0;var Q=f8.call(J,"constructor")&&J.constructor;return typeof Q=="function"&&Q instanceof Q&&fQ.call(Q)==YT}var ez=Pz?aP(Pz):bT;function GI($){return cT($,$V($))}function $V($){return zK($)?TT($,!0):kT($)}var WI=pT(function($,J,Q,Y){iz($,J,Q,Y)});function KI($){return function(){return $}}function JV($){return $}function qI(){return!1}k4.exports=WI});var Kq=H0((o_0,bO)=>{var n7=($)=>{return $&&typeof $.message==="string"},Wq=($)=>{if(!$)return;let J=$.cause;if(typeof J==="function"){let Q=$.cause();return n7(Q)?Q:void 0}else return n7(J)?J:void 0},AO=($,J)=>{if(!n7($))return"";let Q=$.stack||"";if(J.has($))return Q+`
|
|
66
|
+
causes have become circular...`;let Y=Wq($);if(Y)return J.add($),Q+`
|
|
67
|
+
caused by: `+AO(Y,J);else return Q},tI=($)=>AO($,new Set),xO=($,J,Q)=>{if(!n7($))return"";let Y=Q?"":$.message||"";if(J.has($))return Y+": ...";let X=Wq($);if(X){J.add($);let G=typeof $.cause==="function";return Y+(G?"":": ")+xO(X,J,G)}else return Y},aI=($)=>xO($,new Set);bO.exports={isErrorLike:n7,getErrorCause:Wq,stackWithCauses:tI,messageWithCauses:aI}});var qq=H0((i_0,yO)=>{var eI=Symbol("circular-ref-tag"),rQ=Symbol("pino-raw-err-ref"),kO=Object.create({},{type:{enumerable:!0,writable:!0,value:void 0},message:{enumerable:!0,writable:!0,value:void 0},stack:{enumerable:!0,writable:!0,value:void 0},aggregateErrors:{enumerable:!0,writable:!0,value:void 0},raw:{enumerable:!1,get:function(){return this[rQ]},set:function($){this[rQ]=$}}});Object.defineProperty(kO,rQ,{writable:!0,value:{}});yO.exports={pinoErrProto:kO,pinoErrorSymbols:{seen:eI,rawSymbol:rQ}}});var gO=H0((s_0,hO)=>{hO.exports=Nq;var{messageWithCauses:$A,stackWithCauses:JA,isErrorLike:vO}=Kq(),{pinoErrProto:QA,pinoErrorSymbols:YA}=qq(),{seen:Uq}=YA,{toString:XA}=Object.prototype;function Nq($){if(!vO($))return $;$[Uq]=void 0;let J=Object.create(QA);if(J.type=XA.call($.constructor)==="[object Function]"?$.constructor.name:$.name,J.message=$A($),J.stack=JA($),Array.isArray($.errors))J.aggregateErrors=$.errors.map((Q)=>Nq(Q));for(let Q in $)if(J[Q]===void 0){let Y=$[Q];if(vO(Y)){if(Q!=="cause"&&!Object.prototype.hasOwnProperty.call(Y,Uq))J[Q]=Nq(Y)}else J[Q]=Y}return delete $[Uq],J.raw=$,J}});var dO=H0((r_0,mO)=>{mO.exports=aQ;var{isErrorLike:Hq}=Kq(),{pinoErrProto:GA,pinoErrorSymbols:WA}=qq(),{seen:tQ}=WA,{toString:KA}=Object.prototype;function aQ($){if(!Hq($))return $;$[tQ]=void 0;let J=Object.create(GA);if(J.type=KA.call($.constructor)==="[object Function]"?$.constructor.name:$.name,J.message=$.message,J.stack=$.stack,Array.isArray($.errors))J.aggregateErrors=$.errors.map((Q)=>aQ(Q));if(Hq($.cause)&&!Object.prototype.hasOwnProperty.call($.cause,tQ))J.cause=aQ($.cause);for(let Q in $)if(J[Q]===void 0){let Y=$[Q];if(Hq(Y)){if(!Object.prototype.hasOwnProperty.call(Y,tQ))J[Q]=aQ(Y)}else J[Q]=Y}return delete $[tQ],J.raw=$,J}});var lO=H0((t_0,pO)=>{pO.exports={mapHttpRequest:qA,reqSerializer:cO};var fq=Symbol("pino-raw-req-ref"),uO=Object.create({},{id:{enumerable:!0,writable:!0,value:""},method:{enumerable:!0,writable:!0,value:""},url:{enumerable:!0,writable:!0,value:""},query:{enumerable:!0,writable:!0,value:""},params:{enumerable:!0,writable:!0,value:""},headers:{enumerable:!0,writable:!0,value:{}},remoteAddress:{enumerable:!0,writable:!0,value:""},remotePort:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[fq]},set:function($){this[fq]=$}}});Object.defineProperty(uO,fq,{writable:!0,value:{}});function cO($){let J=$.info||$.socket,Q=Object.create(uO);if(Q.id=typeof $.id==="function"?$.id():$.id||($.info?$.info.id:void 0),Q.method=$.method,$.originalUrl)Q.url=$.originalUrl;else{let Y=$.path;Q.url=typeof Y==="string"?Y:$.url?$.url.path||$.url:void 0}if($.query)Q.query=$.query;if($.params)Q.params=$.params;return Q.headers=$.headers,Q.remoteAddress=J&&J.remoteAddress,Q.remotePort=J&&J.remotePort,Q.raw=$.raw||$,Q}function qA($){return{req:cO($)}}});var sO=H0((a_0,iO)=>{iO.exports={mapHttpResponse:UA,resSerializer:oO};var Zq=Symbol("pino-raw-res-ref"),nO=Object.create({},{statusCode:{enumerable:!0,writable:!0,value:0},headers:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[Zq]},set:function($){this[Zq]=$}}});Object.defineProperty(nO,Zq,{writable:!0,value:{}});function oO($){let J=Object.create(nO);return J.statusCode=$.headersSent?$.statusCode:null,J.headers=$.getHeaders?$.getHeaders():$._headers,J.raw=$,J}function UA($){return{res:oO($)}}});var zq=H0((e_0,rO)=>{var Mq=gO(),NA=dO(),eQ=lO(),$Y=sO();rO.exports={err:Mq,errWithCause:NA,mapHttpRequest:eQ.mapHttpRequest,mapHttpResponse:$Y.mapHttpResponse,req:eQ.reqSerializer,res:$Y.resSerializer,wrapErrorSerializer:function(J){if(J===Mq)return J;return function(Y){return J(Mq(Y))}},wrapRequestSerializer:function(J){if(J===eQ.reqSerializer)return J;return function(Y){return J(eQ.reqSerializer(Y))}},wrapResponseSerializer:function(J){if(J===$Y.resSerializer)return J;return function(Y){return J($Y.resSerializer(Y))}}}});var Vq=H0(($L0,tO)=>{function HA($,J){return J}tO.exports=function(){let J=Error.prepareStackTrace;Error.prepareStackTrace=HA;let Q=Error().stack;if(Error.prepareStackTrace=J,!Array.isArray(Q))return;let Y=Q.slice(2),X=[];for(let G of Y){if(!G)continue;X.push(G.getFileName())}return X}});var YD=H0((JL0,QD)=>{function Oq($){if($===null||typeof $!=="object")return $;if($ instanceof Date)return new Date($.getTime());if($ instanceof Array){let J=[];for(let Q=0;Q<$.length;Q++)J[Q]=Oq($[Q]);return J}if(typeof $==="object"){let J=Object.create(Object.getPrototypeOf($));for(let Q in $)if(Object.prototype.hasOwnProperty.call($,Q))J[Q]=Oq($[Q]);return J}return $}function aO($){let J=[],Q="",Y=!1,X=!1,G="";for(let W=0;W<$.length;W++){let K=$[W];if(!Y&&K==="."){if(Q)J.push(Q),Q=""}else if(K==="["){if(Q)J.push(Q),Q="";Y=!0}else if(K==="]"&&Y)J.push(Q),Q="",Y=!1,X=!1;else if((K==='"'||K==="'")&&Y)if(!X)X=!0,G=K;else if(K===G)X=!1,G="";else Q+=K;else Q+=K}if(Q)J.push(Q);return J}function eO($,J,Q){let Y=$;for(let G=0;G<J.length-1;G++){let W=J[G];if(typeof Y!=="object"||Y===null||!(W in Y))return!1;if(typeof Y[W]!=="object"||Y[W]===null)return!1;Y=Y[W]}let X=J[J.length-1];if(X==="*"){if(Array.isArray(Y))for(let G=0;G<Y.length;G++)Y[G]=Q;else if(typeof Y==="object"&&Y!==null){for(let G in Y)if(Object.prototype.hasOwnProperty.call(Y,G))Y[G]=Q}}else if(typeof Y==="object"&&Y!==null&&X in Y&&Object.prototype.hasOwnProperty.call(Y,X))Y[X]=Q;return!0}function $D($,J){let Q=$;for(let X=0;X<J.length-1;X++){let G=J[X];if(typeof Q!=="object"||Q===null||!(G in Q))return!1;if(typeof Q[G]!=="object"||Q[G]===null)return!1;Q=Q[G]}let Y=J[J.length-1];if(Y==="*"){if(Array.isArray(Q))for(let X=0;X<Q.length;X++)Q[X]=void 0;else if(typeof Q==="object"&&Q!==null){for(let X in Q)if(Object.prototype.hasOwnProperty.call(Q,X))delete Q[X]}}else if(typeof Q==="object"&&Q!==null&&Y in Q&&Object.prototype.hasOwnProperty.call(Q,Y))delete Q[Y];return!0}var JY=Symbol("PATH_NOT_FOUND");function fA($,J){let Q=$;for(let Y of J){if(Q===null||Q===void 0)return JY;if(typeof Q!=="object"||Q===null)return JY;if(!(Y in Q))return JY;Q=Q[Y]}return Q}function ZA($,J){let Q=$;for(let Y of J){if(Q===null||Q===void 0)return;if(typeof Q!=="object"||Q===null)return;Q=Q[Y]}return Q}function MA($,J,Q,Y=!1){for(let X of J){let G=aO(X);if(G.includes("*"))JD($,G,Q,X,Y);else if(Y)$D($,G);else{let W=fA($,G);if(W===JY)continue;let K=typeof Q==="function"?Q(W,G):Q;eO($,G,K)}}}function JD($,J,Q,Y,X=!1){let G=J.indexOf("*");if(G===J.length-1){let W=J.slice(0,-1),K=$;for(let q of W){if(K===null||K===void 0)return;if(typeof K!=="object"||K===null)return;K=K[q]}if(Array.isArray(K))if(X)for(let q=0;q<K.length;q++)K[q]=void 0;else for(let q=0;q<K.length;q++){let U=[...W,q.toString()],N=typeof Q==="function"?Q(K[q],U):Q;K[q]=N}else if(typeof K==="object"&&K!==null)if(X){let q=[];for(let U in K)if(Object.prototype.hasOwnProperty.call(K,U))q.push(U);for(let U of q)delete K[U]}else for(let q in K){let U=[...W,q],N=typeof Q==="function"?Q(K[q],U):Q;K[q]=N}}else zA($,J,Q,G,Y,X)}function zA($,J,Q,Y,X,G=!1){let W=J.slice(0,Y),K=J.slice(Y+1),q=[];function U(N,H){if(H===W.length){if(Array.isArray(N))for(let f=0;f<N.length;f++)q[H]=f.toString(),U(N[f],H+1);else if(typeof N==="object"&&N!==null)for(let f in N)q[H]=f,U(N[f],H+1)}else if(H<W.length){let f=W[H];if(N&&typeof N==="object"&&N!==null&&f in N)q[H]=f,U(N[f],H+1)}else if(K.includes("*"))JD(N,K,typeof Q==="function"?(Z,M)=>{let D=[...q.slice(0,H),...M];return Q(Z,D)}:Q,X,G);else if(G)$D(N,K);else{let f=typeof Q==="function"?Q(ZA(N,K),[...q.slice(0,H),...K]):Q;eO(N,K,f)}}if(W.length===0)U($,0);else{let N=$;for(let H=0;H<W.length;H++){let f=W[H];if(N===null||N===void 0)return;if(typeof N!=="object"||N===null)return;N=N[f],q[H]=f}if(N!==null&&N!==void 0)U(N,W.length)}}function VA($){if($.length===0)return null;let J=new Map;for(let Q of $){let Y=aO(Q),X=J;for(let G=0;G<Y.length;G++){let W=Y[G];if(!X.has(W))X.set(W,new Map);X=X.get(W)}}return J}function OA($,J){if(!J)return $;function Q(Y,X,G=0){if(!X||X.size===0)return Y;if(Y===null||typeof Y!=="object")return Y;if(Y instanceof Date)return new Date(Y.getTime());if(Array.isArray(Y)){let K=[];for(let q=0;q<Y.length;q++){let U=q.toString();if(X.has(U)||X.has("*"))K[q]=Q(Y[q],X.get(U)||X.get("*"));else K[q]=Y[q]}return K}let W=Object.create(Object.getPrototypeOf(Y));for(let K in Y)if(Object.prototype.hasOwnProperty.call(Y,K))if(X.has(K)||X.has("*"))W[K]=Q(Y[K],X.get(K)||X.get("*"));else W[K]=Y[K];return W}return Q($,J)}function DA($){if(typeof $!=="string")throw Error("Paths must be (non-empty) strings");if($==="")throw Error("Invalid redaction path ()");if($.includes(".."))throw Error(`Invalid redaction path (${$})`);if($.includes(","))throw Error(`Invalid redaction path (${$})`);let J=0,Q=!1,Y="";for(let X=0;X<$.length;X++){let G=$[X];if((G==='"'||G==="'")&&J>0){if(!Q)Q=!0,Y=G;else if(G===Y)Q=!1,Y=""}else if(G==="["&&!Q)J++;else if(G==="]"&&!Q){if(J--,J<0)throw Error(`Invalid redaction path (${$})`)}}if(J!==0)throw Error(`Invalid redaction path (${$})`)}function wA($){if(!Array.isArray($))throw TypeError("paths must be an array");for(let J of $)DA(J)}function EA($={}){let{paths:J=[],censor:Q="[REDACTED]",serialize:Y=JSON.stringify,strict:X=!0,remove:G=!1}=$;wA(J);let W=VA(J);return function(q){if(X&&(q===null||typeof q!=="object")){if(q===null||q===void 0)return Y?Y(q):q;if(typeof q!=="object")return Y?Y(q):q}let U=OA(q,W),N=q,H=Q;if(typeof Q==="function")H=Q;if(MA(U,J,H,G),Y===!1)return U.restore=function(){return Oq(N)},U;if(typeof Y==="function")return Y(U);return JSON.stringify(U)}}QD.exports=EA});var r4=H0((QL0,XD)=>{var RA=Symbol("pino.setLevel"),BA=Symbol("pino.getLevel"),_A=Symbol("pino.levelVal"),LA=Symbol("pino.levelComp"),FA=Symbol("pino.useLevelLabels"),SA=Symbol("pino.useOnlyCustomLevels"),jA=Symbol("pino.mixin"),CA=Symbol("pino.lsCache"),PA=Symbol("pino.chindings"),TA=Symbol("pino.asJson"),IA=Symbol("pino.write"),AA=Symbol("pino.redactFmt"),xA=Symbol("pino.time"),bA=Symbol("pino.timeSliceIndex"),kA=Symbol("pino.stream"),yA=Symbol("pino.stringify"),vA=Symbol("pino.stringifySafe"),hA=Symbol("pino.stringifiers"),gA=Symbol("pino.end"),mA=Symbol("pino.formatOpts"),dA=Symbol("pino.messageKey"),uA=Symbol("pino.errorKey"),cA=Symbol("pino.nestedKey"),pA=Symbol("pino.nestedKeyStr"),lA=Symbol("pino.mixinMergeStrategy"),nA=Symbol("pino.msgPrefix"),oA=Symbol("pino.wildcardFirst"),iA=Symbol.for("pino.serializers"),sA=Symbol.for("pino.formatters"),rA=Symbol.for("pino.hooks"),tA=Symbol.for("pino.metadata");XD.exports={setLevelSym:RA,getLevelSym:BA,levelValSym:_A,levelCompSym:LA,useLevelLabelsSym:FA,mixinSym:jA,lsCacheSym:CA,chindingsSym:PA,asJsonSym:TA,writeSym:IA,serializersSym:iA,redactFmtSym:AA,timeSym:xA,timeSliceIndexSym:bA,streamSym:kA,stringifySym:yA,stringifySafeSym:vA,stringifiersSym:hA,endSym:gA,formatOptsSym:mA,messageKeySym:dA,errorKeySym:uA,nestedKeySym:cA,wildcardFirstSym:oA,needsMetadataGsym:tA,useOnlyCustomLevelsSym:SA,formattersSym:sA,hooksSym:rA,nestedKeyStrSym:pA,mixinMergeStrategySym:lA,msgPrefixSym:nA}});var wq=H0((YL0,WD)=>{var GD=YD(),{redactFmtSym:aA,wildcardFirstSym:QY}=r4(),Dq=/[^.[\]]+|\[([^[\]]*?)\]/g;function eA($,J){let{paths:Q,censor:Y,remove:X}=$x($),G=Q.reduce((q,U)=>{Dq.lastIndex=0;let N=Dq.exec(U),H=Dq.exec(U),f=N[1]!==void 0?N[1].replace(/^(?:"|'|`)(.*)(?:"|'|`)$/,"$1"):N[0];if(f==="*")f=QY;if(H===null)return q[f]=null,q;if(q[f]===null)return q;let{index:Z}=H,M=`${U.substr(Z,U.length-1)}`;if(q[f]=q[f]||[],f!==QY&&q[f].length===0)q[f].push(...q[QY]||[]);if(f===QY)Object.keys(q).forEach(function(D){if(q[D])q[D].push(M)});return q[f].push(M),q},{}),W={[aA]:GD({paths:Q,censor:Y,serialize:J,strict:!1,remove:X})},K=(...q)=>{return typeof Y==="function"?J(Y(...q)):J(Y)};return[...Object.keys(G),...Object.getOwnPropertySymbols(G)].reduce((q,U)=>{if(G[U]===null)q[U]=(N)=>K(N,[U]);else{let N=typeof Y==="function"?(H,f)=>{return Y(H,[U,...f])}:Y;q[U]=GD({paths:G[U],censor:N,serialize:J,strict:!1,remove:X})}return q},W)}function $x($){if(Array.isArray($))return $={paths:$,censor:"[Redacted]"},$;let{paths:J,censor:Q="[Redacted]",remove:Y}=$;if(Array.isArray(J)===!1)throw Error("pino – redact must contain an array of strings");if(Y===!0)Q=void 0;return{paths:J,censor:Q,remove:Y}}WD.exports=eA});var UD=H0((XL0,qD)=>{var Jx=()=>"",Qx=()=>`,"time":${Date.now()}`,Yx=()=>`,"time":${Math.round(Date.now()/1000)}`,Xx=()=>`,"time":"${new Date(Date.now()).toISOString()}"`,Gx=1000000n,KD=1000000000n,Wx=BigInt(Date.now())*Gx,Kx=process.hrtime.bigint(),qx=()=>{let $=process.hrtime.bigint()-Kx,J=Wx+$,Q=J/KD,Y=J%KD,X=Number(Q*1000n+Y/1000000n),G=new Date(X),W=G.getUTCFullYear(),K=(G.getUTCMonth()+1).toString().padStart(2,"0"),q=G.getUTCDate().toString().padStart(2,"0"),U=G.getUTCHours().toString().padStart(2,"0"),N=G.getUTCMinutes().toString().padStart(2,"0"),H=G.getUTCSeconds().toString().padStart(2,"0");return`,"time":"${W}-${K}-${q}T${U}:${N}:${H}.${Y.toString().padStart(9,"0")}Z"`};qD.exports={nullTime:Jx,epochTime:Qx,unixTime:Yx,isoTime:Xx,isoTimeNano:qx}});var HD=H0((GL0,ND)=>{function Ux($){try{return JSON.stringify($)}catch(J){return'"[Circular]"'}}ND.exports=Nx;function Nx($,J,Q){var Y=Q&&Q.stringify||Ux,X=1;if(typeof $==="object"&&$!==null){var G=J.length+X;if(G===1)return $;var W=Array(G);W[0]=Y($);for(var K=1;K<G;K++)W[K]=Y(J[K]);return W.join(" ")}if(typeof $!=="string")return $;var q=J.length;if(q===0)return $;var U="",N=1-X,H=-1,f=$&&$.length||0;for(var Z=0;Z<f;){if($.charCodeAt(Z)===37&&Z+1<f){switch(H=H>-1?H:0,$.charCodeAt(Z+1)){case 100:case 102:if(N>=q)break;if(J[N]==null)break;if(H<Z)U+=$.slice(H,Z);U+=Number(J[N]),H=Z+2,Z++;break;case 105:if(N>=q)break;if(J[N]==null)break;if(H<Z)U+=$.slice(H,Z);U+=Math.floor(Number(J[N])),H=Z+2,Z++;break;case 79:case 111:case 106:if(N>=q)break;if(J[N]===void 0)break;if(H<Z)U+=$.slice(H,Z);var M=typeof J[N];if(M==="string"){U+="'"+J[N]+"'",H=Z+2,Z++;break}if(M==="function"){U+=J[N].name||"<anonymous>",H=Z+2,Z++;break}U+=Y(J[N]),H=Z+2,Z++;break;case 115:if(N>=q)break;if(H<Z)U+=$.slice(H,Z);U+=String(J[N]),H=Z+2,Z++;break;case 37:if(H<Z)U+=$.slice(H,Z);U+="%",H=Z+2,Z++,N--;break}++N}++Z}if(H===-1)return $;else if(H<f)U+=$.slice(H);return U}});var Rq=H0((WL0,Eq)=>{if(typeof SharedArrayBuffer<"u"&&typeof Atomics<"u"){let J=function(Q){if((Q>0&&Q<1/0)===!1){if(typeof Q!=="number"&&typeof Q!=="bigint")throw TypeError("sleep: ms must be a number");throw RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity")}Atomics.wait($,0,0,Number(Q))},$=new Int32Array(new SharedArrayBuffer(4));Eq.exports=J}else{let $=function(J){if((J>0&&J<1/0)===!1){if(typeof J!=="number"&&typeof J!=="bigint")throw TypeError("sleep: ms must be a number");throw RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity")}let Y=Date.now()+Number(J);while(Y>Date.now());};Eq.exports=$}});var OD=H0((KL0,VD)=>{var u0=k0("fs"),Hx=k0("events"),fx=k0("util").inherits,fD=k0("path"),_q=Rq(),Zx=k0("assert"),YY=Buffer.allocUnsafe(0),[Mx,zx]=(process.versions.node||"0.0").split(".").map(Number),Vx=Mx>=22&&zx>=7;function ZD($,J){J._opening=!0,J._writing=!0,J._asyncDrainScheduled=!1;function Q(G,W){if(G){if(J._reopening=!1,J._writing=!1,J._opening=!1,J.sync)process.nextTick(()=>{if(J.listenerCount("error")>0)J.emit("error",G)});else J.emit("error",G);return}let K=J._reopening;if(J.fd=W,J.file=$,J._reopening=!1,J._opening=!1,J._writing=!1,J.sync)process.nextTick(()=>J.emit("ready"));else J.emit("ready");if(J.destroyed)return;if(!J._writing&&J._len>J.minLength||J._flushPending)J._actualWrite();else if(K)process.nextTick(()=>J.emit("drain"))}let Y=J.append?"a":"w",X=J.mode;if(J.sync)try{if(J.mkdir)u0.mkdirSync(fD.dirname($),{recursive:!0});let G=u0.openSync($,Y,X);Q(null,G)}catch(G){throw Q(G),G}else if(J.mkdir)u0.mkdir(fD.dirname($),{recursive:!0},(G)=>{if(G)return Q(G);u0.open($,Y,X,Q)});else u0.open($,Y,X,Q)}function t6($){if(!(this instanceof t6))return new t6($);let{fd:J,dest:Q,minLength:Y,maxLength:X,maxWrite:G,periodicFlush:W,sync:K,append:q=!0,mkdir:U,retryEAGAIN:N,fsync:H,contentMode:f,mode:Z}=$||{};J=J||Q,this._len=0,this.fd=-1,this._bufs=[],this._lens=[],this._writing=!1,this._ending=!1,this._reopening=!1,this._asyncDrainScheduled=!1,this._flushPending=!1,this._hwm=Math.max(Y||0,16387),this.file=null,this.destroyed=!1,this.minLength=Y||0,this.maxLength=X||0,this.maxWrite=G||16384,this._periodicFlush=W||0,this._periodicFlushTimer=void 0,this.sync=K||!1,this.writable=!0,this._fsync=H||!1,this.append=q||!1,this.mode=Z,this.retryEAGAIN=N||(()=>!0),this.mkdir=U||!1;let M,D;if(f==="buffer")this._writingBuf=YY,this.write=wx,this.flush=Rx,this.flushSync=_x,this._actualWrite=Fx,M=()=>u0.writeSync(this.fd,this._writingBuf),D=()=>u0.write(this.fd,this._writingBuf,this.release);else if(f===void 0||f==="utf8")this._writingBuf="",this.write=Dx,this.flush=Ex,this.flushSync=Bx,this._actualWrite=Lx,M=()=>{if(Buffer.isBuffer(this._writingBuf))return u0.writeSync(this.fd,this._writingBuf);return u0.writeSync(this.fd,this._writingBuf,"utf8")},D=()=>{if(Buffer.isBuffer(this._writingBuf))return u0.write(this.fd,this._writingBuf,this.release);return u0.write(this.fd,this._writingBuf,"utf8",this.release)};else throw Error(`SonicBoom supports "utf8" and "buffer", but passed ${f}`);if(typeof J==="number")this.fd=J,process.nextTick(()=>this.emit("ready"));else if(typeof J==="string")ZD(J,this);else throw Error("SonicBoom supports only file descriptors and files");if(this.minLength>=this.maxWrite)throw Error(`minLength should be smaller than maxWrite (${this.maxWrite})`);if(this.release=(R,O)=>{if(R){if((R.code==="EAGAIN"||R.code==="EBUSY")&&this.retryEAGAIN(R,this._writingBuf.length,this._len-this._writingBuf.length))if(this.sync)try{_q(100),this.release(void 0,0)}catch(w){this.release(w)}else setTimeout(D,100);else this._writing=!1,this.emit("error",R);return}this.emit("write",O);let E=Bq(this._writingBuf,this._len,O);if(this._len=E.len,this._writingBuf=E.writingBuf,this._writingBuf.length){if(!this.sync){D();return}try{do{let w=M(),B=Bq(this._writingBuf,this._len,w);this._len=B.len,this._writingBuf=B.writingBuf}while(this._writingBuf.length)}catch(w){this.release(w);return}}if(this._fsync)u0.fsyncSync(this.fd);let V=this._len;if(this._reopening)this._writing=!1,this._reopening=!1,this.reopen();else if(V>this.minLength)this._actualWrite();else if(this._ending)if(V>0)this._actualWrite();else this._writing=!1,XY(this);else if(this._writing=!1,this.sync){if(!this._asyncDrainScheduled)this._asyncDrainScheduled=!0,process.nextTick(Ox,this)}else this.emit("drain")},this.on("newListener",function(R){if(R==="drain")this._asyncDrainScheduled=!1}),this._periodicFlush!==0)this._periodicFlushTimer=setInterval(()=>this.flush(null),this._periodicFlush),this._periodicFlushTimer.unref()}function Bq($,J,Q){if(typeof $==="string")$=Buffer.from($);return J=Math.max(J-Q,0),$=$.subarray(Q),{writingBuf:$,len:J}}function Ox($){if(!($.listenerCount("drain")>0))return;$._asyncDrainScheduled=!1,$.emit("drain")}fx(t6,Hx);function MD($,J){if($.length===0)return YY;if($.length===1)return $[0];return Buffer.concat($,J)}function Dx($){if(this.destroyed)throw Error("SonicBoom destroyed");$=""+$;let J=Buffer.byteLength($),Q=this._len+J,Y=this._bufs;if(this.maxLength&&Q>this.maxLength)return this.emit("drop",$),this._len<this._hwm;if(Y.length===0||Buffer.byteLength(Y[Y.length-1])+J>this.maxWrite)Y.push($);else Y[Y.length-1]+=$;if(this._len=Q,!this._writing&&this._len>=this.minLength)this._actualWrite();return this._len<this._hwm}function wx($){if(this.destroyed)throw Error("SonicBoom destroyed");let J=this._len+$.length,Q=this._bufs,Y=this._lens;if(this.maxLength&&J>this.maxLength)return this.emit("drop",$),this._len<this._hwm;if(Q.length===0||Y[Y.length-1]+$.length>this.maxWrite)Q.push([$]),Y.push($.length);else Q[Q.length-1].push($),Y[Y.length-1]+=$.length;if(this._len=J,!this._writing&&this._len>=this.minLength)this._actualWrite();return this._len<this._hwm}function zD($){this._flushPending=!0;let J=()=>{if(!this._fsync)try{u0.fsync(this.fd,(Y)=>{this._flushPending=!1,$(Y)})}catch(Y){$(Y)}else this._flushPending=!1,$();this.off("error",Q)},Q=(Y)=>{this._flushPending=!1,$(Y),this.off("drain",J)};this.once("drain",J),this.once("error",Q)}function Ex($){if($!=null&&typeof $!=="function")throw Error("flush cb must be a function");if(this.destroyed){let J=Error("SonicBoom destroyed");if($){$(J);return}throw J}if(this.minLength<=0){$?.();return}if($)zD.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push("");this._actualWrite()}function Rx($){if($!=null&&typeof $!=="function")throw Error("flush cb must be a function");if(this.destroyed){let J=Error("SonicBoom destroyed");if($){$(J);return}throw J}if(this.minLength<=0){$?.();return}if($)zD.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push([]),this._lens.push(0);this._actualWrite()}t6.prototype.reopen=function($){if(this.destroyed)throw Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.reopen($)});return}if(this._ending)return;if(!this.file)throw Error("Unable to reopen a file descriptor, you must pass a file to SonicBoom");if($)this.file=$;if(this._reopening=!0,this._writing)return;let J=this.fd;this.once("ready",()=>{if(J!==this.fd)u0.close(J,(Q)=>{if(Q)return this.emit("error",Q)})}),ZD(this.file,this)};t6.prototype.end=function(){if(this.destroyed)throw Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.end()});return}if(this._ending)return;if(this._ending=!0,this._writing)return;if(this._len>0&&this.fd>=0)this._actualWrite();else XY(this)};function Bx(){if(this.destroyed)throw Error("SonicBoom destroyed");if(this.fd<0)throw Error("sonic boom is not ready yet");if(!this._writing&&this._writingBuf.length>0)this._bufs.unshift(this._writingBuf),this._writingBuf="";let $="";while(this._bufs.length||$.length){if($.length<=0)$=this._bufs[0];try{let J=Buffer.isBuffer($)?u0.writeSync(this.fd,$):u0.writeSync(this.fd,$,"utf8"),Q=Bq($,this._len,J);if($=Q.writingBuf,this._len=Q.len,$.length<=0)this._bufs.shift()}catch(J){if((J.code==="EAGAIN"||J.code==="EBUSY")&&!this.retryEAGAIN(J,$.length,this._len-$.length))throw J;_q(100)}}try{u0.fsyncSync(this.fd)}catch{}}function _x(){if(this.destroyed)throw Error("SonicBoom destroyed");if(this.fd<0)throw Error("sonic boom is not ready yet");if(!this._writing&&this._writingBuf.length>0)this._bufs.unshift([this._writingBuf]),this._writingBuf=YY;let $=YY;while(this._bufs.length||$.length){if($.length<=0)$=MD(this._bufs[0],this._lens[0]);try{let J=u0.writeSync(this.fd,$);if($=$.subarray(J),this._len=Math.max(this._len-J,0),$.length<=0)this._bufs.shift(),this._lens.shift()}catch(J){if((J.code==="EAGAIN"||J.code==="EBUSY")&&!this.retryEAGAIN(J,$.length,this._len-$.length))throw J;_q(100)}}}t6.prototype.destroy=function(){if(this.destroyed)return;XY(this)};function Lx(){let $=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf.length?this._writingBuf:this._bufs.shift()||"",this.sync)try{let J=Buffer.isBuffer(this._writingBuf)?u0.writeSync(this.fd,this._writingBuf):u0.writeSync(this.fd,this._writingBuf,"utf8");$(null,J)}catch(J){$(J)}else u0.write(this.fd,this._writingBuf,$)}function Fx(){let $=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf.length?this._writingBuf:MD(this._bufs.shift(),this._lens.shift()),this.sync)try{let J=u0.writeSync(this.fd,this._writingBuf);$(null,J)}catch(J){$(J)}else{if(Vx)this._writingBuf=Buffer.from(this._writingBuf);u0.write(this.fd,this._writingBuf,$)}}function XY($){if($.fd===-1){$.once("ready",XY.bind(null,$));return}if($._periodicFlushTimer!==void 0)clearInterval($._periodicFlushTimer);$.destroyed=!0,$._bufs=[],$._lens=[],Zx(typeof $.fd==="number",`sonic.fd must be a number, got ${typeof $.fd}`);try{u0.fsync($.fd,J)}catch{}function J(){if($.fd!==1&&$.fd!==2)u0.close($.fd,Q);else Q()}function Q(Y){if(Y){$.emit("error",Y);return}if($._ending&&!$._writing)$.emit("finish");$.emit("close")}}t6.SonicBoom=t6;t6.default=t6;VD.exports=t6});var Lq=H0((qL0,BD)=>{var a6={exit:[],beforeExit:[]},DD={exit:Cx,beforeExit:Px},t4;function Sx(){if(t4===void 0)t4=new FinalizationRegistry(Tx)}function jx($){if(a6[$].length>0)return;process.on($,DD[$])}function wD($){if(a6[$].length>0)return;if(process.removeListener($,DD[$]),a6.exit.length===0&&a6.beforeExit.length===0)t4=void 0}function Cx(){ED("exit")}function Px(){ED("beforeExit")}function ED($){for(let J of a6[$]){let Q=J.deref(),Y=J.fn;if(Q!==void 0)Y(Q,$)}a6[$]=[]}function Tx($){for(let J of["exit","beforeExit"]){let Q=a6[J].indexOf($);a6[J].splice(Q,Q+1),wD(J)}}function RD($,J,Q){if(J===void 0)throw Error("the object can't be undefined");jx($);let Y=new WeakRef(J);Y.fn=Q,Sx(),t4.register(J,Y),a6[$].push(Y)}function Ix($,J){RD("exit",$,J)}function Ax($,J){RD("beforeExit",$,J)}function xx($){if(t4===void 0)return;t4.unregister($);for(let J of["exit","beforeExit"])a6[J]=a6[J].filter((Q)=>{let Y=Q.deref();return Y&&Y!==$}),wD(J)}BD.exports={register:Ix,registerBeforeExit:Ax,unregister:xx}});var _D=H0((UL0,bx)=>{bx.exports={name:"thread-stream",version:"4.0.0",description:"A streaming way to send data to a Node.js Worker Thread",main:"index.js",types:"index.d.ts",engines:{node:">=20"},dependencies:{"real-require":"^0.2.0"},devDependencies:{"@types/node":"^22.0.0","@yao-pkg/pkg":"^6.0.0",borp:"^0.21.0",desm:"^1.3.0",eslint:"^9.39.1",fastbench:"^1.0.1",husky:"^9.0.6",neostandard:"^0.12.2","pino-elasticsearch":"^8.0.0","sonic-boom":"^4.0.1","ts-node":"^10.8.0",typescript:"~5.7.3"},scripts:{build:"tsc --noEmit",lint:"eslint",test:"npm run lint && npm run build && npm run transpile && borp --pattern 'test/*.test.{js,mjs}'","test:ci":"npm run lint && npm run transpile && borp --pattern 'test/*.test.{js,mjs}'","test:yarn":"npm run transpile && borp --pattern 'test/*.test.js'",transpile:"sh ./test/ts/transpile.sh",prepare:"husky install"},repository:{type:"git",url:"git+https://github.com/mcollina/thread-stream.git"},keywords:["worker","thread","threads","stream"],author:"Matteo Collina <hello@matteocollina.com>",license:"MIT",bugs:{url:"https://github.com/mcollina/thread-stream/issues"},homepage:"https://github.com/mcollina/thread-stream#readme"}});var FD=H0((NL0,LD)=>{function kx($,J,Q,Y,X){let G=Y===1/0?1/0:Date.now()+Y,W=()=>{let K=Atomics.load($,J);if(K===Q){X(null,"ok");return}if(G!==1/0&&Date.now()>G){X(null,"timed-out");return}let q=G===1/0?1e4:Math.min(1e4,Math.max(1,G-Date.now())),U=Atomics.waitAsync($,J,K,q);if(U.async)U.value.then(W);else setImmediate(W)};W()}function yx($,J,Q,Y,X){let G=Y===1/0?1/0:Date.now()+Y,W=()=>{if(Atomics.load($,J)!==Q){X(null,"ok");return}if(G!==1/0&&Date.now()>G){X(null,"timed-out");return}let q=G===1/0?1e4:Math.min(1e4,Math.max(1,G-Date.now())),U=Atomics.waitAsync($,J,Q,q);if(U.async)U.value.then(W);else setImmediate(W)};W()}LD.exports={wait:kx,waitDiff:yx}});var jD=H0((HL0,SD)=>{SD.exports={WRITE_INDEX:4,READ_INDEX:8}});var xD=H0((fL0,AD)=>{var __dirname="/Users/rubilmax/conductor/workspaces/morpho-agent/sarajevo/node_modules/.bun/thread-stream@4.0.0/node_modules/thread-stream",{version:vx}=_D(),{EventEmitter:hx}=k0("events"),{Worker:gx}=k0("worker_threads"),{join:mx}=k0("path"),{pathToFileURL:dx}=k0("url"),{wait:ux}=FD(),{WRITE_INDEX:Y6,READ_INDEX:Q6}=jD(),cx=k0("buffer"),px=k0("assert"),y=Symbol("kImpl"),lx=cx.constants.MAX_STRING_LENGTH;class WY{constructor($){this._value=$}deref(){return this._value}}class Sq{register(){}unregister(){}}var nx=process.env.NODE_V8_COVERAGE?Sq:global.FinalizationRegistry||Sq,ox=process.env.NODE_V8_COVERAGE?WY:global.WeakRef||WY,CD=new nx(($)=>{if($.exited)return;$.terminate()});function ix($,J){let{filename:Q,workerData:Y}=J,G=("__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{})["thread-stream-worker"]||mx(__dirname,"lib","worker.js"),W=new gx(G,{...J.workerOpts,trackUnmanagedFds:!1,workerData:{filename:Q.indexOf("file://")===0?Q:dx(Q).href,dataBuf:$[y].dataBuf,stateBuf:$[y].stateBuf,workerData:{$context:{threadStreamVersion:vx},...Y}}});return W.stream=new WY($),W.on("message",sx),W.on("exit",TD),CD.register($,W),W}function PD($){if(px(!$[y].sync),$[y].needDrain)$[y].needDrain=!1,$.emit("drain")}function GY($){let J=Atomics.load($[y].state,Y6),Q=$[y].data.length-J;if(Q>0){if($[y].buf.length===0){if($[y].flushing=!1,$[y].ending)Pq($);else if($[y].needDrain)process.nextTick(PD,$);return}let Y=$[y].buf.slice(0,Q),X=Buffer.byteLength(Y);if(X<=Q)$[y].buf=$[y].buf.slice(Q),KY($,Y,GY.bind(null,$));else $.flush(()=>{if($.destroyed)return;Atomics.store($[y].state,Q6,0),Atomics.store($[y].state,Y6,0),Atomics.notify($[y].state,Q6);while(X>$[y].data.length)Q=Q/2,Y=$[y].buf.slice(0,Q),X=Buffer.byteLength(Y);$[y].buf=$[y].buf.slice(Q),KY($,Y,GY.bind(null,$))})}else if(Q===0){if(J===0&&$[y].buf.length===0)return;$.flush(()=>{Atomics.store($[y].state,Q6,0),Atomics.store($[y].state,Y6,0),Atomics.notify($[y].state,Q6),GY($)})}else P5($,Error("overwritten"))}function sx($){let J=this.stream.deref();if(J===void 0){this.exited=!0,this.terminate();return}switch($.code){case"READY":this.stream=new ox(J),J.flush(()=>{J[y].ready=!0,J.emit("ready")});break;case"ERROR":P5(J,$.err);break;case"EVENT":if(Array.isArray($.args))J.emit($.name,...$.args);else J.emit($.name,$.args);break;case"WARNING":process.emitWarning($.err);break;default:P5(J,Error("this should not happen: "+$.code))}}function TD($){let J=this.stream.deref();if(J===void 0)return;CD.unregister(J),J.worker.exited=!0,J.worker.off("exit",TD),P5(J,$!==0?Error("the worker thread exited"):null)}class ID extends hx{constructor($={}){super();if($.bufferSize<4)throw Error("bufferSize must at least fit a 4-byte utf-8 char");this[y]={},this[y].stateBuf=new SharedArrayBuffer(128),this[y].state=new Int32Array(this[y].stateBuf),this[y].dataBuf=new SharedArrayBuffer($.bufferSize||4194304),this[y].data=Buffer.from(this[y].dataBuf),this[y].sync=$.sync||!1,this[y].ending=!1,this[y].ended=!1,this[y].needDrain=!1,this[y].destroyed=!1,this[y].flushing=!1,this[y].ready=!1,this[y].finished=!1,this[y].errored=null,this[y].closed=!1,this[y].buf="",this.worker=ix(this,$),this.on("message",(J,Q)=>{this.worker.postMessage(J,Q)})}write($){if(this[y].destroyed)return jq(this,Error("the worker has exited")),!1;if(this[y].ending)return jq(this,Error("the worker is ending")),!1;if(this[y].flushing&&this[y].buf.length+$.length>=lx)try{Fq(this),this[y].flushing=!0}catch(J){return P5(this,J),!1}if(this[y].buf+=$,this[y].sync)try{return Fq(this),!0}catch(J){return P5(this,J),!1}if(!this[y].flushing)this[y].flushing=!0,setImmediate(GY,this);return this[y].needDrain=this[y].data.length-this[y].buf.length-Atomics.load(this[y].state,Y6)<=0,!this[y].needDrain}end(){if(this[y].destroyed)return;this[y].ending=!0,Pq(this)}flush($){if(this[y].destroyed){if(typeof $==="function")process.nextTick($,Error("the worker has exited"));return}let J=Atomics.load(this[y].state,Y6);ux(this[y].state,Q6,J,1/0,(Q,Y)=>{if(Q){P5(this,Q),process.nextTick($,Q);return}if(Y==="not-equal"){this.flush($);return}process.nextTick($)})}flushSync(){if(this[y].destroyed)return;Fq(this),Cq(this)}unref(){this.worker.unref()}ref(){this.worker.ref()}get ready(){return this[y].ready}get destroyed(){return this[y].destroyed}get closed(){return this[y].closed}get writable(){return!this[y].destroyed&&!this[y].ending}get writableEnded(){return this[y].ending}get writableFinished(){return this[y].finished}get writableNeedDrain(){return this[y].needDrain}get writableObjectMode(){return!1}get writableErrored(){return this[y].errored}}function jq($,J){setImmediate(()=>{$.emit("error",J)})}function P5($,J){if($[y].destroyed)return;if($[y].destroyed=!0,J)$[y].errored=J,jq($,J);if(!$.worker.exited)$.worker.terminate().catch(()=>{}).then(()=>{$[y].closed=!0,$.emit("close")});else setImmediate(()=>{$[y].closed=!0,$.emit("close")})}function KY($,J,Q){let Y=Atomics.load($[y].state,Y6),X=Buffer.byteLength(J);return $[y].data.write(J,Y),Atomics.store($[y].state,Y6,Y+X),Atomics.notify($[y].state,Y6),Q(),!0}function Pq($){if($[y].ended||!$[y].ending||$[y].flushing)return;$[y].ended=!0;try{$.flushSync();let J=Atomics.load($[y].state,Q6);Atomics.store($[y].state,Y6,-1),Atomics.notify($[y].state,Y6);let Q=0;while(J!==-1){if(Atomics.wait($[y].state,Q6,J,1000),J=Atomics.load($[y].state,Q6),J===-2){P5($,Error("end() failed"));return}if(++Q===10){P5($,Error("end() took too long (10s)"));return}}process.nextTick(()=>{$[y].finished=!0,$.emit("finish")})}catch(J){P5($,J)}}function Fq($){let J=()=>{if($[y].ending)Pq($);else if($[y].needDrain)process.nextTick(PD,$)};$[y].flushing=!1;while($[y].buf.length!==0){let Q=Atomics.load($[y].state,Y6),Y=$[y].data.length-Q;if(Y===0){Cq($),Atomics.store($[y].state,Q6,0),Atomics.store($[y].state,Y6,0),Atomics.notify($[y].state,Q6);continue}else if(Y<0)throw Error("overwritten");let X=$[y].buf.slice(0,Y),G=Buffer.byteLength(X);if(G<=Y)$[y].buf=$[y].buf.slice(Y),KY($,X,J);else{Cq($),Atomics.store($[y].state,Q6,0),Atomics.store($[y].state,Y6,0),Atomics.notify($[y].state,Q6);while(G>$[y].buf.length)Y=Y/2,X=$[y].buf.slice(0,Y),G=Buffer.byteLength(X);$[y].buf=$[y].buf.slice(Y),KY($,X,J)}}}function Cq($){if($[y].flushing)throw Error("unable to flush while flushing");let J=Atomics.load($[y].state,Y6),Q=0;while(!0){let Y=Atomics.load($[y].state,Q6);if(Y===-2)throw Error("_flushSync failed");if(Y!==J)Atomics.wait($[y].state,Q6,Y,1000);else break;if(++Q===10)throw Error("_flushSync took too long (10s)")}}AD.exports=ID});var Aq=H0((ZL0,yD)=>{var __dirname="/Users/rubilmax/conductor/workspaces/morpho-agent/sarajevo/node_modules/.bun/pino@10.3.1/node_modules/pino/lib",{createRequire:rx}=k0("module"),{existsSync:tx}=k0("node:fs"),ax=Vq(),{join:Tq,isAbsolute:kD,sep:ex}=k0("node:path"),{fileURLToPath:$b}=k0("node:url"),Jb=Rq(),Iq=Lq(),Qb=xD();function Yb($){Iq.register($,qb),Iq.registerBeforeExit($,Ub),$.on("close",function(){Iq.unregister($)})}function Xb(){let $=process.execArgv;for(let J=0;J<$.length;J++){let Q=$[J];if(Q==="--import"||Q==="--require"||Q==="-r")return!0;if(Q.startsWith("--import=")||Q.startsWith("--require=")||Q.startsWith("-r="))return!0}return!1}function Gb($){let J=$.match(/(?:[^\s"']+|"[^"]*"|'[^']*')+/g);if(!J)return $;let Q=[],Y=!1;for(let X=0;X<J.length;X++){let G=J[X];if(G==="--require"||G==="-r"||G==="--import"){let W=J[X+1];if(W&&bD(W)){Y=!0,X++;continue}if(Q.push(G),W)Q.push(W),X++;continue}if(G.startsWith("--require=")||G.startsWith("-r=")||G.startsWith("--import=")){let W=G.slice(G.indexOf("=")+1);if(bD(W)){Y=!0;continue}}Q.push(G)}return Y?Q.join(" "):$}function bD($){let J=Wb($);if(!J)return!1;let Q=J;if(Q.startsWith("file://"))try{Q=$b(Q)}catch{return!1}return kD(Q)&&!tx(Q)}function Wb($){let J=$[0],Q=$[$.length-1];if(J==='"'&&Q==='"'||J==="'"&&Q==="'")return $.slice(1,-1);return $}function Kb($,J,Q,Y,X){if(!Q.execArgv&&Xb()&&k0.main===void 0)Q={...Q,execArgv:[]};if(!Q.env&&process.env.NODE_OPTIONS){let q=Gb(process.env.NODE_OPTIONS);if(q!==process.env.NODE_OPTIONS)Q={...Q,env:{...process.env,NODE_OPTIONS:q}}}Q={...Q,name:X};let G=new Qb({filename:$,workerData:J,workerOpts:Q,sync:Y});G.on("ready",W),G.on("close",function(){process.removeListener("exit",K)}),process.on("exit",K);function W(){if(process.removeListener("exit",K),G.unref(),Q.autoEnd!==!1)Yb(G)}function K(){if(G.closed)return;G.flushSync(),Jb(100),G.end()}return G}function qb($){$.ref(),$.flushSync(),$.end(),$.once("close",function(){$.unref()})}function Ub($){$.flushSync()}function Nb($){let{pipeline:J,targets:Q,levels:Y,dedupe:X,worker:G={},caller:W=ax(),sync:K=!1}=$,q={...$.options},U=typeof W==="string"?[W]:W,N=typeof globalThis==="object"&&Object.prototype.hasOwnProperty.call(globalThis,"__bundlerPathsOverrides")&&globalThis.__bundlerPathsOverrides&&typeof globalThis.__bundlerPathsOverrides==="object"?globalThis.__bundlerPathsOverrides:Object.create(null),H=$.target;if(H&&Q)throw Error("only one of target or targets can be specified");if(Q)H=N["pino-worker"]||Tq(__dirname,"worker.js"),q.targets=Q.filter((M)=>M.target).map((M)=>{return{...M,target:Z(M.target)}}),q.pipelines=Q.filter((M)=>M.pipeline).map((M)=>{return M.pipeline.map((D)=>{return{...D,level:M.level,target:Z(D.target)}})});else if(J)H=N["pino-worker"]||Tq(__dirname,"worker.js"),q.pipelines=[J.map((M)=>{return{...M,target:Z(M.target)}})];if(Y)q.levels=Y;if(X)q.dedupe=X;q.pinoWillSendConfig=!0;let f=Q||J?"pino.transport":H;return Kb(Z(H),q,G,K,f);function Z(M){if(M=N[M]||M,kD(M)||M.indexOf("file://")===0)return M;if(M==="pino/file")return Tq(__dirname,"..","file.js");let D;for(let R of U)try{let O=R==="node:repl"?process.cwd()+ex:R;D=rx(O).resolve(M);break}catch(O){continue}if(!D)throw Error(`unable to determine transport target for "${M}"`);return D}}yD.exports=Nb});var NY=H0((zL0,sD)=>{var Hb=k0("node:diagnostics_channel"),vD=HD(),{mapHttpRequest:fb,mapHttpResponse:Zb}=zq(),bq=OD(),hD=Lq(),{lsCacheSym:Mb,chindingsSym:cD,writeSym:gD,serializersSym:pD,formatOptsSym:mD,endSym:zb,stringifiersSym:lD,stringifySym:nD,stringifySafeSym:kq,wildcardFirstSym:oD,nestedKeySym:Vb,formattersSym:iD,messageKeySym:Ob,errorKeySym:Db,nestedKeyStrSym:wb,msgPrefixSym:qY}=r4(),{isMainThread:Eb}=k0("worker_threads"),Rb=Aq(),[Bb]=process.versions.node.split(".").map(($)=>Number($)),dD=Hb.tracingChannel("pino_asJson"),xq=Bb>=25?($)=>JSON.stringify($):Lb;function a4(){}function _b($,J){if(!J)return Q;return function(...X){J.call(this,X,Q,$)};function Q(Y,...X){if(typeof Y==="object"){let G=Y;if(Y!==null){if(Y.method&&Y.headers&&Y.socket)Y=fb(Y);else if(typeof Y.setHeader==="function")Y=Zb(Y)}let W;if(G===null&&X.length===0)W=[null];else G=X.shift(),W=X;if(typeof this[qY]==="string"&&G!==void 0&&G!==null)G=this[qY]+G;this[gD](Y,vD(G,W,this[mD]),$)}else{let G=Y===void 0?X.shift():Y;if(typeof this[qY]==="string"&&G!==void 0&&G!==null)G=this[qY]+G;this[gD](null,vD(G,X,this[mD]),$)}}}function Lb($){let J="",Q=0,Y=!1,X=255,G=$.length;if(G>100)return JSON.stringify($);for(var W=0;W<G&&X>=32;W++)if(X=$.charCodeAt(W),X===34||X===92)J+=$.slice(Q,W)+"\\",Q=W,Y=!0;if(!Y)J=$;else J+=$.slice(Q);return X<32?JSON.stringify($):'"'+J+'"'}function Fb($,J,Q,Y){if(dD.hasSubscribers===!1)return uD.call(this,$,J,Q,Y);let X={instance:this,arguments};return dD.traceSync(uD,X,this,$,J,Q,Y)}function uD($,J,Q,Y){let X=this[nD],G=this[kq],W=this[lD],K=this[zb],q=this[cD],U=this[pD],N=this[iD],H=this[Ob],f=this[Db],Z=this[Mb][Q]+Y;Z=Z+q;let M;if(N.log)$=N.log($);let D=W[oD],R="";for(let E in $)if(M=$[E],Object.prototype.hasOwnProperty.call($,E)&&M!==void 0){if(U[E])M=U[E](M);else if(E===f&&U.err)M=U.err(M);let V=W[E]||D;switch(typeof M){case"undefined":case"function":continue;case"number":if(Number.isFinite(M)===!1)M=null;case"boolean":if(V)M=V(M);break;case"string":M=(V||xq)(M);break;default:M=(V||X)(M,G)}if(M===void 0)continue;let w=xq(E);R+=","+w+":"+M}let O="";if(J!==void 0){M=U[H]?U[H](J):J;let E=W[H]||D;switch(typeof M){case"function":break;case"number":if(Number.isFinite(M)===!1)M=null;case"boolean":if(E)M=E(M);O=',"'+H+'":'+M;break;case"string":M=(E||xq)(M),O=',"'+H+'":'+M;break;default:M=(E||X)(M,G),O=',"'+H+'":'+M}}if(this[Vb]&&R)return Z+this[wb]+R.slice(1)+"}"+O+K;else return Z+R+O+K}function Sb($,J){let Q,Y=$[cD],X=$[nD],G=$[kq],W=$[lD],K=W[oD],q=$[pD],U=$[iD].bindings;J=U(J);for(let N in J)if(Q=J[N],((N.length<5||N!=="level"&&N!=="serializers"&&N!=="formatters"&&N!=="customLevels")&&J.hasOwnProperty(N)&&Q!==void 0)===!0){if(Q=q[N]?q[N](Q):Q,Q=(W[N]||K||X)(Q,G),Q===void 0)continue;Y+=',"'+N+'":'+Q}return Y}function jb($){return $.write!==$.constructor.prototype.write}function UY($){let J=new bq($);if(J.on("error",Q),!$.sync&&Eb)hD.register(J,Cb),J.on("close",function(){hD.unregister(J)});return J;function Q(Y){if(Y.code==="EPIPE"){J.write=a4,J.end=a4,J.flushSync=a4,J.destroy=a4;return}J.removeListener("error",Q),J.emit("error",Y)}}function Cb($,J){if($.destroyed)return;if(J==="beforeExit")$.flush(),$.on("drain",function(){$.end()});else $.flushSync()}function Pb($){return function(Q,Y,X={},G){if(typeof X==="string")G=UY({dest:X}),X={};else if(typeof G==="string"){if(X&&X.transport)throw Error("only one of option.transport or stream can be specified");G=UY({dest:G})}else if(X instanceof bq||X.writable||X._writableState)G=X,X={};else if(X.transport){if(X.transport instanceof bq||X.transport.writable||X.transport._writableState)throw Error("option.transport do not allow stream, please pass to option directly. e.g. pino(transport)");if(X.transport.targets&&X.transport.targets.length&&X.formatters&&typeof X.formatters.level==="function")throw Error("option.transport.targets do not allow custom level formatters");let q;if(X.customLevels)q=X.useOnlyCustomLevels?X.customLevels:Object.assign({},X.levels,X.customLevels);G=Rb({caller:Y,...X.transport,levels:q})}if(X=Object.assign({},$,X),X.serializers=Object.assign({},$.serializers,X.serializers),X.formatters=Object.assign({},$.formatters,X.formatters),X.prettyPrint)throw Error("prettyPrint option is no longer supported, see the pino-pretty package (https://github.com/pinojs/pino-pretty)");let{enabled:W,onChild:K}=X;if(W===!1)X.level="silent";if(!K)X.onChild=a4;if(!G)if(!jb(process.stdout))G=UY({fd:process.stdout.fd||1});else G=process.stdout;return{opts:X,stream:G}}}function Tb($,J){try{return JSON.stringify($)}catch(Q){try{return(J||this[kq])($)}catch(Y){return'"[unable to serialize, circular reference is too complex to analyze]"'}}}function Ib($,J,Q){return{level:$,bindings:J,log:Q}}function Ab($){let J=Number($);if(typeof $==="string"&&Number.isFinite(J))return J;if($===void 0)return 1;return $}sD.exports={noop:a4,buildSafeSonicBoom:UY,asChindings:Sb,asJson:Fb,genLog:_b,createArgsNormalizer:Pb,stringify:Tb,buildFormatters:Ib,normalizeDestFileDescriptor:Ab}});var HY=H0((VL0,rD)=>{var xb={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},bb={ASC:"ASC",DESC:"DESC"};rD.exports={DEFAULT_LEVELS:xb,SORTING_ORDER:bb}});var hq=H0((OL0,$w)=>{var{lsCacheSym:kb,levelValSym:yq,useOnlyCustomLevelsSym:yb,streamSym:vb,formattersSym:hb,hooksSym:gb,levelCompSym:tD}=r4(),{noop:mb,genLog:J9}=NY(),{DEFAULT_LEVELS:T5,SORTING_ORDER:aD}=HY(),eD={fatal:($)=>{let J=J9(T5.fatal,$);return function(...Q){let Y=this[vb];if(J.call(this,...Q),typeof Y.flushSync==="function")try{Y.flushSync()}catch(X){}}},error:($)=>J9(T5.error,$),warn:($)=>J9(T5.warn,$),info:($)=>J9(T5.info,$),debug:($)=>J9(T5.debug,$),trace:($)=>J9(T5.trace,$)},vq=Object.keys(T5).reduce(($,J)=>{return $[T5[J]]=J,$},{}),db=Object.keys(vq).reduce(($,J)=>{return $[J]='{"level":'+Number(J),$},{});function ub($){let J=$[hb].level,{labels:Q}=$.levels,Y={};for(let X in Q){let G=J(Q[X],Number(X));Y[X]=JSON.stringify(G).slice(0,-1)}return $[kb]=Y,$}function cb($,J){if(J)return!1;switch($){case"fatal":case"error":case"warn":case"info":case"debug":case"trace":return!0;default:return!1}}function pb($){let{labels:J,values:Q}=this.levels;if(typeof $==="number"){if(J[$]===void 0)throw Error("unknown level value"+$);$=J[$]}if(Q[$]===void 0)throw Error("unknown level "+$);let Y=this[yq],X=this[yq]=Q[$],G=this[yb],W=this[tD],K=this[gb].logMethod;for(let q in Q){if(W(Q[q],X)===!1){this[q]=mb;continue}this[q]=cb(q,G)?eD[q](K):J9(Q[q],K)}this.emit("level-change",$,X,J[Y],Y,this)}function lb($){let{levels:J,levelVal:Q}=this;return J&&J.labels?J.labels[Q]:""}function nb($){let{values:J}=this.levels,Q=J[$];return Q!==void 0&&this[tD](Q,this[yq])}function ob($,J,Q){if($===aD.DESC)return J<=Q;return J>=Q}function ib($){if(typeof $==="string")return ob.bind(null,$);return $}function sb($=null,J=!1){let Q=$?Object.keys($).reduce((G,W)=>{return G[$[W]]=W,G},{}):null,Y=Object.assign(Object.create(Object.prototype,{Infinity:{value:"silent"}}),J?null:vq,Q),X=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),J?null:T5,$);return{labels:Y,values:X}}function rb($,J,Q){if(typeof $==="number"){if(![].concat(Object.keys(J||{}).map((G)=>J[G]),Q?[]:Object.keys(vq).map((G)=>+G),1/0).includes($))throw Error(`default level:${$} must be included in custom levels`);return}let Y=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),Q?null:T5,J);if(!($ in Y))throw Error(`default level:${$} must be included in custom levels`)}function tb($,J){let{labels:Q,values:Y}=$;for(let X in J){if(X in Y)throw Error("levels cannot be overridden");if(J[X]in Q)throw Error("pre-existing level values cannot be used for new levels")}}function ab($){if(typeof $==="function")return;if(typeof $==="string"&&Object.values(aD).includes($))return;throw Error('Levels comparison should be one of "ASC", "DESC" or "function" type')}$w.exports={initialLsCache:db,genLsCache:ub,levelMethods:eD,getLevel:lb,setLevel:pb,isLevelEnabled:nb,mappings:sb,assertNoLevelCollisions:tb,assertDefaultLevelFound:rb,genLevelComparison:ib,assertLevelComparison:ab}});var gq=H0((DL0,Jw)=>{Jw.exports={version:"10.3.1"}});var Uw=H0((wL0,qw)=>{var{EventEmitter:eb}=k0("node:events"),{lsCacheSym:$k,levelValSym:Jk,setLevelSym:dq,getLevelSym:Qw,chindingsSym:ZY,mixinSym:Qk,asJsonSym:Xw,writeSym:Yk,mixinMergeStrategySym:Xk,timeSym:Gk,timeSliceIndexSym:Wk,streamSym:Gw,serializersSym:Q9,formattersSym:o7,errorKeySym:Kk,messageKeySym:qk,useOnlyCustomLevelsSym:Uk,needsMetadataGsym:Nk,redactFmtSym:Hk,stringifySym:fk,formatOptsSym:Zk,stringifiersSym:Mk,msgPrefixSym:uq,hooksSym:zk}=r4(),{getLevel:Vk,setLevel:Ok,isLevelEnabled:Dk,mappings:wk,initialLsCache:Ek,genLsCache:Rk,assertNoLevelCollisions:Bk}=hq(),{asChindings:cq,asJson:_k,buildFormatters:mq,stringify:Yw,noop:Ww}=NY(),{version:Lk}=gq(),Fk=wq(),Sk=class{},Kw={constructor:Sk,child:jk,bindings:Ck,setBindings:Pk,flush:Ak,isLevelEnabled:Dk,version:Lk,get level(){return this[Qw]()},set level($){this[dq]($)},get levelVal(){return this[Jk]},set levelVal($){throw Error("levelVal is read-only")},get msgPrefix(){return this[uq]},get[Symbol.toStringTag](){return"Pino"},[$k]:Ek,[Yk]:Ik,[Xw]:_k,[Qw]:Vk,[dq]:Ok};Object.setPrototypeOf(Kw,eb.prototype);qw.exports=function(){return Object.create(Kw)};var fY=($)=>$;function jk($,J){if(!$)throw Error("missing bindings for child Pino");let Q=this[Q9],Y=this[o7],X=Object.create(this);if(J==null){if(X[o7].bindings!==fY)X[o7]=mq(Y.level,fY,Y.log);if(X[ZY]=cq(X,$),this.onChild!==Ww)this.onChild(X);return X}if(J.hasOwnProperty("serializers")===!0){X[Q9]=Object.create(null);for(let U in Q)X[Q9][U]=Q[U];let K=Object.getOwnPropertySymbols(Q);for(var G=0;G<K.length;G++){let U=K[G];X[Q9][U]=Q[U]}for(let U in J.serializers)X[Q9][U]=J.serializers[U];let q=Object.getOwnPropertySymbols(J.serializers);for(var W=0;W<q.length;W++){let U=q[W];X[Q9][U]=J.serializers[U]}}else X[Q9]=Q;if(J.hasOwnProperty("formatters")){let{level:K,bindings:q,log:U}=J.formatters;X[o7]=mq(K||Y.level,q||fY,U||Y.log)}else X[o7]=mq(Y.level,fY,Y.log);if(J.hasOwnProperty("customLevels")===!0)Bk(this.levels,J.customLevels),X.levels=wk(J.customLevels,X[Uk]),Rk(X);if(typeof J.redact==="object"&&J.redact!==null||Array.isArray(J.redact)){X.redact=J.redact;let K=Fk(X.redact,Yw),q={stringify:K[Hk]};X[fk]=Yw,X[Mk]=K,X[Zk]=q}if(typeof J.msgPrefix==="string")X[uq]=(this[uq]||"")+J.msgPrefix;if(X[ZY]=cq(X,$),J.level!==void 0&&J.level!==this.level||J.hasOwnProperty("customLevels")){let K=J.level||this.level;X[dq](K)}return this.onChild(X),X}function Ck(){let J=`{${this[ZY].substr(1)}}`,Q=JSON.parse(J);return delete Q.pid,delete Q.hostname,Q}function Pk($){let J=cq(this,$);this[ZY]=J}function Tk($,J){return Object.assign(J,$)}function Ik($,J,Q){let Y=this[Gk](),X=this[Qk],G=this[Kk],W=this[qk],K=this[Xk]||Tk,q,U=this[zk].streamWrite;if($===void 0||$===null)q={};else if($ instanceof Error){if(q={[G]:$},J===void 0)J=$.message}else if(q=$,J===void 0&&$[W]===void 0&&$[G])J=$[G].message;if(X)q=K(q,X(q,Q,this));let N=this[Xw](q,J,Q,Y),H=this[Gw];if(H[Nk]===!0)H.lastLevel=Q,H.lastObj=q,H.lastMsg=J,H.lastTime=Y.slice(this[Wk]),H.lastLogger=this;H.write(U?U(N):N)}function Ak($){if($!=null&&typeof $!=="function")throw Error("callback must be a function");let J=this[Gw];if(typeof J.flush==="function")J.flush($||Ww);else if($)$()}});var Zw=H0((EL0,fw)=>{var{hasOwnProperty:i7}=Object.prototype,X9=nq();X9.configure=nq;X9.stringify=X9;X9.default=X9;EL0.stringify=X9;EL0.configure=nq;fw.exports=X9;var xk=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function $2($){if($.length<5000&&!xk.test($))return`"${$}"`;return JSON.stringify($)}function pq($,J){if($.length>200||J)return $.sort(J);for(let Q=1;Q<$.length;Q++){let Y=$[Q],X=Q;while(X!==0&&$[X-1]>Y)$[X]=$[X-1],X--;$[X]=Y}return $}var bk=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function lq($){return bk.call($)!==void 0&&$.length!==0}function Nw($,J,Q){if($.length<Q)Q=$.length;let Y=J===","?"":" ",X=`"0":${Y}${$[0]}`;for(let G=1;G<Q;G++)X+=`${J}"${G}":${Y}${$[G]}`;return X}function kk($){if(i7.call($,"circularValue")){let J=$.circularValue;if(typeof J==="string")return`"${J}"`;if(J==null)return J;if(J===Error||J===TypeError)return{toString(){throw TypeError("Converting circular structure to JSON")}};throw TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}function yk($){let J;if(i7.call($,"deterministic")){if(J=$.deterministic,typeof J!=="boolean"&&typeof J!=="function")throw TypeError('The "deterministic" argument must be of type boolean or comparator function')}return J===void 0?!0:J}function vk($,J){let Q;if(i7.call($,J)){if(Q=$[J],typeof Q!=="boolean")throw TypeError(`The "${J}" argument must be of type boolean`)}return Q===void 0?!0:Q}function Hw($,J){let Q;if(i7.call($,J)){if(Q=$[J],typeof Q!=="number")throw TypeError(`The "${J}" argument must be of type number`);if(!Number.isInteger(Q))throw TypeError(`The "${J}" argument must be an integer`);if(Q<1)throw RangeError(`The "${J}" argument must be >= 1`)}return Q===void 0?1/0:Q}function Y9($){if($===1)return"1 item";return`${$} items`}function hk($){let J=new Set;for(let Q of $)if(typeof Q==="string"||typeof Q==="number")J.add(String(Q));return J}function gk($){if(i7.call($,"strict")){let J=$.strict;if(typeof J!=="boolean")throw TypeError('The "strict" argument must be of type boolean');if(J)return(Q)=>{let Y=`Object can not safely be stringified. Received type ${typeof Q}`;if(typeof Q!=="function")Y+=` (${Q.toString()})`;throw Error(Y)}}}function nq($){$={...$};let J=gk($);if(J){if($.bigint===void 0)$.bigint=!1;if(!("circularValue"in $))$.circularValue=Error}let Q=kk($),Y=vk($,"bigint"),X=yk($),G=typeof X==="function"?X:void 0,W=Hw($,"maximumDepth"),K=Hw($,"maximumBreadth");function q(Z,M,D,R,O,E){let V=M[Z];if(typeof V==="object"&&V!==null&&typeof V.toJSON==="function")V=V.toJSON(Z);switch(V=R.call(M,Z,V),typeof V){case"string":return $2(V);case"object":{if(V===null)return"null";if(D.indexOf(V)!==-1)return Q;let w="",B=",",j=E;if(Array.isArray(V)){if(V.length===0)return"[]";if(W<D.length+1)return'"[Array]"';if(D.push(V),O!=="")E+=O,w+=`
|
|
68
|
+
${E}`,B=`,
|
|
69
|
+
${E}`;let F=Math.min(V.length,K),A=0;for(;A<F-1;A++){let P=q(String(A),V,D,R,O,E);w+=P!==void 0?P:"null",w+=B}let k=q(String(A),V,D,R,O,E);if(w+=k!==void 0?k:"null",V.length-1>K){let P=V.length-K-1;w+=`${B}"... ${Y9(P)} not stringified"`}if(O!=="")w+=`
|
|
70
|
+
${j}`;return D.pop(),`[${w}]`}let T=Object.keys(V),x=T.length;if(x===0)return"{}";if(W<D.length+1)return'"[Object]"';let C="",S="";if(O!=="")E+=O,B=`,
|
|
71
|
+
${E}`,C=" ";let v=Math.min(x,K);if(X&&!lq(V))T=pq(T,G);D.push(V);for(let F=0;F<v;F++){let A=T[F],k=q(A,V,D,R,O,E);if(k!==void 0)w+=`${S}${$2(A)}:${C}${k}`,S=B}if(x>K){let F=x-K;w+=`${S}"...":${C}"${Y9(F)} not stringified"`,S=B}if(O!==""&&S.length>1)w=`
|
|
72
|
+
${E}${w}
|
|
73
|
+
${j}`;return D.pop(),`{${w}}`}case"number":return isFinite(V)?String(V):J?J(V):"null";case"boolean":return V===!0?"true":"false";case"undefined":return;case"bigint":if(Y)return String(V);default:return J?J(V):void 0}}function U(Z,M,D,R,O,E){if(typeof M==="object"&&M!==null&&typeof M.toJSON==="function")M=M.toJSON(Z);switch(typeof M){case"string":return $2(M);case"object":{if(M===null)return"null";if(D.indexOf(M)!==-1)return Q;let V=E,w="",B=",";if(Array.isArray(M)){if(M.length===0)return"[]";if(W<D.length+1)return'"[Array]"';if(D.push(M),O!=="")E+=O,w+=`
|
|
74
|
+
${E}`,B=`,
|
|
75
|
+
${E}`;let x=Math.min(M.length,K),C=0;for(;C<x-1;C++){let v=U(String(C),M[C],D,R,O,E);w+=v!==void 0?v:"null",w+=B}let S=U(String(C),M[C],D,R,O,E);if(w+=S!==void 0?S:"null",M.length-1>K){let v=M.length-K-1;w+=`${B}"... ${Y9(v)} not stringified"`}if(O!=="")w+=`
|
|
76
|
+
${V}`;return D.pop(),`[${w}]`}D.push(M);let j="";if(O!=="")E+=O,B=`,
|
|
77
|
+
${E}`,j=" ";let T="";for(let x of R){let C=U(x,M[x],D,R,O,E);if(C!==void 0)w+=`${T}${$2(x)}:${j}${C}`,T=B}if(O!==""&&T.length>1)w=`
|
|
78
|
+
${E}${w}
|
|
79
|
+
${V}`;return D.pop(),`{${w}}`}case"number":return isFinite(M)?String(M):J?J(M):"null";case"boolean":return M===!0?"true":"false";case"undefined":return;case"bigint":if(Y)return String(M);default:return J?J(M):void 0}}function N(Z,M,D,R,O){switch(typeof M){case"string":return $2(M);case"object":{if(M===null)return"null";if(typeof M.toJSON==="function"){if(M=M.toJSON(Z),typeof M!=="object")return N(Z,M,D,R,O);if(M===null)return"null"}if(D.indexOf(M)!==-1)return Q;let E=O;if(Array.isArray(M)){if(M.length===0)return"[]";if(W<D.length+1)return'"[Array]"';D.push(M),O+=R;let C=`
|
|
80
|
+
${O}`,S=`,
|
|
81
|
+
${O}`,v=Math.min(M.length,K),F=0;for(;F<v-1;F++){let k=N(String(F),M[F],D,R,O);C+=k!==void 0?k:"null",C+=S}let A=N(String(F),M[F],D,R,O);if(C+=A!==void 0?A:"null",M.length-1>K){let k=M.length-K-1;C+=`${S}"... ${Y9(k)} not stringified"`}return C+=`
|
|
82
|
+
${E}`,D.pop(),`[${C}]`}let V=Object.keys(M),w=V.length;if(w===0)return"{}";if(W<D.length+1)return'"[Object]"';O+=R;let B=`,
|
|
83
|
+
${O}`,j="",T="",x=Math.min(w,K);if(lq(M))j+=Nw(M,B,K),V=V.slice(M.length),x-=M.length,T=B;if(X)V=pq(V,G);D.push(M);for(let C=0;C<x;C++){let S=V[C],v=N(S,M[S],D,R,O);if(v!==void 0)j+=`${T}${$2(S)}: ${v}`,T=B}if(w>K){let C=w-K;j+=`${T}"...": "${Y9(C)} not stringified"`,T=B}if(T!=="")j=`
|
|
84
|
+
${O}${j}
|
|
85
|
+
${E}`;return D.pop(),`{${j}}`}case"number":return isFinite(M)?String(M):J?J(M):"null";case"boolean":return M===!0?"true":"false";case"undefined":return;case"bigint":if(Y)return String(M);default:return J?J(M):void 0}}function H(Z,M,D){switch(typeof M){case"string":return $2(M);case"object":{if(M===null)return"null";if(typeof M.toJSON==="function"){if(M=M.toJSON(Z),typeof M!=="object")return H(Z,M,D);if(M===null)return"null"}if(D.indexOf(M)!==-1)return Q;let R="",O=M.length!==void 0;if(O&&Array.isArray(M)){if(M.length===0)return"[]";if(W<D.length+1)return'"[Array]"';D.push(M);let j=Math.min(M.length,K),T=0;for(;T<j-1;T++){let C=H(String(T),M[T],D);R+=C!==void 0?C:"null",R+=","}let x=H(String(T),M[T],D);if(R+=x!==void 0?x:"null",M.length-1>K){let C=M.length-K-1;R+=`,"... ${Y9(C)} not stringified"`}return D.pop(),`[${R}]`}let E=Object.keys(M),V=E.length;if(V===0)return"{}";if(W<D.length+1)return'"[Object]"';let w="",B=Math.min(V,K);if(O&&lq(M))R+=Nw(M,",",K),E=E.slice(M.length),B-=M.length,w=",";if(X)E=pq(E,G);D.push(M);for(let j=0;j<B;j++){let T=E[j],x=H(T,M[T],D);if(x!==void 0)R+=`${w}${$2(T)}:${x}`,w=","}if(V>K){let j=V-K;R+=`${w}"...":"${Y9(j)} not stringified"`}return D.pop(),`{${R}}`}case"number":return isFinite(M)?String(M):J?J(M):"null";case"boolean":return M===!0?"true":"false";case"undefined":return;case"bigint":if(Y)return String(M);default:return J?J(M):void 0}}function f(Z,M,D){if(arguments.length>1){let R="";if(typeof D==="number")R=" ".repeat(Math.min(D,10));else if(typeof D==="string")R=D.slice(0,10);if(M!=null){if(typeof M==="function")return q("",{"":Z},[],M,R,"");if(Array.isArray(M))return U("",Z,[],hk(M),R,"")}if(R.length!==0)return N("",Z,[],R,"")}return H("",Z,[])}return f}});var Ow=H0((RL0,Vw)=>{var oq=Symbol.for("pino.metadata"),{DEFAULT_LEVELS:zw}=HY(),uk=zw.info;function ck($,J){$=$||[],J=J||{dedupe:!1};let Q=Object.create(zw);if(Q.silent=1/0,J.levels&&typeof J.levels==="object")Object.keys(J.levels).forEach((H)=>{Q[H]=J.levels[H]});let Y={write:X,add:K,remove:q,emit:G,flushSync:W,end:U,minLevel:0,lastId:0,streams:[],clone:N,[oq]:!0,streamLevels:Q};if(Array.isArray($))$.forEach(K,Y);else K.call(Y,$);return $=null,Y;function X(H){let f,Z=this.lastLevel,{streams:M}=this,D=0,R;for(let O=pk(M.length,J.dedupe);nk(O,M.length,J.dedupe);O=lk(O,J.dedupe))if(f=M[O],f.level<=Z){if(D!==0&&D!==f.level)break;if(R=f.stream,R[oq]){let{lastTime:E,lastMsg:V,lastObj:w,lastLogger:B}=this;R.lastLevel=Z,R.lastTime=E,R.lastMsg=V,R.lastObj=w,R.lastLogger=B}if(R.write(H),J.dedupe)D=f.level}else if(!J.dedupe)break}function G(...H){for(let{stream:f}of this.streams)if(typeof f.emit==="function")f.emit(...H)}function W(){for(let{stream:H}of this.streams)if(typeof H.flushSync==="function")H.flushSync()}function K(H){if(!H)return Y;let f=typeof H.write==="function"||H.stream,Z=H.write?H:H.stream;if(!f)throw Error("stream object needs to implement either StreamEntry or DestinationStream interface");let{streams:M,streamLevels:D}=this,R;if(typeof H.levelVal==="number")R=H.levelVal;else if(typeof H.level==="string")R=D[H.level];else if(typeof H.level==="number")R=H.level;else R=uk;let O={stream:Z,level:R,levelVal:void 0,id:++Y.lastId};return M.unshift(O),M.sort(Mw),this.minLevel=M[0].level,Y}function q(H){let{streams:f}=this,Z=f.findIndex((M)=>M.id===H);if(Z>=0)f.splice(Z,1),f.sort(Mw),this.minLevel=f.length>0?f[0].level:-1;return Y}function U(){for(let{stream:H}of this.streams){if(typeof H.flushSync==="function")H.flushSync();H.end()}}function N(H){let f=Array(this.streams.length);for(let Z=0;Z<f.length;Z++)f[Z]={level:H,stream:this.streams[Z].stream};return{write:X,add:K,remove:q,minLevel:H,streams:f,clone:N,emit:G,flushSync:W,[oq]:!0}}}function Mw($,J){return $.level-J.level}function pk($,J){return J?$-1:0}function lk($,J){return J?$-1:$+1}function nk($,J,Q){return Q?$>=0:$<J}Vw.exports=ck});var tq=H0((BL0,F6)=>{var ok=k0("node:os"),Fw=zq(),ik=Vq(),sk=wq(),Sw=UD(),rk=Uw(),jw=r4(),{configure:tk}=Zw(),{assertDefaultLevelFound:ak,mappings:Cw,genLsCache:ek,genLevelComparison:$y,assertLevelComparison:Jy}=hq(),{DEFAULT_LEVELS:Pw,SORTING_ORDER:Qy}=HY(),{createArgsNormalizer:Yy,asChindings:Xy,buildSafeSonicBoom:Dw,buildFormatters:Gy,stringify:iq,normalizeDestFileDescriptor:ww,noop:Wy}=NY(),{version:Ky}=gq(),{chindingsSym:Ew,redactFmtSym:qy,serializersSym:Rw,timeSym:Uy,timeSliceIndexSym:Ny,streamSym:Hy,stringifySym:Bw,stringifySafeSym:sq,stringifiersSym:_w,setLevelSym:fy,endSym:Zy,formatOptsSym:My,messageKeySym:zy,errorKeySym:Vy,nestedKeySym:Oy,mixinSym:Dy,levelCompSym:wy,useOnlyCustomLevelsSym:Ey,formattersSym:Lw,hooksSym:Ry,nestedKeyStrSym:By,mixinMergeStrategySym:_y,msgPrefixSym:Ly}=jw,{epochTime:Tw,nullTime:Fy}=Sw,{pid:Sy}=process,jy=ok.hostname(),Cy=Fw.err,Py={level:"info",levelComparison:Qy.ASC,levels:Pw,messageKey:"msg",errorKey:"err",nestedKey:null,enabled:!0,base:{pid:Sy,hostname:jy},serializers:Object.assign(Object.create(null),{err:Cy}),formatters:Object.assign(Object.create(null),{bindings($){return $},level($,J){return{level:J}}}),hooks:{logMethod:void 0,streamWrite:void 0},timestamp:Tw,name:void 0,redact:null,customLevels:null,useOnlyCustomLevels:!1,depthLimit:5,edgeLimit:100},Ty=Yy(Py),Iy=Object.assign(Object.create(null),Fw);function rq(...$){let J={},{opts:Q,stream:Y}=Ty(J,ik(),...$);if(Q.level&&typeof Q.level==="string"&&Pw[Q.level.toLowerCase()]!==void 0)Q.level=Q.level.toLowerCase();let{redact:X,crlf:G,serializers:W,timestamp:K,messageKey:q,errorKey:U,nestedKey:N,base:H,name:f,level:Z,customLevels:M,levelComparison:D,mixin:R,mixinMergeStrategy:O,useOnlyCustomLevels:E,formatters:V,hooks:w,depthLimit:B,edgeLimit:j,onChild:T,msgPrefix:x}=Q,C=tk({maximumDepth:B,maximumBreadth:j}),S=Gy(V.level,V.bindings,V.log),v=iq.bind({[sq]:C}),F=X?sk(X,v):{},A=X?{stringify:F[qy]}:{stringify:v},k="}"+(G?`\r
|
|
86
|
+
`:`
|
|
87
|
+
`),P=Xy.bind(null,{[Ew]:"",[Rw]:W,[_w]:F,[Bw]:iq,[sq]:C,[Lw]:S}),m="";if(H!==null)if(f===void 0)m=P(H);else m=P(Object.assign({},H,{name:f}));let n=K instanceof Function?K:K?Tw:Fy,u=n().indexOf(":")+1;if(E&&!M)throw Error("customLevels is required if useOnlyCustomLevels is set true");if(R&&typeof R!=="function")throw Error(`Unknown mixin type "${typeof R}" - expected "function"`);if(x&&typeof x!=="string")throw Error(`Unknown msgPrefix type "${typeof x}" - expected "string"`);ak(Z,M,E);let o=Cw(M,E);if(typeof Y.emit==="function")Y.emit("message",{code:"PINO_CONFIG",config:{levels:o,messageKey:q,errorKey:U}});Jy(D);let Q0=$y(D);return Object.assign(J,{levels:o,[wy]:Q0,[Ey]:E,[Hy]:Y,[Uy]:n,[Ny]:u,[Bw]:iq,[sq]:C,[_w]:F,[Zy]:k,[My]:A,[zy]:q,[Vy]:U,[Oy]:N,[By]:N?`,${JSON.stringify(N)}:{`:"",[Rw]:W,[Dy]:R,[_y]:O,[Ew]:m,[Lw]:S,[Ry]:w,silent:Wy,onChild:T,[Ly]:x}),Object.setPrototypeOf(J,rk()),ek(J),J[fy](Z),J}F6.exports=rq;F6.exports.destination=($=process.stdout.fd)=>{if(typeof $==="object")return $.dest=ww($.dest||process.stdout.fd),Dw($);else return Dw({dest:ww($),minLength:0})};F6.exports.transport=Aq();F6.exports.multistream=Ow();F6.exports.levels=Cw();F6.exports.stdSerializers=Iy;F6.exports.stdTimeFunctions=Object.assign({},Sw);F6.exports.symbols=jw;F6.exports.version=Ky;F6.exports.default=rq;F6.exports.pino=rq});var IU=G3(TU(),1),{program:Nh,createCommand:Hh,createArgument:fh,createOption:Zh,CommanderError:AU,InvalidArgumentError:S6,InvalidOptionArgumentError:Mh,Command:xU,Argument:zh,Option:bU,Help:Vh}=IU.default;var z={};W3(z,{void:()=>xB,util:()=>z0,unknown:()=>IB,union:()=>vB,undefined:()=>CB,tuple:()=>mB,transformer:()=>rB,symbol:()=>jB,string:()=>cU,strictObject:()=>yB,setErrorMap:()=>aR,set:()=>cB,record:()=>dB,quotelessJson:()=>rR,promise:()=>sB,preprocess:()=>eB,pipeline:()=>$_,ostring:()=>J_,optional:()=>tB,onumber:()=>Q_,oboolean:()=>Y_,objectUtil:()=>yY,object:()=>kB,number:()=>pU,nullable:()=>aB,null:()=>PB,never:()=>AB,nativeEnum:()=>iB,nan:()=>LB,map:()=>uB,makeIssue:()=>q3,literal:()=>nB,lazy:()=>lB,late:()=>BB,isValid:()=>D8,isDirty:()=>J$,isAsync:()=>U9,isAborted:()=>$$,intersection:()=>gB,instanceof:()=>_B,getParsedType:()=>J5,getErrorMap:()=>q9,function:()=>pB,enum:()=>oB,effect:()=>rB,discriminatedUnion:()=>hB,defaultErrorMap:()=>k5,datetimeRegex:()=>mU,date:()=>SB,custom:()=>uU,coerce:()=>X_,boolean:()=>lU,bigint:()=>FB,array:()=>bB,any:()=>TB,addIssueToContext:()=>l,ZodVoid:()=>N3,ZodUnknown:()=>w8,ZodUnion:()=>z9,ZodUndefined:()=>Z9,ZodType:()=>U0,ZodTuple:()=>Y5,ZodTransformer:()=>I6,ZodSymbol:()=>U3,ZodString:()=>j6,ZodSet:()=>U2,ZodSchema:()=>U0,ZodRecord:()=>H3,ZodReadonly:()=>B9,ZodPromise:()=>N2,ZodPipeline:()=>M3,ZodParsedType:()=>c,ZodOptional:()=>P6,ZodObject:()=>i0,ZodNumber:()=>E8,ZodNullable:()=>v5,ZodNull:()=>M9,ZodNever:()=>Q5,ZodNativeEnum:()=>w9,ZodNaN:()=>Z3,ZodMap:()=>f3,ZodLiteral:()=>D9,ZodLazy:()=>O9,ZodIssueCode:()=>d,ZodIntersection:()=>V9,ZodFunction:()=>H9,ZodFirstPartyTypeKind:()=>Y0,ZodError:()=>i1,ZodEnum:()=>B8,ZodEffects:()=>I6,ZodDiscriminatedUnion:()=>Q$,ZodDefault:()=>E9,ZodDate:()=>K2,ZodCatch:()=>R9,ZodBranded:()=>Y$,ZodBoolean:()=>f9,ZodBigInt:()=>R8,ZodArray:()=>C6,ZodAny:()=>q2,Schema:()=>U0,ParseStatus:()=>F1,OK:()=>A1,NEVER:()=>G_,INVALID:()=>J0,EMPTY_PATH:()=>eR,DIRTY:()=>W2,BRAND:()=>RB});var z0;(function($){$.assertEqual=(X)=>{};function J(X){}$.assertIs=J;function Q(X){throw Error()}$.assertNever=Q,$.arrayToEnum=(X)=>{let G={};for(let W of X)G[W]=W;return G},$.getValidEnumValues=(X)=>{let G=$.objectKeys(X).filter((K)=>typeof X[X[K]]!=="number"),W={};for(let K of G)W[K]=X[K];return $.objectValues(W)},$.objectValues=(X)=>{return $.objectKeys(X).map(function(G){return X[G]})},$.objectKeys=typeof Object.keys==="function"?(X)=>Object.keys(X):(X)=>{let G=[];for(let W in X)if(Object.prototype.hasOwnProperty.call(X,W))G.push(W);return G},$.find=(X,G)=>{for(let W of X)if(G(W))return W;return},$.isInteger=typeof Number.isInteger==="function"?(X)=>Number.isInteger(X):(X)=>typeof X==="number"&&Number.isFinite(X)&&Math.floor(X)===X;function Y(X,G=" | "){return X.map((W)=>typeof W==="string"?`'${W}'`:W).join(G)}$.joinValues=Y,$.jsonStringifyReplacer=(X,G)=>{if(typeof G==="bigint")return G.toString();return G}})(z0||(z0={}));var yY;(function($){$.mergeShapes=(J,Q)=>{return{...J,...Q}}})(yY||(yY={}));var c=z0.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),J5=($)=>{switch(typeof $){case"undefined":return c.undefined;case"string":return c.string;case"number":return Number.isNaN($)?c.nan:c.number;case"boolean":return c.boolean;case"function":return c.function;case"bigint":return c.bigint;case"symbol":return c.symbol;case"object":if(Array.isArray($))return c.array;if($===null)return c.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return c.promise;if(typeof Map<"u"&&$ instanceof Map)return c.map;if(typeof Set<"u"&&$ instanceof Set)return c.set;if(typeof Date<"u"&&$ instanceof Date)return c.date;return c.object;default:return c.unknown}};var d=z0.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),rR=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class i1 extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(Q)=>{this.issues=[...this.issues,Q]},this.addIssues=(Q=[])=>{this.issues=[...this.issues,...Q]};let J=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,J);else this.__proto__=J;this.name="ZodError",this.issues=$}format($){let J=$||function(X){return X.message},Q={_errors:[]},Y=(X)=>{for(let G of X.issues)if(G.code==="invalid_union")G.unionErrors.map(Y);else if(G.code==="invalid_return_type")Y(G.returnTypeError);else if(G.code==="invalid_arguments")Y(G.argumentsError);else if(G.path.length===0)Q._errors.push(J(G));else{let W=Q,K=0;while(K<G.path.length){let q=G.path[K];if(K!==G.path.length-1)W[q]=W[q]||{_errors:[]};else W[q]=W[q]||{_errors:[]},W[q]._errors.push(J(G));W=W[q],K++}}};return Y(this),Q}static assert($){if(!($ instanceof i1))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,z0.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(J)=>J.message){let J={},Q=[];for(let Y of this.issues)if(Y.path.length>0){let X=Y.path[0];J[X]=J[X]||[],J[X].push($(Y))}else Q.push($(Y));return{formErrors:Q,fieldErrors:J}}get formErrors(){return this.flatten()}}i1.create=($)=>{return new i1($)};var tR=($,J)=>{let Q;switch($.code){case d.invalid_type:if($.received===c.undefined)Q="Required";else Q=`Expected ${$.expected}, received ${$.received}`;break;case d.invalid_literal:Q=`Invalid literal value, expected ${JSON.stringify($.expected,z0.jsonStringifyReplacer)}`;break;case d.unrecognized_keys:Q=`Unrecognized key(s) in object: ${z0.joinValues($.keys,", ")}`;break;case d.invalid_union:Q="Invalid input";break;case d.invalid_union_discriminator:Q=`Invalid discriminator value. Expected ${z0.joinValues($.options)}`;break;case d.invalid_enum_value:Q=`Invalid enum value. Expected ${z0.joinValues($.options)}, received '${$.received}'`;break;case d.invalid_arguments:Q="Invalid function arguments";break;case d.invalid_return_type:Q="Invalid function return type";break;case d.invalid_date:Q="Invalid date";break;case d.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(Q=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")Q=`${Q} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)Q=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)Q=`Invalid input: must end with "${$.validation.endsWith}"`;else z0.assertNever($.validation);else if($.validation!=="regex")Q=`Invalid ${$.validation}`;else Q="Invalid";break;case d.too_small:if($.type==="array")Q=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")Q=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")Q=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")Q=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")Q=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else Q="Invalid input";break;case d.too_big:if($.type==="array")Q=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")Q=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")Q=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")Q=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")Q=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else Q="Invalid input";break;case d.custom:Q="Invalid input";break;case d.invalid_intersection_types:Q="Intersection results could not be merged";break;case d.not_multiple_of:Q=`Number must be a multiple of ${$.multipleOf}`;break;case d.not_finite:Q="Number must be finite";break;default:Q=J.defaultError,z0.assertNever($)}return{message:Q}},k5=tR;var kU=k5;function aR($){kU=$}function q9(){return kU}var q3=($)=>{let{data:J,path:Q,errorMaps:Y,issueData:X}=$,G=[...Q,...X.path||[]],W={...X,path:G};if(X.message!==void 0)return{...X,path:G,message:X.message};let K="",q=Y.filter((U)=>!!U).slice().reverse();for(let U of q)K=U(W,{data:J,defaultError:K}).message;return{...X,path:G,message:K}},eR=[];function l($,J){let Q=q9(),Y=q3({issueData:J,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,Q,Q===k5?void 0:k5].filter((X)=>!!X)});$.common.issues.push(Y)}class F1{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,J){let Q=[];for(let Y of J){if(Y.status==="aborted")return J0;if(Y.status==="dirty")$.dirty();Q.push(Y.value)}return{status:$.value,value:Q}}static async mergeObjectAsync($,J){let Q=[];for(let Y of J){let X=await Y.key,G=await Y.value;Q.push({key:X,value:G})}return F1.mergeObjectSync($,Q)}static mergeObjectSync($,J){let Q={};for(let Y of J){let{key:X,value:G}=Y;if(X.status==="aborted")return J0;if(G.status==="aborted")return J0;if(X.status==="dirty")$.dirty();if(G.status==="dirty")$.dirty();if(X.value!=="__proto__"&&(typeof G.value<"u"||Y.alwaysSet))Q[X.value]=G.value}return{status:$.value,value:Q}}}var J0=Object.freeze({status:"aborted"}),W2=($)=>({status:"dirty",value:$}),A1=($)=>({status:"valid",value:$}),$$=($)=>$.status==="aborted",J$=($)=>$.status==="dirty",D8=($)=>$.status==="valid",U9=($)=>typeof Promise<"u"&&$ instanceof Promise;var e;(function($){$.errToObj=(J)=>typeof J==="string"?{message:J}:J||{},$.toString=(J)=>typeof J==="string"?J:J?.message})(e||(e={}));class T6{constructor($,J,Q,Y){this._cachedPath=[],this.parent=$,this.data=J,this._path=Q,this._key=Y}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var yU=($,J)=>{if(D8(J))return{success:!0,data:J.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let Q=new i1($.common.issues);return this._error=Q,this._error}}}};function K0($){if(!$)return{};let{errorMap:J,invalid_type_error:Q,required_error:Y,description:X}=$;if(J&&(Q||Y))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(J)return{errorMap:J,description:X};return{errorMap:(W,K)=>{let{message:q}=$;if(W.code==="invalid_enum_value")return{message:q??K.defaultError};if(typeof K.data>"u")return{message:q??Y??K.defaultError};if(W.code!=="invalid_type")return{message:K.defaultError};return{message:q??Q??K.defaultError}},description:X}}class U0{get description(){return this._def.description}_getType($){return J5($.data)}_getOrReturnCtx($,J){return J||{common:$.parent.common,data:$.data,parsedType:J5($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new F1,ctx:{common:$.parent.common,data:$.data,parsedType:J5($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let J=this._parse($);if(U9(J))throw Error("Synchronous parse encountered promise.");return J}_parseAsync($){let J=this._parse($);return Promise.resolve(J)}parse($,J){let Q=this.safeParse($,J);if(Q.success)return Q.data;throw Q.error}safeParse($,J){let Q={common:{issues:[],async:J?.async??!1,contextualErrorMap:J?.errorMap},path:J?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:J5($)},Y=this._parseSync({data:$,path:Q.path,parent:Q});return yU(Q,Y)}"~validate"($){let J={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:J5($)};if(!this["~standard"].async)try{let Q=this._parseSync({data:$,path:[],parent:J});return D8(Q)?{value:Q.value}:{issues:J.common.issues}}catch(Q){if(Q?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;J.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:J}).then((Q)=>D8(Q)?{value:Q.value}:{issues:J.common.issues})}async parseAsync($,J){let Q=await this.safeParseAsync($,J);if(Q.success)return Q.data;throw Q.error}async safeParseAsync($,J){let Q={common:{issues:[],contextualErrorMap:J?.errorMap,async:!0},path:J?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:J5($)},Y=this._parse({data:$,path:Q.path,parent:Q}),X=await(U9(Y)?Y:Promise.resolve(Y));return yU(Q,X)}refine($,J){let Q=(Y)=>{if(typeof J==="string"||typeof J>"u")return{message:J};else if(typeof J==="function")return J(Y);else return J};return this._refinement((Y,X)=>{let G=$(Y),W=()=>X.addIssue({code:d.custom,...Q(Y)});if(typeof Promise<"u"&&G instanceof Promise)return G.then((K)=>{if(!K)return W(),!1;else return!0});if(!G)return W(),!1;else return!0})}refinement($,J){return this._refinement((Q,Y)=>{if(!$(Q))return Y.addIssue(typeof J==="function"?J(Q,Y):J),!1;else return!0})}_refinement($){return new I6({schema:this,typeName:Y0.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(J)=>this["~validate"](J)}}optional(){return P6.create(this,this._def)}nullable(){return v5.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return C6.create(this)}promise(){return N2.create(this,this._def)}or($){return z9.create([this,$],this._def)}and($){return V9.create(this,$,this._def)}transform($){return new I6({...K0(this._def),schema:this,typeName:Y0.ZodEffects,effect:{type:"transform",transform:$}})}default($){let J=typeof $==="function"?$:()=>$;return new E9({...K0(this._def),innerType:this,defaultValue:J,typeName:Y0.ZodDefault})}brand(){return new Y$({typeName:Y0.ZodBranded,type:this,...K0(this._def)})}catch($){let J=typeof $==="function"?$:()=>$;return new R9({...K0(this._def),innerType:this,catchValue:J,typeName:Y0.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return M3.create(this,$)}readonly(){return B9.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var $B=/^c[^\s-]{8,}$/i,JB=/^[0-9a-z]+$/,QB=/^[0-9A-HJKMNP-TV-Z]{26}$/i,YB=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,XB=/^[a-z0-9_-]{21}$/i,GB=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,WB=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,KB=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,qB="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",vY,UB=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,NB=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,HB=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,fB=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ZB=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,MB=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,hU="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",zB=new RegExp(`^${hU}$`);function gU($){let J="[0-5]\\d";if($.precision)J=`${J}\\.\\d{${$.precision}}`;else if($.precision==null)J=`${J}(\\.\\d+)?`;let Q=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${J})${Q}`}function VB($){return new RegExp(`^${gU($)}$`)}function mU($){let J=`${hU}T${gU($)}`,Q=[];if(Q.push($.local?"Z?":"Z"),$.offset)Q.push("([+-]\\d{2}:?\\d{2})");return J=`${J}(${Q.join("|")})`,new RegExp(`^${J}$`)}function OB($,J){if((J==="v4"||!J)&&UB.test($))return!0;if((J==="v6"||!J)&&HB.test($))return!0;return!1}function DB($,J){if(!GB.test($))return!1;try{let[Q]=$.split(".");if(!Q)return!1;let Y=Q.replace(/-/g,"+").replace(/_/g,"/").padEnd(Q.length+(4-Q.length%4)%4,"="),X=JSON.parse(atob(Y));if(typeof X!=="object"||X===null)return!1;if("typ"in X&&X?.typ!=="JWT")return!1;if(!X.alg)return!1;if(J&&X.alg!==J)return!1;return!0}catch{return!1}}function wB($,J){if((J==="v4"||!J)&&NB.test($))return!0;if((J==="v6"||!J)&&fB.test($))return!0;return!1}class j6 extends U0{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==c.string){let X=this._getOrReturnCtx($);return l(X,{code:d.invalid_type,expected:c.string,received:X.parsedType}),J0}let Q=new F1,Y=void 0;for(let X of this._def.checks)if(X.kind==="min"){if($.data.length<X.value)Y=this._getOrReturnCtx($,Y),l(Y,{code:d.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),Q.dirty()}else if(X.kind==="max"){if($.data.length>X.value)Y=this._getOrReturnCtx($,Y),l(Y,{code:d.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),Q.dirty()}else if(X.kind==="length"){let G=$.data.length>X.value,W=$.data.length<X.value;if(G||W){if(Y=this._getOrReturnCtx($,Y),G)l(Y,{code:d.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});else if(W)l(Y,{code:d.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});Q.dirty()}}else if(X.kind==="email"){if(!KB.test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"email",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="emoji"){if(!vY)vY=new RegExp(qB,"u");if(!vY.test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"emoji",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="uuid"){if(!YB.test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"uuid",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="nanoid"){if(!XB.test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"nanoid",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="cuid"){if(!$B.test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"cuid",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="cuid2"){if(!JB.test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"cuid2",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="ulid"){if(!QB.test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"ulid",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="url")try{new URL($.data)}catch{Y=this._getOrReturnCtx($,Y),l(Y,{validation:"url",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="regex"){if(X.regex.lastIndex=0,!X.regex.test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"regex",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="trim")$.data=$.data.trim();else if(X.kind==="includes"){if(!$.data.includes(X.value,X.position))Y=this._getOrReturnCtx($,Y),l(Y,{code:d.invalid_string,validation:{includes:X.value,position:X.position},message:X.message}),Q.dirty()}else if(X.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(X.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(X.kind==="startsWith"){if(!$.data.startsWith(X.value))Y=this._getOrReturnCtx($,Y),l(Y,{code:d.invalid_string,validation:{startsWith:X.value},message:X.message}),Q.dirty()}else if(X.kind==="endsWith"){if(!$.data.endsWith(X.value))Y=this._getOrReturnCtx($,Y),l(Y,{code:d.invalid_string,validation:{endsWith:X.value},message:X.message}),Q.dirty()}else if(X.kind==="datetime"){if(!mU(X).test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{code:d.invalid_string,validation:"datetime",message:X.message}),Q.dirty()}else if(X.kind==="date"){if(!zB.test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{code:d.invalid_string,validation:"date",message:X.message}),Q.dirty()}else if(X.kind==="time"){if(!VB(X).test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{code:d.invalid_string,validation:"time",message:X.message}),Q.dirty()}else if(X.kind==="duration"){if(!WB.test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"duration",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="ip"){if(!OB($.data,X.version))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"ip",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="jwt"){if(!DB($.data,X.alg))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"jwt",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="cidr"){if(!wB($.data,X.version))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"cidr",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="base64"){if(!ZB.test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"base64",code:d.invalid_string,message:X.message}),Q.dirty()}else if(X.kind==="base64url"){if(!MB.test($.data))Y=this._getOrReturnCtx($,Y),l(Y,{validation:"base64url",code:d.invalid_string,message:X.message}),Q.dirty()}else z0.assertNever(X);return{status:Q.value,value:$.data}}_regex($,J,Q){return this.refinement((Y)=>$.test(Y),{validation:J,code:d.invalid_string,...e.errToObj(Q)})}_addCheck($){return new j6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...e.errToObj($)})}url($){return this._addCheck({kind:"url",...e.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...e.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...e.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...e.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...e.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...e.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...e.errToObj($)})}base64($){return this._addCheck({kind:"base64",...e.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...e.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...e.errToObj($)})}ip($){return this._addCheck({kind:"ip",...e.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...e.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...e.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...e.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...e.errToObj($)})}regex($,J){return this._addCheck({kind:"regex",regex:$,...e.errToObj(J)})}includes($,J){return this._addCheck({kind:"includes",value:$,position:J?.position,...e.errToObj(J?.message)})}startsWith($,J){return this._addCheck({kind:"startsWith",value:$,...e.errToObj(J)})}endsWith($,J){return this._addCheck({kind:"endsWith",value:$,...e.errToObj(J)})}min($,J){return this._addCheck({kind:"min",value:$,...e.errToObj(J)})}max($,J){return this._addCheck({kind:"max",value:$,...e.errToObj(J)})}length($,J){return this._addCheck({kind:"length",value:$,...e.errToObj(J)})}nonempty($){return this.min(1,e.errToObj($))}trim(){return new j6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new j6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new j6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxLength(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}}j6.create=($)=>{return new j6({checks:[],typeName:Y0.ZodString,coerce:$?.coerce??!1,...K0($)})};function EB($,J){let Q=($.toString().split(".")[1]||"").length,Y=(J.toString().split(".")[1]||"").length,X=Q>Y?Q:Y,G=Number.parseInt($.toFixed(X).replace(".","")),W=Number.parseInt(J.toFixed(X).replace(".",""));return G%W/10**X}class E8 extends U0{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==c.number){let X=this._getOrReturnCtx($);return l(X,{code:d.invalid_type,expected:c.number,received:X.parsedType}),J0}let Q=void 0,Y=new F1;for(let X of this._def.checks)if(X.kind==="int"){if(!z0.isInteger($.data))Q=this._getOrReturnCtx($,Q),l(Q,{code:d.invalid_type,expected:"integer",received:"float",message:X.message}),Y.dirty()}else if(X.kind==="min"){if(X.inclusive?$.data<X.value:$.data<=X.value)Q=this._getOrReturnCtx($,Q),l(Q,{code:d.too_small,minimum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),Y.dirty()}else if(X.kind==="max"){if(X.inclusive?$.data>X.value:$.data>=X.value)Q=this._getOrReturnCtx($,Q),l(Q,{code:d.too_big,maximum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),Y.dirty()}else if(X.kind==="multipleOf"){if(EB($.data,X.value)!==0)Q=this._getOrReturnCtx($,Q),l(Q,{code:d.not_multiple_of,multipleOf:X.value,message:X.message}),Y.dirty()}else if(X.kind==="finite"){if(!Number.isFinite($.data))Q=this._getOrReturnCtx($,Q),l(Q,{code:d.not_finite,message:X.message}),Y.dirty()}else z0.assertNever(X);return{status:Y.value,value:$.data}}gte($,J){return this.setLimit("min",$,!0,e.toString(J))}gt($,J){return this.setLimit("min",$,!1,e.toString(J))}lte($,J){return this.setLimit("max",$,!0,e.toString(J))}lt($,J){return this.setLimit("max",$,!1,e.toString(J))}setLimit($,J,Q,Y){return new E8({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:Q,message:e.toString(Y)}]})}_addCheck($){return new E8({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:e.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:e.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:e.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:e.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:e.toString($)})}multipleOf($,J){return this._addCheck({kind:"multipleOf",value:$,message:e.toString(J)})}finite($){return this._addCheck({kind:"finite",message:e.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:e.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:e.toString($)})}get minValue(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxValue(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&z0.isInteger($.value))}get isFinite(){let $=null,J=null;for(let Q of this._def.checks)if(Q.kind==="finite"||Q.kind==="int"||Q.kind==="multipleOf")return!0;else if(Q.kind==="min"){if(J===null||Q.value>J)J=Q.value}else if(Q.kind==="max"){if($===null||Q.value<$)$=Q.value}return Number.isFinite(J)&&Number.isFinite($)}}E8.create=($)=>{return new E8({checks:[],typeName:Y0.ZodNumber,coerce:$?.coerce||!1,...K0($)})};class R8 extends U0{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==c.bigint)return this._getInvalidInput($);let Q=void 0,Y=new F1;for(let X of this._def.checks)if(X.kind==="min"){if(X.inclusive?$.data<X.value:$.data<=X.value)Q=this._getOrReturnCtx($,Q),l(Q,{code:d.too_small,type:"bigint",minimum:X.value,inclusive:X.inclusive,message:X.message}),Y.dirty()}else if(X.kind==="max"){if(X.inclusive?$.data>X.value:$.data>=X.value)Q=this._getOrReturnCtx($,Q),l(Q,{code:d.too_big,type:"bigint",maximum:X.value,inclusive:X.inclusive,message:X.message}),Y.dirty()}else if(X.kind==="multipleOf"){if($.data%X.value!==BigInt(0))Q=this._getOrReturnCtx($,Q),l(Q,{code:d.not_multiple_of,multipleOf:X.value,message:X.message}),Y.dirty()}else z0.assertNever(X);return{status:Y.value,value:$.data}}_getInvalidInput($){let J=this._getOrReturnCtx($);return l(J,{code:d.invalid_type,expected:c.bigint,received:J.parsedType}),J0}gte($,J){return this.setLimit("min",$,!0,e.toString(J))}gt($,J){return this.setLimit("min",$,!1,e.toString(J))}lte($,J){return this.setLimit("max",$,!0,e.toString(J))}lt($,J){return this.setLimit("max",$,!1,e.toString(J))}setLimit($,J,Q,Y){return new R8({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:Q,message:e.toString(Y)}]})}_addCheck($){return new R8({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:e.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:e.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:e.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:e.toString($)})}multipleOf($,J){return this._addCheck({kind:"multipleOf",value:$,message:e.toString(J)})}get minValue(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxValue(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}}R8.create=($)=>{return new R8({checks:[],typeName:Y0.ZodBigInt,coerce:$?.coerce??!1,...K0($)})};class f9 extends U0{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==c.boolean){let Q=this._getOrReturnCtx($);return l(Q,{code:d.invalid_type,expected:c.boolean,received:Q.parsedType}),J0}return A1($.data)}}f9.create=($)=>{return new f9({typeName:Y0.ZodBoolean,coerce:$?.coerce||!1,...K0($)})};class K2 extends U0{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==c.date){let X=this._getOrReturnCtx($);return l(X,{code:d.invalid_type,expected:c.date,received:X.parsedType}),J0}if(Number.isNaN($.data.getTime())){let X=this._getOrReturnCtx($);return l(X,{code:d.invalid_date}),J0}let Q=new F1,Y=void 0;for(let X of this._def.checks)if(X.kind==="min"){if($.data.getTime()<X.value)Y=this._getOrReturnCtx($,Y),l(Y,{code:d.too_small,message:X.message,inclusive:!0,exact:!1,minimum:X.value,type:"date"}),Q.dirty()}else if(X.kind==="max"){if($.data.getTime()>X.value)Y=this._getOrReturnCtx($,Y),l(Y,{code:d.too_big,message:X.message,inclusive:!0,exact:!1,maximum:X.value,type:"date"}),Q.dirty()}else z0.assertNever(X);return{status:Q.value,value:new Date($.data.getTime())}}_addCheck($){return new K2({...this._def,checks:[...this._def.checks,$]})}min($,J){return this._addCheck({kind:"min",value:$.getTime(),message:e.toString(J)})}max($,J){return this._addCheck({kind:"max",value:$.getTime(),message:e.toString(J)})}get minDate(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $!=null?new Date($):null}}K2.create=($)=>{return new K2({checks:[],coerce:$?.coerce||!1,typeName:Y0.ZodDate,...K0($)})};class U3 extends U0{_parse($){if(this._getType($)!==c.symbol){let Q=this._getOrReturnCtx($);return l(Q,{code:d.invalid_type,expected:c.symbol,received:Q.parsedType}),J0}return A1($.data)}}U3.create=($)=>{return new U3({typeName:Y0.ZodSymbol,...K0($)})};class Z9 extends U0{_parse($){if(this._getType($)!==c.undefined){let Q=this._getOrReturnCtx($);return l(Q,{code:d.invalid_type,expected:c.undefined,received:Q.parsedType}),J0}return A1($.data)}}Z9.create=($)=>{return new Z9({typeName:Y0.ZodUndefined,...K0($)})};class M9 extends U0{_parse($){if(this._getType($)!==c.null){let Q=this._getOrReturnCtx($);return l(Q,{code:d.invalid_type,expected:c.null,received:Q.parsedType}),J0}return A1($.data)}}M9.create=($)=>{return new M9({typeName:Y0.ZodNull,...K0($)})};class q2 extends U0{constructor(){super(...arguments);this._any=!0}_parse($){return A1($.data)}}q2.create=($)=>{return new q2({typeName:Y0.ZodAny,...K0($)})};class w8 extends U0{constructor(){super(...arguments);this._unknown=!0}_parse($){return A1($.data)}}w8.create=($)=>{return new w8({typeName:Y0.ZodUnknown,...K0($)})};class Q5 extends U0{_parse($){let J=this._getOrReturnCtx($);return l(J,{code:d.invalid_type,expected:c.never,received:J.parsedType}),J0}}Q5.create=($)=>{return new Q5({typeName:Y0.ZodNever,...K0($)})};class N3 extends U0{_parse($){if(this._getType($)!==c.undefined){let Q=this._getOrReturnCtx($);return l(Q,{code:d.invalid_type,expected:c.void,received:Q.parsedType}),J0}return A1($.data)}}N3.create=($)=>{return new N3({typeName:Y0.ZodVoid,...K0($)})};class C6 extends U0{_parse($){let{ctx:J,status:Q}=this._processInputParams($),Y=this._def;if(J.parsedType!==c.array)return l(J,{code:d.invalid_type,expected:c.array,received:J.parsedType}),J0;if(Y.exactLength!==null){let G=J.data.length>Y.exactLength.value,W=J.data.length<Y.exactLength.value;if(G||W)l(J,{code:G?d.too_big:d.too_small,minimum:W?Y.exactLength.value:void 0,maximum:G?Y.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:Y.exactLength.message}),Q.dirty()}if(Y.minLength!==null){if(J.data.length<Y.minLength.value)l(J,{code:d.too_small,minimum:Y.minLength.value,type:"array",inclusive:!0,exact:!1,message:Y.minLength.message}),Q.dirty()}if(Y.maxLength!==null){if(J.data.length>Y.maxLength.value)l(J,{code:d.too_big,maximum:Y.maxLength.value,type:"array",inclusive:!0,exact:!1,message:Y.maxLength.message}),Q.dirty()}if(J.common.async)return Promise.all([...J.data].map((G,W)=>{return Y.type._parseAsync(new T6(J,G,J.path,W))})).then((G)=>{return F1.mergeArray(Q,G)});let X=[...J.data].map((G,W)=>{return Y.type._parseSync(new T6(J,G,J.path,W))});return F1.mergeArray(Q,X)}get element(){return this._def.type}min($,J){return new C6({...this._def,minLength:{value:$,message:e.toString(J)}})}max($,J){return new C6({...this._def,maxLength:{value:$,message:e.toString(J)}})}length($,J){return new C6({...this._def,exactLength:{value:$,message:e.toString(J)}})}nonempty($){return this.min(1,$)}}C6.create=($,J)=>{return new C6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:Y0.ZodArray,...K0(J)})};function N9($){if($ instanceof i0){let J={};for(let Q in $.shape){let Y=$.shape[Q];J[Q]=P6.create(N9(Y))}return new i0({...$._def,shape:()=>J})}else if($ instanceof C6)return new C6({...$._def,type:N9($.element)});else if($ instanceof P6)return P6.create(N9($.unwrap()));else if($ instanceof v5)return v5.create(N9($.unwrap()));else if($ instanceof Y5)return Y5.create($.items.map((J)=>N9(J)));else return $}class i0 extends U0{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),J=z0.objectKeys($);return this._cached={shape:$,keys:J},this._cached}_parse($){if(this._getType($)!==c.object){let q=this._getOrReturnCtx($);return l(q,{code:d.invalid_type,expected:c.object,received:q.parsedType}),J0}let{status:Q,ctx:Y}=this._processInputParams($),{shape:X,keys:G}=this._getCached(),W=[];if(!(this._def.catchall instanceof Q5&&this._def.unknownKeys==="strip")){for(let q in Y.data)if(!G.includes(q))W.push(q)}let K=[];for(let q of G){let U=X[q],N=Y.data[q];K.push({key:{status:"valid",value:q},value:U._parse(new T6(Y,N,Y.path,q)),alwaysSet:q in Y.data})}if(this._def.catchall instanceof Q5){let q=this._def.unknownKeys;if(q==="passthrough")for(let U of W)K.push({key:{status:"valid",value:U},value:{status:"valid",value:Y.data[U]}});else if(q==="strict"){if(W.length>0)l(Y,{code:d.unrecognized_keys,keys:W}),Q.dirty()}else if(q==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let q=this._def.catchall;for(let U of W){let N=Y.data[U];K.push({key:{status:"valid",value:U},value:q._parse(new T6(Y,N,Y.path,U)),alwaysSet:U in Y.data})}}if(Y.common.async)return Promise.resolve().then(async()=>{let q=[];for(let U of K){let N=await U.key,H=await U.value;q.push({key:N,value:H,alwaysSet:U.alwaysSet})}return q}).then((q)=>{return F1.mergeObjectSync(Q,q)});else return F1.mergeObjectSync(Q,K)}get shape(){return this._def.shape()}strict($){return e.errToObj,new i0({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(J,Q)=>{let Y=this._def.errorMap?.(J,Q).message??Q.defaultError;if(J.code==="unrecognized_keys")return{message:e.errToObj($).message??Y};return{message:Y}}}:{}})}strip(){return new i0({...this._def,unknownKeys:"strip"})}passthrough(){return new i0({...this._def,unknownKeys:"passthrough"})}extend($){return new i0({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new i0({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:Y0.ZodObject})}setKey($,J){return this.augment({[$]:J})}catchall($){return new i0({...this._def,catchall:$})}pick($){let J={};for(let Q of z0.objectKeys($))if($[Q]&&this.shape[Q])J[Q]=this.shape[Q];return new i0({...this._def,shape:()=>J})}omit($){let J={};for(let Q of z0.objectKeys(this.shape))if(!$[Q])J[Q]=this.shape[Q];return new i0({...this._def,shape:()=>J})}deepPartial(){return N9(this)}partial($){let J={};for(let Q of z0.objectKeys(this.shape)){let Y=this.shape[Q];if($&&!$[Q])J[Q]=Y;else J[Q]=Y.optional()}return new i0({...this._def,shape:()=>J})}required($){let J={};for(let Q of z0.objectKeys(this.shape))if($&&!$[Q])J[Q]=this.shape[Q];else{let X=this.shape[Q];while(X instanceof P6)X=X._def.innerType;J[Q]=X}return new i0({...this._def,shape:()=>J})}keyof(){return dU(z0.objectKeys(this.shape))}}i0.create=($,J)=>{return new i0({shape:()=>$,unknownKeys:"strip",catchall:Q5.create(),typeName:Y0.ZodObject,...K0(J)})};i0.strictCreate=($,J)=>{return new i0({shape:()=>$,unknownKeys:"strict",catchall:Q5.create(),typeName:Y0.ZodObject,...K0(J)})};i0.lazycreate=($,J)=>{return new i0({shape:$,unknownKeys:"strip",catchall:Q5.create(),typeName:Y0.ZodObject,...K0(J)})};class z9 extends U0{_parse($){let{ctx:J}=this._processInputParams($),Q=this._def.options;function Y(X){for(let W of X)if(W.result.status==="valid")return W.result;for(let W of X)if(W.result.status==="dirty")return J.common.issues.push(...W.ctx.common.issues),W.result;let G=X.map((W)=>new i1(W.ctx.common.issues));return l(J,{code:d.invalid_union,unionErrors:G}),J0}if(J.common.async)return Promise.all(Q.map(async(X)=>{let G={...J,common:{...J.common,issues:[]},parent:null};return{result:await X._parseAsync({data:J.data,path:J.path,parent:G}),ctx:G}})).then(Y);else{let X=void 0,G=[];for(let K of Q){let q={...J,common:{...J.common,issues:[]},parent:null},U=K._parseSync({data:J.data,path:J.path,parent:q});if(U.status==="valid")return U;else if(U.status==="dirty"&&!X)X={result:U,ctx:q};if(q.common.issues.length)G.push(q.common.issues)}if(X)return J.common.issues.push(...X.ctx.common.issues),X.result;let W=G.map((K)=>new i1(K));return l(J,{code:d.invalid_union,unionErrors:W}),J0}}get options(){return this._def.options}}z9.create=($,J)=>{return new z9({options:$,typeName:Y0.ZodUnion,...K0(J)})};var y5=($)=>{if($ instanceof O9)return y5($.schema);else if($ instanceof I6)return y5($.innerType());else if($ instanceof D9)return[$.value];else if($ instanceof B8)return $.options;else if($ instanceof w9)return z0.objectValues($.enum);else if($ instanceof E9)return y5($._def.innerType);else if($ instanceof Z9)return[void 0];else if($ instanceof M9)return[null];else if($ instanceof P6)return[void 0,...y5($.unwrap())];else if($ instanceof v5)return[null,...y5($.unwrap())];else if($ instanceof Y$)return y5($.unwrap());else if($ instanceof B9)return y5($.unwrap());else if($ instanceof R9)return y5($._def.innerType);else return[]};class Q$ extends U0{_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==c.object)return l(J,{code:d.invalid_type,expected:c.object,received:J.parsedType}),J0;let Q=this.discriminator,Y=J.data[Q],X=this.optionsMap.get(Y);if(!X)return l(J,{code:d.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[Q]}),J0;if(J.common.async)return X._parseAsync({data:J.data,path:J.path,parent:J});else return X._parseSync({data:J.data,path:J.path,parent:J})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,J,Q){let Y=new Map;for(let X of J){let G=y5(X.shape[$]);if(!G.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let W of G){if(Y.has(W))throw Error(`Discriminator property ${String($)} has duplicate value ${String(W)}`);Y.set(W,X)}}return new Q$({typeName:Y0.ZodDiscriminatedUnion,discriminator:$,options:J,optionsMap:Y,...K0(Q)})}}function hY($,J){let Q=J5($),Y=J5(J);if($===J)return{valid:!0,data:$};else if(Q===c.object&&Y===c.object){let X=z0.objectKeys(J),G=z0.objectKeys($).filter((K)=>X.indexOf(K)!==-1),W={...$,...J};for(let K of G){let q=hY($[K],J[K]);if(!q.valid)return{valid:!1};W[K]=q.data}return{valid:!0,data:W}}else if(Q===c.array&&Y===c.array){if($.length!==J.length)return{valid:!1};let X=[];for(let G=0;G<$.length;G++){let W=$[G],K=J[G],q=hY(W,K);if(!q.valid)return{valid:!1};X.push(q.data)}return{valid:!0,data:X}}else if(Q===c.date&&Y===c.date&&+$===+J)return{valid:!0,data:$};else return{valid:!1}}class V9 extends U0{_parse($){let{status:J,ctx:Q}=this._processInputParams($),Y=(X,G)=>{if($$(X)||$$(G))return J0;let W=hY(X.value,G.value);if(!W.valid)return l(Q,{code:d.invalid_intersection_types}),J0;if(J$(X)||J$(G))J.dirty();return{status:J.value,value:W.data}};if(Q.common.async)return Promise.all([this._def.left._parseAsync({data:Q.data,path:Q.path,parent:Q}),this._def.right._parseAsync({data:Q.data,path:Q.path,parent:Q})]).then(([X,G])=>Y(X,G));else return Y(this._def.left._parseSync({data:Q.data,path:Q.path,parent:Q}),this._def.right._parseSync({data:Q.data,path:Q.path,parent:Q}))}}V9.create=($,J,Q)=>{return new V9({left:$,right:J,typeName:Y0.ZodIntersection,...K0(Q)})};class Y5 extends U0{_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==c.array)return l(Q,{code:d.invalid_type,expected:c.array,received:Q.parsedType}),J0;if(Q.data.length<this._def.items.length)return l(Q,{code:d.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),J0;if(!this._def.rest&&Q.data.length>this._def.items.length)l(Q,{code:d.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),J.dirty();let X=[...Q.data].map((G,W)=>{let K=this._def.items[W]||this._def.rest;if(!K)return null;return K._parse(new T6(Q,G,Q.path,W))}).filter((G)=>!!G);if(Q.common.async)return Promise.all(X).then((G)=>{return F1.mergeArray(J,G)});else return F1.mergeArray(J,X)}get items(){return this._def.items}rest($){return new Y5({...this._def,rest:$})}}Y5.create=($,J)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new Y5({items:$,typeName:Y0.ZodTuple,rest:null,...K0(J)})};class H3 extends U0{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==c.object)return l(Q,{code:d.invalid_type,expected:c.object,received:Q.parsedType}),J0;let Y=[],X=this._def.keyType,G=this._def.valueType;for(let W in Q.data)Y.push({key:X._parse(new T6(Q,W,Q.path,W)),value:G._parse(new T6(Q,Q.data[W],Q.path,W)),alwaysSet:W in Q.data});if(Q.common.async)return F1.mergeObjectAsync(J,Y);else return F1.mergeObjectSync(J,Y)}get element(){return this._def.valueType}static create($,J,Q){if(J instanceof U0)return new H3({keyType:$,valueType:J,typeName:Y0.ZodRecord,...K0(Q)});return new H3({keyType:j6.create(),valueType:$,typeName:Y0.ZodRecord,...K0(J)})}}class f3 extends U0{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==c.map)return l(Q,{code:d.invalid_type,expected:c.map,received:Q.parsedType}),J0;let Y=this._def.keyType,X=this._def.valueType,G=[...Q.data.entries()].map(([W,K],q)=>{return{key:Y._parse(new T6(Q,W,Q.path,[q,"key"])),value:X._parse(new T6(Q,K,Q.path,[q,"value"]))}});if(Q.common.async){let W=new Map;return Promise.resolve().then(async()=>{for(let K of G){let q=await K.key,U=await K.value;if(q.status==="aborted"||U.status==="aborted")return J0;if(q.status==="dirty"||U.status==="dirty")J.dirty();W.set(q.value,U.value)}return{status:J.value,value:W}})}else{let W=new Map;for(let K of G){let{key:q,value:U}=K;if(q.status==="aborted"||U.status==="aborted")return J0;if(q.status==="dirty"||U.status==="dirty")J.dirty();W.set(q.value,U.value)}return{status:J.value,value:W}}}}f3.create=($,J,Q)=>{return new f3({valueType:J,keyType:$,typeName:Y0.ZodMap,...K0(Q)})};class U2 extends U0{_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==c.set)return l(Q,{code:d.invalid_type,expected:c.set,received:Q.parsedType}),J0;let Y=this._def;if(Y.minSize!==null){if(Q.data.size<Y.minSize.value)l(Q,{code:d.too_small,minimum:Y.minSize.value,type:"set",inclusive:!0,exact:!1,message:Y.minSize.message}),J.dirty()}if(Y.maxSize!==null){if(Q.data.size>Y.maxSize.value)l(Q,{code:d.too_big,maximum:Y.maxSize.value,type:"set",inclusive:!0,exact:!1,message:Y.maxSize.message}),J.dirty()}let X=this._def.valueType;function G(K){let q=new Set;for(let U of K){if(U.status==="aborted")return J0;if(U.status==="dirty")J.dirty();q.add(U.value)}return{status:J.value,value:q}}let W=[...Q.data.values()].map((K,q)=>X._parse(new T6(Q,K,Q.path,q)));if(Q.common.async)return Promise.all(W).then((K)=>G(K));else return G(W)}min($,J){return new U2({...this._def,minSize:{value:$,message:e.toString(J)}})}max($,J){return new U2({...this._def,maxSize:{value:$,message:e.toString(J)}})}size($,J){return this.min($,J).max($,J)}nonempty($){return this.min(1,$)}}U2.create=($,J)=>{return new U2({valueType:$,minSize:null,maxSize:null,typeName:Y0.ZodSet,...K0(J)})};class H9 extends U0{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==c.function)return l(J,{code:d.invalid_type,expected:c.function,received:J.parsedType}),J0;function Q(W,K){return q3({data:W,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,q9(),k5].filter((q)=>!!q),issueData:{code:d.invalid_arguments,argumentsError:K}})}function Y(W,K){return q3({data:W,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,q9(),k5].filter((q)=>!!q),issueData:{code:d.invalid_return_type,returnTypeError:K}})}let X={errorMap:J.common.contextualErrorMap},G=J.data;if(this._def.returns instanceof N2){let W=this;return A1(async function(...K){let q=new i1([]),U=await W._def.args.parseAsync(K,X).catch((f)=>{throw q.addIssue(Q(K,f)),q}),N=await Reflect.apply(G,this,U);return await W._def.returns._def.type.parseAsync(N,X).catch((f)=>{throw q.addIssue(Y(N,f)),q})})}else{let W=this;return A1(function(...K){let q=W._def.args.safeParse(K,X);if(!q.success)throw new i1([Q(K,q.error)]);let U=Reflect.apply(G,this,q.data),N=W._def.returns.safeParse(U,X);if(!N.success)throw new i1([Y(U,N.error)]);return N.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new H9({...this._def,args:Y5.create($).rest(w8.create())})}returns($){return new H9({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,J,Q){return new H9({args:$?$:Y5.create([]).rest(w8.create()),returns:J||w8.create(),typeName:Y0.ZodFunction,...K0(Q)})}}class O9 extends U0{get schema(){return this._def.getter()}_parse($){let{ctx:J}=this._processInputParams($);return this._def.getter()._parse({data:J.data,path:J.path,parent:J})}}O9.create=($,J)=>{return new O9({getter:$,typeName:Y0.ZodLazy,...K0(J)})};class D9 extends U0{_parse($){if($.data!==this._def.value){let J=this._getOrReturnCtx($);return l(J,{received:J.data,code:d.invalid_literal,expected:this._def.value}),J0}return{status:"valid",value:$.data}}get value(){return this._def.value}}D9.create=($,J)=>{return new D9({value:$,typeName:Y0.ZodLiteral,...K0(J)})};function dU($,J){return new B8({values:$,typeName:Y0.ZodEnum,...K0(J)})}class B8 extends U0{_parse($){if(typeof $.data!=="string"){let J=this._getOrReturnCtx($),Q=this._def.values;return l(J,{expected:z0.joinValues(Q),received:J.parsedType,code:d.invalid_type}),J0}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let J=this._getOrReturnCtx($),Q=this._def.values;return l(J,{received:J.data,code:d.invalid_enum_value,options:Q}),J0}return A1($.data)}get options(){return this._def.values}get enum(){let $={};for(let J of this._def.values)$[J]=J;return $}get Values(){let $={};for(let J of this._def.values)$[J]=J;return $}get Enum(){let $={};for(let J of this._def.values)$[J]=J;return $}extract($,J=this._def){return B8.create($,{...this._def,...J})}exclude($,J=this._def){return B8.create(this.options.filter((Q)=>!$.includes(Q)),{...this._def,...J})}}B8.create=dU;class w9 extends U0{_parse($){let J=z0.getValidEnumValues(this._def.values),Q=this._getOrReturnCtx($);if(Q.parsedType!==c.string&&Q.parsedType!==c.number){let Y=z0.objectValues(J);return l(Q,{expected:z0.joinValues(Y),received:Q.parsedType,code:d.invalid_type}),J0}if(!this._cache)this._cache=new Set(z0.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let Y=z0.objectValues(J);return l(Q,{received:Q.data,code:d.invalid_enum_value,options:Y}),J0}return A1($.data)}get enum(){return this._def.values}}w9.create=($,J)=>{return new w9({values:$,typeName:Y0.ZodNativeEnum,...K0(J)})};class N2 extends U0{unwrap(){return this._def.type}_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==c.promise&&J.common.async===!1)return l(J,{code:d.invalid_type,expected:c.promise,received:J.parsedType}),J0;let Q=J.parsedType===c.promise?J.data:Promise.resolve(J.data);return A1(Q.then((Y)=>{return this._def.type.parseAsync(Y,{path:J.path,errorMap:J.common.contextualErrorMap})}))}}N2.create=($,J)=>{return new N2({type:$,typeName:Y0.ZodPromise,...K0(J)})};class I6 extends U0{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Y0.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:J,ctx:Q}=this._processInputParams($),Y=this._def.effect||null,X={addIssue:(G)=>{if(l(Q,G),G.fatal)J.abort();else J.dirty()},get path(){return Q.path}};if(X.addIssue=X.addIssue.bind(X),Y.type==="preprocess"){let G=Y.transform(Q.data,X);if(Q.common.async)return Promise.resolve(G).then(async(W)=>{if(J.value==="aborted")return J0;let K=await this._def.schema._parseAsync({data:W,path:Q.path,parent:Q});if(K.status==="aborted")return J0;if(K.status==="dirty")return W2(K.value);if(J.value==="dirty")return W2(K.value);return K});else{if(J.value==="aborted")return J0;let W=this._def.schema._parseSync({data:G,path:Q.path,parent:Q});if(W.status==="aborted")return J0;if(W.status==="dirty")return W2(W.value);if(J.value==="dirty")return W2(W.value);return W}}if(Y.type==="refinement"){let G=(W)=>{let K=Y.refinement(W,X);if(Q.common.async)return Promise.resolve(K);if(K instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return W};if(Q.common.async===!1){let W=this._def.schema._parseSync({data:Q.data,path:Q.path,parent:Q});if(W.status==="aborted")return J0;if(W.status==="dirty")J.dirty();return G(W.value),{status:J.value,value:W.value}}else return this._def.schema._parseAsync({data:Q.data,path:Q.path,parent:Q}).then((W)=>{if(W.status==="aborted")return J0;if(W.status==="dirty")J.dirty();return G(W.value).then(()=>{return{status:J.value,value:W.value}})})}if(Y.type==="transform")if(Q.common.async===!1){let G=this._def.schema._parseSync({data:Q.data,path:Q.path,parent:Q});if(!D8(G))return J0;let W=Y.transform(G.value,X);if(W instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:J.value,value:W}}else return this._def.schema._parseAsync({data:Q.data,path:Q.path,parent:Q}).then((G)=>{if(!D8(G))return J0;return Promise.resolve(Y.transform(G.value,X)).then((W)=>({status:J.value,value:W}))});z0.assertNever(Y)}}I6.create=($,J,Q)=>{return new I6({schema:$,typeName:Y0.ZodEffects,effect:J,...K0(Q)})};I6.createWithPreprocess=($,J,Q)=>{return new I6({schema:J,effect:{type:"preprocess",transform:$},typeName:Y0.ZodEffects,...K0(Q)})};class P6 extends U0{_parse($){if(this._getType($)===c.undefined)return A1(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}P6.create=($,J)=>{return new P6({innerType:$,typeName:Y0.ZodOptional,...K0(J)})};class v5 extends U0{_parse($){if(this._getType($)===c.null)return A1(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}v5.create=($,J)=>{return new v5({innerType:$,typeName:Y0.ZodNullable,...K0(J)})};class E9 extends U0{_parse($){let{ctx:J}=this._processInputParams($),Q=J.data;if(J.parsedType===c.undefined)Q=this._def.defaultValue();return this._def.innerType._parse({data:Q,path:J.path,parent:J})}removeDefault(){return this._def.innerType}}E9.create=($,J)=>{return new E9({innerType:$,typeName:Y0.ZodDefault,defaultValue:typeof J.default==="function"?J.default:()=>J.default,...K0(J)})};class R9 extends U0{_parse($){let{ctx:J}=this._processInputParams($),Q={...J,common:{...J.common,issues:[]}},Y=this._def.innerType._parse({data:Q.data,path:Q.path,parent:{...Q}});if(U9(Y))return Y.then((X)=>{return{status:"valid",value:X.status==="valid"?X.value:this._def.catchValue({get error(){return new i1(Q.common.issues)},input:Q.data})}});else return{status:"valid",value:Y.status==="valid"?Y.value:this._def.catchValue({get error(){return new i1(Q.common.issues)},input:Q.data})}}removeCatch(){return this._def.innerType}}R9.create=($,J)=>{return new R9({innerType:$,typeName:Y0.ZodCatch,catchValue:typeof J.catch==="function"?J.catch:()=>J.catch,...K0(J)})};class Z3 extends U0{_parse($){if(this._getType($)!==c.nan){let Q=this._getOrReturnCtx($);return l(Q,{code:d.invalid_type,expected:c.nan,received:Q.parsedType}),J0}return{status:"valid",value:$.data}}}Z3.create=($)=>{return new Z3({typeName:Y0.ZodNaN,...K0($)})};var RB=Symbol("zod_brand");class Y$ extends U0{_parse($){let{ctx:J}=this._processInputParams($),Q=J.data;return this._def.type._parse({data:Q,path:J.path,parent:J})}unwrap(){return this._def.type}}class M3 extends U0{_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.common.async)return(async()=>{let X=await this._def.in._parseAsync({data:Q.data,path:Q.path,parent:Q});if(X.status==="aborted")return J0;if(X.status==="dirty")return J.dirty(),W2(X.value);else return this._def.out._parseAsync({data:X.value,path:Q.path,parent:Q})})();else{let Y=this._def.in._parseSync({data:Q.data,path:Q.path,parent:Q});if(Y.status==="aborted")return J0;if(Y.status==="dirty")return J.dirty(),{status:"dirty",value:Y.value};else return this._def.out._parseSync({data:Y.value,path:Q.path,parent:Q})}}static create($,J){return new M3({in:$,out:J,typeName:Y0.ZodPipeline})}}class B9 extends U0{_parse($){let J=this._def.innerType._parse($),Q=(Y)=>{if(D8(Y))Y.value=Object.freeze(Y.value);return Y};return U9(J)?J.then((Y)=>Q(Y)):Q(J)}unwrap(){return this._def.innerType}}B9.create=($,J)=>{return new B9({innerType:$,typeName:Y0.ZodReadonly,...K0(J)})};function vU($,J){let Q=typeof $==="function"?$(J):typeof $==="string"?{message:$}:$;return typeof Q==="string"?{message:Q}:Q}function uU($,J={},Q){if($)return q2.create().superRefine((Y,X)=>{let G=$(Y);if(G instanceof Promise)return G.then((W)=>{if(!W){let K=vU(J,Y),q=K.fatal??Q??!0;X.addIssue({code:"custom",...K,fatal:q})}});if(!G){let W=vU(J,Y),K=W.fatal??Q??!0;X.addIssue({code:"custom",...W,fatal:K})}return});return q2.create()}var BB={object:i0.lazycreate},Y0;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(Y0||(Y0={}));var _B=($,J={message:`Input not instance of ${$.name}`})=>uU((Q)=>Q instanceof $,J),cU=j6.create,pU=E8.create,LB=Z3.create,FB=R8.create,lU=f9.create,SB=K2.create,jB=U3.create,CB=Z9.create,PB=M9.create,TB=q2.create,IB=w8.create,AB=Q5.create,xB=N3.create,bB=C6.create,kB=i0.create,yB=i0.strictCreate,vB=z9.create,hB=Q$.create,gB=V9.create,mB=Y5.create,dB=H3.create,uB=f3.create,cB=U2.create,pB=H9.create,lB=O9.create,nB=D9.create,oB=B8.create,iB=w9.create,sB=N2.create,rB=I6.create,tB=P6.create,aB=v5.create,eB=I6.createWithPreprocess,$_=M3.create,J_=()=>cU().optional(),Q_=()=>pU().optional(),Y_=()=>lU().optional(),X_={string:($)=>j6.create({...$,coerce:!0}),number:($)=>E8.create({...$,coerce:!0}),boolean:($)=>f9.create({...$,coerce:!0}),bigint:($)=>R8.create({...$,coerce:!0}),date:($)=>K2.create({...$,coerce:!0})};var G_=J0;var X$=256,G$;function W$($=11){if(!G$||X$+$>512){G$="",X$=0;for(let J=0;J<256;J++)G$+=(256+Math.random()*256|0).toString(16).substring(1)}return G$.substring(X$,X$+++$)}function nU($){let{batch:J,chain:Q,ccipRead:Y,dataSuffix:X,key:G="base",name:W="Base Client",type:K="base"}=$,q=$.experimental_blockTag??(typeof Q?.experimental_preconfirmationTime==="number"?"pending":void 0),U=Q?.blockTime??12000,N=Math.min(Math.max(Math.floor(U/2),500),4000),H=$.pollingInterval??N,f=$.cacheTime??H,Z=$.account?h0($.account):void 0,{config:M,request:D,value:R}=$.transport({account:Z,chain:Q,pollingInterval:H}),O={...M,...R},E={account:Z,batch:J,cacheTime:f,ccipRead:Y,chain:Q,dataSuffix:X,key:G,name:W,pollingInterval:H,request:D,transport:O,type:K,uid:W$(),...q?{experimental_blockTag:q}:{}};function V(w){return(B)=>{let j=B(w);for(let x in E)delete j[x];let T={...w,...j};return Object.assign(T,{extend:V(T)})}}return Object.assign(E,{extend:V(E)})}X5();r5();G6();R2();G0();f0();a5();function v9($){if(!($ instanceof I))return!1;let J=$.walk((Q)=>Q instanceof H5);if(!(J instanceof H5))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}x3();O1();G0();H6();function t$($){if($.length!==66)return null;if($.indexOf("[")!==0)return null;if($.indexOf("]")!==65)return null;let J=`0x${$.slice(1,65)}`;if(!c0(J))return null;return J}function b3($){let J=new Uint8Array(32).fill(0);if(!$)return R0(J);let Q=$.split(".");for(let Y=Q.length-1;Y>=0;Y-=1){let X=t$(Q[Y]),G=X?N6(X):Z0(b6(Q[Y]),"bytes");J=Z0(j1([J,G]),"bytes")}return R0(J)}O1();function jH($){return`[${$.slice(2)}]`}O1();G0();H6();function CH($){let J=new Uint8Array(32).fill(0);if(!$)return R0(J);return t$($)||Z0(b6($))}function h9($){let J=$.replace(/^\.|\.$/gm,"");if(J.length===0)return new Uint8Array(1);let Q=new Uint8Array(b6(J).byteLength+2),Y=0,X=J.split(".");for(let G=0;G<X.length;G++){let W=b6(X[G]);if(W.byteLength>255)W=b6(jH(CH(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 p($,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)}r5();G6();$1();f0();a5();F2();k3();var UL=3;function m6($,{abi:J,address:Q,args:Y,docsPath:X,functionName:G,sender:W}){let K=$ instanceof f5?$:$ instanceof I?$.walk((M)=>("data"in M))||$.walk():{},{code:q,data:U,details:N,message:H,shortMessage:f}=K,Z=(()=>{if($ instanceof x6)return new s$({functionName:G});if([UL,$8.code].includes(q)&&(U||N||H||f)||q===M6.code&&N==="execution reverted"&&U)return new H5({abi:J,data:typeof U==="object"?U.data:U,functionName:G,message:K instanceof L2?N:f??H});return $})();return new y9(Z,{abi:J,args:Y,contractAddress:Q,docsPath:X,functionName:G,sender:W})}A2();async function b($,J){let{abi:Q,address:Y,args:X,functionName:G,...W}=J,K=r({abi:Q,args:X,functionName:G});try{let{data:q}=await p($,O6,"call")({...W,data:K,to:Y});return x1({abi:Q,args:X,functionName:G,data:q||"0x"})}catch(q){throw m6(q,{abi:Q,address:Y,args:X,docsPath:"/docs/contract/readContract",functionName:G})}}async function Mf($,J){let{blockNumber:Q,blockTag:Y,coinType:X,name:G,gatewayUrls:W,strict:K}=J,{chain:q}=$,U=(()=>{if(J.universalResolverAddress)return J.universalResolverAddress;if(!q)throw Error("client chain not configured. universalResolverAddress is required.");return Z6({blockNumber:Q,chain:q,contract:"ensUniversalResolver"})})(),N=q?.ensTlds;if(N&&!N.some((f)=>G.endsWith(f)))return null;let H=(()=>{if(X!=null)return[b3(G),BigInt(X)];return[b3(G)]})();try{let f=r({abi:mY,functionName:"addr",args:H}),Z={address:U,abi:q$,functionName:"resolveWithGateways",args:[s0(h9(G)),f,W??[e5]],blockNumber:Q,blockTag:Y},D=await p($,b,"readContract")(Z);if(D[0]==="0x")return null;let R=x1({abi:mY,args:H,functionName:"addr",data:D[0]});if(R==="0x")return null;if(S1(R)==="0x00")return null;return R}catch(f){if(K)throw f;if(v9(f))return null;throw f}}f0();class TG extends I{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 x2 extends I{constructor({reason:$}){super(`ENS NFT avatar URI is invalid. ${$}`,{name:"EnsAvatarInvalidNftUriError"})}}class r3 extends I{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 IG extends I{constructor({namespace:$}){super(`ENS NFT avatar namespace "${$}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}var DS=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,wS=/^(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>\/.*)?$/,ES=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,RS=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function BS($){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 zf($,J){if(!$)return J;if($.endsWith("/"))return $.slice(0,-1);return $}function AG({uri:$,gatewayUrls:J}){let Q=ES.test($);if(Q)return{uri:$,isOnChain:!0,isEncoded:Q};let Y=zf(J?.ipfs,"https://ipfs.io"),X=zf(J?.arweave,"https://arweave.net"),G=$.match(DS),{protocol:W,subpath:K,target:q,subtarget:U=""}=G?.groups||{},N=W==="ipns:/"||K==="ipns/",H=W==="ipfs:/"||K==="ipfs/"||wS.test($);if($.startsWith("http")&&!N&&!H){let Z=$;if(J?.arweave)Z=$.replace(/https:\/\/arweave.net/g,J?.arweave);return{uri:Z,isOnChain:!1,isEncoded:!1}}if((N||H)&&q)return{uri:`${Y}/${N?"ipns":"ipfs"}/${q}${U}`,isOnChain:!1,isEncoded:!1};if(W==="ar:/"&&q)return{uri:`${X}/${q}${U||""}`,isOnChain:!1,isEncoded:!1};let f=$.replace(RS,"");if(f.startsWith("<svg"))f=`data:image/svg+xml;base64,${btoa(f)}`;if(f.startsWith("data:")||f.startsWith("{"))return{uri:f,isOnChain:!0,isEncoded:!1};throw new r3({uri:$})}function xG($){if(typeof $!=="object"||!("image"in $)&&!("image_url"in $)&&!("image_data"in $))throw new TG({data:$});return $.image||$.image_url||$.image_data}async function Vf({gatewayUrls:$,uri:J}){try{let Q=await fetch(J).then((X)=>X.json());return await ZJ({gatewayUrls:$,uri:xG(Q)})}catch{throw new r3({uri:J})}}async function ZJ({gatewayUrls:$,uri:J}){let{uri:Q,isOnChain:Y}=AG({uri:J,gatewayUrls:$});if(Y)return Q;if(await BS(Q))return Q;throw new r3({uri:J})}function Of($){let J=$;if(J.startsWith("did:nft:"))J=J.replace("did:nft:","").replace(/_/g,"/");let[Q,Y,X]=J.split("/"),[G,W]=Q.split(":"),[K,q]=Y.split(":");if(!G||G.toLowerCase()!=="eip155")throw new x2({reason:"Only EIP-155 supported"});if(!W)throw new x2({reason:"Chain ID not found"});if(!q)throw new x2({reason:"Contract address not found"});if(!X)throw new x2({reason:"Token ID not found"});if(!K)throw new x2({reason:"ERC namespace not found"});return{chainID:Number.parseInt(W,10),namespace:K.toLowerCase(),contractAddress:q,tokenID:X}}async function Df($,{nft:J}){if(J.namespace==="erc721")return b($,{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 b($,{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 IG({namespace:J.namespace})}async function wf($,{gatewayUrls:J,record:Q}){if(/eip155:/i.test(Q))return _S($,{gatewayUrls:J,record:Q});return ZJ({uri:Q,gatewayUrls:J})}async function _S($,{gatewayUrls:J,record:Q}){let Y=Of(Q),X=await Df($,{nft:Y}),{uri:G,isOnChain:W,isEncoded:K}=AG({uri:X,gatewayUrls:J});if(W&&(G.includes("data:application/json;base64,")||G.startsWith("{"))){let U=K?atob(G.replace("data:application/json;base64,","")):G,N=JSON.parse(U);return ZJ({uri:xG(N),gatewayUrls:J})}let q=Y.tokenID;if(Y.namespace==="erc1155")q=q.replace("0x","").padStart(64,"0");return Vf({gatewayUrls:J,uri:G.replace(/(?:0x)?{id}/,q)})}X5();r5();G6();R2();G0();x3();async function MJ($,J){let{blockNumber:Q,blockTag:Y,key:X,name:G,gatewayUrls:W,strict:K}=J,{chain:q}=$,U=(()=>{if(J.universalResolverAddress)return J.universalResolverAddress;if(!q)throw Error("client chain not configured. universalResolverAddress is required.");return Z6({blockNumber:Q,chain:q,contract:"ensUniversalResolver"})})(),N=q?.ensTlds;if(N&&!N.some((H)=>G.endsWith(H)))return null;try{let H={address:U,abi:q$,args:[s0(h9(G)),r({abi:gY,functionName:"text",args:[b3(G),X]}),W??[e5]],functionName:"resolveWithGateways",blockNumber:Q,blockTag:Y},Z=await p($,b,"readContract")(H);if(Z[0]==="0x")return null;let M=x1({abi:gY,functionName:"text",data:Z[0]});return M===""?null:M}catch(H){if(K)throw H;if(v9(H))return null;throw H}}async function Ef($,{blockNumber:J,blockTag:Q,assetGatewayUrls:Y,name:X,gatewayUrls:G,strict:W,universalResolverAddress:K}){let q=await p($,MJ,"getEnsText")({blockNumber:J,blockTag:Q,key:"avatar",name:X,universalResolverAddress:K,gatewayUrls:G,strict:W});if(!q)return null;try{return await wf($,{record:q,gatewayUrls:Y})}catch{return null}}X5();R2();x3();async function Rf($,J){let{address:Q,blockNumber:Y,blockTag:X,coinType:G=60n,gatewayUrls:W,strict:K}=J,{chain:q}=$,U=(()=>{if(J.universalResolverAddress)return J.universalResolverAddress;if(!q)throw Error("client chain not configured. universalResolverAddress is required.");return Z6({blockNumber:Y,chain:q,contract:"ensUniversalResolver"})})();try{let N={address:U,abi:iU,args:[Q,G,W??[e5]],functionName:"reverseWithGateways",blockNumber:Y,blockTag:X},H=p($,b,"readContract"),[f]=await H(N);return f||null}catch(N){if(K)throw N;if(v9(N))return null;throw N}}R2();G0();async function Bf($,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 Z6({blockNumber:Q,chain:G,contract:"ensUniversalResolver"})})(),K=G?.ensTlds;if(K&&!K.some((U)=>X.endsWith(U)))throw Error(`${X} is not a valid ENS TLD (${K?.join(", ")}) for chain "${G.name}" (id: ${G.id}).`);let[q]=await p($,b,"readContract")({address:W,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[s0(h9(X))],blockNumber:Q,blockTag:Y});return q}A2();G0();LG();O4();I2();async function zJ($,J){let{account:Q=$.account,blockNumber:Y,blockTag:X="latest",blobs:G,data:W,gas:K,gasPrice:q,maxFeePerBlobGas:U,maxFeePerGas:N,maxPriorityFeePerGas:H,to:f,value:Z,...M}=J,D=Q?h0(Q):void 0;try{V6(J);let O=(typeof Y==="bigint"?h(Y):void 0)||X,E=$.chain?.formatters?.transactionRequest?.format,w=(E||V5)({...b8(M,{format:E}),account:D,blobs:G,data:W,gas:K,gasPrice:q,maxFeePerBlobGas:U,maxFeePerGas:N,maxPriorityFeePerGas:H,to:f,value:Z},"createAccessList"),B=await $.request({method:"eth_createAccessList",params:[w,O]});return{accessList:B.accessList,gasUsed:BigInt(B.gasUsed)}}catch(R){throw qJ(R,{...J,account:D,chain:$.chain})}}function k8($,{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 _f($){let J=k8($,{method:"eth_newBlockFilter"}),Q=await $.request({method:"eth_newBlockFilter"});return{id:Q,request:J(Q),type:"block"}}$1();f0();class bG extends I{constructor($){super(`Filter type "${$}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}O1();H6();P3();U5();h5();s5();var Lf="/docs/contract/encodeEventTopics";function D5($){let{abi:J,eventName:Q,args:Y}=$,X=J[0];if(Q){let q=P1({abi:J,name:Q});if(!q)throw new f$(Q,{docsPath:Lf});X=q}if(X.type!=="event")throw new f$(void 0,{docsPath:Lf});let G=q1(X),W=j8(G),K=[];if(Y&&"inputs"in X){let q=X.inputs?.filter((N)=>("indexed"in N)&&N.indexed),U=Array.isArray(Y)?Y:Object.values(Y).length>0?q?.map((N)=>Y[N.name])??[]:[];if(U.length>0)K=q?.map((N,H)=>{if(Array.isArray(U[H]))return U[H].map((f,Z)=>Ff({param:N,value:U[H][Z]}));return typeof U[H]<"u"&&U[H]!==null?Ff({param:N,value:U[H]}):null})??[]}return[W,...K]}function Ff({param:$,value:J}){if($.type==="string"||$.type==="bytes")return Z0(N6(J));if($.type==="tuple"||$.type.match(/^(.*)\[(\d+)?\]$/))throw new bG($.type);return y0([$],[J])}G0();async function VJ($,J){let{address:Q,abi:Y,args:X,eventName:G,fromBlock:W,strict:K,toBlock:q}=J,U=k8($,{method:"eth_newFilter"}),N=G?D5({abi:Y,args:X,eventName:G}):void 0,H=await $.request({method:"eth_newFilter",params:[{address:Q,fromBlock:typeof W==="bigint"?h(W):W,toBlock:typeof q==="bigint"?h(q):q,topics:N}]});return{abi:Y,args:X,eventName:G,id:H,request:U(H),strict:Boolean(K),type:"event"}}G0();async function OJ($,{address:J,args:Q,event:Y,events:X,fromBlock:G,strict:W,toBlock:K}={}){let q=X??(Y?[Y]:void 0),U=k8($,{method:"eth_newFilter"}),N=[];if(q){if(N=[q.flatMap((Z)=>D5({abi:[Z],eventName:Z.name,args:Q}))],Y)N=N[0]}let H=await $.request({method:"eth_newFilter",params:[{address:J,fromBlock:typeof G==="bigint"?h(G):G,toBlock:typeof K==="bigint"?h(K):K,...N.length?{topics:N}:{}}]});return{abi:q,args:Q,eventName:Y?Y.name:void 0,fromBlock:G,id:H,request:U(H),strict:Boolean(W),toBlock:K,type:"event"}}async function DJ($){let J=k8($,{method:"eth_newPendingTransactionFilter"}),Q=await $.request({method:"eth_newPendingTransactionFilter"});return{id:Q,request:J(Q),type:"transaction"}}G6();f0();D2();H6();function Sf($){let J=Z0(`0x${$.substring(4)}`).substring(26);return O2(`0x${J}`)}s1();V1();G0();async function NZ({hash:$,signature:J}){let Q=c0($)?$:s0($),{secp256k1:Y}=await Promise.resolve().then(() => (LJ(),qZ));return`0x${(()=>{if(typeof J==="object"&&"r"in J&&"s"in J){let{r:U,s:N,v:H,yParity:f}=J,Z=Number(f??H),M=UZ(Z);return new Y.Signature(E0(U),E0(N)).addRecoveryBit(M)}let W=c0(J)?J:s0(J);if(W0(W)!==65)throw Error("invalid signature length");let K=J1(`0x${W.slice(130)}`),q=UZ(K);return Y.Signature.fromCompact(W.substring(2,130)).addRecoveryBit(q)})().recoverPublicKey(Q.substring(2)).toHex(!1)}`}function UZ($){if($===0||$===1)return $;if($===27)return 0;if($===28)return 1;throw Error("Invalid yParityOrV value")}async function FJ({hash:$,signature:J}){return Sf(await NZ({hash:$,signature:J}))}O1();G0();f0();j$();O1();G0();function p6($,J="hex"){let Q=HZ($),Y=L9(new Uint8Array(Q.length));if(Q.encode(Y),J==="hex")return R0(Y.bytes);return Y.bytes}function HZ($){if(Array.isArray($))return tS($.map((J)=>HZ(J)));return aS($)}function tS($){let J=$.reduce((X,G)=>X+G.length,0),Q=fZ(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 aS($){let J=typeof $==="string"?U1($):$,Q=fZ(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 fZ($){if($<256)return 1;if($<65536)return 2;if($<16777216)return 3;if($<4294967296)return 4;throw new I("Length is too large.")}H6();function ZZ($){let{chainId:J,nonce:Q,to:Y}=$,X=$.contractAddress??$.address,G=Z0(D1(["0x05",p6([J?h(J):"0x",X,Q?h(Q):"0x"])]));if(Y==="bytes")return U1(G);return G}async function SJ($){let{authorization:J,signature:Q}=$;return FJ({hash:ZZ(J),signature:Q??J})}G0();T3();b9();f0();h6();class XW extends I{constructor($,{account:J,docsPath:Q,chain:Y,data:X,gas:G,gasPrice:W,maxFeePerGas:K,maxPriorityFeePerGas:q,nonce:U,to:N,value:H}){let f=B2({from:J?.address,to:N,value:typeof H<"u"&&`${t5(H)} ${Y?.nativeCurrency?.symbol||"ETH"}`,data:X,gas:G,gasPrice:typeof W<"u"&&`${N1(W)} gwei`,maxFeePerGas:typeof K<"u"&&`${N1(K)} gwei`,maxPriorityFeePerGas:typeof q<"u"&&`${N1(q)} gwei`,nonce:U});super($.shortMessage,{cause:$,docsPath:Q,metaMessages:[...$.metaMessages?[...$.metaMessages," "]:[],"Estimate Gas Arguments:",f].filter(Boolean),name:"EstimateGasExecutionError"});Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=$}}A8();s3();function MZ($,{docsPath:J,...Q}){let Y=(()=>{let X=x8($,Q);if(X instanceof u6)return $;return X})();return new XW(Y,{docsPath:J,...Q})}O4();HJ();I2();b9();f0();class X7 extends I{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class y2 extends I{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class GW extends I{constructor({maxPriorityFeePerGas:$}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${N1($)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}V1();f0();class G7 extends I{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"})}}G0();V1();var WW={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function H8($,J){let Q={...$,blockHash:$.blockHash?$.blockHash:null,blockNumber:$.blockNumber?BigInt($.blockNumber):null,chainId:$.chainId?J1($.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?J1($.nonce):void 0,to:$.to?$.to:null,transactionIndex:$.transactionIndex?Number($.transactionIndex):null,type:$.type?WW[$.type]:void 0,typeHex:$.type?$.type:void 0,value:$.value?BigInt($.value):void 0,v:$.v?BigInt($.v):void 0};if($.authorizationList)Q.authorizationList=eS($.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}var zZ=V4("transaction",H8);function eS($){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 W7($,J){let Q=($.transactions??[]).map((Y)=>{if(typeof Y==="string")return Y;return H8(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}}var VZ=V4("block",W7);async function E1($,{blockHash:J,blockNumber:Q,blockTag:Y=$.experimental_blockTag??"latest",includeTransactions:X}={}){let G=X??!1,W=Q!==void 0?h(Q):void 0,K=null;if(J)K=await $.request({method:"eth_getBlockByHash",params:[J,G]},{dedupe:!0});else K=await $.request({method:"eth_getBlockByNumber",params:[W||Y,G]},{dedupe:Boolean(W)});if(!K)throw new G7({blockHash:J,blockNumber:Q});return($.chain?.formatters?.block?.format||W7)(K,"getBlock")}async function _4($){let J=await $.request({method:"eth_gasPrice"});return BigInt(J)}async function OZ($,J){return KW($,J)}async function KW($,J){let{block:Q,chain:Y=$.chain,request:X}=J||{};try{let G=Y?.fees?.maxPriorityFeePerGas??Y?.fees?.defaultPriorityFee;if(typeof G==="function"){let K=Q||await p($,E1,"getBlock")({}),q=await G({block:K,client:$,request:X});if(q===null)throw Error();return q}if(typeof G<"u")return G;let W=await $.request({method:"eth_maxPriorityFeePerGas"});return E0(W)}catch{let[G,W]=await Promise.all([Q?Promise.resolve(Q):p($,E1,"getBlock")({}),p($,_4,"getGasPrice")({})]);if(typeof G.baseFeePerGas!=="bigint")throw new y2;let K=W-G.baseFeePerGas;if(K<0n)return 0n;return K}}async function DZ($,J){return jJ($,J)}async function jJ($,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 X7;let q=10**(W.toString().split(".")[1]?.length??0),U=(f)=>f*BigInt(Math.ceil(W*q))/BigInt(q),N=Q?Q:await p($,E1,"getBlock")({});if(typeof Y?.fees?.estimateFeesPerGas==="function"){let f=await Y.fees.estimateFeesPerGas({block:Q,client:$,multiply:U,request:X,type:G});if(f!==null)return f}if(G==="eip1559"){if(typeof N.baseFeePerGas!=="bigint")throw new y2;let f=typeof X?.maxPriorityFeePerGas==="bigint"?X.maxPriorityFeePerGas:await KW($,{block:N,chain:Y,request:X}),Z=U(N.baseFeePerGas);return{maxFeePerGas:X?.maxFeePerGas??Z+f,maxPriorityFeePerGas:f}}return{gasPrice:X?.gasPrice??U(await p($,_4,"getGasPrice")({}))}}V1();G0();async function CJ($,{address:J,blockTag:Q="latest",blockNumber:Y}){let X=await $.request({method:"eth_getTransactionCount",params:[J,typeof Y==="bigint"?h(Y):Q]},{dedupe:Boolean(Y)});return J1(X)}O1();G0();function L4($){let{kzg:J}=$,Q=$.to??(typeof $.blobs[0]==="string"?"hex":"bytes"),Y=typeof $.blobs[0]==="string"?$.blobs.map((G)=>U1(G)):$.blobs,X=[];for(let G of Y)X.push(Uint8Array.from(J.blobToKzgCommitment(G)));return Q==="bytes"?X:X.map((G)=>R0(G))}O1();G0();function F4($){let{kzg:J}=$,Q=$.to??(typeof $.blobs[0]==="string"?"hex":"bytes"),Y=typeof $.blobs[0]==="string"?$.blobs.map((W)=>U1(W)):$.blobs,X=typeof $.commitments[0]==="string"?$.commitments.map((W)=>U1(W)):$.commitments,G=[];for(let W=0;W<Y.length;W++){let K=Y[W],q=X[W];G.push(Uint8Array.from(J.computeBlobKzgProof(K,q)))}return Q==="bytes"?G:G.map((W)=>R0(W))}G0();vG();var wZ=b2;O1();G0();function EZ($,J){let Q=J||"hex",Y=wZ(c0($,{strict:!1})?N6($):$);if(Q==="bytes")return Y;return s0(Y)}function RZ($){let{commitment:J,version:Q=1}=$,Y=$.to??(typeof J==="string"?"hex":"bytes"),X=EZ(J,"bytes");return X.set([Q],0),Y==="bytes"?X:R0(X)}function PJ($){let{commitments:J,version:Q}=$,Y=$.to??(typeof J[0]==="string"?"hex":"bytes"),X=[];for(let G of J)X.push(RZ({commitment:G,to:Y,version:Q}));return X}var BZ=32,_Z=4096,LZ=131072,qW=761855;var TJ=1;f0();class UW extends I{constructor({maxSize:$,size:J}){super("Blob size is too large.",{metaMessages:[`Max: ${$} bytes`,`Given: ${J} bytes`],name:"BlobSizeTooLargeError"})}}class K7 extends I{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class NW extends I{constructor({hash:$,size:J}){super(`Versioned hash "${$}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${J}`],name:"InvalidVersionedHashSizeError"})}}class HW extends I{constructor({hash:$,version:J}){super(`Versioned hash "${$}" version is invalid.`,{metaMessages:[`Expected: ${TJ}`,`Received: ${J}`],name:"InvalidVersionedHashVersionError"})}}j$();s1();O1();G0();function FZ($){let J=$.to??(typeof $.data==="string"?"hex":"bytes"),Q=typeof $.data==="string"?U1($.data):$.data,Y=W0(Q);if(!Y)throw new K7;if(Y>qW)throw new UW({maxSize:qW,size:Y});let X=[],G=!0,W=0;while(G){let K=L9(new Uint8Array(LZ)),q=0;while(q<_Z){let U=Q.slice(W,W+(BZ-1));if(K.pushByte(0),K.pushBytes(U),U.length<31){K.pushByte(128),G=!1;break}q++,W+=31}X.push(K)}return J==="bytes"?X.map((K)=>K.bytes):X.map((K)=>R0(K.bytes))}function IJ($){let{data:J,kzg:Q,to:Y}=$,X=$.blobs??FZ({data:J,to:Y}),G=$.commitments??L4({blobs:X,kzg:Q,to:Y}),W=$.proofs??F4({blobs:X,commitments:G,kzg:Q,to:Y}),K=[];for(let q=0;q<X.length;q++)K.push({blob:X[q],commitment:G[q],proof:W[q]});return K}_3();I2();h6();function AJ($){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 lX({transaction:$})}A8();h6();s3();function SZ($,{docsPath:J,...Q}){let Y=(()=>{let X=x8($,Q);if(X instanceof u6)return $;return X})();return new oX(Y,{docsPath:J,...Q})}O4();I2();V1();async function M0($){let J=await $.request({method:"eth_chainId"},{dedupe:!0});return J1(J)}async function xJ($,J){let{account:Q=$.account,accessList:Y,authorizationList:X,chain:G=$.chain,blobVersionedHashes:W,blobs:K,data:q,gas:U,gasPrice:N,maxFeePerBlobGas:H,maxFeePerGas:f,maxPriorityFeePerGas:Z,nonce:M,nonceManager:D,to:R,type:O,value:E,...V}=J,w=await(async()=>{if(!Q)return M;if(!D)return M;if(typeof M<"u")return M;let x=h0(Q),C=G?G.id:await p($,M0,"getChainId")({});return await D.consume({address:x.address,chainId:C,client:$})})();V6(J);let B=G?.formatters?.transactionRequest?.format,T=(B||V5)({...b8(V,{format:B}),account:Q?h0(Q):void 0,accessList:Y,authorizationList:X,blobs:K,blobVersionedHashes:W,data:q,gas:U,gasPrice:N,maxFeePerBlobGas:H,maxFeePerGas:f,maxPriorityFeePerGas:Z,nonce:w,to:R,type:O,value:E},"fillTransaction");try{let x=await $.request({method:"eth_fillTransaction",params:[T]}),S=(G?.formatters?.transaction?.format||H8)(x.tx);if(delete S.blockHash,delete S.blockNumber,delete S.r,delete S.s,delete S.transactionIndex,delete S.v,delete S.yParity,S.data=S.input,S.gas)S.gas=J.gas??S.gas;if(S.gasPrice)S.gasPrice=J.gasPrice??S.gasPrice;if(S.maxFeePerBlobGas)S.maxFeePerBlobGas=J.maxFeePerBlobGas??S.maxFeePerBlobGas;if(S.maxFeePerGas)S.maxFeePerGas=J.maxFeePerGas??S.maxFeePerGas;if(S.maxPriorityFeePerGas)S.maxPriorityFeePerGas=J.maxPriorityFeePerGas??S.maxPriorityFeePerGas;if(S.nonce)S.nonce=J.nonce??S.nonce;let v=await(async()=>{if(typeof G?.fees?.baseFeeMultiplier==="function"){let P=await p($,E1,"getBlock")({});return G.fees.baseFeeMultiplier({block:P,client:$,request:J})}return G?.fees?.baseFeeMultiplier??1.2})();if(v<1)throw new X7;let A=10**(v.toString().split(".")[1]?.length??0),k=(P)=>P*BigInt(Math.ceil(v*A))/BigInt(A);if(S.maxFeePerGas&&!J.maxFeePerGas)S.maxFeePerGas=k(S.maxFeePerGas);if(S.gasPrice&&!J.gasPrice)S.gasPrice=k(S.gasPrice);return{raw:x.raw,transaction:{from:T.from,...S}}}catch(x){throw SZ(x,{...J,chain:$.chain})}}var $j=["blobVersionedHashes","chainId","fees","gas","nonce","type"],jZ=new Map,fW=new l5(128);async function bJ($,J){let Q=J;Q.account??=$.account,Q.parameters??=$j;let{account:Y,chain:X=$.chain,nonceManager:G,parameters:W}=Q,K=(()=>{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})(),q;async function U(){if(q)return q;if(typeof Q.chainId<"u")return Q.chainId;if(X)return X.id;return q=await p($,M0,"getChainId")({}),q}let N=Y?h0(Y):Y,H=Q.nonce;if(W.includes("nonce")&&typeof H>"u"&&N&&G){let w=await U();H=await G.consume({address:N.address,chainId:w,client:$})}if(K?.fn&&K.runAt?.includes("beforeFillTransaction"))Q=await K.fn({...Q,chain:X},{phase:"beforeFillTransaction"}),H??=Q.nonce;let Z=(()=>{if((W.includes("blobVersionedHashes")||W.includes("sidecars"))&&Q.kzg&&Q.blobs)return!1;if(fW.get($.uid)===!1)return!1;if(!["fees","gas"].some((B)=>W.includes(B)))return!1;if(W.includes("chainId")&&typeof Q.chainId!=="number")return!0;if(W.includes("nonce")&&typeof H!=="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 p($,xJ,"fillTransaction")({...Q,nonce:H}).then((w)=>{let{chainId:B,from:j,gas:T,gasPrice:x,nonce:C,maxFeePerBlobGas:S,maxFeePerGas:v,maxPriorityFeePerGas:F,type:A,...k}=w.transaction;return fW.set($.uid,!0),{...Q,...j?{from:j}:{},...A&&!Q.type?{type:A}:{},...typeof B<"u"?{chainId:B}:{},...typeof T<"u"?{gas:T}:{},...typeof x<"u"?{gasPrice:x}:{},...typeof C<"u"?{nonce:C}:{},...typeof S<"u"&&Q.type!=="legacy"&&Q.type!=="eip2930"?{maxFeePerBlobGas:S}:{},...typeof v<"u"&&Q.type!=="legacy"&&Q.type!=="eip2930"?{maxFeePerGas:v}:{},...typeof F<"u"&&Q.type!=="legacy"&&Q.type!=="eip2930"?{maxPriorityFeePerGas:F}:{},..."nonceKey"in k&&typeof k.nonceKey<"u"?{nonceKey:k.nonceKey}:{}}}).catch((w)=>{let B=w;if(B.name!=="TransactionExecutionError")return Q;if(B.walk?.((T)=>{let x=T;return x.name==="MethodNotFoundRpcError"||x.name==="MethodNotSupportedRpcError"}))fW.set($.uid,!1);return Q}):Q;H??=Z.nonce,Q={...Z,...N?{from:N?.address}:{},...H?{nonce:H}:{}};let{blobs:M,gas:D,kzg:R,type:O}=Q;if(K?.fn&&K.runAt?.includes("beforeFillParameters"))Q=await K.fn({...Q,chain:X},{phase:"beforeFillParameters"});let E;async function V(){if(E)return E;return E=await p($,E1,"getBlock")({blockTag:"latest"}),E}if(W.includes("nonce")&&typeof H>"u"&&N&&!G)Q.nonce=await p($,CJ,"getTransactionCount")({address:N.address,blockTag:"pending"});if((W.includes("blobVersionedHashes")||W.includes("sidecars"))&&M&&R){let w=L4({blobs:M,kzg:R});if(W.includes("blobVersionedHashes")){let B=PJ({commitments:w,to:"hex"});Q.blobVersionedHashes=B}if(W.includes("sidecars")){let B=F4({blobs:M,commitments:w,kzg:R}),j=IJ({blobs:M,commitments:w,proofs:B,to:"hex"});Q.sidecars=j}}if(W.includes("chainId"))Q.chainId=await U();if((W.includes("fees")||W.includes("type"))&&typeof O>"u")try{Q.type=AJ(Q)}catch{let w=jZ.get($.uid);if(typeof w>"u")w=typeof(await V())?.baseFeePerGas==="bigint",jZ.set($.uid,w);Q.type=w?"eip1559":"legacy"}if(W.includes("fees"))if(Q.type!=="legacy"&&Q.type!=="eip2930"){if(typeof Q.maxFeePerGas>"u"||typeof Q.maxPriorityFeePerGas>"u"){let w=await V(),{maxFeePerGas:B,maxPriorityFeePerGas:j}=await jJ($,{block:w,chain:X,request:Q});if(typeof Q.maxPriorityFeePerGas>"u"&&Q.maxFeePerGas&&Q.maxFeePerGas<j)throw new GW({maxPriorityFeePerGas:j});Q.maxPriorityFeePerGas=j,Q.maxFeePerGas=B}}else{if(typeof Q.maxFeePerGas<"u"||typeof Q.maxPriorityFeePerGas<"u")throw new y2;if(typeof Q.gasPrice>"u"){let w=await V(),{gasPrice:B}=await jJ($,{block:w,chain:X,request:Q,type:"legacy"});Q.gasPrice=B}}if(W.includes("gas")&&typeof D>"u")Q.gas=await p($,S4,"estimateGas")({...Q,account:N,prepare:N?.type==="local"?[]:["blobVersionedHashes"]});if(K?.fn&&K.runAt?.includes("afterFillParameters"))Q=await K.fn({...Q,chain:X},{phase:"afterFillParameters"});return V6(Q),delete Q.parameters,Q}async function S4($,J){let{account:Q=$.account,prepare:Y=!0}=J,X=Q?h0(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 SJ({authorization:J.authorizationList[0]}).catch(()=>{throw new I("`to` is required. Could not infer from `authorizationList`")});return})(),{accessList:K,authorizationList:q,blobs:U,blobVersionedHashes:N,blockNumber:H,blockTag:f,data:Z,gas:M,gasPrice:D,maxFeePerBlobGas:R,maxFeePerGas:O,maxPriorityFeePerGas:E,nonce:V,value:w,stateOverride:B,...j}=Y?await bJ($,{...J,parameters:G,to:W}):J;if(M&&J.gas!==M)return M;let x=(typeof H==="bigint"?h(H):void 0)||f,C=D4(B);V6(J);let S=$.chain?.formatters?.transactionRequest?.format,F=(S||V5)({...b8(j,{format:S}),account:X,accessList:K,authorizationList:q,blobs:U,blobVersionedHashes:N,data:Z,gasPrice:D,maxFeePerBlobGas:R,maxFeePerGas:O,maxPriorityFeePerGas:E,nonce:V,to:W,value:w},"estimateGas");return BigInt(await $.request({method:"eth_estimateGas",params:C?[F,x??$.experimental_blockTag??"latest",C]:x?[F,x]:[F]}))}catch(W){throw MZ(W,{...J,account:X,chain:$.chain})}}async function CZ($,J){let{abi:Q,address:Y,args:X,functionName:G,dataSuffix:W=typeof $.dataSuffix==="string"?$.dataSuffix:$.dataSuffix?.value,...K}=J,q=r({abi:Q,args:X,functionName:G});try{return await p($,S4,"estimateGas")({data:`${q}${W?W.replace("0x",""):""}`,to:Y,...K})}catch(U){let N=K.account?h0(K.account):void 0;throw m6(U,{abi:Q,address:Y,args:X,docsPath:"/docs/contract/estimateContractGas",functionName:G,sender:N?.address})}}X5();r5();G6();G0();A2();async function q7($,{address:J,blockNumber:Q,blockTag:Y=$.experimental_blockTag??"latest"}){if($.batch?.multicall&&$.chain?.contracts?.multicall3){let W=$.chain.contracts.multicall3.address,K=r({abi:A6,functionName:"getEthBalance",args:[J]}),{data:q}=await p($,O6,"call")({to:W,data:K,blockNumber:Q,blockTag:Y});return x1({abi:A6,functionName:"getEthBalance",args:[J],data:q||"0x"})}let X=typeof Q==="bigint"?h(Q):void 0,G=await $.request({method:"eth_getBalance",params:[J,X||Y]});return BigInt(G)}async function PZ($){let J=await $.request({method:"eth_blobBaseFee"});return BigInt(J)}var Jj=new Map,Qj=new Map;function TZ($){let J=(X,G)=>({clear:()=>G.delete(X),get:()=>G.get(X),set:(W)=>G.set(X,W)}),Q=J($,Jj),Y=J($,Qj);return{clear:()=>{Q.clear(),Y.clear()},promise:Q,response:Y}}async function IZ($,{cacheKey:J,cacheTime:Q=Number.POSITIVE_INFINITY}){let Y=TZ(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 Yj=($)=>`blockNumber.${$}`;async function w5($,{cacheTime:J=$.cacheTime}={}){let Q=await IZ(()=>$.request({method:"eth_blockNumber"}),{cacheKey:Yj($.uid),cacheTime:J});return BigInt(Q)}V1();G0();async function AZ($,{blockHash:J,blockNumber:Q,blockTag:Y="latest"}={}){let X=Q!==void 0?h(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 J1(G)}G0();async function v2($,{address:J,blockNumber:Q,blockTag:Y="latest"}){let X=Q!==void 0?h(Q):void 0,G=await $.request({method:"eth_getCode",params:[J,X||Y]},{dedupe:Boolean(X)});if(G==="0x")return;return G}s5();E4();O1();function R1($,{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}:{}}}H6();P3();$1();fX();s1();P3();S9();h5();var xZ="/docs/contract/decodeEventLog";function E5($){let{abi:J,data:Q,strict:Y,topics:X}=$,G=Y??!0,[W,...K]=X;if(!W)throw new rY({docsPath:xZ});let q=J.find((O)=>O.type==="event"&&W===j8(q1(O)));if(!(q&&("name"in q))||q.type!=="event")throw new tY(W,{docsPath:xZ});let{name:U,inputs:N}=q,H=N?.some((O)=>!(("name"in O)&&O.name)),f=H?[]:{},Z=N.map((O,E)=>[O,E]).filter(([O])=>("indexed"in O)&&O.indexed),M=[];for(let O=0;O<Z.length;O++){let[E,V]=Z[O],w=K[O];if(!w){if(G)throw new H2({abiItem:q,param:E});M.push([E,V]);continue}f[H?V:E.name||V]=Xj({param:E,value:w})}let D=N.filter((O)=>!(("indexed"in O)&&O.indexed)),R=G?D:[...M.map(([O])=>O),...D];if(R.length>0){if(Q&&Q!=="0x")try{let O=C1(R,Q);if(O){let E=0;if(!G)for(let[V,w]of M)f[H?w:V.name||w]=O[E++];if(H){for(let V=0;V<N.length;V++)if(f[V]===void 0&&E<O.length)f[V]=O[E++]}else for(let V=0;V<D.length;V++)f[D[V].name]=O[E++]}}catch(O){if(G){if(O instanceof O3||O instanceof L3)throw new _8({abiItem:q,data:Q,params:R,size:W0(Q)});throw O}}else if(G)throw new _8({abiItem:q,data:"0x",params:R,size:0})}return{eventName:U,args:Object.values(f).length>0?f:void 0}}function Xj({param:$,value:J}){if($.type==="string"||$.type==="bytes"||$.type==="tuple"||$.type.match(/^(.*)\[(\d+)?\]$/))return J;return(C1([$],J)||[])[0]}function j4($){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((K)=>K.type==="event").map((K)=>({abi:K,selector:j8(K)}));return Y.map((K)=>{let q=typeof K.blockNumber==="string"?R1(K):K,U=W.filter((f)=>q.topics[0]===f.selector);if(U.length===0)return null;let N,H;for(let f of U)try{N=E5({...q,abi:[f.abi],strict:!0}),H=f;break}catch{}if(!N&&!X){H=U[0];try{N=E5({data:q.data,topics:q.topics,abi:[H.abi],strict:!1})}catch{let f=H.abi.inputs?.some((Z)=>!(("name"in Z)&&Z.name));return{...q,args:f?[]:{},eventName:H.abi.name}}}if(!N||!H)return null;if(G&&!G.includes(N.eventName))return null;if(!Gj({args:N.args,inputs:H.abi.inputs,matchArgs:Q}))return null;return{...N,...q}}).filter(Boolean)}function Gj($){let{args:J,inputs:Q,matchArgs:Y}=$;if(!Y)return!0;if(!J)return!1;function X(G,W,K){try{if(G.type==="address")return O5(W,K);if(G.type==="string"||G.type==="bytes")return Z0(N6(W))===K;return W===K}catch{return!1}}if(Array.isArray(J)&&Array.isArray(Y))return Y.every((G,W)=>{if(G===null||G===void 0)return!0;let K=Q[W];if(!K)return!1;return(Array.isArray(G)?G:[G]).some((U)=>X(K,U,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 K=Q.find((U)=>U.name===G);if(!K)return!1;return(Array.isArray(W)?W:[W]).some((U)=>X(K,U,J[G]))});return!1}G0();async function C4($,{address:J,blockHash:Q,fromBlock:Y,toBlock:X,event:G,events:W,args:K,strict:q}={}){let U=q??!1,N=W??(G?[G]:void 0),H=[];if(N){if(H=[N.flatMap((D)=>D5({abi:[D],eventName:D.name,args:W?void 0:K}))],G)H=H[0]}let f;if(Q)f=await $.request({method:"eth_getLogs",params:[{address:J,topics:H,blockHash:Q}]});else f=await $.request({method:"eth_getLogs",params:[{address:J,topics:H,fromBlock:typeof Y==="bigint"?h(Y):Y,toBlock:typeof X==="bigint"?h(X):X}]});let Z=f.map((M)=>R1(M));if(!N)return Z;return j4({abi:N,args:K,logs:Z,strict:U})}async function kJ($,J){let{abi:Q,address:Y,args:X,blockHash:G,eventName:W,fromBlock:K,toBlock:q,strict:U}=J,N=W?P1({abi:Q,name:W}):void 0,H=!N?Q.filter((f)=>f.type==="event"):void 0;return p($,C4,"getLogs")({address:Y,args:X,blockHash:G,event:N,events:H,fromBlock:K,toBlock:q,strict:U})}D2();s1();n5();async function bZ($,{address:J,blockNumber:Q,blockTag:Y="latest"}){let X=await v2($,{address:J,...Q!==void 0?{blockNumber:Q}:{blockTag:Y}});if(!X)return;if(W0(X)!==23)return;if(!X.startsWith("0xef0100"))return;return w2(p0(X,3,23))}f0();class ZW extends I{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 kZ($,J){let{address:Q,factory:Y,factoryData:X}=J;try{let[G,W,K,q,U,N,H]=await p($,b,"readContract")({abi:Wj,address:Q,functionName:"eip712Domain",factory:Y,factoryData:X});return{domain:{name:W,version:K,chainId:Number(q),verifyingContract:U,salt:N},extensions:H,fields:G}}catch(G){let W=G;if(W.name==="ContractFunctionExecutionError"&&W.cause.name==="ContractFunctionZeroDataError")throw new ZW({address:Q});throw W}}var Wj=[{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"}];G0();function yZ($){return{baseFeePerGas:$.baseFeePerGas.map((J)=>BigInt(J)),gasUsedRatio:$.gasUsedRatio,oldestBlock:BigInt($.oldestBlock),reward:$.reward?.map((J)=>J.map((Q)=>BigInt(Q)))}}async function vZ($,{blockCount:J,blockNumber:Q,blockTag:Y="latest",rewardPercentiles:X}){let G=typeof Q==="bigint"?h(Q):void 0,W=await $.request({method:"eth_feeHistory",params:[h(J),G||Y,X]},{dedupe:Boolean(G)});return yZ(W)}async function m8($,{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)=>R1(G));if(!("abi"in J)||!J.abi)return X;return j4({abi:J.abi,logs:X,strict:Q})}async function hZ($,{filter:J}){let Q=J.strict??!1,X=(await J.request({method:"eth_getFilterLogs",params:[J.id]})).map((G)=>R1(G));if(!J.abi)return X;return j4({abi:J.abi,logs:X,strict:Q})}G0();V1();f0();class MW extends I{constructor({value:$}){super(`Number \`${$}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}function D6($,J){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test($))throw new MW({value:$});let[Q,Y="0"]=$.split("."),X=Q.startsWith("-");if(X)Q=Q.slice(1);if(Y=Y.replace(/(0+)$/,""),J===0){if(Math.round(Number(`.${Y}`))===1)Q=`${BigInt(Q)+1n}`;Y=""}else if(Y.length>J){let[G,W,K]=[Y.slice(0,J-1),Y.slice(J-1,J),Y.slice(J)],q=Math.round(Number(`${W}.${K}`));if(q>9)Y=`${BigInt(G)+BigInt(1)}0`.padStart(G.length+1,"0");else Y=`${G}${q}`;if(Y.length>J)Y=Y.slice(1),Q=`${BigInt(Q)+1n}`;Y=Y.slice(0,J)}else Y=Y.padEnd(J,"0");return BigInt(`${X?"-":""}${Q}${Y}`)}function qj($){return $.map((J)=>({...J,value:BigInt(J.value)}))}function gZ($){return{...$,balance:$.balance?BigInt($.balance):void 0,nonce:$.nonce?J1($.nonce):void 0,storageProof:$.storageProof?qj($.storageProof):void 0}}async function mZ($,{address:J,blockNumber:Q,blockTag:Y,storageKeys:X}){let G=Y??"latest",W=Q!==void 0?h(Q):void 0,K=await $.request({method:"eth_getProof",params:[J,X,W||G]});return gZ(K)}G0();async function dZ($,{address:J,blockNumber:Q,blockTag:Y="latest",slot:X}){let G=Q!==void 0?h(Q):void 0;return await $.request({method:"eth_getStorageAt",params:[J,X,G||Y]})}h6();G0();async function P4($,{blockHash:J,blockNumber:Q,blockTag:Y,hash:X,index:G,sender:W,nonce:K}){let q=Y||"latest",U=Q!==void 0?h(Q):void 0,N=null;if(X)N=await $.request({method:"eth_getTransactionByHash",params:[X]},{dedupe:!0});else if(J)N=await $.request({method:"eth_getTransactionByBlockHashAndIndex",params:[J,h(G)]},{dedupe:!0});else if((U||q)&&typeof G==="number")N=await $.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[U||q,h(G)]},{dedupe:Boolean(U)});else if(W&&typeof K==="number")N=await $.request({method:"eth_getTransactionBySenderAndNonce",params:[W,h(K)]},{dedupe:!0});if(!N)throw new I3({blockHash:J,blockNumber:Q,blockTag:q,hash:X,index:G});return($.chain?.formatters?.transaction?.format||H8)(N,"getTransaction")}async function uZ($,{hash:J,transactionReceipt:Q}){let[Y,X]=await Promise.all([p($,w5,"getBlockNumber")({}),J?p($,P4,"getTransaction")({hash:J}):void 0]),G=Q?.blockNumber||X?.blockNumber;if(!G)return 0n;return Y-G+1n}h6();V1();var Uj={"0x0":"reverted","0x1":"success"};function U7($,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)=>R1(Y)):null,to:$.to?$.to:null,transactionIndex:$.transactionIndex?J1($.transactionIndex):null,status:$.status?Uj[$.status]:null,type:$.type?WW[$.type]||$.type:null};if($.blobGasPrice)Q.blobGasPrice=BigInt($.blobGasPrice);if($.blobGasUsed)Q.blobGasUsed=BigInt($.blobGasUsed);return Q}var cZ=V4("transactionReceipt",U7);async function T4($,{hash:J}){let Q=await $.request({method:"eth_getTransactionReceipt",params:[J]},{dedupe:!0});if(!Q)throw new A3({hash:J});return($.chain?.formatters?.transactionReceipt?.format||U7)(Q,"getTransactionReceipt")}X5();$1();f0();a5();r5();G6();R2();async function pZ($,J){let{account:Q,authorizationList:Y,allowFailure:X=!0,blockNumber:G,blockOverrides:W,blockTag:K,stateOverride:q}=J,U=J.contracts,{batchSize:N=J.batchSize??1024,deployless:H=J.deployless??!1}=typeof $.batch?.multicall==="object"?$.batch.multicall:{},f=(()=>{if(J.multicallAddress)return J.multicallAddress;if(H)return null;if($.chain)return Z6({blockNumber:G,chain:$.chain,contract:"multicall3"});throw Error("client chain not configured. multicallAddress is required.")})(),Z=[[]],M=0,D=0;for(let E=0;E<U.length;E++){let{abi:V,address:w,args:B,functionName:j}=U[E];try{let T=r({abi:V,args:B,functionName:j});if(D+=(T.length-2)/2,N>0&&D>N&&Z[M].length>0)M++,D=(T.length-2)/2,Z[M]=[];Z[M]=[...Z[M],{allowFailure:!0,callData:T,target:w}]}catch(T){let x=m6(T,{abi:V,address:w,args:B,docsPath:"/docs/contract/multicall",functionName:j,sender:Q});if(!X)throw x;Z[M]=[...Z[M],{allowFailure:!0,callData:"0x",target:w}]}}let R=await Promise.allSettled(Z.map((E)=>p($,b,"readContract")({...f===null?{code:z4}:{address:f},abi:A6,account:Q,args:[E],authorizationList:Y,blockNumber:G,blockOverrides:W,blockTag:K,functionName:"aggregate3",stateOverride:q}))),O=[];for(let E=0;E<R.length;E++){let V=R[E];if(V.status==="rejected"){if(!X)throw V.reason;for(let B=0;B<Z[E].length;B++)O.push({status:"failure",error:V.reason,result:void 0});continue}let w=V.value;for(let B=0;B<w.length;B++){let{returnData:j,success:T}=w[B],{callData:x}=Z[E][B],{abi:C,address:S,functionName:v,args:F}=U[O.length];try{if(x==="0x")throw new x6;if(!T)throw new f5({data:j});let A=x1({abi:C,args:F,data:j,functionName:v});O.push(X?{result:A,status:"success"}:A)}catch(A){let k=m6(A,{abi:C,address:S,args:F,docsPath:"/docs/contract/multicall",functionName:v});if(!X)throw k;O.push({error:k,result:void 0,status:"failure"})}}}if(O.length!==U.length)throw new I("multicall results mismatch");return O}RG();$1();a5();A8();r5();G6();G0();s3();O4();HJ();I2();async function N7($,J){let{blockNumber:Q,blockTag:Y=$.experimental_blockTag??"latest",blocks:X,returnFullTransactions:G,traceTransfers:W,validation:K}=J;try{let q=[];for(let f of X){let Z=f.blockOverrides?WJ(f.blockOverrides):void 0,M=f.calls.map((R)=>{let O=R,E=O.account?h0(O.account):void 0,V=O.abi?r(O):O.data,w={...O,account:E,data:O.dataSuffix?j1([V||"0x",O.dataSuffix]):V,from:O.from??E?.address};return V6(w),V5(w)}),D=f.stateOverrides?D4(f.stateOverrides):void 0;q.push({blockOverrides:Z,calls:M,stateOverrides:D})}let N=(typeof Q==="bigint"?h(Q):void 0)||Y;return(await $.request({method:"eth_simulateV1",params:[{blockStateCalls:q,returnFullTransactions:G,traceTransfers:W,validation:K},N]})).map((f,Z)=>({...W7(f),calls:f.calls.map((M,D)=>{let{abi:R,args:O,functionName:E,to:V}=X[Z].calls[D],w=M.error?.data??M.returnData,B=BigInt(M.gasUsed),j=M.logs?.map((S)=>R1(S)),T=M.status==="0x1"?"success":"failure",x=R&&T==="success"&&w!=="0x"?x1({abi:R,data:w,functionName:E}):null,C=(()=>{if(T==="success")return;let S;if(w==="0x")S=new x6;else if(w)S=new f5({data:w});if(!S)return;return m6(S,{abi:R??[],address:V??"0x",args:O,functionName:E??"<unknown>"})})();return{data:w,gasUsed:B,logs:j,status:T,...T==="success"?{result:x}:{error:C}}})}))}catch(q){let U=q,N=x8(U,{});if(N instanceof u6)throw U;throw N}}C3();a1();F$();P8();w1();function h2($,J={}){let{as:Q=typeof $==="string"?"Hex":"Bytes"}=J,Y=_9(oH($));if(Q==="Bytes")return Y;return Q1(Y)}w1();P8();class VW 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 Nj={checksum:new VW(8192)},yJ=Nj.checksum;a1();P8();a1();w1();function lZ($,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 OW({prefix:Y,cause:new rZ});return}if(Q===!0||typeof X==="bigint"&&typeof G>"u"){if(Y!==3&&Y!==2)throw new OW({prefix:Y,cause:new sZ});return}throw new iZ({publicKey:$})}function nZ($){let J=(()=>{if(g3($))return oZ($);if(eH($))return fj($);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 lZ(J),J}function fj($){return oZ(Q1($))}function oZ($){if($.length!==132&&$.length!==130&&$.length!==68)throw new tZ({publicKey:$});if($.length===130){let Y=BigInt(o0($,0,32)),X=BigInt(o0($,32,64));return{prefix:4,x:Y,y:X}}if($.length===132){let Y=Number(o0($,0,1)),X=BigInt(o0($,1,33)),G=BigInt(o0($,33,65));return{prefix:Y,x:X,y:G}}let J=Number(o0($,0,1)),Q=BigInt(o0($,1,33));return{prefix:J,x:Q}}function DW($,J={}){lZ($);let{prefix:Q,x:Y,y:X}=$,{includePrefix:G=!0}=J;return r0(G?F0(Q,{size:1}):"0x",F0(Y,{size:32}),typeof X==="bigint"?F0(X,{size:32}):"0x")}class iZ extends s{constructor({publicKey:$}){super(`Value \`${T8($)}\` 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 OW extends s{constructor({prefix:$,cause:J}){super(`Prefix "${$}" is invalid.`,{cause:J});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"})}}class sZ extends s{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 rZ extends s{constructor(){super("Prefix must be 4 for uncompressed public keys.");Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}}class tZ extends s{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 ${n0(Z4($))} bytes.`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}}var Zj=/^0x[a-fA-F0-9]{40}$/;function g2($,J={}){let{strict:Q=!0}=J;if(!Zj.test($))throw new wW({address:$,cause:new $M});if(Q){if($.toLowerCase()===$)return;if(vJ($)!==$)throw new wW({address:$,cause:new JM})}}function vJ($){if(yJ.has($))return yJ.get($);g2($,{strict:!1});let J=$.substring(2).toLowerCase(),Q=h2(iH(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 yJ.set($,X),X}function Mj($,J={}){let{checksum:Q=!1}=J;if(g2($),Q)return vJ($);return $}function eZ($,J={}){let Q=h2(`0x${DW($).slice(4)}`).substring(26);return Mj(`0x${Q}`,J)}function hJ($,J={}){let{strict:Q=!0}=J??{};try{return g2($,{strict:Q}),!0}catch{return!1}}class wW extends s{constructor({address:$,cause:J}){super(`Address "${$}" is invalid.`,{cause:J});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class $M extends s{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 JM extends s{constructor(){super("Address does not match its checksum counterpart.");Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}a1();function dJ($){let J=!0,Q="",Y=0,X="",G=!1;for(let W=0;W<$.length;W++){let K=$[W];if(["(",")",","].includes(K))J=!0;if(K==="(")Y++;if(K===")")Y--;if(!J)continue;if(Y===0){if(K===" "&&["event","function","error",""].includes(X))X="";else if(X+=K,K===")"){G=!0;break}continue}if(K===" "){if($[W-1]!==","&&Q!==","&&Q!==",(")Q="",J=!1;continue}X+=K,Q+=K}if(!G)throw new s("Unable to normalize signature.");return X}function mJ($,J){let Q=typeof $,Y=J.type;switch(Y){case"address":return hJ($,{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 mJ(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)=>mJ(X,{...J,type:Y.replace(/(\[[0-9]{0,}\])$/,"")}));return!1}}}function EW($,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 EW(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 hJ(Q[Y],{strict:!1});if(W.includes("address")&&W.includes("bytes"))return hJ(Q[Y],{strict:!1});return!1})())return W}return}function uJ($,J={}){let{prepare:Q=!0}=J,Y=(()=>{if(Array.isArray($))return g$($);if(typeof $==="string")return g$($);return $})();return{...Y,...Q?{hash:I4(Y)}:{}}}function H7($,J,Q){let{args:Y=[],prepare:X=!0}=Q??{},G=g3(J,{strict:!1}),W=$.filter((U)=>{if(G){if(U.type==="function"||U.type==="error")return RW(U)===o0(J,0,4);if(U.type==="event")return I4(U)===J;return!1}return"name"in U&&U.name===J});if(W.length===0)throw new m2({name:J});if(W.length===1)return{...W[0],...X?{hash:I4(W[0])}:{}};let K;for(let U of W){if(!("inputs"in U))continue;if(!Y||Y.length===0){if(!U.inputs||U.inputs.length===0)return{...U,...X?{hash:I4(U)}:{}};continue}if(!U.inputs)continue;if(U.inputs.length===0)continue;if(U.inputs.length!==Y.length)continue;if(Y.every((H,f)=>{let Z="inputs"in U&&U.inputs[f];if(!Z)return!1;return mJ(H,Z)})){if(K&&"inputs"in K&&K.inputs){let H=EW(U.inputs,K.inputs,Y);if(H)throw new QM({abiItem:U,type:H[0]},{abiItem:K,type:H[1]})}K=U}}let q=(()=>{if(K)return K;let[U,...N]=W;return{...U,overloads:N}})();if(!q)throw new m2({name:J});return{...q,...X?{hash:I4(q)}:{}}}function RW(...$){let J=(()=>{if(Array.isArray($[0])){let[Q,Y]=$;return H7(Q,Y)}return $[0]})();return o0(I4(J),0,4)}function Vj(...$){let J=(()=>{if(Array.isArray($[0])){let[Y,X]=$;return H7(Y,X)}return $[0]})(),Q=(()=>{if(typeof J==="string")return J;return E2(J)})();return dJ(Q)}function I4(...$){let J=(()=>{if(Array.isArray($[0])){let[Q,Y]=$;return H7(Q,Y)}return $[0]})();if(typeof J!=="string"&&"hash"in J&&J.hash)return J.hash;return h2(M4(Vj(J)))}class QM extends s{constructor($,J){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${$.type}\` in \`${dJ(E2($.abiItem))}\`, and`,`\`${J.type}\` in \`${dJ(E2(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 m2 extends s{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"})}}C3();P8();a1();w1();P8();a1();w1();var XM=/^(.*)\[([0-9]*)\]$/,GM=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,cJ=/^(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)?$/,n50=2n**(8n-1n)-1n,o50=2n**(16n-1n)-1n,i50=2n**(24n-1n)-1n,s50=2n**(32n-1n)-1n,r50=2n**(40n-1n)-1n,t50=2n**(48n-1n)-1n,a50=2n**(56n-1n)-1n,e50=2n**(64n-1n)-1n,$80=2n**(72n-1n)-1n,J80=2n**(80n-1n)-1n,Q80=2n**(88n-1n)-1n,Y80=2n**(96n-1n)-1n,X80=2n**(104n-1n)-1n,G80=2n**(112n-1n)-1n,W80=2n**(120n-1n)-1n,K80=2n**(128n-1n)-1n,q80=2n**(136n-1n)-1n,U80=2n**(144n-1n)-1n,N80=2n**(152n-1n)-1n,H80=2n**(160n-1n)-1n,f80=2n**(168n-1n)-1n,Z80=2n**(176n-1n)-1n,M80=2n**(184n-1n)-1n,z80=2n**(192n-1n)-1n,V80=2n**(200n-1n)-1n,O80=2n**(208n-1n)-1n,D80=2n**(216n-1n)-1n,w80=2n**(224n-1n)-1n,E80=2n**(232n-1n)-1n,R80=2n**(240n-1n)-1n,B80=2n**(248n-1n)-1n,_80=2n**(256n-1n)-1n,L80=-(2n**(8n-1n)),F80=-(2n**(16n-1n)),S80=-(2n**(24n-1n)),j80=-(2n**(32n-1n)),C80=-(2n**(40n-1n)),P80=-(2n**(48n-1n)),T80=-(2n**(56n-1n)),I80=-(2n**(64n-1n)),A80=-(2n**(72n-1n)),x80=-(2n**(80n-1n)),b80=-(2n**(88n-1n)),k80=-(2n**(96n-1n)),y80=-(2n**(104n-1n)),v80=-(2n**(112n-1n)),h80=-(2n**(120n-1n)),g80=-(2n**(128n-1n)),m80=-(2n**(136n-1n)),d80=-(2n**(144n-1n)),u80=-(2n**(152n-1n)),c80=-(2n**(160n-1n)),p80=-(2n**(168n-1n)),l80=-(2n**(176n-1n)),n80=-(2n**(184n-1n)),o80=-(2n**(192n-1n)),i80=-(2n**(200n-1n)),s80=-(2n**(208n-1n)),r80=-(2n**(216n-1n)),t80=-(2n**(224n-1n)),a80=-(2n**(232n-1n)),e80=-(2n**(240n-1n)),$20=-(2n**(248n-1n)),J20=-(2n**(256n-1n)),Q20=2n**8n-1n,Y20=2n**16n-1n,X20=2n**24n-1n,G20=2n**32n-1n,W20=2n**40n-1n,K20=2n**48n-1n,q20=2n**56n-1n,U20=2n**64n-1n,N20=2n**72n-1n,H20=2n**80n-1n,f20=2n**88n-1n,Z20=2n**96n-1n,M20=2n**104n-1n,z20=2n**112n-1n,V20=2n**120n-1n,O20=2n**128n-1n,D20=2n**136n-1n,w20=2n**144n-1n,E20=2n**152n-1n,R20=2n**160n-1n,B20=2n**168n-1n,_20=2n**176n-1n,L20=2n**184n-1n,F20=2n**192n-1n,S20=2n**200n-1n,j20=2n**208n-1n,C20=2n**216n-1n,P20=2n**224n-1n,T20=2n**232n-1n,I20=2n**240n-1n,A20=2n**248n-1n,BW=2n**256n-1n;function d2($,J,Q){let{checksumAddress:Y,staticPosition:X}=Q,G=FW(J.type);if(G){let[W,K]=G;return Dj($,{...J,type:K},{checksumAddress:Y,length:W,staticPosition:X})}if(J.type==="tuple")return Bj($,J,{checksumAddress:Y,staticPosition:X});if(J.type==="address")return Oj($,{checksum:Y});if(J.type==="bool")return wj($);if(J.type.startsWith("bytes"))return Ej($,J,{staticPosition:X});if(J.type.startsWith("uint")||J.type.startsWith("int"))return Rj($,J);if(J.type==="string")return _j($,{staticPosition:X});throw new Z7(J.type)}var KM=32,_W=32;function Oj($,J={}){let{checksum:Q=!1}=J,Y=$.readBytes(32);return[((G)=>Q?vJ(G):G)(Q1(sH(Y,-20))),32]}function Dj($,J,Q){let{checksumAddress:Y,length:X,staticPosition:G}=Q;if(!X){let q=M5($.readBytes(_W)),U=G+q,N=U+KM;$.setPosition(U);let H=M5($.readBytes(KM)),f=f7(J),Z=0,M=[];for(let D=0;D<H;++D){$.setPosition(N+(f?D*32:Z));let[R,O]=d2($,J,{checksumAddress:Y,staticPosition:N});Z+=O,M.push(R)}return $.setPosition(G+32),[M,32]}if(f7(J)){let q=M5($.readBytes(_W)),U=G+q,N=[];for(let H=0;H<X;++H){$.setPosition(U+H*32);let[f]=d2($,J,{checksumAddress:Y,staticPosition:U});N.push(f)}return $.setPosition(G+32),[N,32]}let W=0,K=[];for(let q=0;q<X;++q){let[U,N]=d2($,J,{checksumAddress:Y,staticPosition:G+W});W+=N,K.push(U)}return[K,W]}function wj($){return[tH($.readBytes(32),{size:32}),32]}function Ej($,J,{staticPosition:Q}){let[Y,X]=J.type.split("bytes");if(!X){let W=M5($.readBytes(32));$.setPosition(Q+W);let K=M5($.readBytes(32));if(K===0)return $.setPosition(Q+32),["0x",32];let q=$.readBytes(K);return $.setPosition(Q+32),[Q1(q),32]}return[Q1($.readBytes(Number.parseInt(X,10),32)),32]}function Rj($,J){let Q=J.type.startsWith("int"),Y=Number.parseInt(J.type.split("int")[1]||"256",10),X=$.readBytes(32);return[Y>48?rH(X,{signed:Q}):M5(X,{signed:Q}),32]}function Bj($,J,Q){let{checksumAddress:Y,staticPosition:X}=Q,G=J.components.length===0||J.components.some(({name:q})=>!q),W=G?[]:{},K=0;if(f7(J)){let q=M5($.readBytes(_W)),U=X+q;for(let N=0;N<J.components.length;++N){let H=J.components[N];$.setPosition(U+K);let[f,Z]=d2($,H,{checksumAddress:Y,staticPosition:U});K+=Z,W[G?N:H?.name]=f}return $.setPosition(X+32),[W,32]}for(let q=0;q<J.components.length;++q){let U=J.components[q],[N,H]=d2($,U,{checksumAddress:Y,staticPosition:X});W[G?q:U?.name]=N,K+=H}return[W,K]}function _j($,{staticPosition:J}){let Q=M5($.readBytes(32)),Y=J+Q;$.setPosition(Y);let X=M5($.readBytes(32));if(X===0)return $.setPosition(J+32),["",32];let G=$.readBytes(X,32),W=aH(VG(G));return $.setPosition(J+32),[W,32]}function qM({checksumAddress:$,parameters:J,values:Q}){let Y=[];for(let X=0;X<J.length;X++)Y.push(LW({checksumAddress:$,parameter:J[X],value:Q[X]}));return Y}function LW({checksumAddress:$=!1,parameter:J,value:Q}){let Y=J,X=FW(Y.type);if(X){let[G,W]=X;return Fj(Q,{checksumAddress:$,length:G,parameter:{...Y,type:W}})}if(Y.type==="tuple")return Tj(Q,{checksumAddress:$,parameter:Y});if(Y.type==="address")return Lj(Q,{checksum:$});if(Y.type==="bool")return jj(Q);if(Y.type.startsWith("uint")||Y.type.startsWith("int")){let G=Y.type.startsWith("int"),[,,W="256"]=cJ.exec(Y.type)??[];return Cj(Q,{signed:G,size:Number(W)})}if(Y.type.startsWith("bytes"))return Sj(Q,{type:Y.type});if(Y.type==="string")return Pj(Q);throw new Z7(Y.type)}function pJ($){let J=0;for(let G=0;G<$.length;G++){let{dynamic:W,encoded:K}=$[G];if(W)J+=32;else J+=n0(K)}let Q=[],Y=[],X=0;for(let G=0;G<$.length;G++){let{dynamic:W,encoded:K}=$[G];if(W)Q.push(F0(J+X,{size:32})),Y.push(K),X+=n0(K);else Q.push(K)}return r0(...Q,...Y)}function Lj($,J){let{checksum:Q=!1}=J;return g2($,{strict:Q}),{dynamic:!1,encoded:W8($.toLowerCase())}}function Fj($,J){let{checksumAddress:Q,length:Y,parameter:X}=J,G=Y===null;if(!Array.isArray($))throw new jW($);if(!G&&$.length!==Y)throw new SW({expectedLength:Y,givenLength:$.length,type:`${X.type}[${Y}]`});let W=!1,K=[];for(let q=0;q<$.length;q++){let U=LW({checksumAddress:Q,parameter:X,value:$[q]});if(U.dynamic)W=!0;K.push(U)}if(G||W){let q=pJ(K);if(G){let U=F0(K.length,{size:32});return{dynamic:!0,encoded:K.length>0?r0(U,q):U}}if(W)return{dynamic:!0,encoded:q}}return{dynamic:!1,encoded:r0(...K.map(({encoded:q})=>q))}}function Sj($,{type:J}){let[,Q]=J.split("bytes"),Y=n0($);if(!Q){let X=$;if(Y%32!==0)X=z5(X,Math.ceil(($.length-2)/2/32)*32);return{dynamic:!0,encoded:r0(W8(F0(Y,{size:32})),X)}}if(Y!==Number.parseInt(Q,10))throw new lJ({expectedSize:Number.parseInt(Q,10),value:$});return{dynamic:!1,encoded:z5($)}}function jj($){if(typeof $!=="boolean")throw new s(`Invalid boolean value: "${$}" (type: ${typeof $}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:W8(XJ($))}}function Cj($,{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 GJ({max:Y.toString(),min:X.toString(),signed:J,size:Q/8,value:$.toString()})}return{dynamic:!1,encoded:F0($,{size:32,signed:J})}}function Pj($){let J=M4($),Q=Math.ceil(n0(J)/32),Y=[];for(let X=0;X<Q;X++)Y.push(z5(o0(J,X*32,(X+1)*32)));return{dynamic:!0,encoded:r0(z5(F0(n0(J),{size:32})),...Y)}}function Tj($,J){let{checksumAddress:Q,parameter:Y}=J,X=!1,G=[];for(let W=0;W<Y.components.length;W++){let K=Y.components[W],q=Array.isArray($)?W:K.name,U=LW({checksumAddress:Q,parameter:K,value:$[q]});if(G.push(U),U.dynamic)X=!0}return{dynamic:X,encoded:X?pJ(G):r0(...G.map(({encoded:W})=>W))}}function FW($){let J=$.match(/^(.*)\[(\d+)?\]$/);return J?[J[2]?Number(J[2]):null,J[1]]:void 0}function f7($){let{type:J}=$;if(J==="string")return!0;if(J==="bytes")return!0;if(J.endsWith("[]"))return!0;if(J==="tuple")return $.components?.some(f7);let Q=FW($.type);if(Q&&f7({...$,type:Q[1]}))return!0;return!1}a1();var Aj={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 NM({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition($){if($<0||$>this.bytes.length-1)throw new UM({length:this.bytes.length,position:$})},decrementPosition($){if($<0)throw new CW({offset:$});let J=this.position-$;this.assertPosition(J),this.position=J},getReadCount($){return this.positionReadCount.get($||this.position)||0},incrementPosition($){if($<0)throw new CW({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 nJ($,{recursiveReadLimit:J=8192}={}){let Q=Object.create(Aj);return Q.bytes=$,Q.dataView=new DataView($.buffer,$.byteOffset,$.byteLength),Q.positionReadCount=new Map,Q.recursiveReadLimit=J,Q}class CW extends s{constructor({offset:$}){super(`Offset \`${$}\` cannot be negative.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class UM extends s{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 NM extends s{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 A4($,J,Q={}){let{as:Y="Array",checksumAddress:X=!1}=Q,G=typeof J==="string"?f4(J):J,W=nJ(G);if(z6(G)===0&&$.length>0)throw new ZM;if(z6(G)&&z6(G)<32)throw new fM({data:typeof J==="string"?J:Q1(J),parameters:$,size:z6(G)});let K=0,q=Y==="Array"?[]:{};for(let U=0;U<$.length;++U){let N=$[U];W.setPosition(K);let[H,f]=d2(W,N,{checksumAddress:X,staticPosition:0});if(K+=f,Y==="Array")q.push(H);else q[N.name??U]=H}return q}function d8($,J,Q){let{checksumAddress:Y=!1}=Q??{};if($.length!==J.length)throw new TW({expectedLength:$.length,givenLength:J.length});let X=qM({checksumAddress:Y,parameters:$,values:J}),G=pJ(X);if(G.length===0)return"0x";return G}function PW($,J){if($.length!==J.length)throw new TW({expectedLength:$.length,givenLength:J.length});let Q=[];for(let Y=0;Y<$.length;Y++){let X=$[Y],G=J[Y];Q.push(PW.encode(X,G))}return r0(...Q)}(function($){function J(Q,Y,X=!1){if(Q==="address"){let q=Y;return g2(q),W8(q.toLowerCase(),X?32:0)}if(Q==="string")return M4(Y);if(Q==="bytes")return Y;if(Q==="bool")return W8(XJ(Y),X?32:1);let G=Q.match(cJ);if(G){let[q,U,N="256"]=G,H=Number.parseInt(N,10)/8;return F0(Y,{size:X?32:H,signed:U==="int"})}let W=Q.match(GM);if(W){let[q,U]=W;if(Number.parseInt(U,10)!==(Y.length-2)/2)throw new lJ({expectedSize:Number.parseInt(U,10),value:Y});return z5(Y,X?32:0)}let K=Q.match(XM);if(K&&Array.isArray(Y)){let[q,U]=K,N=[];for(let H=0;H<Y.length;H++)N.push(J(U,Y[H],!0));if(N.length===0)return"0x";return r0(...N)}throw new Z7(Q)}$.encode=J})(PW||(PW={}));function z7($){if(Array.isArray($)&&typeof $[0]==="string")return m$($);if(typeof $==="string")return m$($);return $}class fM extends s{constructor({data:$,parameters:J,size:Q}){super(`Data size of ${Q} bytes is too small for given parameters.`,{metaMessages:[`Params: (${o5(J)})`,`Data: ${$} (${Q} bytes)`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class ZM extends s{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.');Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class SW extends s{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 lJ extends s{constructor({expectedSize:$,value:J}){super(`Size of bytes "${J}" (bytes${n0(J)}) does not match expected size (bytes${$}).`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class TW extends s{constructor({expectedLength:$,givenLength:J}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${$}`,`Given length (values): ${J}`].join(`
|
|
88
|
+
`));Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class jW extends s{constructor($){super(`Value \`${$}\` is not a valid array.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class Z7 extends s{constructor($){super(`Type \`${$}\` is not a valid ABI Type.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}}w1();function MM(...$){let[J,Q]=(()=>{if(Array.isArray($[0])){let[G,W]=$;return[xj(G),W]}return $})(),{bytecode:Y,args:X}=Q;return r0(Y,J.inputs?.length&&X?.length?d8(J.inputs,X):"0x")}function zM($){return uJ($)}function xj($){let J=$.find((Q)=>Q.type==="constructor");if(!J)throw new m2({name:"constructor"});return J}w1();function OM(...$){let[J,Q=[]]=(()=>{if(Array.isArray($[0])){let[U,N,H]=$;return[VM(U,N,{args:H}),H]}let[K,q]=$;return[K,q]})(),{overloads:Y}=J,X=Y?VM([J,...Y],J.name,{args:Q}):J,G=kj(X),W=Q.length>0?d8(X.inputs,Q):void 0;return W?r0(G,W):G}function u2($,J={}){return uJ($,J)}function VM($,J,Q){let Y=H7($,J,Q);if(Y.type!=="function")throw new m2({name:J,type:"function"});return Y}function kj($){return RW($)}var IW="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",x0="0x0000000000000000000000000000000000000000";f0();G6();var vj="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function DM($,J){let{blockNumber:Q,blockTag:Y,calls:X,stateOverrides:G,traceAssetChanges:W,traceTransfers:K,validation:q}=J,U=J.account?h0(J.account):void 0;if(W&&!U)throw new I("`account` is required when `traceAssetChanges` is true");let N=U?MM(zM("constructor(bytes, bytes)"),{bytecode:KJ,args:[vj,OM(u2("function getBalance(address)"),[U.address])]}):void 0,H=W?await Promise.all(J.calls.map(async(u)=>{if(!u.data&&!u.abi)return;let{accessList:o}=await zJ($,{account:U.address,...u,data:u.abi?r(u):u.data});return o.map(({address:Q0,storageKeys:t0})=>t0.length>0?Q0:null)})).then((u)=>u.flat().filter(Boolean)):[],f=await N7($,{blockNumber:Q,blockTag:Y,blocks:[...W?[{calls:[{data:N}],stateOverrides:G},{calls:H.map((u,o)=>({abi:[u2("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[U.address],to:u,from:x0,nonce:o})),stateOverrides:[{address:x0,nonce:0}]}]:[],{calls:[...X,{to:x0}].map((u)=>({...u,from:U?.address})),stateOverrides:G},...W?[{calls:[{data:N}]},{calls:H.map((u,o)=>({abi:[u2("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[U.address],to:u,from:x0,nonce:o})),stateOverrides:[{address:x0,nonce:0}]},{calls:H.map((u,o)=>({to:u,abi:[u2("function decimals() returns (uint256)")],functionName:"decimals",from:x0,nonce:o})),stateOverrides:[{address:x0,nonce:0}]},{calls:H.map((u,o)=>({to:u,abi:[u2("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:x0,nonce:o})),stateOverrides:[{address:x0,nonce:0}]},{calls:H.map((u,o)=>({to:u,abi:[u2("function symbol() returns (string)")],functionName:"symbol",from:x0,nonce:o})),stateOverrides:[{address:x0,nonce:0}]}]:[]],traceTransfers:K,validation:q}),Z=W?f[2]:f[0],[M,D,,R,O,E,V,w]=W?f:[],{calls:B,...j}=Z,T=B.slice(0,-1)??[],x=M?.calls??[],C=D?.calls??[],S=[...x,...C].map((u)=>u.status==="success"?E0(u.data):null),v=R?.calls??[],F=O?.calls??[],A=[...v,...F].map((u)=>u.status==="success"?E0(u.data):null),k=(E?.calls??[]).map((u)=>u.status==="success"?u.result:null),P=(w?.calls??[]).map((u)=>u.status==="success"?u.result:null),m=(V?.calls??[]).map((u)=>u.status==="success"?u.result:null),n=[];for(let[u,o]of A.entries()){let Q0=S[u];if(typeof o!=="bigint")continue;if(typeof Q0!=="bigint")continue;let t0=k[u-1],I0=P[u-1],o1=m[u-1],v1=(()=>{if(u===0)return{address:IW,decimals:18,symbol:"ETH"};return{address:H[u-1],decimals:o1||t0?Number(t0??1):void 0,symbol:I0??void 0}})();if(n.some((z1)=>z1.token.address===v1.address))continue;n.push({token:v1,value:{pre:Q0,post:o,diff:o-Q0}})}return{assetChanges:n,block:j,results:T}}r5();G6();A2();async function wM($,J){let{abi:Q,address:Y,args:X,functionName:G,dataSuffix:W=typeof $.dataSuffix==="string"?$.dataSuffix:$.dataSuffix?.value,...K}=J,q=K.account?h0(K.account):$.account,U=r({abi:Q,args:X,functionName:G});try{let{data:N}=await p($,O6,"call")({batch:!1,data:`${U}${W?W.replace("0x",""):""}`,to:Y,...K,account:q}),H=x1({abi:Q,args:X,functionName:G,data:N||"0x"}),f=Q.filter((Z)=>("name"in Z)&&Z.name===J.functionName);return{result:H,request:{abi:f,address:Y,args:X,dataSuffix:W,functionName:G,...K,account:q}}}catch(N){throw m6(N,{abi:Q,address:Y,args:X,docsPath:"/docs/contract/simulateContract",functionName:G,sender:q?.address})}}async function u8($,{filter:J}){return J.request({method:"eth_uninstallFilter",params:[J.id]})}var V7={};W3(V7,{wrap:()=>dj,validate:()=>uj,unwrap:()=>EM,universalSignatureValidatorBytecode:()=>hj,universalSignatureValidatorAbi:()=>gj,magicBytes:()=>AW,from:()=>mj,assert:()=>xW,InvalidWrappedSignatureError:()=>bW});a1();w1();var AW="0x6492649264926492649264926492649264926492649264926492649264926492",hj="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",gj=[{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 xW($){if(o0($,-32)!==AW)throw new bW($)}function mj($){if(typeof $==="string")return EM($);return $}function EM($){xW($);let[J,Q,Y]=A4(z7("address, bytes, bytes"),$);return{data:Q,signature:Y,to:J}}function dj($){let{data:J,signature:Q,to:Y}=$;return r0(d8(z7("address, bytes, bytes"),[Y,J,Q]),AW)}function uj($){try{return xW($),!0}catch{return!1}}class bW extends s{constructor($){super(`Value \`${$}\` is an invalid ERC-6492 wrapped signature.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}}var O7={};W3(O7,{wrap:()=>YC,validate:()=>XC,unwrap:()=>bM,suffixParameters:()=>mW,magicBytes:()=>gW,from:()=>QC,assert:()=>sJ,InvalidWrappedSignatureError:()=>dW});w1();P8();a1();w1();function cj($,J){let{as:Q}=J,Y=BM($),X=nJ(new Uint8Array(Y.length));if(Y.encode(X),Q==="Hex")return Q1(X.bytes);return X.bytes}function RM($,J={}){let{as:Q="Hex"}=J;return cj($,{as:Q})}function BM($){if(Array.isArray($))return pj($.map((J)=>BM(J)));return lj($)}function pj($){let J=$.reduce((X,G)=>X+G.length,0),Q=_M(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 lj($){let J=typeof $==="string"?f4($):$,Q=_M(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 _M($){if($<=255)return 1;if($<=65535)return 2;if($<=16777215)return 3;if($<=4294967295)return 4;throw new s("Length is too large.")}a1();w1();function kW($,J={}){let{recovered:Q}=J;if(typeof $.r>"u")throw new oJ({signature:$});if(typeof $.s>"u")throw new oJ({signature:$});if(Q&&typeof $.yParity>"u")throw new oJ({signature:$});if($.r<0n||$.r>BW)throw new jM({value:$.r});if($.s<0n||$.s>BW)throw new CM({value:$.s});if(typeof $.yParity==="number"&&$.yParity!==0&&$.yParity!==1)throw new iJ({value:$.yParity})}function oj($){return LM(Q1($))}function LM($){if($.length!==130&&$.length!==132)throw new SM({signature:$});let J=BigInt(o0($,0,32)),Q=BigInt(o0($,32,64)),Y=(()=>{let X=Number(`0x${$.slice(130)}`);if(Number.isNaN(X))return;try{return hW(X)}catch{throw new iJ({value:X})}})();if(typeof Y>"u")return{r:J,s:Q};return{r:J,s:Q,yParity:Y}}function yW($){if(typeof $.r>"u")return;if(typeof $.s>"u")return;return vW($)}function vW($){let J=(()=>{if(typeof $==="string")return LM($);if($ instanceof Uint8Array)return oj($);if(typeof $.r==="string")return sj($);if($.v)return ij($);return{r:$.r,s:$.s,...typeof $.yParity<"u"?{yParity:$.yParity}:{}}})();return kW(J),J}function ij($){return{r:$.r,s:$.s,yParity:hW($.v)}}function sj($){let J=(()=>{let Q=$.v?Number($.v):void 0,Y=$.yParity?Number($.yParity):void 0;if(typeof Q==="number"&&typeof Y!=="number")Y=hW(Q);if(typeof Y!=="number")throw new iJ({value:$.yParity});return Y})();return{r:BigInt($.r),s:BigInt($.s),yParity:J}}function FM($){let{r:J,s:Q,yParity:Y}=$;return[Y?"0x01":"0x",J===0n?"0x":EG(F0(J)),Q===0n?"0x":EG(F0(Q))]}function hW($){if($===0||$===27)return 0;if($===1||$===28)return 1;if($>=35)return $%2===0?1:0;throw new PM({value:$})}class SM extends s{constructor({signature:$}){super(`Value \`${$}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${n0(Z4($))} bytes.`]});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class oJ extends s{constructor({signature:$}){super(`Signature \`${T8($)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class jM extends s{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 CM extends s{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 iJ extends s{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 PM extends s{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 IM($,J={}){if(typeof $.chainId==="string")return rj($);return{...$,...J.signature}}function rj($){let{address:J,chainId:Q,nonce:Y}=$,X=yW($);return{address:J,chainId:Number(Q),nonce:BigInt(Y),...X}}function AM($){return tj($,{presign:!0})}function tj($,J={}){let{presign:Q}=J;return h2(r0("0x05",RM(aj(Q?{address:$.address,chainId:$.chainId,nonce:$.nonce}:$))))}function aj($){let{address:J,chainId:Q,nonce:Y}=$,X=yW($);return[Q?F0(Q):"0x",J,Y?F0(Y):"0x",...X?FM(X):[]]}a1();w1();LJ();w1();function xM($){return eZ($C($))}function $C($){let{payload:J,signature:Q}=$,{r:Y,s:X,yParity:G}=Q,K=new N8.Signature(BigInt(Y),BigInt(X)).addRecoveryBit(G).recoverPublicKey(Z4(J).substring(2));return nZ(K)}var gW="0x8010801080108010801080108010801080108010801080108010801080108010",mW=z7("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function sJ($){if(typeof $==="string"){if(o0($,-32)!==gW)throw new dW($)}else kW($.authorization)}function QC($){if(typeof $==="string")return bM($);return $}function bM($){sJ($);let J=YJ(o0($,-64,-32)),Q=o0($,-J-64,-64),Y=o0($,0,-J-64),[X,G,W]=A4(mW,Q);return{authorization:IM({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 YC($){let{data:J,signature:Q}=$;sJ($);let Y=xM({payload:AM($.authorization),signature:vW($.authorization)}),X=d8(mW,[{...$.authorization,delegation:$.authorization.address,chainId:BigInt($.authorization.chainId)},$.to??Y,J??"0x"]),G=F0(n0(X),{size:32});return r0(Q,X,G,gW)}function XC($){try{return sJ($),!0}catch{return!1}}class dW extends s{constructor($){super(`Value \`${$}\` is an invalid ERC-8010 wrapped signature.`);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}}X5();a5();_G();G6();D2();E4();D2();E4();async function kM({address:$,authorization:J,signature:Q}){return O5(w2($),await SJ({authorization:J,signature:Q}))}V1();G0();LJ();V1();O1();function yM({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 N8.Signature(E0($),E0(J)).toCompactHex()}${G===0?"1b":"1c"}`;if(Q==="hex")return W;return U1(W)}A2();async function p8($,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}=J;if(Y?.verifyHash)return await Y.verifyHash($,J);let K=(()=>{let q=J.signature;if(c0(q))return q;if(typeof q==="object"&&"r"in q&&"s"in q)return yM(q);return R0(q)})();try{if(O7.validate(K))return await GC($,{...J,multicallAddress:W,signature:K});return await WC($,{...J,verifierAddress:G,signature:K})}catch(q){try{if(O5(w2(Q),await FJ({hash:X,signature:K})))return!0}catch{}if(q instanceof c8)return!1;throw q}}async function GC($,J){let{address:Q,blockNumber:Y,blockTag:X,hash:G,multicallAddress:W}=J,{authorization:K,data:q,signature:U,to:N}=O7.unwrap(J.signature);if(await v2($,{address:Q,blockNumber:Y,blockTag:X})===D1(["0xef0100",K.address]))return await KC($,{address:Q,blockNumber:Y,blockTag:X,hash:G,signature:U});let f={address:K.address,chainId:Number(K.chainId),nonce:Number(K.nonce),r:h(K.r,{size:32}),s:h(K.s,{size:32}),yParity:K.yParity};if(!await kM({address:Q,authorization:f}))throw new c8;let M=await p($,b,"readContract")({...W?{address:W}:{code:z4},authorizationList:[f],abi:A6,blockNumber:Y,blockTag:"pending",functionName:"aggregate3",args:[[...q?[{allowFailure:!0,target:N??Q,callData:q}]:[],{allowFailure:!0,target:Q,callData:r({abi:dY,functionName:"isValidSignature",args:[G,U]})}]]});if(M[M.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new c8}async function WC($,J){let{address:Q,factory:Y,factoryData:X,hash:G,signature:W,verifierAddress:K,...q}=J,U=await(async()=>{if(!Y&&!X)return W;if(V7.validate(W))return W;return V7.wrap({data:X,signature:W,to:Y})})(),N=K?{to:K,data:r({abi:z3,functionName:"isValidSig",args:[Q,G,U]}),...q}:{data:m3({abi:z3,args:[Q,G,U],bytecode:Wf}),...q},{data:H}=await p($,O6,"call")(N).catch((f)=>{if(f instanceof k9)throw new c8;throw f});if(D$(H??"0x0"))return!0;throw new c8}async function KC($,J){let{address:Q,blockNumber:Y,blockTag:X,hash:G,signature:W}=J;if((await p($,b,"readContract")({address:Q,abi:dY,args:[G,W],blockNumber:Y,blockTag:X,functionName:"isValidSignature"}).catch((q)=>{if(q instanceof y9)throw new c8;throw q})).startsWith("0x1626ba7e"))return!0;throw new c8}class c8 extends Error{}H6();var vM=`\x19Ethereum Signed Message:
|
|
89
|
+
`;s1();G0();function hM($){let J=(()=>{if(typeof $==="string")return F8($);if(typeof $.raw==="string")return $.raw;return R0($.raw)})(),Q=F8(`${vM}${W0(J)}`);return j1([Q,J])}function rJ($,J){return Z0(hM($),J)}async function gM($,{address:J,message:Q,factory:Y,factoryData:X,signature:G,...W}){let K=rJ(Q);return p($,p8,"verifyHash")({address:J,factory:Y,factoryData:X,hash:K,signature:G,...W})}U5();G0();H6();$1();W5();f0();class uW extends I{constructor({domain:$}){super(`Invalid domain "${L0($)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class cW extends I{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 pW extends I{constructor({type:$}){super(`Struct type "${$}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}f6();s1();G0();ZX();function mM($){let{domain:J,message:Q,primaryType:Y,types:X}=$,G=(W,K)=>{for(let q of W){let{name:U,type:N}=q,H=K[U],f=N.match(P$);if(f&&(typeof H==="number"||typeof H==="bigint")){let[D,R,O]=f;h(H,{signed:R==="int",size:Number.parseInt(O,10)/8})}if(N==="address"&&typeof H==="string"&&!T0(H))throw new g0({address:H});let Z=N.match(FN);if(Z){let[D,R]=Z;if(R&&W0(H)!==Number.parseInt(R,10))throw new $X({expectedSize:Number.parseInt(R,10),givenSize:W0(H)})}let M=X[N];if(M)qC(N),G(M,H)}};if(X.EIP712Domain&&J){if(typeof J!=="object")throw new uW({domain:J});G(X.EIP712Domain,J)}if(Y!=="EIP712Domain")if(X[Y])G(X[Y],Q);else throw new cW({primaryType:Y,types:X})}function dM({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 qC($){if($==="address"||$==="bool"||$==="string"||$.startsWith("bytes")||$.startsWith("uint")||$.startsWith("int"))throw new pW({type:$})}function uM($){let{domain:J={},message:Q,primaryType:Y}=$,X={EIP712Domain:dM({domain:J}),...$.types};mM({domain:J,message:Q,primaryType:Y,types:X});let G=["0x1901"];if(J)G.push(UC({domain:J,types:X}));if(Y!=="EIP712Domain")G.push(cM({data:Q,primaryType:Y,types:X}));return Z0(j1(G))}function UC({domain:$,types:J}){return cM({data:$,primaryType:"EIP712Domain",types:J})}function cM({data:$,primaryType:J,types:Q}){let Y=pM({data:$,primaryType:J,types:Q});return Z0(Y)}function pM({data:$,primaryType:J,types:Q}){let Y=[{type:"bytes32"}],X=[NC({primaryType:J,types:Q})];for(let G of Q[J]){let[W,K]=nM({types:Q,name:G.name,type:G.type,value:$[G.name]});Y.push(W),X.push(K)}return y0(Y,X)}function NC({primaryType:$,types:J}){let Q=s0(HC({primaryType:$,types:J}));return Z0(Q)}function HC({primaryType:$,types:J}){let Q="",Y=lM({primaryType:$,types:J});Y.delete($);let X=[$,...Array.from(Y).sort()];for(let G of X)Q+=`${G}(${J[G].map(({name:W,type:K})=>`${K} ${W}`).join(",")})`;return Q}function lM({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])lM({primaryType:G.type,types:J},Q);return Q}function nM({types:$,name:J,type:Q,value:Y}){if($[Q]!==void 0)return[{type:"bytes32"},Z0(pM({data:Y,primaryType:Q,types:$}))];if(Q==="bytes")return[{type:"bytes32"},Z0(Y)];if(Q==="string")return[{type:"bytes32"},Z0(s0(Y))];if(Q.lastIndexOf("]")===Q.length-1){let X=Q.slice(0,Q.lastIndexOf("[")),G=Y.map((W)=>nM({name:J,type:X,types:$,value:W}));return[{type:"bytes32"},Z0(y0(G.map(([W])=>W),G.map(([,W])=>W)))]}return[{type:Q},Y]}async function oM($,J){let{address:Q,factory:Y,factoryData:X,signature:G,message:W,primaryType:K,types:q,domain:U,...N}=J,H=uM({message:W,primaryType:K,types:q,domain:U});return p($,p8,"verifyHash")({address:Q,factory:Y,factoryData:X,hash:H,signature:G,...N})}h6();var lW=new Map,iM=new Map,fC=0;function e1($,J,Q){let Y=++fC,X=()=>lW.get($)||[],G=()=>{let N=X();lW.set($,N.filter((H)=>H.id!==Y))},W=()=>{let N=X();if(!N.some((f)=>f.id===Y))return;let H=iM.get($);if(N.length===1&&H){let f=H();if(f instanceof Promise)f.catch(()=>{})}G()},K=X();if(lW.set($,[...K,{id:Y,fns:J}]),K&&K.length>0)return W;let q={};for(let N in J)q[N]=(...H)=>{let f=X();if(f.length===0)return;for(let Z of f)Z.fns[N]?.(...H)};let U=Q(q);if(typeof U==="function")iM.set($,U);return W}async function D7($){return new Promise((J)=>setTimeout(J,$))}function w7($,{delay:J=100,retryCount:Q=2,shouldRetry:Y=()=>!0}={}){return new Promise((X,G)=>{let W=async({count:K=0}={})=>{let q=async({error:U})=>{let N=typeof J==="function"?J({count:K,error:U}):J;if(N)await D7(N);W({count:K+1})};try{let U=await $();X(U)}catch(U){if(K<Q&&await Y({count:K,error:U}))return q({error:U});G(U)}};W()})}V1();function R5($,{emitOnBegin:J,initialWaitTime:Q,interval:Y}){let X=!0,G=()=>X=!1;return(async()=>{let K;if(J)K=await $({unpoll:G});let q=await Q?.(K)??Y;await D7(q);let U=async()=>{if(!X)return;await $({unpoll:G}),await D7(Y),U()};U()})(),G}function tJ($,{emitOnBegin:J=!1,emitMissed:Q=!1,onBlockNumber:Y,onError:X,poll:G,pollingInterval:W=$.pollingInterval}){let K=(()=>{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})(),q;return K?(()=>{let H=L0(["watchBlockNumber",$.uid,J,Q,W]);return e1(H,{onBlockNumber:Y,onError:X},(f)=>R5(async()=>{try{let Z=await p($,w5,"getBlockNumber")({cacheTime:0});if(q!==void 0){if(Z===q)return;if(Z-q>1&&Q)for(let M=q+1n;M<Z;M++)f.onBlockNumber(M,q),q=M}if(q===void 0||Z>q)f.onBlockNumber(Z,q),q=Z}catch(Z){f.onError?.(Z)}},{emitOnBegin:J,interval:W}))})():(()=>{let H=L0(["watchBlockNumber",$.uid,J,Q]);return e1(H,{onBlockNumber:Y,onError:X},(f)=>{let Z=!0,M=()=>Z=!1;return(async()=>{try{let D=(()=>{if($.transport.type==="fallback"){let O=$.transport.transports.find((E)=>E.config.type==="webSocket"||E.config.type==="ipc");if(!O)return $.transport;return O.value}return $.transport})(),{unsubscribe:R}=await D.subscribe({params:["newHeads"],onData(O){if(!Z)return;let E=E0(O.result?.number);f.onBlockNumber(E,q),q=E},onError(O){f.onError?.(O)}});if(M=R,!Z)M()}catch(D){X?.(D)}})(),()=>M()})})()}async function sM($,J){let{checkReplacement:Q=!0,confirmations:Y=1,hash:X,onReplaced:G,retryCount:W=6,retryDelay:K=({count:B})=>~~(1<<B)*200,timeout:q=180000}=J,U=L0(["waitForTransactionReceipt",$.uid,X]),N=(()=>{if(J.pollingInterval)return J.pollingInterval;if($.chain?.experimental_preconfirmationTime)return $.chain.experimental_preconfirmationTime;return $.pollingInterval})(),H,f,Z,M=!1,D,R,{promise:O,resolve:E,reject:V}=UJ(),w=q?setTimeout(()=>{R?.(),D?.(),V(new sX({hash:X}))},q):void 0;return D=e1(U,{onReplaced:G,resolve:E,reject:V},async(B)=>{if(Z=await p($,T4,"getTransactionReceipt")({hash:X}).catch(()=>{return}),Z&&Y<=1){clearTimeout(w),B.resolve(Z),D?.();return}R=p($,tJ,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:N,async onBlockNumber(j){let T=(C)=>{clearTimeout(w),R?.(),C(),D?.()},x=j;if(M)return;try{if(Z){if(Y>1&&(!Z.blockNumber||x-Z.blockNumber+1n<Y))return;T(()=>B.resolve(Z));return}if(Q&&!H)M=!0,await w7(async()=>{if(H=await p($,P4,"getTransaction")({hash:X}),H.blockNumber)x=H.blockNumber},{delay:K,retryCount:W}),M=!1;if(Z=await p($,T4,"getTransactionReceipt")({hash:X}),Y>1&&(!Z.blockNumber||x-Z.blockNumber+1n<Y))return;T(()=>B.resolve(Z))}catch(C){if(C instanceof I3||C instanceof A3){if(!H){M=!1;return}try{f=H,M=!0;let S=await w7(()=>p($,E1,"getBlock")({blockNumber:x,includeTransactions:!0}),{delay:K,retryCount:W,shouldRetry:({error:A})=>A instanceof G7});M=!1;let v=S.transactions.find(({from:A,nonce:k})=>A===f.from&&k===f.nonce);if(!v)return;if(Z=await p($,T4,"getTransactionReceipt")({hash:v.hash}),Y>1&&(!Z.blockNumber||x-Z.blockNumber+1n<Y))return;let F="replaced";if(v.to===f.to&&v.value===f.value&&v.input===f.input)F="repriced";else if(v.from===v.to&&v.value===0n)F="cancelled";T(()=>{B.onReplaced?.({reason:F,replacedTransaction:f,transaction:v,transactionReceipt:Z}),B.resolve(Z)})}catch(S){T(()=>B.reject(S))}}else T(()=>B.reject(C))}}})}),O}function rM($,{blockTag:J=$.experimental_blockTag??"latest",emitMissed:Q=!1,emitOnBegin:Y=!1,onBlock:X,onError:G,includeTransactions:W,poll:K,pollingInterval:q=$.pollingInterval}){let U=(()=>{if(typeof K<"u")return K;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})(),N=W??!1,H;return U?(()=>{let M=L0(["watchBlocks",$.uid,J,Q,Y,N,q]);return e1(M,{onBlock:X,onError:G},(D)=>R5(async()=>{try{let R=await p($,E1,"getBlock")({blockTag:J,includeTransactions:N});if(R.number!==null&&H?.number!=null){if(R.number===H.number)return;if(R.number-H.number>1&&Q)for(let O=H?.number+1n;O<R.number;O++){let E=await p($,E1,"getBlock")({blockNumber:O,includeTransactions:N});D.onBlock(E,H),H=E}}if(H?.number==null||J==="pending"&&R?.number==null||R.number!==null&&R.number>H.number)D.onBlock(R,H),H=R}catch(R){D.onError?.(R)}},{emitOnBegin:Y,interval:q}))})():(()=>{let M=!0,D=!0,R=()=>M=!1;return(async()=>{try{if(Y)p($,E1,"getBlock")({blockTag:J,includeTransactions:N}).then((V)=>{if(!M)return;if(!D)return;X(V,void 0),D=!1}).catch(G);let O=(()=>{if($.transport.type==="fallback"){let V=$.transport.transports.find((w)=>w.config.type==="webSocket"||w.config.type==="ipc");if(!V)return $.transport;return V.value}return $.transport})(),{unsubscribe:E}=await O.subscribe({params:["newHeads"],async onData(V){if(!M)return;let w=await p($,E1,"getBlock")({blockNumber:V.result?.number,includeTransactions:N}).catch(()=>{});if(!M)return;X(w,H),D=!1,H=w},onError(V){G?.(V)}});if(R=E,!M)R()}catch(O){G?.(O)}})(),()=>R()})()}$1();k3();function tM($,J){let{abi:Q,address:Y,args:X,batch:G=!0,eventName:W,fromBlock:K,onError:q,onLogs:U,poll:N,pollingInterval:H=$.pollingInterval,strict:f}=J;return(()=>{if(typeof N<"u")return N;if(typeof K==="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 R=f??!1,O=L0(["watchContractEvent",Y,X,G,$.uid,W,H,R,K]);return e1(O,{onLogs:U,onError:q},(E)=>{let V;if(K!==void 0)V=K-1n;let w,B=!1,j=R5(async()=>{if(!B){try{w=await p($,VJ,"createContractEventFilter")({abi:Q,address:Y,args:X,eventName:W,strict:R,fromBlock:K})}catch{}B=!0;return}try{let T;if(w)T=await p($,m8,"getFilterChanges")({filter:w});else{let x=await p($,w5,"getBlockNumber")({});if(V&&V<x)T=await p($,kJ,"getContractEvents")({abi:Q,address:Y,args:X,eventName:W,fromBlock:V+1n,toBlock:x,strict:R});else T=[];V=x}if(T.length===0)return;if(G)E.onLogs(T);else for(let x of T)E.onLogs([x])}catch(T){if(w&&T instanceof M6)B=!1;E.onError?.(T)}},{emitOnBegin:!0,interval:H});return async()=>{if(w)await p($,u8,"uninstallFilter")({filter:w});j()}})})():(()=>{let R=f??!1,O=L0(["watchContractEvent",Y,X,G,$.uid,W,H,R]),E=!0,V=()=>E=!1;return e1(O,{onLogs:U,onError:q},(w)=>{return(async()=>{try{let B=(()=>{if($.transport.type==="fallback"){let x=$.transport.transports.find((C)=>C.config.type==="webSocket"||C.config.type==="ipc");if(!x)return $.transport;return x.value}return $.transport})(),j=W?D5({abi:Q,eventName:W,args:X}):[],{unsubscribe:T}=await B.subscribe({params:["logs",{address:Y,topics:j}],onData(x){if(!E)return;let C=x.result;try{let{eventName:S,args:v}=E5({abi:Q,data:C.data,topics:C.topics,strict:f}),F=R1(C,{args:v,eventName:S});w.onLogs([F])}catch(S){let v,F;if(S instanceof _8||S instanceof H2){if(f)return;v=S.abiItem.name,F=S.abiItem.inputs?.some((k)=>!(("name"in k)&&k.name))}let A=R1(C,{args:F?[]:{},eventName:v});w.onLogs([A])}},onError(x){w.onError?.(x)}});if(V=T,!E)V()}catch(B){q?.(B)}})(),()=>V()})})()}$1();k3();function aM($,{address:J,args:Q,batch:Y=!0,event:X,events:G,fromBlock:W,onError:K,onLogs:q,poll:U,pollingInterval:N=$.pollingInterval,strict:H}){let f=(()=>{if(typeof U<"u")return U;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})(),Z=H??!1;return f?(()=>{let R=L0(["watchEvent",J,Q,Y,$.uid,X,N,W]);return e1(R,{onLogs:q,onError:K},(O)=>{let E;if(W!==void 0)E=W-1n;let V,w=!1,B=R5(async()=>{if(!w){try{V=await p($,OJ,"createEventFilter")({address:J,args:Q,event:X,events:G,strict:Z,fromBlock:W})}catch{}w=!0;return}try{let j;if(V)j=await p($,m8,"getFilterChanges")({filter:V});else{let T=await p($,w5,"getBlockNumber")({});if(E&&E!==T)j=await p($,C4,"getLogs")({address:J,args:Q,event:X,events:G,fromBlock:E+1n,toBlock:T});else j=[];E=T}if(j.length===0)return;if(Y)O.onLogs(j);else for(let T of j)O.onLogs([T])}catch(j){if(V&&j instanceof M6)w=!1;O.onError?.(j)}},{emitOnBegin:!0,interval:N});return async()=>{if(V)await p($,u8,"uninstallFilter")({filter:V});B()}})})():(()=>{let R=!0,O=()=>R=!1;return(async()=>{try{let E=(()=>{if($.transport.type==="fallback"){let j=$.transport.transports.find((T)=>T.config.type==="webSocket"||T.config.type==="ipc");if(!j)return $.transport;return j.value}return $.transport})(),V=G??(X?[X]:void 0),w=[];if(V){if(w=[V.flatMap((T)=>D5({abi:[T],eventName:T.name,args:Q}))],X)w=w[0]}let{unsubscribe:B}=await E.subscribe({params:["logs",{address:J,topics:w}],onData(j){if(!R)return;let T=j.result;try{let{eventName:x,args:C}=E5({abi:V??[],data:T.data,topics:T.topics,strict:Z}),S=R1(T,{args:C,eventName:x});q([S])}catch(x){let C,S;if(x instanceof _8||x instanceof H2){if(H)return;C=x.abiItem.name,S=x.abiItem.inputs?.some((F)=>!(("name"in F)&&F.name))}let v=R1(T,{args:S?[]:{},eventName:C});q([v])}},onError(j){K?.(j)}});if(O=B,!R)O()}catch(E){K?.(E)}})(),()=>O()})()}function eM($,{batch:J=!0,onError:Q,onTransactions:Y,poll:X,pollingInterval:G=$.pollingInterval}){return(typeof X<"u"?X:$.transport.type!=="webSocket"&&$.transport.type!=="ipc")?(()=>{let U=L0(["watchPendingTransactions",$.uid,J,G]);return e1(U,{onTransactions:Y,onError:Q},(N)=>{let H,f=R5(async()=>{try{if(!H)try{H=await p($,DJ,"createPendingTransactionFilter")({});return}catch(M){throw f(),M}let Z=await p($,m8,"getFilterChanges")({filter:H});if(Z.length===0)return;if(J)N.onTransactions(Z);else for(let M of Z)N.onTransactions([M])}catch(Z){N.onError?.(Z)}},{emitOnBegin:!0,interval:G});return async()=>{if(H)await p($,u8,"uninstallFilter")({filter:H});f()}})})():(()=>{let U=!0,N=()=>U=!1;return(async()=>{try{let{unsubscribe:H}=await $.transport.subscribe({params:["newPendingTransactions"],onData(f){if(!U)return;let Z=f.result;Y([Z])},onError(f){Q?.(f)}});if(N=H,!U)N()}catch(H){Q?.(H)}})(),()=>N()})()}function $z($){let{scheme:J,statement:Q,...Y}=$.match(ZC)?.groups??{},{chainId:X,expirationTime:G,issuedAt:W,notBefore:K,requestId:q,...U}=$.match(MC)?.groups??{},N=$.split("Resources:")[1]?.split(`
|
|
90
|
+
- `).slice(1);return{...Y,...U,...X?{chainId:Number(X)}:{},...G?{expirationTime:new Date(G)}:{},...W?{issuedAt:new Date(W)}:{},...K?{notBefore:new Date(K)}:{},...q?{requestId:q}:{},...N?{resources:N}:{},...J?{scheme:J}:{},...Q?{statement:Q}:{}}}var ZC=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,MC=/(?: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>.+))?/;f6();E4();function Jz($){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(!T0(Y.address,{strict:!1}))return!1;if(J&&!O5(Y.address,J))return!1}catch{return!1}return!0}async function Qz($,J){let{address:Q,domain:Y,message:X,nonce:G,scheme:W,signature:K,time:q=new Date,...U}=J,N=$z(X);if(!N.address)return!1;if(!Jz({address:Q,domain:Y,message:N,nonce:G,scheme:W,time:q}))return!1;let f=rJ(X);return p8($,{address:N.address,hash:f,signature:K,...U})}async function Yz($,{serializedTransaction:J}){return $.request({method:"eth_sendRawTransaction",params:[J]},{retryCount:0})}h6();async function Xz($,{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||U7)(X);if(W.status==="reverted"&&Q)throw new iX({receipt:W});return W}function Gz($){return{call:(J)=>O6($,J),createAccessList:(J)=>zJ($,J),createBlockFilter:()=>_f($),createContractEventFilter:(J)=>VJ($,J),createEventFilter:(J)=>OJ($,J),createPendingTransactionFilter:()=>DJ($),estimateContractGas:(J)=>CZ($,J),estimateGas:(J)=>S4($,J),getBalance:(J)=>q7($,J),getBlobBaseFee:()=>PZ($),getBlock:(J)=>E1($,J),getBlockNumber:(J)=>w5($,J),getBlockTransactionCount:(J)=>AZ($,J),getBytecode:(J)=>v2($,J),getChainId:()=>M0($),getCode:(J)=>v2($,J),getContractEvents:(J)=>kJ($,J),getDelegation:(J)=>bZ($,J),getEip712Domain:(J)=>kZ($,J),getEnsAddress:(J)=>Mf($,J),getEnsAvatar:(J)=>Ef($,J),getEnsName:(J)=>Rf($,J),getEnsResolver:(J)=>Bf($,J),getEnsText:(J)=>MJ($,J),getFeeHistory:(J)=>vZ($,J),estimateFeesPerGas:(J)=>DZ($,J),getFilterChanges:(J)=>m8($,J),getFilterLogs:(J)=>hZ($,J),getGasPrice:()=>_4($),getLogs:(J)=>C4($,J),getProof:(J)=>mZ($,J),estimateMaxPriorityFeePerGas:(J)=>OZ($,J),fillTransaction:(J)=>xJ($,J),getStorageAt:(J)=>dZ($,J),getTransaction:(J)=>P4($,J),getTransactionConfirmations:(J)=>uZ($,J),getTransactionCount:(J)=>CJ($,J),getTransactionReceipt:(J)=>T4($,J),multicall:(J)=>pZ($,J),prepareTransactionRequest:(J)=>bJ($,J),readContract:(J)=>b($,J),sendRawTransaction:(J)=>Yz($,J),sendRawTransactionSync:(J)=>Xz($,J),simulate:(J)=>N7($,J),simulateBlocks:(J)=>N7($,J),simulateCalls:(J)=>DM($,J),simulateContract:(J)=>wM($,J),verifyHash:(J)=>p8($,J),verifyMessage:(J)=>gM($,J),verifySiweMessage:(J)=>Qz($,J),verifyTypedData:(J)=>oM($,J),uninstallFilter:(J)=>u8($,J),waitForTransactionReceipt:(J)=>sM($,J),watchBlocks:(J)=>rM($,J),watchBlockNumber:(J)=>tJ($,J),watchContractEvent:(J)=>tM($,J),watchEvent:(J)=>aM($,J),watchPendingTransactions:(J)=>eM($,J)}}function nW($){let{key:J="public",name:Q="Public Client"}=$;return nU({...$,key:J,name:Q,type:"publicClient"}).extend(Gz)}F2();f0();class oW extends I{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}SG();F2();function Wz($,{errorInstance:J=Error("timed out"),timeout:Q,signal:Y}){return new Promise((X,G)=>{(async()=>{let W;try{let K=new AbortController;if(Q>0)W=setTimeout(()=>{if(Y)K.abort();else G(J)},Q);X(await $({signal:K?.signal||null}))}catch(K){if(K?.name==="AbortError")G(J);G(K)}finally{clearTimeout(W)}})()})}function zC(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var iW=zC();function Kz($,J={}){let{url:Q,headers:Y}=VC($);return{async request(X){let{body:G,fetchFn:W=J.fetchFn??fetch,onRequest:K=J.onRequest,onResponse:q=J.onResponse,timeout:U=J.timeout??1e4}=X,N={...J.fetchOptions??{},...X.fetchOptions??{}},{headers:H,method:f,signal:Z}=N;try{let M=await Wz(async({signal:R})=>{let O={...N,body:Array.isArray(G)?L0(G.map((B)=>({jsonrpc:"2.0",id:B.id??iW.take(),...B}))):L0({jsonrpc:"2.0",id:G.id??iW.take(),...G}),headers:{...Y,"Content-Type":"application/json",...H},method:f||"POST",signal:Z||(U>0?R:null)},E=new Request(Q,O),V=await K?.(E,O)??{...O,url:Q};return await W(V.url??Q,V)},{errorInstance:new a$({body:G,url:Q}),timeout:U,signal:!0});if(q)await q(M);let D;if(M.headers.get("Content-Type")?.startsWith("application/json"))D=await M.json();else{D=await M.text();try{D=JSON.parse(D||"{}")}catch(R){if(M.ok)throw R;D={error:D}}}if(!M.ok)throw new g6({body:G,details:L0(D.error)||M.statusText,headers:M.headers,status:M.status,url:Q});return D}catch(M){if(M instanceof g6)throw M;if(M instanceof a$)throw M;throw new g6({body:G,cause:M,url:Q})}}}}function VC($){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:$}}}f0();F2();k3();G0();_3();var aJ=new l5(8192);function qz($,{enabled:J=!0,id:Q}){if(!J||!Q)return $();if(aJ.get(Q))return aJ.get(Q);let Y=$().finally(()=>aJ.delete(Q));return aJ.set(Q,Y),Y}function Uz($,J={}){return async(Q,Y={})=>{let{dedupe:X=!1,methods:G,retryDelay:W=150,retryCount:K=3,uid:q}={...J,...Y},{method:U}=Q;if(G?.exclude?.includes(U))throw new C8(Error("method not supported"),{method:U});if(G?.include&&!G.include.includes(U))throw new C8(Error("method not supported"),{method:U});let N=X?F8(`${q}.${L0(Q)}`):void 0;return qz(()=>w7(async()=>{try{return await $(Q)}catch(H){let f=H;switch(f.code){case g9.code:throw new g9(f);case m9.code:throw new m9(f);case d9.code:throw new d9(f,{method:Q.method});case u9.code:throw new u9(f);case $8.code:throw new $8(f);case M6.code:throw new M6(f);case c9.code:throw new c9(f);case p9.code:throw new p9(f);case l9.code:throw new l9(f);case C8.code:throw new C8(f,{method:Q.method});case S2.code:throw new S2(f);case n9.code:throw new n9(f);case j2.code:throw new j2(f);case o9.code:throw new o9(f);case i9.code:throw new i9(f);case s9.code:throw new s9(f);case r9.code:throw new r9(f);case t9.code:throw new t9(f);case a9.code:throw new a9(f);case e9.code:throw new e9(f);case $4.code:throw new $4(f);case J4.code:throw new J4(f);case Q4.code:throw new Q4(f);case Y4.code:throw new Y4(f);case X4.code:throw new X4(f);case 5000:throw new j2(f);case G4.code:throw new G4(f);default:if(H instanceof I)throw H;throw new $G(f)}}},{delay:({count:H,error:f})=>{if(f&&f instanceof g6){let Z=f?.headers?.get("Retry-After");if(Z?.match(/\d/))return Number.parseInt(Z,10)*1000}return~~(1<<H)*W},retryCount:K,shouldRetry:({error:H})=>OC(H)}),{enabled:X,id:N})}}function OC($){if("code"in $&&typeof $.code==="number"){if($.code===-1)return!0;if($.code===S2.code)return!0;if($.code===$8.code)return!0;return!1}if($ instanceof g6&&$.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 Nz({key:$,methods:J,name:Q,request:Y,retryCount:X=3,retryDelay:G=150,timeout:W,type:K},q){let U=W$();return{config:{key:$,methods:J,name:Q,request:Y,retryCount:X,retryDelay:G,timeout:W,type:K},request:Uz(Y,{methods:J,retryCount:X,retryDelay:G,uid:U}),value:q}}function sW($,J={}){let{batch:Q,fetchFn:Y,fetchOptions:X,key:G="http",methods:W,name:K="HTTP JSON-RPC",onFetchRequest:q,onFetchResponse:U,retryDelay:N,raw:H}=J;return({chain:f,retryCount:Z,timeout:M})=>{let{batchSize:D=1000,wait:R=0}=typeof Q==="object"?Q:{},O=J.retryCount??Z,E=M??J.timeout??1e4,V=$||f?.rpcUrls.default.http[0];if(!V)throw new oW;let w=Kz(V,{fetchFn:Y,fetchOptions:X,onRequest:q,onResponse:U,timeout:E});return Nz({key:G,methods:W,name:K,async request({method:B,params:j}){let T={method:B,params:j},{schedule:x}=NJ({id:V,wait:R,shouldSplitBatch(F){return F.length>D},fn:(F)=>w.request({body:F}),sort:(F,A)=>F.id-A.id}),C=async(F)=>Q?x(F):[await w.request({body:F})],[{error:S,result:v}]=await C(T);if(H)return{error:S,result:v};if(S)throw new L2({body:T,error:S,url:V});return v},retryCount:O,retryDelay:N,timeout:E,type:"http"},{fetchOptions:X,url:V})}}X5();fJ();f0();a5();S9();U5();G6();s5();s1();n5();V1();H6();T3();i$();function w6($,J="wei"){return D6($,o$[J])}var $0=z.string().regex(/^0x[a-fA-F0-9]{40}$/,"Invalid Ethereum address"),X0=z.enum(["base","ethereum"]),Hz=z.enum(["8453","1"]),l6=z.object({address:$0,symbol:z.string(),decimals:z.number().int().min(0).max(24),chain:X0});var DC=z.object({kind:z.literal("vault_position"),chain:X0,userAddress:$0,vaultAddress:$0}),wC=z.object({kind:z.literal("market_position"),chain:X0,userAddress:$0,marketId:z.string()}),EC=z.discriminatedUnion("kind",[DC,wC]),RC=z.object({kind:z.literal("deposit_assets"),assets:z.string()}),BC=z.object({kind:z.literal("withdraw_assets"),assets:z.string()}),_C=z.object({kind:z.literal("redeem_shares"),shares:z.string()}),LC=z.object({kind:z.literal("supply_assets"),assets:z.string(),shares:z.string()}),FC=z.object({kind:z.literal("borrow_assets"),assets:z.string(),shares:z.string()}),SC=z.object({kind:z.literal("repay_assets"),assets:z.string(),shares:z.string()}),jC=z.object({kind:z.literal("repay_shares"),assets:z.string(),shares:z.string()}),CC=z.object({kind:z.literal("supply_collateral"),assets:z.string()}),PC=z.object({kind:z.literal("withdraw_collateral"),assets:z.string()}),TC=z.discriminatedUnion("kind",[RC,BC,_C,LC,FC,SC,jC,CC,PC]),IC=z.object({key:z.string(),target:$0,calldata:z.string(),abiName:z.string(),functionName:z.string(),returnType:z.string()}),fz=z.object({key:z.string(),raw:z.string().optional(),decoded:z.string().optional(),type:z.string(),error:z.string().optional()}),AC=z.object({address:$0,name:z.string(),abiName:z.enum(["blue","metaMorpho","erc20"])}),xC=z.object({contracts:z.array(AC),assets:z.array(l6)}),bC=z.object({kind:z.literal("vault_analysis")}),kC=z.object({kind:z.literal("market_analysis")}),yC=z.discriminatedUnion("kind",[bC,kC]),eJ=z.object({version:z.literal(1),protocol:z.literal("morpho"),operation:z.enum(["deposit","withdraw","supply","borrow","repay","supply_collateral","withdraw_collateral"]),entrypointTxIndex:z.number().int().min(0),subject:EC,intent:TC,assets:z.array(l6),observations:z.array(IC),logDecoding:xC,analysis:yC});var H1={base:"8453",ethereum:"1"},$Q=["base","ethereum"],B5=z.string().regex(/^0x[a-fA-F0-9]{64}$/,"Invalid market ID (must be 66-char hex)");function $6($,J){return{address:$.address.toLowerCase(),symbol:$.symbol,decimals:$.decimals,chain:J}}var rW=l6.extend({value:z.string()});function JQ($,J,Q){return{address:J.address.toLowerCase(),symbol:J.symbol,decimals:J.decimals,chain:Q,value:l0(BigInt($),J.decimals)}}var Zz=z.object({asset:l6,supplyAprPct:z.string().describe('Supply reward APR as percentage (e.g., "1.20" = 1.20%)'),borrowAprPct:z.string().optional().describe("Borrow reward APR as percentage (markets only)")}),E7=z.object({address:$0,name:z.string(),chain:X0,asset:l6,curator:z.string().optional(),allocator:z.string().optional(),apyPct:z.string().optional().describe('Net APY as percentage (e.g., "5.34" = 5.34%)'),tvl:z.string().optional(),tvlUsd:z.string().optional(),feePct:z.string().optional().describe('Total fee as percentage (e.g., "10" = 10%)'),rewards:z.array(Zz).optional(),version:z.enum(["v1","v2"]).describe("Vault contract version — determines which ABI write tools use"),type:z.enum(["MorphoVault","FeeWrapper"]).optional().describe("V2 vault type: MorphoVault is a standard vault, FeeWrapper adds a fee layer on top of another vault. Undefined for v1.")}),tW=z.object({id:z.string(),chain:X0,loanAsset:l6,collateralAsset:l6,lltv:z.string().describe('Denominated decimal (e.g., "0.86" = 86%)'),borrowApyPct:z.string().optional().describe('Borrow APY as percentage (e.g., "3.12" = 3.12%)'),supplyApyPct:z.string().optional().describe('Supply APY as percentage (e.g., "2.10" = 2.10%)'),rewards:z.array(Zz).optional()}),QQ=z.object({userAddress:$0,chain:X0,vault:E7.optional(),market:tW.optional(),suppliedAmount:rW,borrowedAmount:rW.optional(),collateralAmount:rW.optional(),shares:z.string().optional()}),aW=z.object({to:$0,data:z.string(),value:z.string(),chainId:Hz,description:z.string()}),eW=z.object({level:z.enum(["info","warning","error"]),message:z.string(),code:z.string().optional()}),vC=z.object({type:z.literal("approval"),token:$0,spender:$0,amount:z.string()}),hC=z.object({type:z.literal("permit"),token:$0,spender:$0,amount:z.string(),deadline:z.string().optional()}),gC=z.object({type:z.literal("permit2"),token:$0,spender:$0,amount:z.string(),deadline:z.string().optional()}),mC=z.object({type:z.literal("unsupported"),token:$0,reason:z.string(),notes:z.string().optional()}),dC=z.discriminatedUnion("type",[vC,hC,gC,mC]);var uC=z.array(aW),cC=z.object({sharesReceived:z.string().optional().describe("Vault shares minted (deposit) or burned (withdraw)"),assetsReceived:z.string().optional().describe("Assets received (withdraw only)"),positionAssets:z.string().describe("Total position value in assets after operation"),positionShares:z.string().describe("Total share balance after operation")}),pC=z.object({supplyAssets:z.string().describe("User supply in assets after operation"),borrowAssets:z.string().describe("User borrow in assets after operation"),collateral:z.string().describe("User collateral after operation"),healthFactor:z.string().optional().describe("Health factor after operation (undefined if no borrow)"),isHealthy:z.boolean().optional().describe("Whether position is above liquidation threshold"),maxBorrowableAssets:z.string().optional().describe("Max additional borrowable in loan token assets"),utilizationBefore:z.string().describe('Market utilization before operation (e.g. "0.75")'),utilizationAfter:z.string().describe("Market utilization after operation"),borrowApyBefore:z.string().optional().describe('Borrow APY before (e.g. "0.0534")'),borrowApyAfter:z.string().optional().describe("Borrow APY after")}),lC=z.object({vault:cC.optional(),market:pC.optional()}),nC=z.object({operation:z.enum(["deposit","withdraw","supply","borrow","repay","supply_collateral","withdraw_collateral"]),chain:X0,summary:z.string(),simulationPlan:eJ,requirements:z.array(dC),transactions:uC,warnings:z.array(eW),preview:lC.optional()}),oC=z.object({address:z.string(),contract:z.string(),eventName:z.string(),description:z.string(),args:z.record(z.string(),z.unknown()),formatted:z.record(z.string(),z.string())}),JU0=z.object({address:$0,topics:z.array(z.string()),data:z.string()}),iC=z.object({transactionIndex:z.number().int().min(0),success:z.boolean(),gasUsed:z.string(),returnData:z.string().optional(),revertReason:z.string().optional(),logs:z.array(oC).optional()}),sC=z.object({marketId:z.string(),totalSupplyAssets:z.string(),totalBorrowAssets:z.string(),totalSupplyShares:z.string(),totalBorrowShares:z.string(),utilization:z.number()}),rC=z.object({vaultAddress:$0,sharesBefore:z.string(),sharesAfter:z.string(),assetsBefore:z.string(),assetsAfter:z.string(),shareDelta:z.string(),assetDelta:z.string(),projectedApy:z.string().optional(),marketStates:z.array(sC).optional()}),tC=z.object({marketId:z.string(),supplyBefore:z.string(),supplyAfter:z.string(),borrowBefore:z.string(),borrowAfter:z.string(),supplyDelta:z.string(),borrowDelta:z.string(),utilizationBefore:z.string().optional(),utilizationAfter:z.string().optional(),borrowRateBefore:z.string().optional(),borrowRateAfter:z.string().optional(),borrowAPYBefore:z.string().optional(),borrowAPYAfter:z.string().optional(),healthFactor:z.string().optional(),liquidationRisk:z.string().optional()}),aC=z.object({protocol:z.literal("morpho"),operation:z.enum(["deposit","withdraw","supply","borrow","repay","supply_collateral","withdraw_collateral"]),vault:rC.optional(),market:tC.optional(),warnings:z.array(eW)}),Mz=z.object({chain:X0,executionResults:z.array(iC).min(1),allSucceeded:z.boolean(),totalGasUsed:z.string(),analysis:aC.optional(),observations:z.array(fz).optional(),warnings:z.array(eW)}),c2=z.object({operation:nC,simulation:Mz.optional()});var zz={ethereum:"0xdAC17F958D2ee523a2206206994597C13D831ec7",base:"0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2"},Vz={ethereum:"0x6B175474E89094C44Da98b954EedeAC495271d0F",base:"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb"};function $K($,J){return $.toLowerCase()===zz[J]?.toLowerCase()}function JK($,J){return $.toLowerCase()===Vz[J]?.toLowerCase()}function x4($){let{token:J,spender:Q,amount:Y,currentAllowance:X,chain:G,tokenMeta:W,walletType:K}=$,q=BigInt(X),U=BigInt(Y);if($K(J,G)){if(q>0n&&q<U)return[{type:"approval",token:J,spender:Q,amount:"0"},{type:"approval",token:J,spender:Q,amount:Y}];if(q>=U)return[];return[{type:"approval",token:J,spender:Q,amount:Y}]}if(q>=U)return[];if(K==="contract")return[{type:"approval",token:J,spender:Q,amount:Y}];if(JK(J,G))return[{type:"approval",token:J,spender:Q,amount:Y}];if(W.isPermitSupported)return[{type:"permit",token:J,spender:Q,amount:Y}];if(W.isPermit2Supported)return[{type:"permit2",token:J,spender:Q,amount:Y}];return[{type:"approval",token:J,spender:Q,amount:Y}]}var l8=($,J)=>{if(typeof J==="bigint")return $;return Number($)},Oz=["ms","s","min","h","d","w","mo","y"];class V0{static ms;static s;static min;static h;static d;static w;static mo;static y}Object.defineProperties(V0,Object.fromEntries(Oz.map(($,J)=>[$,{writable:!1,value:{fromPeriod(Q){let{unit:Y,duration:X}=V0.toPeriod(Q);return V0[$].from[Y](X)},from:Object.fromEntries(Oz.map((Q,Y)=>{if(Y<J)return[Q,(X)=>{let G=V0[Q].from[$](1n);return l8(BigInt(X)/G,X)}];if(Y>J)return[Q,(X)=>{switch(Q){case"ms":return X;case"s":return l8(BigInt(X)*1000n,X);case"min":return l8(V0[$].from.s(BigInt(X))*60n,X);case"h":return l8(V0[$].from.min(BigInt(X))*60n,X);case"d":return l8(V0[$].from.h(BigInt(X))*24n,X);case"w":return l8(V0[$].from.d(BigInt(X))*7n,X);case"mo":return l8(V0[$].from.d(BigInt(X))*31n,X);case"y":return l8(V0[$].from.d(BigInt(X))*365n,X)}}];return[Q,(X)=>X]}))}}])));(function($){function J(X){if(typeof X==="object")return X;return{unit:X,duration:1}}$.toPeriod=J;async function Q(X,G){return new Promise((W)=>setTimeout(()=>W(G),X))}$.wait=Q;function Y(){return BigInt(Math.ceil(Date.now()/1000))}$.timestamp=Y})(V0||(V0={}));var C0="0x0000000000000000000000000000000000000000";var QK=($)=>$!=null,YK=($,J="asc")=>(Q,Y)=>{let X=$(Q),G=$(Y);if(X==null&&G==null)return 0;if(X==null)return 1;if(G==null)return-1;if(J==="asc")return X>G?1:-1;return X>G?-1:1},Dz=($,J)=>{if($===null)return null;if($===void 0)return;if(J.length===0)return $;let[Q,...Y]=J;return Dz($[Q],Y)};var wz=($,J)=>Dz($,J.split("."));var Ez=($)=>Object.keys($??{}),XK=($)=>Object.values($??{}),n8=($)=>Object.entries($??{}),o8=($)=>Object.fromEntries($);function R7($){if($===null||$===void 0)return $;let J=Object.getOwnPropertyNames($);for(let Q of J){let Y=$[Q];if(Y&&typeof Y==="object")R7(Y)}return Object.freeze($)}var eC=($,J)=>{return $.replaceAll(",","#TEMP#").replaceAll(".",J.decimalSymbol).replaceAll("#TEMP#",J.groupSymbol)},$P=($)=>{let J,Q={useGrouping:!0,maximumFractionDigits:1,minimumFractionDigits:1};try{J=new Intl.NumberFormat($,Q)}catch{J=new Intl.NumberFormat("en-US",Q)}let Y=J.formatToParts(12345.6),X=Y.find((W)=>W.type==="decimal").value,G=Y.find((W)=>W.type==="group").value;return{decimalSymbol:X,groupSymbol:G,locale:$}},JP=()=>{if(typeof window<"u")try{let $=navigator?.language||document?.documentElement?.lang||"en-US";return new Intl.NumberFormat($),$}catch{return"en-US"}return"en-US"};var Rz=($,J)=>{let Q=J||JP(),Y=$P(Q),X=eC($,Y);return{...Y,value:X}};var B1;(function($){$.number="number",$.commas="commas",$.short="short",$.hex="hex",$.percent="percent"})(B1||(B1={}));String.prototype.insert=function($,J,Q){if($<0)$=this.length+$;let Y="";if($<0){if(Q)Y=Q.repeat(-$).slice($);$=0}return this.slice(0,$)+J+Y+this.slice($)};var QP=[{minDecimals:24,symbol:"Y"},{minDecimals:21,symbol:"Z"},{minDecimals:18,symbol:"E"},{minDecimals:15,symbol:"P"},{minDecimals:12,symbol:"T"},{minDecimals:9,symbol:"B"},{minDecimals:6,symbol:"M"},{minDecimals:4,power:3,symbol:"k"}],YP=($,J,Q)=>{let Y=$.toString(),X=QP.find((G)=>Y.length>G.minDecimals+J);if(X)return B7(Y.insert(-((X.power??X.minDecimals)+J),".","0"),Q)+X.symbol;if(Q.smallValuesWithCommas)return _z($,J,Q);return B7(J?Y.insert(-J,".","0"):Y,Q)},_z=($,J,Q)=>{let Y=J?$.toString().insert(-J,".","0"):$.toString(),[X,G]=Y.split(".");return B7(X.split("").reduce((W,K,q,U)=>`${W}${!q||(U.length-q)%3?"":","}${K}`,"")+(G?`.${G}`:""),Q)},Bz=($,J,Q)=>{if(J===0)return B7($.toString(),Q);return B7($.toString().insert(-J,".","0"),Q)},XP=($,J)=>{if(!J)return $;switch(J){case"$":return`$${$}`;case"":case"%":return`${$}${J}`;default:return`${$} ${J}`}},B7=($,J)=>{let[Q,Y=""]=$.split("."),X=$.match(/[1-9]/)?.index===void 0;if(J.digits!==void 0)Y=Y+"0".repeat(J.digits),Y=Y.slice(0,J.digits);if(J.removeTrailingZero)Y=Y.replace(/\.?0+$/,"");$=(Q||"0")+(Y?`.${Y}`:"");let{value:G,decimalSymbol:W}=Rz($,J.locale);if($=G,$.match(/[1-9]/)?.index===void 0&&J.digits&&!X&&J.readable)return`< 0${W}${"0".repeat(J.digits-1)}1`;return $};function GK($,J,Q={format:B1.hex}){if(Q.format===B1.hex)return(Q.prefix?"0x":"")+$.toString(16);if(Q.max!=null){let W=BigInt(Q.max.toFixed(J).replace(".",""));if($>W)return`> ${GK(W,J,Q)}`}if(Q.min!=null){let W=BigInt(Q.min.toFixed(J).replace(".",""));if($<W&&$!==0n)return`< ${GK(W,J,Q)}`}let Y,X=$<0n,G=$>0n?$:-$;switch(Q.format){case B1.commas:Y=_z(G,J,Q);break;case B1.number:Y=Bz(G,J,Q);break;case B1.short:Y=YP(G,J,Q);break;case B1.percent:Y=Bz(G*100n,J,Q);break}return(X&&!/^0\.0+$/.test(Y)?"-":Q.sign?"+":"")+XP(Y,Q.unit)}class WK{default($){if($==null)return this;let J={...this._options,default:$};return this._clone(J)}createOf(){return this.of.bind({_options:{...this._options}})}of($,J){if($==null||typeof $==="bigint"&&J==null)return this._options.default??($==null?$:J);if(typeof $==="number"){let Q=$.toString(),[Y,X]=Q.split(/[eE]/),[G,W=""]=Y.split("."),K=Number(X??0);if(J=Math.min(100,Math.max(0,-K))+W.length,K>0){let q=W+"0".repeat(Math.max(0,K-W.length)),U=`${G}${q.slice(0,K)}.${q.slice(K)}`;J=U.split(".")[1]?.length??0,$=BigInt(U.replace(".",""))}else $=BigInt($.toFixed(J).replace(".",""))}return GK($,J,this._options)}}class YQ extends WK{_options={format:B1.hex,prefix:!1};constructor($={}){super();this._options={...this._options,...$}}prefix(){let $={...this._options,prefix:!0};return this._clone($)}_clone($){return new YQ($)}}class _7 extends WK{digits($){if($==null)return this;let J={...this._options,digits:$};return this._clone(J)}trailingZero($=!0){let J={...this._options,removeTrailingZero:!$};return this._clone(J)}readable(){let $={...this._options,readable:!0};return this._clone($)}min($){if($==null)return this;let J={...this._options,min:$};return this._clone(J)}max($){if($==null)return this;let J={...this._options,max:$};return this._clone(J)}sign(){let $={...this._options,sign:!0};return this._clone($)}unit($){if($==null)return this;let J={...this._options,unit:$};return this._clone(J)}locale($){if($==null)return this;let J={...this._options,locale:$};return this._clone(J)}}class XQ extends _7{_options={format:B1.number};constructor($={}){super();this._options={...this._options,...$}}_clone($){return new XQ($)}}class GQ extends _7{_options={format:B1.commas};constructor($={}){super();this._options={...this._options,...$}}_clone($){return new GQ($)}}class WQ extends _7{_options={format:B1.short};constructor($={}){super();this._options={...this._options,...$}}smallValuesWithCommas(){let $={...this._options,smallValuesWithCommas:!0};return this._clone($)}_clone($){return new WQ($)}}class KQ extends _7{_options={format:B1.percent};constructor($={}){super();this._options={...this._options,...$}}_clone($){return new KQ($)}}function GP($={},J={}){let Q={get hex(){return new YQ({...$.all,...$.hex})},get number(){return new XQ({...$.all,...$.number})},get commas(){return new GQ({...$.all,...$.commas})},get short(){return new WQ({...$.all,...$.short})},get percent(){return new KQ({...$.all,...$.percent})}};return Object.entries(J).forEach(([Y,X])=>{Object.defineProperty(Q,Y,{get(){switch(X.format){case B1.hex:return new YQ({...$.all,...X});case B1.number:return new XQ({...$.all,...X});case B1.commas:return new GQ({...$.all,...X});case B1.percent:return new KQ({...$.all,...X});case B1.short:return new WQ({...$.all,...X})}}})}),Q}var EU0=GP();var b4=($)=>`https://${$}.morpho.org`,PU0=b4("cdn"),TU0=b4("docs"),WP=b4("api"),IU0=b4("rewards"),AU0=b4("optimizers"),xU0=b4("api"),bU0=new URL("/graphql",WP).toString();var UI=G3(jz(),1),NI=G3(QV(),1);var _;(function($){$[$.EthMainnet=1]="EthMainnet",$[$.BaseMainnet=8453]="BaseMainnet",$[$.PolygonMainnet=137]="PolygonMainnet",$[$.ArbitrumMainnet=42161]="ArbitrumMainnet",$[$.OptimismMainnet=10]="OptimismMainnet",$[$.WorldChainMainnet=480]="WorldChainMainnet",$[$.FraxtalMainnet=252]="FraxtalMainnet",$[$.ScrollMainnet=534352]="ScrollMainnet",$[$.InkMainnet=57073]="InkMainnet",$[$.Unichain=130]="Unichain",$[$.SonicMainnet=146]="SonicMainnet",$[$.HemiMainnet=43111]="HemiMainnet",$[$.ModeMainnet=34443]="ModeMainnet",$[$.CornMainnet=21000000]="CornMainnet",$[$.PlumeMainnet=98866]="PlumeMainnet",$[$.CampMainnet=123420001114]="CampMainnet",$[$.KatanaMainnet=747474]="KatanaMainnet",$[$.EtherlinkMainnet=42793]="EtherlinkMainnet",$[$.TacMainnet=239]="TacMainnet",$[$.LiskMainnet=1135]="LiskMainnet",$[$.HyperliquidMainnet=999]="HyperliquidMainnet",$[$.SeiMainnet=1329]="SeiMainnet",$[$.ZeroGMainnet=16661]="ZeroGMainnet",$[$.LineaMainnet=59144]="LineaMainnet",$[$.MonadMainnet=143]="MonadMainnet",$[$.StableMainnet=988]="StableMainnet",$[$.CronosMainnet=25]="CronosMainnet",$[$.CeloMainnet=42220]="CeloMainnet",$[$.AbstractMainnet=2741]="AbstractMainnet",$[$.BitlayerMainnet=200901]="BitlayerMainnet",$[$.BscMainnet=56]="BscMainnet",$[$.SoneiumMainnet=1868]="SoneiumMainnet"})(_||(_={}));var OQ;(function($){$.toHexChainId=(J)=>{return`0x${J.toString(16)}`},$.getExplorerUrl=(J)=>{return $.CHAIN_METADATA[J].explorerUrl},$.getExplorerAddressUrl=(J,Q)=>{return`${$.getExplorerUrl(J)}/address/${Q}`},$.getExplorerTransactionUrl=(J,Q)=>{return`${$.getExplorerUrl(J)}/tx/${Q}`},$.CHAIN_METADATA={[_.EthMainnet]:{name:"Ethereum",id:_.EthMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://etherscan.io",identifier:"mainnet"},[_.BaseMainnet]:{name:"Base",id:_.BaseMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://basescan.org",identifier:"base"},[_.PolygonMainnet]:{name:"Polygon",id:_.PolygonMainnet,nativeCurrency:{name:"Polygon",symbol:"POL",decimals:18},explorerUrl:"https://polygonscan.com",identifier:"polygon"},[_.ArbitrumMainnet]:{name:"Arbitrum One",id:_.ArbitrumMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://arbiscan.io",identifier:"arbitrum"},[_.OptimismMainnet]:{name:"OP Mainnet",id:_.OptimismMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://optimistic.etherscan.io",identifier:"optimism"},[_.WorldChainMainnet]:{name:"World Chain",id:_.WorldChainMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://worldscan.org",identifier:"worldchain"},[_.FraxtalMainnet]:{name:"Fraxtal",id:_.FraxtalMainnet,nativeCurrency:{name:"Frax Ether",symbol:"frxETH",decimals:18},explorerUrl:"https://fraxscan.com",identifier:"fraxtal"},[_.ScrollMainnet]:{name:"Scroll",id:_.ScrollMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://scrollscan.com",identifier:"scroll"},[_.InkMainnet]:{name:"Ink",id:_.InkMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://explorer.inkonchain.com",identifier:"ink"},[_.Unichain]:{name:"Unichain",id:_.Unichain,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://uniscan.xyz",identifier:"unichain"},[_.SonicMainnet]:{name:"Sonic",id:_.SonicMainnet,nativeCurrency:{name:"Sonic",symbol:"S",decimals:18},explorerUrl:"https://sonicscan.org",identifier:"sonic"},[_.HemiMainnet]:{name:"Hemi",id:_.HemiMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://explorer.hemi.xyz",identifier:"hemi"},[_.ModeMainnet]:{name:"Mode",id:_.ModeMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://modescan.io",identifier:"mode"},[_.CornMainnet]:{name:"Corn",id:_.CornMainnet,nativeCurrency:{name:"Bitcoin",symbol:"BTCN",decimals:18},explorerUrl:"https://cornscan.io",identifier:"corn"},[_.PlumeMainnet]:{name:"Plume",id:_.PlumeMainnet,nativeCurrency:{name:"Plume",symbol:"PLUME",decimals:18},explorerUrl:"https://explorer.plume.org",identifier:"plume"},[_.CampMainnet]:{name:"Camp",id:_.CampMainnet,nativeCurrency:{name:"Camp",symbol:"CAMP",decimals:18},explorerUrl:"https://basecamp.cloud.blockscout.com",identifier:"camp"},[_.KatanaMainnet]:{name:"Katana",id:_.KatanaMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://katanascan.com",identifier:"katana"},[_.EtherlinkMainnet]:{name:"Etherlink",id:_.EtherlinkMainnet,nativeCurrency:{name:"Tezos",symbol:"XTZ",decimals:18},explorerUrl:"https://explorer.etherlink.com",identifier:"etherlink"},[_.TacMainnet]:{name:"TAC",id:_.TacMainnet,nativeCurrency:{name:"TAC",symbol:"TAC",decimals:18},explorerUrl:"https://explorer.tac.build/",identifier:"tac"},[_.LiskMainnet]:{name:"Lisk",id:_.LiskMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://blockscout.lisk.com",identifier:"lisk"},[_.HyperliquidMainnet]:{name:"Hyperliquid",id:_.HyperliquidMainnet,nativeCurrency:{name:"Hype",symbol:"HYPE",decimals:18},explorerUrl:"https://hyperevmscan.io",identifier:"hyperliquid"},[_.SeiMainnet]:{name:"Sei",id:_.SeiMainnet,nativeCurrency:{name:"Sei",symbol:"SEI",decimals:18},explorerUrl:"https://seitrace.com",identifier:"sei"},[_.ZeroGMainnet]:{name:"0G",id:_.ZeroGMainnet,nativeCurrency:{name:"0G",symbol:"0G",decimals:18},explorerUrl:"https://chainscan.0g.ai",identifier:"0G"},[_.LineaMainnet]:{name:"Linea",id:_.LineaMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://lineascan.build",identifier:"linea"},[_.MonadMainnet]:{name:"Monad",id:_.MonadMainnet,nativeCurrency:{name:"Monad",symbol:"MON",decimals:18},explorerUrl:"https://monadscan.com",identifier:"monad"},[_.StableMainnet]:{name:"Stable",id:_.StableMainnet,nativeCurrency:{name:"USDT0",symbol:"USDT0",decimals:18},explorerUrl:"https://stablescan.xyz",identifier:"stable"},[_.CronosMainnet]:{name:"Cronos",id:_.CronosMainnet,nativeCurrency:{name:"Cronos",symbol:"CRO",decimals:18},explorerUrl:"https://explorer.cronos.org",identifier:"cronos"},[_.CeloMainnet]:{name:"Celo",id:_.CeloMainnet,nativeCurrency:{name:"Celo",symbol:"CELO",decimals:18},explorerUrl:"https://celoscan.io/",identifier:"celo"},[_.AbstractMainnet]:{name:"Abstract",id:_.AbstractMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://abscan.org/",identifier:"abstract"},[_.BitlayerMainnet]:{name:"Bitlayer",id:_.BitlayerMainnet,nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:18},explorerUrl:"https://www.btrscan.com",identifier:"bitlayer"},[_.BscMainnet]:{name:"Bnb Smart Chain",id:_.BscMainnet,nativeCurrency:{name:"Bnb",symbol:"BNB",decimals:18},explorerUrl:"https://bscscan.com",identifier:"bsc"},[_.SoneiumMainnet]:{name:"Soneium",id:_.SoneiumMainnet,nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},explorerUrl:"https://soneium.blockscout.com/",identifier:"soneium"}}})(OQ||(OQ={}));class OK extends Error{data;constructor($){super(`cannot decode valid MarketParams from "${$}"`);this.data=$}}class B0 extends Error{}class DQ extends B0{address;constructor($){super(`unknown token ${$}`);this.address=$}}class wQ extends B0{marketId;constructor($){super(`unknown config for market ${$}`);this.marketId=$}}class DK extends Error{chainId;constructor($){super(`unsupported chain ${$}`);this.chainId=$}}class P7 extends Error{address;constructor($){super(`vault v2 adapter "${$}" is not supported`);this.address=$}}var N0;(function($){class J extends Error{name;value;constructor(U,N){super(`${U} is already set to ${N}`);this.name=U,this.value=N}}$.AlreadySet=J;class Q extends Error{marketId;timestamp;lastUpdate;constructor(U,N,H){super(`invalid interest accrual on market ${U}: accrual timestamp ${N} can't be prior to last update ${H}`);this.marketId=U,this.timestamp=N,this.lastUpdate=H}}$.InvalidInterestAccrual=Q;class Y extends Error{assets;shares;constructor(U,N){super(`inconsistent input assets "${U}" and shares "${N}"`);this.assets=U,this.shares=N}}$.InconsistentInput=Y;class X extends Error{marketId;constructor(U){super(`insufficient liquidity on market ${U}`);this.marketId=U}}$.InsufficientLiquidity=X;class G extends Error{marketId;constructor(U){super(`unknown oracle price of market "${U}"`);this.marketId=U}}$.UnknownOraclePrice=G;class W extends Error{user;marketId;constructor(U,N){super(`insufficient position for user ${U} on market ${N}`);this.user=U,this.marketId=N}}$.InsufficientPosition=W;class K extends Error{user;marketId;constructor(U,N){super(`insufficient collateral for user ${U} on market ${N}`);this.user=U,this.marketId=N}}$.InsufficientCollateral=K;class q extends Error{deadline;constructor(U){super(`expired signature deadline "${U}"`);this.deadline=U}}$.ExpiredSignature=q})(N0||(N0={}));var C7;(function($){class J extends Error{vault;timestamp;lastUpdate;constructor(Y,X,G){super(`invalid interest accrual on vault ${Y}: accrual timestamp ${X} can't be prior to last update ${G}`);this.vault=Y,this.timestamp=X,this.lastUpdate=G}}$.InvalidInterestAccrual=J;class Q extends Error{address;constructor(Y){super(`unsupported liquidity adapter "${Y}"`);this.address=Y}}$.UnsupportedLiquidityAdapter=Q})(C7||(C7={}));class n6 extends Error{constructor(){super("unknown factory")}}class o6 extends Error{factory;address;constructor($,J){super(`address "${J}" is not from the ${$} factory`);this.factory=$,this.address=J}}function b0($,...J){let Q=(Y)=>{if(J.length===0||J.some((X)=>Y instanceof X))return;throw Y};try{let Y=$();if(Y instanceof Promise)return Y.catch(Q);return Y}catch(Y){return Q(Y)}}var q0="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",a={[_.EthMainnet]:{morpho:"0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb",permit2:"0x000000000022D473030F116dDEE9F6B43aC78BA3",bundler3:{bundler3:"0x6566194141eefa99Af43Bb5Aa71460Ca2Dc90245",generalAdapter1:"0x4A6c312ec70E8747a587EE860a0353cd42Be0aE0",paraswapAdapter:"0x03b5259Bd204BfD4A616E5B79b0B786d90c6C38f",erc20WrapperAdapter:"0xf83D17dFE160597b19e4FdD8ea61A23e9a87F962",compoundV2MigrationAdapter:"0x9B89c07f480Df1945279031b5fC6fF241b8f1101",compoundV3MigrationAdapter:"0xdBa5bdE29eA030Bfa6A608592dFcA1D02CB26773",aaveV2MigrationAdapter:"0x40288815C399709dFC0875A384B637fFe387961B",aaveV3CoreMigrationAdapter:"0xb09e40EbE31b738fbf20289270a397118707D475",aaveV3PrimeMigrationAdapter:"0x2CC8d502a65824B4cF9A58DB03490bA024BDB806",aaveV3EtherFiMigrationAdapter:"0x4011dc6581fA05F9B0c7A12AdCd676e2b1a59ca3",aaveV3OptimizerMigrationAdapter:"0x9e2ea2d5785598a163D569D795f286F5C55ad972"},adaptiveCurveIrm:"0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC",publicAllocator:"0xfd32fA2ca22c76dD6E550706Ad913FC6CE91c75D",metaMorphoFactory:"0x1897A8997241C1cD4bD0698647e4EB7213535c24",vaultV2Factory:"0xA1D94F746dEfa1928926b84fB2596c06926C0405",morphoMarketV1AdapterFactory:"0xb049465969ac6355127cDf9E88deE63d25204d5D",morphoMarketV1AdapterV2Factory:"0x32BB1c0D48D8b1B3363e86eeB9A0300BAd61ccc1",morphoVaultV1AdapterFactory:"0xD1B8E2dee25c2b89DCD2f98448a7ce87d6F63394",registryList:"0x3696c5eAe4a7Ffd04Ea163564571E9CD8Ed9364e",chainlinkOracleFactory:"0x3A7bB36Ee3f3eE32A60e9f2b33c1e5f2E83ad766",preLiquidationFactory:"0x6FF33615e792E35ed1026ea7cACCf42D9BF83476",wNative:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",morphoToken:"0x9994E35Db50125E0DF82e4c2dde62496CE330999",dai:"0x6B175474E89094C44Da98b954EedeAC495271d0F",sDai:"0x83F20F44975D03b1b09e64809B757c47f942BEeA",mkr:"0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2",stEth:"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",wstEth:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",osEth:"0xf1C9acDc66974dFB6dEcB12aA385b9cD01190E38",bIB01:"0xCA30c93B02514f86d5C86a6e375E3A330B435Fb5",wbIB01:"0xcA2A7068e551d5C4482eb34880b194E4b945712F",bC3M:"0x2F123cF3F37CE3328CC9B5b8415f9EC5109b45e7",wbC3M:"0x95D7337d43340E2721960Dc402D9b9117f0d81a2",usdc:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",eurc:"0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c",usdt:"0xdAC17F958D2ee523a2206206994597C13D831ec7",crvUsd:"0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E","stkcvxcrvUSDTWBTCWETH-morpho":"0xb0Ce26C88e4e7DCa51968b6047f44646f5064278",crvUSDTWBTCWETH:"0xf5f5B97624542D72A9E06f04804Bf81baA15e2B4","stkcvxcrvUSDCWBTCWETH-morpho":"0x0ea1a65A2c255f24Ee8D81eA6AaC54Decd9d269e",crvUSDCWBTCWETH:"0x7F86Bf177Dd4F3494b841a37e810A34dD56c829B","stkcvxcrvCRVUSDTBTCWSTETH-morpho":"0x3ce8Ec9f3d89aD0A2DdbCC3FDB8991BD241Fc82E",crvCRVUSDTBTCWSTETH:"0x2889302a794dA87fBF1D6Db415C1492194663D13","stkcvxTryLSD-morpho":"0x6BA072F0d22806F2C52e9792AF47f2D59103BEBE",tryLSD:"0x2570f1bD5D2735314FC102eb12Fc1aFe9e6E7193","stkcvxcrvUSDETHCRV-morpho":"0xAc904BAfBb5FB04Deb2b6198FdCEedE75a78Ce5a",crvUSDETHCRV:"0x4eBdF703948ddCEA3B11f675B4D1Fba9d2414A14","stkcvx2BTC-f-morpho":"0x385E12cf4040543Bc8C18e05C1298Be5B04f3f5e","2BTC-f":"0xB7ECB2AA52AA64a717180E030241bC75Cd946726"},[_.BaseMainnet]:{morpho:"0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb",permit2:"0x000000000022D473030F116dDEE9F6B43aC78BA3",bundler3:{bundler3:"0x6BFd8137e702540E7A42B74178A4a49Ba43920C4",generalAdapter1:"0xb98c948CFA24072e58935BC004a8A7b376AE746A",paraswapAdapter:"0x6abE8ABd0275E5564ed1336F0243A52C32562F71",erc20WrapperAdapter:"0xdeEf55F0A7366cC3Baf5E04313269389Fe17E9AE",compoundV3MigrationAdapter:"0x85D4812Ef92c040d4270eD8547b6835e41FbbB70",aaveV3CoreMigrationAdapter:"0xb27Aa2a964eAd5ed661D86974b37e4fB995b36f5"},adaptiveCurveIrm:"0x46415998764C29aB2a25CbeA6254146D50D22687",publicAllocator:"0xA090dD1a701408Df1d4d0B85b716c87565f90467",metaMorphoFactory:"0xFf62A7c278C62eD665133147129245053Bbf5918",vaultV2Factory:"0x4501125508079A99ebBebCE205DeC9593C2b5857",morphoMarketV1AdapterFactory:"0x133baC94306B99f6dAD85c381a5be851d8DD717c",morphoMarketV1AdapterV2Factory:"0x9a1B378C43BA535cDB89934230F0D3890c51C0EB",morphoVaultV1AdapterFactory:"0xF42D9c36b34c9c2CF3Bc30eD2a52a90eEB604642",registryList:"0x5C2531Cbd2cf112Cf687da3Cd536708aDd7DB10a",chainlinkOracleFactory:"0x2DC205F24BCb6B311E5cdf0745B0741648Aebd3d",preLiquidationFactory:"0x8cd16b62E170Ee0bA83D80e1F80E6085367e2aef",wNative:"0x4200000000000000000000000000000000000006",usdc:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",eurc:"0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",verUsdc:"0x59aaF835D34b1E3dF2170e4872B785f11E2a964b",testUsdc:"0xBC77067f829979812d795d516E523C4033b66409"},[_.PolygonMainnet]:{morpho:"0x1bF0c2541F820E775182832f06c0B7Fc27A25f67",bundler3:{bundler3:"0x2d9C3A9E67c966C711208cc78b34fB9E9f8db589",generalAdapter1:"0xB261B51938A9767406ef83bbFbaAFE16691b7047",paraswapAdapter:"0x5F2617F12D1fDd1e43e72Cb80C92dFcE8124Db8d",compoundV3MigrationAdapter:"0xB34D2f54139bA12defC315C0822aDf9A5eB9A9b7",aaveV2MigrationAdapter:"0x43980Ae597f12Ff64690506b2AEEFFb4D8BeAF2a",aaveV3CoreMigrationAdapter:"0xEcB1662a1dff5C20650CF98c3334d2fddcD50742"},permit2:"0x000000000022D473030F116dDEE9F6B43aC78BA3",adaptiveCurveIrm:"0xe675A2161D4a6E2de2eeD70ac98EEBf257FBF0B0",publicAllocator:"0xfac15aff53ADd2ff80C2962127C434E8615Df0d3",metaMorphoFactory:"0xa9c87daB340631C34BB738625C70499e29ddDC98",vaultV2Factory:"0xC11a53eE9B1eCc7a068D8e40F8F17926584F97Cf",morphoMarketV1AdapterFactory:"0xD1A0C86F28ecD1657Ad06415c2B230cC89D9b6dd",morphoMarketV1AdapterV2Factory:"0xc0006f52B38625C283dd2f972dD9B779A5851Dd0",morphoVaultV1AdapterFactory:"0xEb174FEA51Da241eB3B516959B216e013de2888a",registryList:"0xb70a43821d2707fA9d0EDd9511CC499F468Ba564",chainlinkOracleFactory:"0x1ff7895Eb842794c5d07C4c547b6730e61295215",preLiquidationFactory:"0xeDadDe37D76c72b98725614d0b41C20Fe612d304",wNative:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",usdc:"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"},[_.ArbitrumMainnet]:{morpho:"0x6c247b1F6182318877311737BaC0844bAa518F5e",bundler3:{bundler3:"0x1FA4431bC113D308beE1d46B0e98Cb805FB48C13",generalAdapter1:"0x9954aFB60BB5A222714c478ac86990F221788B88",paraswapAdapter:"0xAA5c30C1482c189cA0d56057D3ac4dD7Af1e4726",aaveV3CoreMigrationAdapter:"0x1923670d4F4eB7435d865E7477d28FEAFfA40C93",compoundV3MigrationAdapter:"0x86Ca77a4a37A9CDBe9bBf4975F6d69531B96444b"},permit2:"0x000000000022D473030F116dDEE9F6B43aC78BA3",adaptiveCurveIrm:"0x66F30587FB8D4206918deb78ecA7d5eBbafD06DA",publicAllocator:"0x769583Af5e9D03589F159EbEC31Cc2c23E8C355E",metaMorphoFactory:"0x878988f5f561081deEa117717052164ea1Ef0c82",vaultV2Factory:"0x6b46fa3cc9EBF8aB230aBAc664E37F2966Bf7971",morphoMarketV1AdapterFactory:"0x96456Bf888D4de607Bf3ca0b3C8e4DF9b0d0Ad47",morphoMarketV1AdapterV2Factory:"0xeF84b1ecEbe43283ec5AF95D7a5c4D7dE0a9859b",morphoVaultV1AdapterFactory:"0xD8Fc8a85779551e78B516da9f74061cb3b086793",registryList:"0xc00eb3c7aD1aE986A7f05F5A9d71aCa39c763C65",chainlinkOracleFactory:"0x98Ce5D183DC0c176f54D37162F87e7eD7f2E41b5",preLiquidationFactory:"0x635c31B5DF1F7EFbCbC07E302335Ef4230758e3d",wNative:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",usdc:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"},[_.OptimismMainnet]:{morpho:"0xce95AfbB8EA029495c66020883F87aaE8864AF92",bundler3:{bundler3:"0xFBCd3C258feB131D8E038F2A3a670A7bE0507C05",generalAdapter1:"0x79481C87f24A3C4332442A2E9faaf675e5F141f0",paraswapAdapter:"0x31F539f4Ed14fA1fd18781e93f6739249692aDC5"},permit2:"0x000000000022D473030F116dDEE9F6B43aC78BA3",adaptiveCurveIrm:"0x8cD70A8F399428456b29546BC5dBe10ab6a06ef6",publicAllocator:"0x0d68a97324E602E02799CD83B42D337207B40658",metaMorphoFactory:"0x3Bb6A6A0Bc85b367EFE0A5bAc81c5E52C892839a",vaultV2Factory:"0x6128b680b277Bf4Df80DFE9D8c55A498660870ef",morphoMarketV1AdapterFactory:"0x65956d5Ba4974983ecCe111612FC0A0c22650A11",morphoMarketV1AdapterV2Factory:"0x71B299bDb52b6396429cd1E11c418324502CB434",morphoVaultV1AdapterFactory:"0xEe9F7C64dD827ED7b5CAA2272936366FAca00CF3",registryList:"0xD1346be260cd22Eab9E6163010b0D5CbfAAAD32b",chainlinkOracleFactory:"0x1ec408D4131686f727F3Fd6245CF85Bc5c9DAD70",preLiquidationFactory:"0x3d05C01EE8e97361b9E19D172128255eaE5F98B9",wNative:"0x4200000000000000000000000000000000000006",usdc:"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"},[_.WorldChainMainnet]:{morpho:"0xE741BC7c34758b4caE05062794E8Ae24978AF432",bundler3:{bundler3:"0x3D07BF2FFb23248034bF704F3a4786F1ffE2a448",generalAdapter1:"0x30fa9A3cF56931ACEea42E28D35519a97D90aA67"},adaptiveCurveIrm:"0x34E99D604751a72cF8d0CFDf87069292d82De472",publicAllocator:"0xef9889B4e443DEd35FA0Bd060f2104Cca94e6A43",metaMorphoFactory:"0x4DBB3a642a2146d5413750Cca3647086D9ba5F12",vaultV2Factory:"0x6846EA318B6B987Ee6b28eBFd87c3409F1d13108",morphoMarketV1AdapterFactory:"0xAf93F2d8508053432659d509b0210fdF1472493D",morphoMarketV1AdapterV2Factory:"0xEd0b06fcdDB6dD0985e2de9D22ad034d313b7dBd",morphoVaultV1AdapterFactory:"0xbF7DEa3756668C7E396C655D646C039826ba8416",registryList:"0x06A47994B4890dcA28C076969cedE1151d86EFCF",chainlinkOracleFactory:"0xd706690BA1Fe26b70c4AD89e60ff62cEB3A2eD02",preLiquidationFactory:"0xe3cE2051a24e58DBFC0eFBe4c2d9e89c5eAe4695",wNative:"0x4200000000000000000000000000000000000006",eurc:"0x1C60ba0A0eD1019e8Eb035E6daF4155A5cE2380B"},[_.FraxtalMainnet]:{morpho:"0xa6030627d724bA78a59aCf43Be7550b4C5a0653b",bundler3:{bundler3:"0xA7a414823Ef0F8CFb2c4f67f2F445DA940641d91",generalAdapter1:"0x228dDF333DDf6D1895dA1dE8a846EDD27F1284eD"},adaptiveCurveIrm:"0xA0D4D77b5D9933073572E19C172BFE866312673b",publicAllocator:"0x37a888192165fC39884f87c64E2476BfD2C09675",metaMorphoFactory:"0x27D4Af0AC9E7FDfA6D0853236f249CC27AE79488",chainlinkOracleFactory:"0x39d8622C607A691D7705E8842fbB12E3c38dCD41",preLiquidationFactory:"0x373ccddcd3F09D2e1430B3F2b290B9bF56Ae7336",wNative:"0xFC00000000000000000000000000000000000006"},[_.ScrollMainnet]:{morpho:"0x2d012EdbAdc37eDc2BC62791B666f9193FDF5a55",bundler3:{bundler3:"0x60F9159d4dCd724e743212416FD57d8aC0B60768",generalAdapter1:"0xD2780fae0869cDc06EE202152304A39653361525"},adaptiveCurveIrm:"0xa5EA7500A27C0079961D93366A6e93aafF18CB90",publicAllocator:"0x8a7f671E45E51dE245649Cf916cA0256FB8a9927",metaMorphoFactory:"0x56b65742ade55015e6480959808229Ad6dbc9295",chainlinkOracleFactory:"0xb5961902E60b188b1c665B7b72Ef616656A9e24E",preLiquidationFactory:"0xeD960178e4aDA0296786Fa79D84e8FDF7bd44B25",wNative:"0x5300000000000000000000000000000000000004",usdc:"0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4"},[_.InkMainnet]:{morpho:"0x857f3EefE8cbda3Bc49367C996cd664A880d3042",bundler3:{bundler3:"0x7db0F1E2bf1f47ec82220090F388d75D8B9BB6BC",generalAdapter1:"0xB8B2aDdCDe1cdC94AaE18a0F8A19df03D8683610"},adaptiveCurveIrm:"0x9515407b1512F53388ffE699524100e7270Ee57B",publicAllocator:"0x85416891752a6B81106c1C2999AE1AF5d8Cd3357",metaMorphoFactory:"0xd3f39505d0c48AFED3549D625982FdC38Ea9904b",chainlinkOracleFactory:"0x3FFFE273ee348b9E1ef89533025C7f165B17B439",preLiquidationFactory:"0x30607fEa77168d2c0401B6f60F0B40E32F9339E3",wNative:"0x4200000000000000000000000000000000000006",usdc:"0xF1815bd50389c46847f0Bda824eC8da914045D14"},[_.Unichain]:{morpho:"0x8f5ae9CddB9f68de460C77730b018Ae7E04a140A",permit2:"0x000000000022D473030F116dDEE9F6B43aC78BA3",bundler3:{bundler3:"0x7DD85759182495AF7F6757DA75036d24A9B58bc3",generalAdapter1:"0xC11329d19C2275c9E759867e879ECFcEeD7e30A0",paraswapAdapter:"0xAa870Da2a9F611A3A53d0D2AEe5664B3700a59c9",compoundV3MigrationAdapter:"0x617f8d7885CCE689115Af04576F7cB6F2534fA9a"},adaptiveCurveIrm:"0x9a6061d51743B31D2c3Be75D83781Fa423f53F0E",publicAllocator:"0xB0c9a107fA17c779B3378210A7a593e88938C7C9",metaMorphoFactory:"0xe9EdE3929F43a7062a007C3e8652e4ACa610Bdc0",vaultV2Factory:"0xC9b34c108014B44e5a189A830e7e04c56704a0c9",morphoMarketV1AdapterFactory:"0x117b92Ab1C025B175ED38a0CDe5A067a745224a0",morphoMarketV1AdapterV2Factory:"0x9a13bdA35F98811fbAcf097966b2C838f3F9c58C",morphoVaultV1AdapterFactory:"0xf1Ab9e885C0faa0cbCEd407498BBA895537aD754",registryList:"0xB9130D2A87d7c60ED7E7e4b25bdA6e3E6841becB",chainlinkOracleFactory:"0x43269546e1D586a1f7200a0AC07e26f9631f7539",preLiquidationFactory:"0xb04e4D3D59Ee47Ca9BA192707AF13A7D02969911",wNative:"0x4200000000000000000000000000000000000006",usdc:"0x078D782b760474a361dDA0AF3839290b0EF57AD6"},[_.SonicMainnet]:{morpho:"0xd6c916eB7542D0Ad3f18AEd0FCBD50C582cfa95f",bundler3:{bundler3:"0xB06F1Ad8c908b958E596c42973f67F2f1d9a9afF",generalAdapter1:"0x31D5aee8D75EEab548cfA0d11C4f9843a5201eaf"},adaptiveCurveIrm:"0xDEfCf242226425f93d8DD0e314735C28517C473F",publicAllocator:"0x6Cef2EDC70D87E8f1623f3096efF05d066E59B36",metaMorphoFactory:"0x0cE9e3512CB4df8ae7e265e62Fb9258dc14f12e8",chainlinkOracleFactory:"0x7DA59Fa482F1F49fADc486d8e47BADc506fEb86d",preLiquidationFactory:"0xc72129DA4CC808e955699111b8c22B22Ca8A10b8",wNative:"0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38"},[_.HemiMainnet]:{morpho:"0xa4Ca2c2e25b97DA19879201bA49422bc6f181f42",permit2:"0x000000000022D473030F116dDEE9F6B43aC78BA3",bundler3:{bundler3:"0x8eDa6E01a20E3Cd90B3B2AF6F790cB8FADEf3Ea8",generalAdapter1:"0x9623090C3943ad63F7d794378273610Dd0deeFD4"},adaptiveCurveIrm:"0xdEbdEa31624552DF904A065221cD14088ABDeD70",publicAllocator:"0x4107Ea1746909028d6212B315dE5fE9538F9eb39",metaMorphoFactory:"0x8e52179BeB18E882040b01632440d8Ca0f01da82",chainlinkOracleFactory:"0xB3cb32E6185446a6Bc7A047E4FfA138fA939e133",preLiquidationFactory:"0x40F2896C551194e364F7C846046C34d8a9FE97e4",wNative:"0x4200000000000000000000000000000000000006",usdc:"0xad11a8BEb98bbf61dbb1aa0F6d6F2ECD87b35afA"},[_.ModeMainnet]:{morpho:"0xd85cE6BD68487E0AaFb0858FDE1Cd18c76840564",bundler3:{bundler3:"0xFEA0edFa081C8D5960Ec9Bf6684981dB1834305d",generalAdapter1:"0xF53925b95Cc409447066cd5c1A7756084b2Ee0a4"},adaptiveCurveIrm:"0xE3d46Ae190Cb39ccA3655E966DcEF96b4eAe1d1c",publicAllocator:"0xEE868Bf3359DA30c10ea472EAEBFC0a06E8F0120",metaMorphoFactory:"0xae5b0884bfff430493D6C844B9fd052Af7d79278",chainlinkOracleFactory:"0xf9380f7898423Bd7FDe3C9fDD1b2671A2471f39D",preLiquidationFactory:"0x249E4808264c545861e43728186a731dE7c7D745",wNative:"0x4200000000000000000000000000000000000006"},[_.CornMainnet]:{morpho:"0xc2B1E031540e3F3271C5F3819F0cC7479a8DdD90",bundler3:{bundler3:"0x086889F9bdE8349512dD77088A7114E6C1c42Af7",generalAdapter1:"0x464a402244bCDdc0c2091D5193E8ffdb2be54Ca9"},adaptiveCurveIrm:"0x58a42117d753a0e69694545DfA19d64c2fB759fB",publicAllocator:"0xDFde06e2B2A2D718eE5560b73dA4F830E56A2f10",metaMorphoFactory:"0xe430821595602eA5DD0cD350f86987437c7362fA",chainlinkOracleFactory:"0x16278156D366fC91536b6b81482ffaC47EEa06D6",preLiquidationFactory:"0xb9065AC18d3EBdb3263B77B587f9c5CD570545D1",wNative:"0xda5dDd7270381A7C2717aD10D1c0ecB19e3CDFb2",usdc:"0xDF0B24095e15044538866576754F3C964e902Ee6"},[_.PlumeMainnet]:{morpho:"0x42b18785CE0Aed7BF7Ca43a39471ED4C0A3e0bB5",bundler3:{bundler3:"0x5437C8788f4CFbaA55be6FBf30379bc7dd7f69C3",generalAdapter1:"0x65ff368930Cb7eB4CA5C5eBC58bb69E6Ed198BA5"},adaptiveCurveIrm:"0x7420302Ddd469031Cd2282cd64225cCd46F581eA",publicAllocator:"0x58485338D93F4e3b4Bf2Af1C9f9C0aDF087AEf1C",metaMorphoFactory:"0x2525D453D9BA13921D5aB5D8c12F9202b0e19456",vaultV2Factory:"0x4f0a370bb367843CFd914c4d9972523aD2f8FCc9",morphoMarketV1AdapterFactory:"0x1675357fdA9e6784DdAD7AD5b3C3DF1fdD4dc4C9",morphoMarketV1AdapterV2Factory:"0xB7c243AfACb25870775ADFdAe9D0EAc2324dD152",morphoVaultV1AdapterFactory:"0x5935fFcD1C5D269840ae7c685bC957A73E04AEDB",registryList:"0x60d3184BDD31BAE7De973894B3bA0b3B6900B79a",chainlinkOracleFactory:"0x133F742c0D36864F37e15C33a18bA6fdc950ED0f",preLiquidationFactory:"0xF184156Cf6Ad4D3dA7F6449D40755A0f9de97ef3",usdc:"0xc98E8c6cB80AC48E4bbD3B56f5895DD64dA7d10a",wNative:"0xEa237441c92CAe6FC17Caaf9a7acB3f953be4bd1"},[_.CampMainnet]:{morpho:"0xc7CAd9B1377Eb8103397Cb07Cb5c4f03eb2eBEa8",bundler3:{bundler3:"0xc1A86b3a552C5a34e1ecc910341A64Cc89b2CB01",generalAdapter1:"0x86eaf48Fd73c1Aa30E801D01d0efFd731c3E5E85"},adaptiveCurveIrm:"0xeEccdD33c0C06d7DDa31E3C4a1Cdb35a2A756246",publicAllocator:"0x1e145648DA9aC9d831B4F7931C06e9828083BD40",metaMorphoFactory:"0xa8CD521d42b716821D7ddD2Ca6a237087aA5b487",chainlinkOracleFactory:"0x24Bc64f44B429EEA86c8B1f9C03F54Ab0C6c0C15",preLiquidationFactory:"0x6C0155CC30f760DC49138B389F5B69F56eD08841",wNative:"0x1aE9c40eCd2DD6ad5858E5430A556d7aff28A44b"},[_.KatanaMainnet]:{morpho:"0xD50F2DffFd62f94Ee4AEd9ca05C61d0753268aBc",bundler3:{bundler3:"0xA8C5e23C9C0DF2b6fF716486c6bBEBB6661548C8",generalAdapter1:"0x916Aa175C36E845db45fF6DDB886AE437d403B61"},adaptiveCurveIrm:"0x4F708C0ae7deD3d74736594C2109C2E3c065B428",publicAllocator:"0x39EB6Da5e88194C82B13491Df2e8B3E213eD2412",metaMorphoFactory:"0x1c8De6889acee12257899BFeAa2b7e534de32E16",vaultV2Factory:"0xFcb8b57E56787bB29e130Fca67f3c5a1232975D1",morphoMarketV1AdapterFactory:"0x2e6BE3a3A27fb45c6AbA2D1833eeA48E8788538e",morphoMarketV1AdapterV2Factory:"0x6d6A3ba62836d6B40277767dCAc8fd390d4BcedC",morphoVaultV1AdapterFactory:"0xc8D22B1adD3D176600E9952e7876e9249254cAAF",registryList:"0xA9132a09838fD20304dF2B2892679d06A4cc6371",chainlinkOracleFactory:"0x7D047fB910Bc187C18C81a69E30Fa164f8c536eC",preLiquidationFactory:"0x678EB53A3bB79111263f47B84989d16D81c36D85",wNative:"0xEE7D8BCFb72bC1880D0Cf19822eB0A2e6577aB62"},[_.EtherlinkMainnet]:{morpho:"0xbCE7364E63C3B13C73E9977a83c9704E2aCa876e",bundler3:{bundler3:"0x69dc8086191437b55775b79C730BB3876397e7D1",generalAdapter1:"0xEabdAC78A7f0a9B3dF0e23D69A5a5fF7f580a910"},adaptiveCurveIrm:"0xC1523BE776e66ba07b609b1914D0925278f21FE5",publicAllocator:"0x8b8B1bd41d36c06253203CD21463994aB752c1e6",metaMorphoFactory:"0x997a79c3C04c5B9eb27d343ae126bcCFb5D74781",chainlinkOracleFactory:"0x12FA40f687a35611720E1DcB59976B6e51247298",preLiquidationFactory:"0xd1c37fDd941256FC184eF3A07Be540a90b81Ec21",wNative:"0xc9B53AB2679f573e480d01e0f49e2B5CFB7a3EAb"},[_.TacMainnet]:{morpho:"0x918B9F2E4B44E20c6423105BB6cCEB71473aD35c",permit2:"0x000000000022D473030F116dDEE9F6B43aC78BA3",bundler3:{bundler3:"0x84b189823D0f84c36728Bb3335dD8C833564e72f",generalAdapter1:"0x6D94E7dCA6d8FAE2CF954633C2Cf9c286258E0af"},adaptiveCurveIrm:"0x7E82b16496fA8CC04935528dA7F5A2C684A3C7A3",publicAllocator:"0x414247afcf1fE3b94C617e7E3A7adB81D8D3208F",metaMorphoFactory:"0xcDA78f4979d17Ec93052A84A12001fe0088AD734",chainlinkOracleFactory:"0xbf10eD52dD60C60E901BF022c3675303ad4a56b1",preLiquidationFactory:"0x5851C1e423A2F93aFb821834a63cA052D19ae4Ef",wNative:"0xB63B9f0eb4A6E6f191529D71d4D88cc8900Df2C9"},[_.LiskMainnet]:{morpho:"0x00cD58DEEbd7A2F1C55dAec715faF8aed5b27BF8",permit2:"0x000000000022D473030F116dDEE9F6B43aC78BA3",bundler3:{bundler3:"0xD96E5e02580C4EAfE15B5537b25eE3dEe5861e00",generalAdapter1:"0x76cFE4BF840C7b461772fE7CDE399f58c4173584"},adaptiveCurveIrm:"0x5576629f21D528A8c3e06C338dDa907B94563902",publicAllocator:"0xb1E5B1De2a54ab55C412B5ee1E38e46799588103",metaMorphoFactory:"0x01dD876130690469F685a65C2B295A90a81BaD91",chainlinkOracleFactory:"0x2eb4D17C2AAf1EA62Bf83Fb49Dd1128b14AF4D93",preLiquidationFactory:"0xF2c325F26691b6556e6f66451bb38bDa37FEbaa7",wNative:"0x4200000000000000000000000000000000000006",usdc:"0xF242275d3a6527d877f2c927a82D9b057609cc71"},[_.HyperliquidMainnet]:{morpho:"0x68e37dE8d93d3496ae143F2E900490f6280C57cD",bundler3:{bundler3:"0xa3F50477AfA601C771874260A3B34B40e244Fa0e",generalAdapter1:"0xD7F48aDE56613E8605863832B7B8A1985B934aE4"},adaptiveCurveIrm:"0xD4a426F010986dCad727e8dd6eed44cA4A9b7483",publicAllocator:"0x517505be22D9068687334e69ae7a02fC77edf4Fc",metaMorphoFactory:"0xec051b19d654C48c357dC974376DeB6272f24e53",vaultV2Factory:"0xD7217E5687FF1071356C780b5fe4803D9D967da7",morphoMarketV1AdapterFactory:"0xc6b8B565C715134b0Ca3D6fa3D29B25759D0b9e2",morphoMarketV1AdapterV2Factory:"0xaEff6Ef4B7bbfbAadB18b634A8F11392CBeB72Be",morphoVaultV1AdapterFactory:"0xdf5202e29654e02011611A086f15477880580CAc",registryList:"0x857B55cEb57dA0C2A83EE08a8dB529B931089aee",chainlinkOracleFactory:"0xeb476f124FaD625178759d13557A72394A6f9aF5",preLiquidationFactory:"0x1b6782Ac7A859503cE953FBf4736311CC335B8f0",wNative:"0x5555555555555555555555555555555555555555",usdc:"0xb88339CB7199b77E23DB6E890353E22632Ba630f"},[_.SeiMainnet]:{morpho:"0xc9cDAc20FCeAAF616f7EB0bb6Cd2c69dcfa9094c",permit2:"0x000000000022D473030F116dDEE9F6B43aC78BA3",bundler3:{bundler3:"0xF9457356F18A3349Bb317Ac144c3Bcc62e5761aD",generalAdapter1:"0x02e0e71e145f254820B9D89c9E6068f08256F601"},adaptiveCurveIrm:"0x6eFA8e3Aa8279eB2fd46b6083A9E52dA72EA56c4",publicAllocator:"0xD878509446bE2C601f0f032F501851001B159D6B",metaMorphoFactory:"0x8Dea49ec5bd5AeAc8bcf96B3E187F59354118291",chainlinkOracleFactory:"0x4bD68c2FF3274207EC07ED281C915758b6F23F07",preLiquidationFactory:"0x65eD61058cEB4895B7d62437BaCEA39b04f6D27B",wNative:"0xE30feDd158A2e3b13e9badaeABaFc5516e95e8C7",usdc:"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392"},[_.ZeroGMainnet]:{morpho:"0x9CDD13a2212D94C4f12190cA30783B743E83C89e",bundler3:{bundler3:"0xbDaFC7ceF85C5fF69164330F521089C9E15DDDae",generalAdapter1:"0xFaD987d0EedfbAC709EC27ee4a94f36A1300a054"},adaptiveCurveIrm:"0xf52e20C42FEc624819D4184226C4777D7cbd767e",publicAllocator:"0x28a80F3713735CAD44bD9d7E1da9Fa16b0244497",metaMorphoFactory:"0x41528AadC7314658b07Ca6e7213B9b77289B477f",chainlinkOracleFactory:"0x5115c1a74ABf096150593EecF3e20F016fc9dB43",preLiquidationFactory:"0x534858821653467c2ae231dc027aa1F2c8D91802",wNative:"0x1Cd0690fF9a693f5EF2dD976660a8dAFc81A109c"},[_.LineaMainnet]:{morpho:"0x6B0D716aC0A45536172308e08fC2C40387262c9F",bundler3:{bundler3:"0x1Ee8Ec299E8014760D50A4E3CfC3b44Cc2242625",generalAdapter1:"0x454dAb6ce9891245696b239b4845a1cDC268255d"},adaptiveCurveIrm:"0x85C2Ef4Bd69f42D7Da19Fb9dcdD7Fb8d0F59cDeE",publicAllocator:"0x2d4cf00e18D48fD030d9b1E2FAAE6e0384C7610B",metaMorphoFactory:"0xA148a8223B622A72dC36472DE1492aBb5c089BA7",vaultV2Factory:"0x5DC11CF8BA4C39d1194F91218D35008d9F52A5d0",morphoMarketV1AdapterFactory:"0x3267BbdC94274B4BE081c01ffc6123dA12E8c043",morphoVaultV1AdapterFactory:"0x6FaF26DD640e22457cA4fd5DA702BA3E169eEd87",registryList:"0x122Ea8ff8888C29F8736665d576e3fAEF15D27D5",chainlinkOracleFactory:"0x3FFF726062B03BfD5BC485eeEEcc92CF1d8F0105",preLiquidationFactory:"0x05a0Ff4E564ED1ba6B42247E19edFf83545C3C40",wNative:"0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f",usdc:"0x176211869cA2b568f2A7D4EE941E073a821EE1ff"},[_.MonadMainnet]:{morpho:"0xD5D960E8C380B724a48AC59E2DfF1b2CB4a1eAee",bundler3:{bundler3:"0x82b684483e844422FD339df0b67b3B111F02c66E",generalAdapter1:"0x725AB8CAd931BCb80Fdbf10955a806765cCe00e5"},adaptiveCurveIrm:"0x09475a3D6eA8c314c592b1a3799bDE044E2F400F",publicAllocator:"0xfd70575B732F9482F4197FE1075492e114E97302",metaMorphoFactory:"0x33f20973275B2F574488b18929cd7DCBf1AbF275",vaultV2Factory:"0x8B2F922162FBb60A6a072cC784A2E4168fB0bb0c",morphoMarketV1AdapterFactory:"0x8Da54fbF89B3D6fC6DCC92F31CF75a211ACF3d46",morphoMarketV1AdapterV2Factory:"0xa00666E86C7e2FA8d2c78d9481E687e098340180",morphoVaultV1AdapterFactory:"0x9f3c0999425656fD189C69a8aD68cB64986D644A",registryList:"0x6a42f8b46224baA4DbBBc2F860F4675eeA7bd52B",chainlinkOracleFactory:"0xC8659Bcd5279DB664Be973aEFd752a5326653739",preLiquidationFactory:"0xB5b3e541abD19799E0c65905a5a42BD37d6c94c0",wNative:"0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A",usdc:"0x754704Bc059F8C67012fEd69BC8A327a5aafb603"},[_.StableMainnet]:{morpho:"0xa40103088A899514E3fe474cD3cc5bf811b1102e",bundler3:{bundler3:"0xA0bb114F927dF03d9a1a639b9c71F71B0FaFDf1B",generalAdapter1:"0x59b1F4376a81e39c466A0A218447E4D36f39A96b"},adaptiveCurveIrm:"0x41e846FC8108b8527C1D4EDB4c9564E56442940f",publicAllocator:"0xbCB063D4B6D479b209C186e462828CBACaC82DbE",metaMorphoFactory:"0xb4ae5673c48621189E2bEfBA96F31912032DD1AE",vaultV2Factory:"0x7fc35488803D49D00a94b206A223f7661898BE3a",morphoMarketV1AdapterFactory:"0x2A5F218FE4Dac3b1f4E096e8ae83074bB1713833",morphoMarketV1AdapterV2Factory:"0x9282DBa3d1788f4f02B5DdFc4fc5985e70197620",morphoVaultV1AdapterFactory:"0x4EF83ACD552598a1196c1aBDD0bA2EdE6f2237B4",registryList:"0xCe93fcB2849EB886F1e81d45D2747dF803f843C3",chainlinkOracleFactory:"0xF24C6eAB91e43EacE18a4e893a48565C09132505",preLiquidationFactory:"0x741A6604e974FeAF35a5FBb1416B3e01c33e5C0e"},[_.CronosMainnet]:{morpho:"0xDF9a1DC07e5dEe5ccCCaBeC35e446C70fAF7434e",bundler3:{bundler3:"0xb1c59fE6A0DCE25b804F6113C441Bf4F3a4Ab6bC",generalAdapter1:"0xCa470cBBc3de56FDe336466f2107cC969174d513"},adaptiveCurveIrm:"0x1Db002C086439d55B9f33E6c0693Eb850F7c0607",publicAllocator:"0xFEAbEf95f3C937Ff4d5fD70005CF3392f8Ca02d5",metaMorphoFactory:"0xEA67e5566Ca2c0176d9db172A7f9A1e1F22E9D3A",vaultV2Factory:"0x05519a0835a1bFD90f110aA7ca46e9A5F81Ed3b4",morphoMarketV1AdapterFactory:"0xaCFf4ad3B357F5A43A20570cF3eb9Ba0086d4e9a",morphoMarketV1AdapterV2Factory:"0xE39f6B5Dd03F4ce8C201b946E662E653d94fA121",morphoVaultV1AdapterFactory:"0x8840F99Bb2D4f69fb02b2d019384C5c98a11746c",registryList:"0x295e0aB80f8234398cd0E51C85D873ee69E5F0DD",chainlinkOracleFactory:"0x44b2c8e4474751EF2BBC57B92928aFB99DA785De",preLiquidationFactory:"0x8bedC738f5F0D54dF7E003297AAc6692b870F3Ed",wNative:"0x5C7F8A570d578ED84E63fdFA7b1eE72dEae1AE23"},[_.CeloMainnet]:{morpho:"0xd24ECdD8C1e0E57a4E26B1a7bbeAa3e95466A569",permit2:"0x000000000022D473030F116dDEE9F6B43aC78BA3",bundler3:{bundler3:"0xbd142f98f847c170D51d8B23e5FEBc51FC9a67D9",generalAdapter1:"0x3E7544a07157D03a49359eE89f2fCac9a6467230"},adaptiveCurveIrm:"0x683CAAADdfA2F42e24880E202676526d501a5dED",publicAllocator:"0x3Fe12193D178B76BaF4e23a083A64e49ACDE3188",metaMorphoFactory:"0x6870aA9f66C1e5Efe8Dbe8730e86E9e91f688275",chainlinkOracleFactory:"0x3a4849b5174Dc6828c6Dc9BBD87e61Ed1ebE9fFA",preLiquidationFactory:"0x717a3eF7D366F5ce4636011924D0Bd65ea5eCE2f",usdc:"0xcebA9300f2b948710d2653dD7B07f33A8B32118C"},[_.AbstractMainnet]:{morpho:"0xc85CE8ffdA27b646D269516B8d0Fa6ec2E958B55",bundler3:{bundler3:"0xc13A3Ca3B0120EE6121d1E0ca9Da22fDD7ed28Cd",generalAdapter1:"0x3716AA06304D1bC70f553Da44904d13086A4a791"},adaptiveCurveIrm:"0xd334eb112CfD1EB4a50FB871b7D9895EBB955C43",publicAllocator:"0x609f3DF49806B5617A0Bd3301f04Ac3CB26d9e82",metaMorphoFactory:"0x83A7f60c9fc57cEf1e8001bda98783AA1A53E4b1",chainlinkOracleFactory:"0x3585E3fD72F8d1b02250E1F6496b706c6e092884",preLiquidationFactory:"0x1058DA51242dF63bA3A61c838A61405ea6Edb083",wNative:"0x3439153EB7AF838Ad19d56E1571FBD09333C2809",usdc:"0x84A71ccD554Cc1b02749b35d22F684CC8ec987e1"},[_.BitlayerMainnet]:{morpho:"0xAeA7eFF1bD3c875c18ef50F0387892dF181431C6",bundler3:{bundler3:"0x82b3ea7558Fc383b949fa42Db7ee3eB101447B96",generalAdapter1:"0xa87F1422Df88B5f490203D71e2f8e7244843E62F"},adaptiveCurveIrm:"0xefB565442B9Eb740B50Cf928C14d21c0111254F9",publicAllocator:"0x3A1db0038361528756bED147abe3d41255c7128c",metaMorphoFactory:"0xb95De4a9C81Ba6240378F383f88592d30937d048",chainlinkOracleFactory:"0xfDc69d06De855701731D142F28bD401802DA4daF",preLiquidationFactory:"0x4E28CAE07A008FF2D7D345992C969118eb253CD6",wNative:"0xfF204e2681A6fA0e2C3FaDe68a1B28fb90E4Fc5F",usdc:"0xf8C374CE88A3BE3d374e8888349C7768B607c755"},[_.BscMainnet]:{morpho:"0x01b0Bd309AA75547f7a37Ad7B1219A898E67a83a",permit2:"0x000000000022D473030F116dDEE9F6B43aC78BA3",bundler3:{bundler3:"0x16D40b9DF1497468195BFAfeb2718e486E15bF91",generalAdapter1:"0x87c93660ECe6E68C6492EabBbBdbaafA102ae3a3"},adaptiveCurveIrm:"0x7112D95cB5f6b13bF5F5B94a373bB3b2B381F979",publicAllocator:"0x842bEccF8eBC11006c4bE96DEfE09b60326D0495",metaMorphoFactory:"0x92983687e672cA6d96530f9Dbe11a196cE905d72",chainlinkOracleFactory:"0xDf2035fC15919588526dBb5560863C812F135236",preLiquidationFactory:"0xEB8871F0FA8aB787AbCD28d1095f7B486d241D42",wNative:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"},[_.SoneiumMainnet]:{morpho:"0xE75Fc5eA6e74B824954349Ca351eb4e671ADA53a",permit2:"0x000000000022D473030F116dDEE9F6B43aC78BA3",bundler3:{bundler3:"0x461378B79d400c963F48F57b3a99416bc3C5c6a6",generalAdapter1:"0xA47EeDE3Aac741B830E394B2e291f6774BD8bb48"},adaptiveCurveIrm:"0x68F9b666b984527A7c145Db4103Cc6d3171C797F",publicAllocator:"0x76f93A21573014Ab7d634D3204818922A234249e",metaMorphoFactory:"0x7026b436f294e560b3C26E731f5cac5992cA2B33",chainlinkOracleFactory:"0x669F1A4cE3127740eCdB3E36adFC5Df6Db1EA74b",preLiquidationFactory:"0xcBD0710425613d666C5Ffb4dE2eE73554F21c34B",wNative:"0x4200000000000000000000000000000000000006",usdc:"0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369"}},HI={[_.EthMainnet]:{morpho:18883124n,permit2:15986406n,bundler3:{bundler3:21643807n,generalAdapter1:21872136n,paraswapAdapter:21643807n,erc20WrapperAdapter:21872136n,compoundV2MigrationAdapter:21643807n,compoundV3MigrationAdapter:21643807n,aaveV2MigrationAdapter:21643807n,aaveV3CoreMigrationAdapter:21643807n,aaveV3PrimeMigrationAdapter:21643807n,aaveV3EtherFiMigrationAdapter:21643807n,aaveV3OptimizerMigrationAdapter:21643807n},adaptiveCurveIrm:18883124n,publicAllocator:19375099n,metaMorphoFactory:21439510n,vaultV2Factory:23375073n,morphoMarketV1AdapterFactory:23375073n,morphoMarketV1AdapterV2Factory:23981459n,morphoVaultV1AdapterFactory:23375073n,registryList:23375119n,chainlinkOracleFactory:19375066n,preLiquidationFactory:21414664n},[_.BaseMainnet]:{morpho:13977148n,permit2:1425180n,bundler3:{bundler3:25161671n,generalAdapter1:26539234n,paraswapAdapter:25161671n,erc20WrapperAdapter:26539234n,compoundV3MigrationAdapter:25161671n,aaveV3CoreMigrationAdapter:25161671n},adaptiveCurveIrm:13977152n,publicAllocator:13979545n,metaMorphoFactory:23928808n,vaultV2Factory:35615206n,morphoMarketV1AdapterFactory:35615206n,morphoMarketV1AdapterV2Factory:39285528n,morphoVaultV1AdapterFactory:35615206n,registryList:35615358n,chainlinkOracleFactory:13978286n,preLiquidationFactory:23779056n},[_.PolygonMainnet]:{morpho:66931042n,bundler3:{bundler3:68074185n,generalAdapter1:68074185n,paraswapAdapter:68074185n,compoundV3MigrationAdapter:68690465n,aaveV2MigrationAdapter:68690465n,aaveV3CoreMigrationAdapter:68690465n},permit2:35701901n,adaptiveCurveIrm:66931042n,publicAllocator:66931042n,metaMorphoFactory:66931042n,vaultV2Factory:77371907n,morphoMarketV1AdapterFactory:77371907n,morphoMarketV1AdapterV2Factory:80128162n,morphoVaultV1AdapterFactory:77371907n,registryList:77372020n,chainlinkOracleFactory:66931042n,preLiquidationFactory:68074185n},[_.ArbitrumMainnet]:{morpho:296446593n,bundler3:{bundler3:307326238n,generalAdapter1:307326238n,paraswapAdapter:307326988n,aaveV3CoreMigrationAdapter:358694526n,compoundV3MigrationAdapter:358693964n},permit2:38692735n,adaptiveCurveIrm:296446593n,publicAllocator:296446593n,metaMorphoFactory:296447195n,vaultV2Factory:387016724n,morphoMarketV1AdapterFactory:387016724n,morphoMarketV1AdapterV2Factory:409152917n,morphoVaultV1AdapterFactory:387016724n,registryList:387017701n,chainlinkOracleFactory:296447195n,preLiquidationFactory:307326238n},[_.OptimismMainnet]:{morpho:130770075n,bundler3:{bundler3:132139369n,generalAdapter1:132139369n,paraswapAdapter:132139438n},permit2:38854427n,adaptiveCurveIrm:130770075n,publicAllocator:130770075n,metaMorphoFactory:130770189n,vaultV2Factory:142122059n,morphoMarketV1AdapterFactory:142122059n,morphoMarketV1AdapterV2Factory:144881071n,morphoVaultV1AdapterFactory:142122059n,registryList:142122170n,chainlinkOracleFactory:130770189n,preLiquidationFactory:132139369n},[_.WorldChainMainnet]:{morpho:9025669n,bundler3:{bundler3:10273494n,generalAdapter1:10273494n},adaptiveCurveIrm:9025669n,publicAllocator:9025669n,metaMorphoFactory:9025733n,vaultV2Factory:20253005n,morphoMarketV1AdapterFactory:20253005n,morphoMarketV1AdapterV2Factory:23013012n,morphoVaultV1AdapterFactory:20253005n,registryList:20253132n,chainlinkOracleFactory:9025733n,preLiquidationFactory:10273494n},[_.FraxtalMainnet]:{morpho:15317931n,bundler3:{bundler3:16536231n,generalAdapter1:16536231n},adaptiveCurveIrm:15317931n,publicAllocator:15317931n,metaMorphoFactory:15318007n,chainlinkOracleFactory:15318007n,preLiquidationFactory:16536231n},[_.ScrollMainnet]:{morpho:12842868n,bundler3:{bundler3:13504587n,generalAdapter1:13504587n},adaptiveCurveIrm:12842868n,publicAllocator:12842868n,metaMorphoFactory:12842903n,chainlinkOracleFactory:12842903n,preLiquidationFactory:13504587n},[_.InkMainnet]:{morpho:4078776n,bundler3:{bundler3:6385077n,generalAdapter1:6385077n},adaptiveCurveIrm:4078776n,publicAllocator:4078776n,metaMorphoFactory:4078830n,chainlinkOracleFactory:4078830n,preLiquidationFactory:6385077n},[_.Unichain]:{morpho:9139027n,permit2:0n,bundler3:{bundler3:9381237n,generalAdapter1:9381237n,paraswapAdapter:20872902n,compoundV3MigrationAdapter:22019479n},adaptiveCurveIrm:9139027n,publicAllocator:9139027n,metaMorphoFactory:9316789n,vaultV2Factory:29092109n,morphoMarketV1AdapterFactory:29092109n,morphoMarketV1AdapterV2Factory:34613548n,morphoVaultV1AdapterFactory:29092109n,registryList:29092328n,chainlinkOracleFactory:9316789n,preLiquidationFactory:9381237n},[_.SonicMainnet]:{morpho:9100931n,bundler3:{bundler3:9102286n,generalAdapter1:9102286n},adaptiveCurveIrm:9100931n,publicAllocator:9100931n,metaMorphoFactory:9101319n,chainlinkOracleFactory:9101319n,preLiquidationFactory:9102286n},[_.HemiMainnet]:{morpho:1188872n,bundler3:{bundler3:1188907n,generalAdapter1:1188907n},adaptiveCurveIrm:1188872n,publicAllocator:1188872n,metaMorphoFactory:1188885n,chainlinkOracleFactory:1188885n,preLiquidationFactory:1188907n},[_.ModeMainnet]:{morpho:19983370n,bundler3:{bundler3:19983599n,generalAdapter1:19983599n},adaptiveCurveIrm:19983370n,publicAllocator:19983370n,metaMorphoFactory:19983443n,chainlinkOracleFactory:19983443n,preLiquidationFactory:19983599n},[_.CornMainnet]:{morpho:251401n,bundler3:{bundler3:253107n,generalAdapter1:253107n},adaptiveCurveIrm:251401n,publicAllocator:251401n,metaMorphoFactory:253027n,chainlinkOracleFactory:253027n,preLiquidationFactory:253107n},[_.PlumeMainnet]:{morpho:765994n,bundler3:{bundler3:789925n,generalAdapter1:789925n},adaptiveCurveIrm:765994n,publicAllocator:765994n,metaMorphoFactory:766078n,vaultV2Factory:32235414n,morphoMarketV1AdapterFactory:32235414n,morphoMarketV1AdapterV2Factory:41965167n,morphoVaultV1AdapterFactory:32235414n,registryList:32235782n,chainlinkOracleFactory:766078n,preLiquidationFactory:789925n},[_.CampMainnet]:{morpho:4804080n,bundler3:{bundler3:4804690n,generalAdapter1:4804690n},adaptiveCurveIrm:4804080n,publicAllocator:4804080n,metaMorphoFactory:4804270n,chainlinkOracleFactory:4804270n,preLiquidationFactory:4804690n},[_.KatanaMainnet]:{morpho:2741069n,bundler3:{bundler3:2741993n,generalAdapter1:2741993n},adaptiveCurveIrm:2741069n,publicAllocator:2741069n,metaMorphoFactory:2741420n,vaultV2Factory:13096629n,morphoMarketV1AdapterFactory:13096629n,morphoMarketV1AdapterV2Factory:18619527n,morphoVaultV1AdapterFactory:13096629n,registryList:13096853n,chainlinkOracleFactory:2741420n,preLiquidationFactory:2741993n},[_.EtherlinkMainnet]:{morpho:21047448n,bundler3:{bundler3:21050766n,generalAdapter1:21050766n},adaptiveCurveIrm:21047448n,publicAllocator:21047448n,metaMorphoFactory:21050315n,chainlinkOracleFactory:21050315n,preLiquidationFactory:21050766n},[_.TacMainnet]:{morpho:853025n,permit2:553679n,bundler3:{bundler3:978967n,generalAdapter1:978967n},adaptiveCurveIrm:853025n,publicAllocator:853025n,metaMorphoFactory:978654n,chainlinkOracleFactory:978654n,preLiquidationFactory:978967n},[_.LiskMainnet]:{morpho:15731231n,bundler3:{bundler3:15731595n,generalAdapter1:15731595n},adaptiveCurveIrm:15731231n,publicAllocator:15731231n,metaMorphoFactory:15731333n,chainlinkOracleFactory:15731333n,preLiquidationFactory:15731595n},[_.HyperliquidMainnet]:{morpho:1988429n,bundler3:{bundler3:1988956n,generalAdapter1:1988956n},adaptiveCurveIrm:1988429n,publicAllocator:1988429n,metaMorphoFactory:1988677n,vaultV2Factory:14188393n,morphoMarketV1AdapterFactory:14188393n,morphoMarketV1AdapterV2Factory:21460330n,morphoVaultV1AdapterFactory:14188393n,registryList:14188698n,chainlinkOracleFactory:1988677n,preLiquidationFactory:1988956n},[_.SeiMainnet]:{morpho:166036723n,bundler3:{bundler3:168897284n,generalAdapter1:168897284n},permit2:118721449n,adaptiveCurveIrm:166036723n,publicAllocator:166036723n,metaMorphoFactory:168896078n,chainlinkOracleFactory:168896078n,preLiquidationFactory:168897284n,usdc:154131168n},[_.ZeroGMainnet]:{morpho:7526486n,bundler3:{bundler3:7527649n,generalAdapter1:7527649n},adaptiveCurveIrm:7526486n,publicAllocator:7526486n,metaMorphoFactory:7526768n,chainlinkOracleFactory:7526768n,preLiquidationFactory:7527649n},[_.LineaMainnet]:{morpho:25072608n,bundler3:{bundler3:25072853n,generalAdapter1:25072853n},adaptiveCurveIrm:25072608n,publicAllocator:25072608n,metaMorphoFactory:25072665n,vaultV2Factory:25072951n,morphoMarketV1AdapterFactory:25072951n,morphoVaultV1AdapterFactory:25072951n,registryList:25073088n,chainlinkOracleFactory:25072665n,preLiquidationFactory:25072853n},[_.MonadMainnet]:{morpho:31907457n,bundler3:{bundler3:32321504n,generalAdapter1:32321504n},adaptiveCurveIrm:31907457n,publicAllocator:31907457n,metaMorphoFactory:32320327n,vaultV2Factory:32321811n,morphoMarketV1AdapterFactory:32321811n,morphoMarketV1AdapterV2Factory:41103883n,morphoVaultV1AdapterFactory:32321811n,registryList:32322465n,chainlinkOracleFactory:32320327n,preLiquidationFactory:32321504n,usdc:22909616n},[_.StableMainnet]:{morpho:1504506n,bundler3:{bundler3:1741861n,generalAdapter1:1741861n},adaptiveCurveIrm:1504506n,publicAllocator:1504506n,metaMorphoFactory:1504774n,vaultV2Factory:1506182n,morphoMarketV1AdapterFactory:1506182n,morphoVaultV1AdapterFactory:1506182n,morphoMarketV1AdapterV2Factory:5110812n,registryList:1506877n,chainlinkOracleFactory:1504774n,preLiquidationFactory:1741861n},[_.CronosMainnet]:{morpho:38459435n,bundler3:{bundler3:38460388n,generalAdapter1:38460388n},adaptiveCurveIrm:38459435n,publicAllocator:38459435n,metaMorphoFactory:38459727n,vaultV2Factory:38461643n,morphoMarketV1AdapterFactory:38461643n,morphoMarketV1AdapterV2Factory:44236918n,morphoVaultV1AdapterFactory:38461643n,registryList:38461812n,chainlinkOracleFactory:38459727n,preLiquidationFactory:38460388n},[_.CeloMainnet]:{morpho:40249329n,bundler3:{bundler3:41808392n,generalAdapter1:41808392n},adaptiveCurveIrm:40249329n,publicAllocator:40249329n,metaMorphoFactory:40259931n,chainlinkOracleFactory:40259931n,preLiquidationFactory:41808392n,usdc:23412006n},[_.AbstractMainnet]:{morpho:13947713n,bundler3:{bundler3:13949482n,generalAdapter1:13949482n},adaptiveCurveIrm:13947713n,publicAllocator:13947713n,metaMorphoFactory:13949369n,chainlinkOracleFactory:13949369n,preLiquidationFactory:13949482n,usdc:53247n},[_.BitlayerMainnet]:{morpho:13516997n,bundler3:{bundler3:13638316n,generalAdapter1:13638316n},adaptiveCurveIrm:13516997n,publicAllocator:13516997n,metaMorphoFactory:13638155n,chainlinkOracleFactory:13638155n,preLiquidationFactory:13638316n,usdc:4041175n},[_.BscMainnet]:{morpho:54344680n,permit2:25343783n,bundler3:{bundler3:54346080n,generalAdapter1:54346080n},adaptiveCurveIrm:54344680n,publicAllocator:54344680n,metaMorphoFactory:54344985n,chainlinkOracleFactory:54344985n,preLiquidationFactory:54346080n},[_.SoneiumMainnet]:{morpho:6440817n,bundler3:{bundler3:6443359n,generalAdapter1:6443359n},adaptiveCurveIrm:6440817n,publicAllocator:6440817n,metaMorphoFactory:6440899n,chainlinkOracleFactory:6440899n,preLiquidationFactory:6443359n}},t=($)=>{let J=zI[$];if(J==null)throw new DK($);return J},fI={[_.EthMainnet]:{[a[_.EthMainnet].wbIB01]:a[_.EthMainnet].bIB01,[a[_.EthMainnet].wbC3M]:a[_.EthMainnet].bC3M,[a[_.EthMainnet].wNative]:q0,[a[_.EthMainnet].stEth]:q0,[a[_.EthMainnet].wstEth]:a[_.EthMainnet].stEth,[a[_.EthMainnet]["stkcvxcrvUSDTWBTCWETH-morpho"]]:a[_.EthMainnet].crvUSDTWBTCWETH,[a[_.EthMainnet]["stkcvxcrvUSDCWBTCWETH-morpho"]]:a[_.EthMainnet].crvUSDCWBTCWETH,[a[_.EthMainnet]["stkcvxcrvCRVUSDTBTCWSTETH-morpho"]]:a[_.EthMainnet].crvCRVUSDTBTCWSTETH,[a[_.EthMainnet]["stkcvxTryLSD-morpho"]]:a[_.EthMainnet].tryLSD,[a[_.EthMainnet]["stkcvxcrvUSDETHCRV-morpho"]]:a[_.EthMainnet].crvUSDETHCRV,[a[_.EthMainnet]["stkcvx2BTC-f-morpho"]]:a[_.EthMainnet]["2BTC-f"]},[_.BaseMainnet]:{[a[_.BaseMainnet].wNative]:q0,[a[_.BaseMainnet].verUsdc]:a[_.BaseMainnet].usdc,[a[_.BaseMainnet].testUsdc]:a[_.BaseMainnet].usdc},[_.PolygonMainnet]:{[a[_.PolygonMainnet].wNative]:q0},[_.OptimismMainnet]:{[a[_.OptimismMainnet].wNative]:q0},[_.WorldChainMainnet]:{[a[_.WorldChainMainnet].wNative]:q0},[_.ScrollMainnet]:{[a[_.ScrollMainnet].wNative]:q0},[_.InkMainnet]:{[a[_.InkMainnet].wNative]:q0},[_.Unichain]:{[a[_.Unichain].wNative]:q0},[_.SonicMainnet]:{[a[_.SonicMainnet].wNative]:q0},[_.HemiMainnet]:{[a[_.HemiMainnet].wNative]:q0},[_.ModeMainnet]:{[a[_.ModeMainnet].wNative]:q0},[_.CornMainnet]:{[a[_.CornMainnet].wNative]:q0},[_.PlumeMainnet]:{[a[_.PlumeMainnet].wNative]:q0},[_.CampMainnet]:{[a[_.CampMainnet].wNative]:q0},[_.KatanaMainnet]:{[a[_.KatanaMainnet].wNative]:q0},[_.ArbitrumMainnet]:{[a[_.ArbitrumMainnet].wNative]:q0},[_.EtherlinkMainnet]:{[a[_.EtherlinkMainnet].wNative]:q0},[_.TacMainnet]:{[a[_.TacMainnet].wNative]:q0},[_.LiskMainnet]:{[a[_.LiskMainnet].wNative]:q0},[_.HyperliquidMainnet]:{[a[_.HyperliquidMainnet].wNative]:q0},[_.SeiMainnet]:{[a[_.SeiMainnet].wNative]:q0},[_.ZeroGMainnet]:{[a[_.ZeroGMainnet].wNative]:q0},[_.LineaMainnet]:{[a[_.LineaMainnet].wNative]:q0},[_.MonadMainnet]:{[a[_.MonadMainnet].wNative]:q0},[_.CronosMainnet]:{[a[_.CronosMainnet].wNative]:q0},[_.AbstractMainnet]:{[a[_.AbstractMainnet].wNative]:q0},[_.BitlayerMainnet]:{[a[_.BitlayerMainnet].wNative]:q0},[_.BscMainnet]:{[a[_.BscMainnet].wNative]:q0},[_.SoneiumMainnet]:{[a[_.SoneiumMainnet].wNative]:q0}};function wK($,J){return VI[J]?.[$]}var EQ={},T7={[_.BaseMainnet]:new Set([a[_.BaseMainnet].testUsdc])},RQ={[_.EthMainnet]:new Set([a[_.EthMainnet].wbIB01,a[_.EthMainnet].wbC3M])},ZI={[_.BaseMainnet]:new Set([a[_.BaseMainnet].verUsdc])};n8(RQ).forEach(([$,J])=>{J.forEach((Q)=>(EQ[$]??=new Set).add(Q))});n8(ZI).forEach(([$,J])=>{J.forEach((Q)=>(T7[$]??=new Set).add(Q))});n8(T7).forEach(([$,J])=>{J.forEach((Q)=>(EQ[$]??=new Set).add(Q))});var sU0={[_.EthMainnet]:new Set([a[_.EthMainnet]["stkcvxcrvUSDTWBTCWETH-morpho"],a[_.EthMainnet]["stkcvxcrvUSDCWBTCWETH-morpho"],a[_.EthMainnet]["stkcvxcrvCRVUSDTBTCWSTETH-morpho"],a[_.EthMainnet]["stkcvxTryLSD-morpho"],a[_.EthMainnet]["stkcvxcrvUSDETHCRV-morpho"],a[_.EthMainnet]["stkcvx2BTC-f-morpho"]])},MI=R7(a),zI=MI,rU0=R7(HI),VI=R7(fI);var YV=300000000000000000n,XV=1150000000000000000n,o2=1000000000000000000000000000000000000n;var i2=V0.s.from.y(1n);F$();p5();var L;(function($){$.WAD=1000000000000000000n,$.RAY=1000000000000000000000000000n,$.MAX_UINT_256=J(256),$.MAX_UINT_160=J(160),$.MAX_UINT_128=J(128),$.MAX_UINT_48=J(48);function J(O){if(O%4!==0)throw Error(`Invalid number of bits: ${O}`);return BigInt(`0x${"f".repeat(O/4)}`)}$.maxUint=J;function Q(O){return O=BigInt(O),O>=0?O:-O}$.abs=Q;function Y(...O){return O.map(BigInt).reduce((E,V)=>E<=V?E:V)}$.min=Y;function X(...O){return O.map(BigInt).reduce((E,V)=>E<=V?V:E)}$.max=X;function G(O,E){return O=BigInt(O),E=BigInt(E),O<=E?0n:O-E}$.zeroFloorSub=G;function W(O,E){return $.wMul(O,E,"Down")}$.wMulDown=W;function K(O,E){return $.wMul(O,E,"Up")}$.wMulUp=K;function q(O,E,V){return $.mulDiv(O,E,$.WAD,V)}$.wMul=q;function U(O,E){return $.wDiv(O,E,"Down")}$.wDivDown=U;function N(O,E){return $.wDiv(O,E,"Up")}$.wDivUp=N;function H(O,E,V){return $.mulDiv(O,$.WAD,E,V)}$.wDiv=H;function f(O,E,V){if(O=BigInt(O),E=BigInt(E),V=BigInt(V),V===0n)throw Error("MathLib: DIVISION_BY_ZERO");return O*E/V}$.mulDivDown=f;function Z(O,E,V){if(O=BigInt(O),E=BigInt(E),V=BigInt(V),V===0n)throw Error("MathLib: DIVISION_BY_ZERO");let w=O*E%V>0?1n:0n;return O*E/V+w}$.mulDivUp=Z;function M(O,E,V,w){return $[`mulDiv${w}`](O,E,V)}$.mulDiv=M;function D(O,E){let V=BigInt(O)*BigInt(E),w=$.mulDivDown(V,V,2n*$.WAD),B=$.mulDivDown(w,V,3n*$.WAD);return V+w+B}$.wTaylorCompounded=D;function R(O){return BigInt(O)*1000000000n}$.wToRay=R})(L||(L={}));var i8;(function($){$.VIRTUAL_SHARES=1000000n,$.VIRTUAL_ASSETS=1n;function J(Y,X,G,W){return L.mulDiv(Y,BigInt(X)+$.VIRTUAL_ASSETS,BigInt(G)+$.VIRTUAL_SHARES,W)}$.toAssets=J;function Q(Y,X,G,W){return L.mulDiv(Y,BigInt(G)+$.VIRTUAL_SHARES,BigInt(X)+$.VIRTUAL_ASSETS,W)}$.toShares=Q})(i8||(i8={}));var BQ;(function($){$.CURVE_STEEPNESS=4000000000000000000n,$.TARGET_UTILIZATION=900000000000000000n,$.INITIAL_RATE_AT_TARGET=40000000000000000n/i2,$.ADJUSTMENT_SPEED=50000000000000000000n/i2,$.MIN_RATE_AT_TARGET=1000000000000000n/i2,$.MAX_RATE_AT_TARGET=2000000000000000000n/i2,$.LN_2_INT=693147180559945309n,$.LN_WEI_INT=-41446531673892822312n,$.WEXP_UPPER_BOUND=93859467695000404319n,$.WEXP_UPPER_VALUE=57716089161558943949701069502944508345128422502756744429568n;function J(X){if(X=BigInt(X),X<$.LN_WEI_INT)return 0n;if(X>=$.WEXP_UPPER_BOUND)return $.WEXP_UPPER_VALUE;let G=X<0n?-($.LN_2_INT/2n):$.LN_2_INT/2n,W=(X+G)/$.LN_2_INT,K=X-W*$.LN_2_INT,q=L.WAD+K+K*K/L.WAD/2n;if(W>=0n)return q<<W;return q>>-W}$.wExp=J;function Q(X,G,W){X=BigInt(X),G=BigInt(G),W=BigInt(W);let K=X>$.TARGET_UTILIZATION?L.WAD-$.TARGET_UTILIZATION:$.TARGET_UTILIZATION,q=L.wDivDown(X-$.TARGET_UTILIZATION,K),U,N;if(G===0n)U=$.INITIAL_RATE_AT_TARGET,N=$.INITIAL_RATE_AT_TARGET;else{let M=L.wMulDown($.ADJUSTMENT_SPEED,q)*W;if(M===0n)U=G,N=G;else{let D=(R)=>L.min(L.max(L.wMulDown(G,J(R)),$.MIN_RATE_AT_TARGET),$.MAX_RATE_AT_TARGET);N=D(M),U=(G+N+2n*D(M/2n))/4n}}let H=q<0?L.WAD-L.wDivDown(L.WAD,$.CURVE_STEEPNESS):$.CURVE_STEEPNESS-L.WAD,f=(Z)=>L.wMulDown(L.wMulDown(H,q)+L.WAD,Z);return{avgBorrowRate:f(U),endBorrowRate:f(N),endRateAtTarget:N}}$.getBorrowRate=Q;function Y(X,G){if(X=BigInt(X),G=BigInt(G),X>=G){let q=L.wMulDown(G,$.CURVE_STEEPNESS)-G;if(q===0n)return L.WAD;return L.min(L.WAD,$.TARGET_UTILIZATION+L.mulDivDown(L.WAD-$.TARGET_UTILIZATION,X-G,q))}let W=L.wDivDown(G,$.CURVE_STEEPNESS);return L.max(0n,L.mulDivDown($.TARGET_UTILIZATION,X-W,G-W))}$.getUtilizationAtBorrowRate=Y})(BQ||(BQ={}));var O0;(function($){function J(F){return`0x${UN(_9(NN(`${F.loanToken.substring(2).toLowerCase().padStart(64,"0")+F.collateralToken.substring(2).toLowerCase().padStart(64,"0")+F.oracle.substring(2).padStart(64,"0")+F.irm.substring(2).toLowerCase().padStart(64,"0")+BigInt(F.lltv).toString(16).padStart(64,"0")}`)))}`}$.getMarketId=J;function Q({lltv:F}){return L.min(XV,L.wDivDown(L.WAD,L.WAD-L.wMulDown(YV,L.WAD-BigInt(F))))}$.getLiquidationIncentiveFactor=Q;function Y({totalSupplyAssets:F,totalBorrowAssets:A}){if(F=BigInt(F),A=BigInt(A),F===0n){if(A>0n)return L.MAX_UINT_256;return 0n}return L.wDivDown(A,F)}$.getUtilization=Y;function X(F){return Math.expm1(+t5(BigInt(F)*i2))}$.rateToApy=X;function G(F,{totalSupplyAssets:A,totalBorrowAssets:k,totalSupplyShares:P,fee:m},n=0n){let u=L.wMulDown(k,L.wTaylorCompounded(F,n)),o=L.wMulDown(u,m),Q0=C(o,{totalSupplyAssets:BigInt(A)-o,totalSupplyShares:P},"Down");return{interest:u,feeShares:Q0}}$.getAccruedInterest=G;function W(F,A){if(A=BigInt(A),A===0n){if(Y(F)===0n)return 0n;return L.MAX_UINT_256}return L.zeroFloorSub(L.wDivUp(F.totalBorrowAssets,A),F.totalSupplyAssets)}$.getSupplyToUtilization=W;function K({totalSupplyAssets:F,totalBorrowAssets:A},k){if(k=BigInt(k),F=BigInt(F),A=BigInt(A),k===0n){if(A===0n)return F;return 0n}return L.zeroFloorSub(F,L.wDivUp(A,k))}$.getWithdrawToUtilization=K;function q({totalSupplyAssets:F,totalBorrowAssets:A},k){return L.zeroFloorSub(L.wMulDown(F,k),A)}$.getBorrowToUtilization=q;function U({totalSupplyAssets:F,totalBorrowAssets:A},k){return L.zeroFloorSub(A,L.wMulDown(F,k))}$.getRepayToUtilization=U;function N(F,{lltv:A}){return L.wMulDown(F,A)}$.getCollateralPower=N;function H(F,{price:A}){if(A==null)return;return L.mulDivDown(F,A,o2)}$.getCollateralValue=H;function f(F,A,{lltv:k}){let P=H(F,A);if(P==null)return;return L.wMulDown(P,k)}$.getMaxBorrowAssets=f;function Z({collateral:F,borrowShares:A},k,P){let m=f(F,k,P);if(m==null)return;return L.zeroFloorSub(m,S(A,k))}$.getMaxBorrowableAssets=Z;function M(F,A,k){if(A.price==null)return;if(A.price=BigInt(A.price),A.price===0n)return 0n;return L.mulDivDown(L.wMulDown(S(F,A,"Down"),Q(k)),o2,A.price)}$.getLiquidationSeizedAssets=M;function D(F,A,k){if(A.price==null)return;return v(L.wDivUp(L.mulDivUp(F,A.price,o2),Q(k)),A,"Up")}$.getLiquidationRepaidShares=D;function R(F,A,k){if(A.price==null)return;if(A.price=BigInt(A.price),A.price===0n||E(F,A,k))return 0n;return L.min(F.collateral,M(F.borrowShares,A,k))}$.getSeizableCollateral=R;function O({collateral:F,borrowShares:A},k,{lltv:P}){if(k.price==null)return;if(k.price=BigInt(k.price),k.price===0n)return 0n;return L.zeroFloorSub(F,L.wDivUp(L.mulDivUp(S(A,k),o2,k.price),P))}$.getWithdrawableCollateral=O;function E({collateral:F,borrowShares:A},k,P){let m=f(F,k,P);if(m==null)return;return m>=S(A,k)}$.isHealthy=E;function V({collateral:F,borrowShares:A},k,P){if(A=BigInt(A),k.totalBorrowShares=BigInt(k.totalBorrowShares),A===0n||k.totalBorrowShares===0n)return null;let m=N(F,P);if(m===0n)return L.MAX_UINT_256;let n=S(A,k);return L.mulDivUp(n,o2,m)}$.getLiquidationPrice=V;function w(F,A,k){if(A.price==null)return;if(A.price=BigInt(A.price),A.price===0n)return null;let P=V(F,A,k);if(P==null)return null;return L.wDivUp(P,A.price)-L.WAD}$.getPriceVariationToLiquidationPrice=w;function B({collateral:F,borrowShares:A},k,P){let m=S(A,k);if(m===0n)return L.MAX_UINT_256;let n=f(F,k,P);if(n==null)return;return L.wDivDown(n,m)}$.getHealthFactor=B;function j({collateral:F,borrowShares:A},k){if(A=BigInt(A),k.totalBorrowShares=BigInt(k.totalBorrowShares),A===0n||k.totalBorrowShares===0n)return null;let P=H(F,k);if(P==null)return;if(P===0n)return L.MAX_UINT_256;return L.wDivUp(S(A,k),P)}$.getLtv=j;function T(F,A,k){let P=B(F,A,k);if(P===void 0)return;if(P===null)return 0n;if(P===0n)return L.MAX_UINT_256;return L.wDivUp(L.WAD,P)}$.getBorrowCapacityUsage=T;function x(F,A,k="Down"){return i8.toAssets(F,A.totalSupplyAssets,A.totalSupplyShares,k)}$.toSupplyAssets=x;function C(F,A,k="Up"){return i8.toShares(F,A.totalSupplyAssets,A.totalSupplyShares,k)}$.toSupplyShares=C;function S(F,A,k="Up"){return i8.toAssets(F,A.totalBorrowAssets,A.totalBorrowShares,k)}$.toBorrowAssets=S;function v(F,A,k="Down"){return i8.toShares(F,A.totalBorrowAssets,A.totalBorrowShares,k)}$.toBorrowShares=v})(O0||(O0={}));var I7={type:"tuple",components:[{type:"address",name:"loanToken"},{type:"address",name:"collateralToken"},{type:"address",name:"oracle"},{type:"address",name:"irm"},{type:"uint256",name:"lltv"}]};class _1{static _CACHE={};static get($){let J=_1._CACHE[$];if(!J)throw new wQ($);return J}static idle($){return new _1({collateralToken:C0,loanToken:$,oracle:C0,irm:C0,lltv:0n})}static fromHex($){try{let[J]=C1([I7],$);return new _1(J)}catch{throw new OK($)}}collateralToken;loanToken;oracle;irm;lltv;id;liquidationIncentiveFactor;constructor($){let{collateralToken:J,loanToken:Q,oracle:Y,irm:X,lltv:G}=$;this.collateralToken=J,this.loanToken=Q,this.oracle=Y,this.irm=X,this.lltv=BigInt(G),this.id=O0.getMarketId($),this.liquidationIncentiveFactor=O0.getLiquidationIncentiveFactor($),_1._CACHE[this.id]=this}}var w0;(function($){$.liquidity="Liquidity",$.balance="Balance",$.position="Position",$.collateral="Collateral",$.cap="Cap",$.vaultV2_absoluteCap="VaultV2_AbsoluteCap",$.vaultV2_relativeCap="VaultV2_RelativeCap"})(w0||(w0={}));class i6{params;totalSupplyAssets;totalBorrowAssets;totalSupplyShares;totalBorrowShares;lastUpdate;fee;price;rateAtTarget;constructor({params:$,totalSupplyAssets:J,totalBorrowAssets:Q,totalSupplyShares:Y,totalBorrowShares:X,lastUpdate:G,fee:W,price:K,rateAtTarget:q}){if(this.params=$ instanceof _1?$:new _1($),this.totalSupplyAssets=J,this.totalBorrowAssets=Q,this.totalSupplyShares=Y,this.totalBorrowShares=X,this.lastUpdate=G,this.fee=W,this.price=K,q!=null)this.rateAtTarget=q}get id(){return this.params.id}get isIdle(){return this.params.collateralToken===C0}get liquidity(){return this.totalSupplyAssets-this.totalBorrowAssets}get utilization(){return O0.getUtilization(this)}get apyAtTarget(){if(this.rateAtTarget==null)return;return O0.rateToApy(this.rateAtTarget)}get endBorrowRate(){return this.getAccrualBorrowRates().endBorrowRate}get avgBorrowRate(){return this.getAccrualBorrowRates().avgBorrowRate}get supplyApy(){return this.getSupplyApy()}get borrowApy(){return this.getBorrowApy()}getEndBorrowRate($=V0.timestamp()){return this.getAccrualBorrowRates($).endBorrowRate}getAvgBorrowRate($=V0.timestamp()){return this.getAccrualBorrowRates($).avgBorrowRate}getAccrualBorrowRates($=V0.timestamp()){$=BigInt($);let J=$-this.lastUpdate;if(J<0n)throw new N0.InvalidInterestAccrual(this.id,$,this.lastUpdate);if(this.rateAtTarget==null)return{elapsed:J,avgBorrowRate:0n,endBorrowRate:0n};return{elapsed:J,...BQ.getBorrowRate(this.utilization,this.rateAtTarget,J)}}getBorrowApy($=V0.timestamp()){let J=this.getEndBorrowRate($);return O0.rateToApy(J)}getSupplyApy($=V0.timestamp()){let J=this.getEndBorrowRate($);return O0.rateToApy(L.wMulUp(L.wMulDown(J,this.utilization),L.WAD-this.fee))}getAvgBorrowApy($=V0.timestamp()){let J=this.getAvgBorrowRate($);return O0.rateToApy(J)}getAvgSupplyRate($=V0.timestamp()){let J=this.getAvgBorrowRate($);return L.wMulUp(L.wMulDown(J,this.utilization),L.WAD-this.fee)}getAvgSupplyApy($=V0.timestamp()){return O0.rateToApy(this.getAvgSupplyRate($))}accrueInterest($=this.lastUpdate){$=BigInt($);let{elapsed:J,avgBorrowRate:Q,endRateAtTarget:Y}=this.getAccrualBorrowRates($),{interest:X,feeShares:G}=O0.getAccruedInterest(Q,this,J);return new i6({...this,totalSupplyAssets:this.totalSupplyAssets+X,totalBorrowAssets:this.totalBorrowAssets+X,totalSupplyShares:this.totalSupplyShares+G,lastUpdate:$,rateAtTarget:Y})}supply($,J,Q){if($===0n===(J===0n))throw new N0.InconsistentInput($,J);let Y=this.accrueInterest(Q);if(J===0n)J=Y.toSupplyShares($,"Down");else $=Y.toSupplyAssets(J,"Up");return Y.totalSupplyAssets+=$,Y.totalSupplyShares+=J,{market:Y,assets:$,shares:J}}withdraw($,J,Q){if($===0n===(J===0n))throw new N0.InconsistentInput($,J);let Y=this.accrueInterest(Q);if(J===0n)J=Y.toSupplyShares($,"Up");else $=Y.toSupplyAssets(J,"Down");if(Y.totalSupplyAssets-=$,Y.totalSupplyShares-=J,Y.totalBorrowAssets>Y.totalSupplyAssets)throw new N0.InsufficientLiquidity(Y.id);return{market:Y,assets:$,shares:J}}borrow($,J,Q){if($===0n===(J===0n))throw new N0.InconsistentInput($,J);let Y=this.accrueInterest(Q);if(J===0n)J=Y.toBorrowShares($,"Up");else $=Y.toBorrowAssets(J,"Down");if(Y.totalBorrowAssets+=$,Y.totalBorrowShares+=J,Y.totalBorrowAssets>Y.totalSupplyAssets)throw new N0.InsufficientLiquidity(Y.id);return{market:Y,assets:$,shares:J}}repay($,J,Q){if($===0n===(J===0n))throw new N0.InconsistentInput($,J);let Y=this.accrueInterest(Q);if(J===0n)J=Y.toBorrowShares($,"Down");else $=Y.toBorrowAssets(J,"Up");return Y.totalBorrowAssets-=$,Y.totalBorrowShares-=J,{market:Y,assets:$,shares:J}}toSupplyAssets($,J){return O0.toSupplyAssets($,this,J)}toSupplyShares($,J){return O0.toSupplyShares($,this,J)}toBorrowAssets($,J){return O0.toBorrowAssets($,this,J)}toBorrowShares($,J){return O0.toBorrowShares($,this,J)}getSupplyToUtilization($){return O0.getSupplyToUtilization(this,$)}getWithdrawToUtilization($){return O0.getWithdrawToUtilization(this,$)}getBorrowToUtilization($){return O0.getBorrowToUtilization(this,$)}getRepayToUtilization($){return O0.getRepayToUtilization(this,$)}getCollateralValue($){return O0.getCollateralValue($,this)}getMaxBorrowAssets($,{maxLtv:J=this.params.lltv}={}){return O0.getMaxBorrowAssets($,this,{lltv:L.min(J,this.params.lltv)})}getMaxBorrowableAssets($){return O0.getMaxBorrowableAssets($,this,this.params)}getLiquidationSeizedAssets($){return O0.getLiquidationSeizedAssets($,this,this.params)}getLiquidationRepaidShares($){return O0.getLiquidationRepaidShares($,this,this.params)}getSeizableCollateral($){return O0.getSeizableCollateral($,this,this.params)}getWithdrawableCollateral($,{maxLtv:J=this.params.lltv}={}){return O0.getWithdrawableCollateral($,this,{lltv:L.min(J,this.params.lltv)})}isHealthy($){return O0.isHealthy($,this,this.params)}getLiquidationPrice($){return O0.getLiquidationPrice($,this,this.params)}getPriceVariationToLiquidationPrice($){return O0.getPriceVariationToLiquidationPrice($,this,this.params)}getHealthFactor($){return O0.getHealthFactor($,this,this.params)}getLtv($){return O0.getLtv($,this)}getBorrowCapacityUsage($){return O0.getBorrowCapacityUsage($,this,this.params)}getBorrowCapacityLimit({collateral:$,borrowShares:J=0n},Q){let Y=this.getMaxBorrowAssets($,Q);if(Y==null)return;let X=L.zeroFloorSub(Y,this.toBorrowAssets(J)),{liquidity:G}=this;if(X>G)return{value:G,limiter:w0.liquidity};return{value:X,limiter:w0.collateral}}getRepayCapacityLimit($,J){let Q=this.toBorrowAssets($);if(Q>J)return{value:J,limiter:w0.balance};return{value:Q,limiter:w0.position}}getWithdrawCapacityLimit({supplyShares:$}){let J=this.toSupplyAssets($),{liquidity:Q}=this;if(J>Q)return{value:Q,limiter:w0.liquidity};return{value:J,limiter:w0.position}}getWithdrawCollateralCapacityLimit($,J){let Q=this.getWithdrawableCollateral($,J);if(Q==null)return;if($.collateral>Q)return{value:Q,limiter:w0.collateral};return{value:$.collateral,limiter:w0.position}}getMaxCapacities($,J,Q,Y){return{supply:{value:J,limiter:w0.balance},withdraw:this.getWithdrawCapacityLimit($),borrow:this.getBorrowCapacityLimit($,Y?.borrow),repay:this.getRepayCapacityLimit($.borrowShares,J),supplyCollateral:{value:Q,limiter:w0.balance},withdrawCollateral:this.getWithdrawCollateralCapacityLimit($,Y?.withdrawCollateral)}}}class _5{static native($){let J=OQ.CHAIN_METADATA[$].nativeCurrency;return new _5({...J,address:q0})}address;name;symbol;decimals;eip5267Domain;price;constructor({address:$,name:J,symbol:Q,decimals:Y=0,price:X,eip5267Domain:G}){if(this.address=$,this.name=J,this.symbol=Q,this.decimals=Number(Y),this.eip5267Domain=G,X!=null)this.price=BigInt(X)}fromUsd($,J="Down"){if(this.price==null)return;return L.mulDiv($,10n**BigInt(this.decimals),this.price,J)}toUsd($,J="Down"){if(this.price==null)return;return L.mulDiv($,this.price,10n**BigInt(this.decimals),J)}}class s6 extends _5{underlying;constructor($,J){super($);this.underlying=J}toWrappedExactAmountIn($,J=0n,Q="Down"){let Y=this._wrap($,Q);return L.wMulDown(Y,L.WAD-J)}toWrappedExactAmountOut($,J=0n,Q="Up"){let Y=L.wDiv($,L.WAD-J,Q);return this._unwrap(Y,Q)}toUnwrappedExactAmountIn($,J=0n,Q="Down"){let Y=this._unwrap($,Q);return L.wMulUp(Y,L.WAD-J)}toUnwrappedExactAmountOut($,J=0n,Q="Up"){let Y=L.wDiv($,L.WAD-J,Q);return this._wrap(Y,Q)}}class _Q extends s6{underlyingDecimals;constructor($,J,Q=0){super($,J);this.underlyingDecimals=BigInt(Q)}toWrappedExactAmountIn($,J,Q="Down"){return super.toWrappedExactAmountIn($,0n,Q)}toWrappedExactAmountOut($,J,Q="Up"){return super.toWrappedExactAmountOut($,0n,Q)}toUnwrappedExactAmountIn($,J,Q="Down"){return super.toUnwrappedExactAmountIn($,0n,Q)}toUnwrappedExactAmountOut($,J,Q="Up"){return super.toUnwrappedExactAmountOut($,0n,Q)}_wrap($){return L.mulDivDown($,10n**BigInt(this.decimals),10n**this.underlyingDecimals)}_unwrap($){return L.mulDivDown($,10n**this.underlyingDecimals,10n**BigInt(this.decimals))}}class LQ extends s6{underlying;wrappedTokenExchangeRate;constructor($,J,Q){super($,J);this.underlying=J,this.wrappedTokenExchangeRate=Q}_wrap($,J){return L.wDiv($,this.wrappedTokenExchangeRate,J)}_unwrap($,J){return L.wMul($,this.wrappedTokenExchangeRate,J)}}var A7;(function($){$.VIRTUAL_ASSETS=1n;function J(X){return L.zeroFloorSub(18n,X)}$.decimalsOffset=J;function Q(X,{totalAssets:G,totalSupply:W,decimalsOffset:K},q="Down"){return L.mulDiv(X,BigInt(G)+$.VIRTUAL_ASSETS,BigInt(W)+10n**BigInt(K),q)}$.toAssets=Q;function Y(X,{totalAssets:G,totalSupply:W,decimalsOffset:K},q="Up"){return L.mulDiv(X,BigInt(W)+10n**BigInt(K),BigInt(G)+$.VIRTUAL_ASSETS,q)}$.toShares=Y})(A7||(A7={}));class h4 extends s6{asset;decimalsOffset;totalSupply;totalAssets;constructor($,{totalAssets:J,totalSupply:Q}){super($,$.asset);this.asset=$.asset,this.totalAssets=J,this.totalSupply=Q,this.decimalsOffset=BigInt($.decimalsOffset)}_wrap($,J){return A7.toShares($,this,J)}_unwrap($,J){return A7.toAssets($,this,J)}}var OI=["name","version","chainId","verifyingContract","salt"];class g4{fields;name;version;chainId;verifyingContract;salt;extensions;eip712Domain;constructor({fields:$,name:J,version:Q,chainId:Y,verifyingContract:X,salt:G,extensions:W}){this.fields=$,this.name=J,this.version=Q,this.chainId=Y,this.verifyingContract=X,this.salt=G,this.extensions=W,this.eip712Domain=this.asEip712Domain()}asEip712Domain(){let $=BigInt(this.fields);return OI.reduce((J,Q,Y)=>{if($&2n**BigInt(Y))J[Q]=Q==="chainId"?Number(this.chainId):this[Q];return J},{})}}var GV;(function($){$.Supply="Supply",$.SupplyCollateral="Supply Collateral",$.Withdraw="Withdraw",$.WithdrawCollateral="Withdraw Collateral",$.Borrow="Borrow",$.Repay="Repay"})(GV||(GV={}));var EK=["morpho","permit2","bundler3.generalAdapter1"];class s2{user;token;canTransfer;erc20Allowances;permit2BundlerAllowance;erc2612Nonce;_balance;constructor({user:$,token:J,erc20Allowances:Q,permit2BundlerAllowance:Y,balance:X,erc2612Nonce:G,canTransfer:W}){if(this.user=$,this.token=J,this._balance=X,this.canTransfer=W,this.erc20Allowances=o8(n8(Q).map(([K,q])=>[K,q])),this.permit2BundlerAllowance={amount:BigInt(Y.amount),expiration:BigInt(Y.expiration),nonce:BigInt(Y.nonce)},G!=null)this.erc2612Nonce=G}get balance(){return this._balance}set balance($){this._balance=$}}class RK{total;allocations;constructor($){this.total=$.dstAmount,this.allocations={base:{...$,type:"base"}}}add($){this.total+=$.dstAmount;let J=this.allocations[$.type]??={...$,srcAmount:0n,dstAmount:0n};return J.srcAmount+=$.srcAmount,J.dstAmount+=$.dstAmount,this}sub($){this.total-=$.dstAmount;let J=this.allocations[$.type]??={...$,srcAmount:0n,dstAmount:0n};return J.srcAmount-=$.srcAmount,J.dstAmount-=$.dstAmount,this}}class m4{user;marketId;supplyShares;borrowShares;collateral;constructor({user:$,marketId:J,supplyShares:Q,borrowShares:Y,collateral:X}){this.user=$,this.marketId=J,this.supplyShares=Q,this.borrowShares=Y,this.collateral=X}}class E6 extends m4{_market;constructor($,J){let Q=new i6(J);super({...$,marketId:Q.id});this._market=Q}get market(){return this._market}get supplyAssets(){return this._market.toSupplyAssets(this.supplyShares)}get borrowAssets(){return this._market.toBorrowAssets(this.borrowShares)}get collateralValue(){return this._market.getCollateralValue(this.collateral)}get maxBorrowAssets(){return this._market.getMaxBorrowAssets(this.collateral)}get maxBorrowableAssets(){let{maxBorrowAssets:$}=this;if($==null)return;return L.zeroFloorSub($,this.borrowAssets)}get seizableCollateral(){return this._market.getSeizableCollateral(this)}get withdrawableCollateral(){return this._market.getWithdrawableCollateral(this)}get isHealthy(){return this._market.isHealthy(this)}get isLiquidatable(){let $=this._market.isHealthy(this);if($==null)return;return!$}get liquidationPrice(){return this._market.getLiquidationPrice(this)}get priceVariationToLiquidationPrice(){return this._market.getPriceVariationToLiquidationPrice(this)}get ltv(){return this._market.getLtv(this)}get healthFactor(){return this._market.getHealthFactor(this)}get borrowCapacityUsage(){return this._market.getBorrowCapacityUsage(this)}get withdrawCapacityLimit(){return this._market.getWithdrawCapacityLimit(this)}accrueInterest($){return new E6(this,this._market.accrueInterest($))}supply($,J,Q){let{_market:Y}=this;({market:Y,assets:$,shares:J}=Y.supply($,J,Q));let X=new E6(this,Y);return X.supplyShares+=J,{position:X,assets:$,shares:J}}withdraw($,J,Q){let{_market:Y}=this;({market:Y,assets:$,shares:J}=Y.withdraw($,J,Q));let X=new E6(this,Y);if(X.supplyShares-=J,X.supplyShares<0n)throw new N0.InsufficientPosition(X.user,X.marketId);return{position:X,assets:$,shares:J}}supplyCollateral($){return this.collateral+=$,new E6(this,new i6(this._market))}withdrawCollateral($,J){if(this._market.price==null)throw new N0.UnknownOraclePrice(this.marketId);let Q=this.accrueInterest(J);if(Q.collateral-=$,Q.collateral<0n)throw new N0.InsufficientPosition(Q.user,Q.marketId);if(!Q.isHealthy)throw new N0.InsufficientCollateral(Q.user,Q.marketId);return Q}borrow($,J,Q){let{_market:Y}=this;if(Y.price==null)throw new N0.UnknownOraclePrice(Y.id);({market:Y,assets:$,shares:J}=Y.borrow($,J,Q));let X=new E6(this,Y);if(X.borrowShares+=J,!X.isHealthy)throw new N0.InsufficientCollateral(this.user,this.marketId);return{position:X,assets:$,shares:J}}repay($,J,Q){let{_market:Y}=this;({market:Y,assets:$,shares:J}=Y.repay($,J,Q));let X=new E6(this,Y);if(X.borrowShares-=J,X.borrowShares<0n)throw new N0.InsufficientPosition(X.user,X.marketId);return{position:X,assets:$,shares:J}}getBorrowCapacityLimit($){return this._market.getBorrowCapacityLimit(this,$)}getWithdrawCollateralCapacityLimit($){return this._market.getWithdrawCollateralCapacityLimit(this,$)}getRepayCapacityLimit($){return this._market.getRepayCapacityLimit(this.borrowShares,$)}getMaxCapacities($,J,Q){return{supply:{value:$,limiter:w0.balance},withdraw:this.withdrawCapacityLimit,borrow:this.getBorrowCapacityLimit(Q?.borrow),repay:this.getRepayCapacityLimit($),supplyCollateral:{value:J,limiter:w0.balance},withdrawCollateral:this.getWithdrawCollateralCapacityLimit(Q?.withdrawCollateral)}}}class x7 extends _5{decimalsOffset;asset;constructor({decimalsOffset:$,asset:J,...Q}){super({...Q,decimals:18});this.decimalsOffset=BigInt($),this.asset=J}}class b7{vault;marketId;cap;pendingCap;removableAt;enabled;publicAllocatorConfig;constructor({vault:$,marketId:J,cap:Q,pendingCap:Y,removableAt:X,enabled:G,publicAllocatorConfig:W}){this.vault=$,this.marketId=J,this.cap=Q,this.pendingCap=Y,this.removableAt=X,this.enabled=G,this.publicAllocatorConfig=W}}class k7{config;position;constructor({config:$,position:J}){this.config=new b7($),this.position=J}get vault(){return this.config.vault}get marketId(){return this.config.marketId}get utilization(){if(this.config.cap===0n)return L.MAX_UINT_256;return L.wDivDown(this.position.supplyAssets,this.config.cap)}}class BK{vault;marketId;maxIn;maxOut;constructor({vault:$,marketId:J,maxIn:Q,maxOut:Y}){this.vault=$,this.marketId=J,this.maxIn=Q,this.maxOut=Y}}class r2 extends h4{owner;curator;guardian;skimRecipient;feeRecipient;timelock;fee;pendingOwner;pendingGuardian;pendingTimelock;supplyQueue;withdrawQueue;lastTotalAssets;lostAssets;publicAllocatorConfig;constructor({curator:$,owner:J,guardian:Q,publicAllocatorConfig:Y,fee:X,feeRecipient:G,skimRecipient:W,pendingTimelock:K,pendingGuardian:q,pendingOwner:U,timelock:N,supplyQueue:H,withdrawQueue:f,totalSupply:Z,totalAssets:M,lastTotalAssets:D,lostAssets:R,...O}){super(O,{totalAssets:M,totalSupply:Z});this.curator=$,this.owner=J,this.guardian=Q,this.fee=X,this.feeRecipient=G,this.skimRecipient=W,this.pendingTimelock={value:K.value,validAt:K.validAt},this.pendingGuardian=q,this.pendingOwner=U,this.timelock=N,this.supplyQueue=H,this.withdrawQueue=f,this.lastTotalAssets=D,this.lostAssets=R,this.publicAllocatorConfig=Y}get totalInterest(){return L.zeroFloorSub(this.totalAssets,this.lastTotalAssets)}toAssets($,J="Down"){return this._unwrap($,J)}toShares($,J="Up"){return this._wrap($,J)}}class d4 extends r2{allocations;collateralAllocations;constructor($,J){super({...$,withdrawQueue:J.map(({position:Q})=>Q.market.id),totalAssets:J.reduce((Q,{position:Y})=>Q+Y.supplyAssets,0n)});this.allocations=new Map(J.map((Q)=>[Q.position.market.id,new k7(Q)])),this.collateralAllocations=new Map;for(let{marketId:Q,position:Y}of this.allocations.values()){let X=Y.market.params.collateralToken,G=this.collateralAllocations.get(X);if(!G)this.collateralAllocations.set(X,G={address:X,lltvs:new Set,oracles:new Set,markets:new Set,proportion:0n});G.lltvs.add(Y.market.params.lltv),G.oracles.add(Y.market.params.oracle),G.markets.add(Q),G.proportion+=this.getAllocationProportion(Q)}}get liquidity(){return this.allocations.values().reduce(($,{position:J})=>$+J.withdrawCapacityLimit.value,0n)}get apy(){return this.getApy()}get netApy(){return this.getNetApy()}_getAvgRate($=V0.timestamp()){if(this.totalAssets===0n)return 0n;return this.allocations.values().reduce((J,{position:Q})=>J+Q.market.getAvgSupplyRate($)*Q.supplyAssets,0n)/this.totalAssets}getApy($=V0.timestamp()){if(this.totalAssets===0n)return 0;return O0.rateToApy(this._getAvgRate($))}getNetApy($=V0.timestamp()){return O0.rateToApy(L.wMulDown(this._getAvgRate($),L.WAD-this.fee))}getAllocationProportion($){if(this.totalAssets===0n)return 0n;let J=this.allocations.get($);if(!J)return 0n;return L.wDivDown(J.position.supplyAssets,this.totalAssets)}getDepositCapacityLimit($){return this.maxDeposit($)}getWithdrawCapacityLimit($){return this.maxWithdraw($)}maxDeposit($){$=BigInt($);let J=this.allocations.values().reduce((Q,{config:{cap:Y},position:{marketId:X,supplyAssets:G}})=>L.min(Q+(this.supplyQueue.includes(X)?L.zeroFloorSub(Y,G):0n),L.MAX_UINT_256),0n);if($>J)return{value:J,limiter:w0.cap};return{value:$,limiter:w0.balance}}maxWithdraw($){let J=this.toAssets($),{liquidity:Q}=this;if(J>Q)return{value:Q,limiter:w0.liquidity};return{value:J,limiter:w0.balance}}accrueInterest($){let J=new d4(this,this.withdrawQueue.map((X)=>{let{config:G,position:W}=this.allocations.get(X);return{config:G,position:W.accrueInterest($)}}));if(J.lostAssets!=null)J.lostAssets+=L.max(J.lastTotalAssets-J.lostAssets-J.totalAssets,0n),J.totalAssets+=J.lostAssets;let Q=L.wMulDown(J.totalInterest,J.fee);J.totalAssets-=Q;let Y=J.toShares(Q,"Down");return J.totalAssets+=Q,J.totalSupply+=Y,J.lastTotalAssets=J.totalAssets,J}}class y7 extends s6{asset;totalAssets;_totalAssets;totalSupply;virtualShares;maxRate;lastUpdate;adapters;liquidityAdapter;liquidityData;liquidityAllocations;performanceFee;managementFee;performanceFeeRecipient;managementFeeRecipient;constructor({asset:$,totalAssets:J,_totalAssets:Q,totalSupply:Y,virtualShares:X,maxRate:G,lastUpdate:W,adapters:K,liquidityAdapter:q,liquidityData:U,liquidityAllocations:N,performanceFee:H,managementFee:f,performanceFeeRecipient:Z,managementFeeRecipient:M,...D}){super(D,$);this.asset=$,this.totalAssets=J,this._totalAssets=Q,this.totalSupply=Y,this.virtualShares=X,this.maxRate=G,this.lastUpdate=W,this.adapters=K,this.liquidityAdapter=q,this.liquidityData=U,this.liquidityAllocations=N,this.performanceFee=H,this.managementFee=f,this.performanceFeeRecipient=Z,this.managementFeeRecipient=M}toAssets($){return this._unwrap($,"Down")}toShares($){return this._wrap($,"Down")}_wrap($,J){return L.mulDiv($,this.totalSupply+this.virtualShares,this.totalAssets+1n,J)}_unwrap($,J){return L.mulDiv($,this.totalAssets+1n,this.totalSupply+this.virtualShares,J)}}class u4 extends y7{accrualLiquidityAdapter;accrualAdapters;assetBalance;forceDeallocatePenalties;constructor($,J,Q,Y,X){super({...$,adapters:Q.map((G)=>G.address)});this.accrualLiquidityAdapter=J,this.accrualAdapters=Q,this.assetBalance=Y,this.forceDeallocatePenalties=X}maxDeposit($){if(this.liquidityAdapter===x0)return{value:BigInt($),limiter:w0.balance};let J;if(this.accrualLiquidityAdapter!=null)J=this.accrualLiquidityAdapter.maxDeposit(this.liquidityData,$);if(this.liquidityAllocations==null||J==null)throw new C7.UnsupportedLiquidityAdapter(this.liquidityAdapter);for(let{absoluteCap:Q,relativeCap:Y,allocation:X}of this.liquidityAllocations){let G=L.zeroFloorSub(Q,X);if(J.value>G)J={value:G,limiter:w0.vaultV2_absoluteCap};if(Y!==L.WAD){let W=L.zeroFloorSub(L.wMulDown(this.totalAssets,Y),X);if(J.value>W)J={value:W,limiter:w0.vaultV2_relativeCap}}}return J}maxWithdraw($){let J=this.toAssets($);if(this.liquidityAdapter===x0)return{value:BigInt(J),limiter:w0.balance};let Q=this.assetBalance;if(this.accrualLiquidityAdapter!=null)Q+=this.accrualLiquidityAdapter.maxWithdraw(this.liquidityData).value;if(J>Q)return{value:Q,limiter:w0.liquidity};return{value:J,limiter:w0.balance}}accrueInterest($){let J=new u4(this,this.accrualLiquidityAdapter,this.accrualAdapters,this.assetBalance,this.forceDeallocatePenalties);$=BigInt($);let Q=$-this.lastUpdate;if(Q<0n)throw new C7.InvalidInterestAccrual(this.address,$,this.lastUpdate);if(Q===0n)return{vault:J,performanceFeeShares:0n,managementFeeShares:0n};let Y=J.accrualAdapters.reduce((f,Z)=>f+Z.realAssets($),J.assetBalance),X=J._totalAssets+L.wMulDown(J._totalAssets*Q,J.maxRate),G=L.min(Y,X),W=L.zeroFloorSub(G,J._totalAssets),K=W>0n&&J.performanceFee>0n?L.wMulDown(W,J.performanceFee):0n,q=Q>0n&&J.managementFee>0n?L.wMulDown(G*Q,J.managementFee):0n,U=G-K-q,N=L.mulDivDown(K,J.totalSupply+J.virtualShares,U+1n),H=L.mulDivDown(q,J.totalSupply+J.virtualShares,U+1n);if(J.totalAssets=G,J._totalAssets=G,N)J.totalSupply+=N;if(H)J.totalSupply+=H;return J.lastUpdate=BigInt($),{vault:J,performanceFeeShares:N,managementFeeShares:H}}}class t2{address;parentVault;adapterId;skimRecipient;constructor({address:$,parentVault:J,adapterId:Q,skimRecipient:Y}){this.address=$,this.parentVault=J,this.adapterId=Q,this.skimRecipient=Y}}class s8 extends t2{static adapterId($){return Z0(y0([{type:"string"},{type:"address"}],["this",$]))}static collateralId($){return Z0(y0([{type:"string"},{type:"address"}],["collateralToken",$]))}static marketParamsId($,J){return Z0(y0([{type:"string"},{type:"address"},I7],["this/marketParams",$,J]))}marketParamsList;constructor({marketParamsList:$,...J}){super({...J,adapterId:s8.adapterId(J.address)});this.marketParamsList=$.map((Q)=>new _1(Q))}ids($){return[this.adapterId,s8.collateralId($.collateralToken),s8.marketParamsId(this.address,$)]}}class _K extends s8{positions;constructor($,J){super($);this.positions=J}realAssets($){return this.positions.reduce((J,Q)=>J+Q.accrueInterest($).supplyAssets,0n)}maxDeposit($,J){return{value:BigInt(J),limiter:w0.balance}}maxWithdraw($){let J=_1.fromHex($).id,Q=this.positions.find((Y)=>Y.marketId===J);return Q?.market?.getWithdrawCapacityLimit(Q)??{value:0n,limiter:w0.position}}}class R6 extends t2{static adapterId($){return Z0(y0([{type:"string"},{type:"address"}],["this",$]))}static collateralId($){return Z0(y0([{type:"string"},{type:"address"}],["collateralToken",$]))}static marketParamsId($,J){return Z0(y0([{type:"string"},{type:"address"},I7],["this/marketParams",$,J]))}marketIds;adaptiveCurveIrm;supplyShares;constructor({marketIds:$,adaptiveCurveIrm:J,supplyShares:Q,...Y}){super({...Y,adapterId:R6.adapterId(Y.address)});this.marketIds=$,this.adaptiveCurveIrm=J,this.supplyShares=Q}ids($){return[this.adapterId,R6.collateralId($.collateralToken),R6.marketParamsId(this.address,$)]}}class LK extends R6{markets;constructor($,J){super($);this.markets=J}realAssets($){return this.markets.reduce((J,Q)=>J+Q.accrueInterest($).toSupplyAssets(this.supplyShares[Q.id]??0n),0n)}maxDeposit($,J){return{value:BigInt(J),limiter:w0.balance}}maxWithdraw($){let J=_1.fromHex($).id;return this.markets.find((Y)=>Y.id===J)?.getWithdrawCapacityLimit({supplyShares:this.supplyShares[J]??0n})??{value:0n,limiter:w0.position}}}class L5 extends t2{static adapterId($){return Z0(y0([{type:"string"},{type:"address"}],["this",$]))}morphoVaultV1;constructor({morphoVaultV1:$,...J}){super({...J,adapterId:L5.adapterId(J.address)});this.morphoVaultV1=$}ids(){return[this.adapterId]}}class v7 extends L5{accrualVaultV1;shares;constructor($,J,Q){super($);this.accrualVaultV1=J,this.shares=Q}realAssets($){return this.accrualVaultV1.accrueInterest($).toAssets(this.shares)}maxDeposit($,J){return this.accrualVaultV1.maxDeposit(J)}maxWithdraw($){return this.accrualVaultV1.maxWithdraw(this.shares)}}var jf0=new Map([[w6("0.385"),{preLltv:301514568055515563n,preLCF1:22637943984157107n,preLCF2:349673199983645648n,preLIF1:w6("1.15"),preLIF2:w6("1.15")}],[w6("0.625"),{preLltv:562591950487445723n,preLCF1:7543182567291709n,preLCF2:279542312587328718n,preLIF1:1126760563380281690n,preLIF2:1126760563380281690n}],[w6("0.77"),{preLltv:727366070175296029n,preLCF1:3706417131700377n,preLCF2:256643181309902852n,preLIF1:1074113856068743286n,preLIF2:1074113856068743286n}],[w6("0.86"),{preLltv:832603694978499652n,preLCF1:2001493508968667n,preLCF2:245311807032632372n,preLIF1:1043841336116910229n,preLIF2:1043841336116910229n}],[w6("0.915"),{preLltv:897868776651447149n,preLCF1:1135586186384195n,preLCF2:239205538157954887n,preLIF1:1026167265264238070n,preLIF2:1026167265264238070n}],[w6("0.945"),{preLltv:933746617913300027n,preLCF1:709220796660800n,preLCF2:236098907251355946n,preLIF1:1016776817488561260n,preLIF2:1016776817488561260n}],[w6("0.965"),{preLltv:957768981497388846n,preLCF1:441038514876104n,preLCF2:234108264807531861n,preLIF1:1010611419909044972n,preLIF2:1010611419909044972n}],[w6("0.98"),{preLltv:975838577830248552n,preLCF1:247773050273784n,preLCF2:232655340599010079n,preLIF1:1006036217303822937n,preLIF2:1006036217303822937n}]]);class FK extends Error{constructor($,J){super(`unexpected operation "${$}" on chain "${J}"`)}}class FQ extends B0{marketId;constructor($){super(`unknown market "${$}"`);this.marketId=$}}class SQ extends B0{user;constructor($){super(`unknown user "${$}"`);this.user=$}}class jQ extends B0{user;marketId;constructor($,J){super(`unknown position of user "${$}" on market "${J}"`);this.user=$,this.marketId=J}}class c4 extends B0{user;token;constructor($,J){super(`unknown holding of user "${$}" of token "${J}"`);this.user=$,this.token=J}}class CQ extends B0{vault;constructor($){super(`unknown vault "${$}"`);this.vault=$}}class PQ extends B0{vault;marketId;constructor($,J){super(`unknown config for vault "${$}" on market "${J}"`);this.vault=$,this.marketId=J}}class TQ extends B0{vault;user;constructor($,J){super(`unknown user "${J}" of vault "${$}"`);this.vault=$,this.user=J}}class IQ extends B0{token;constructor($){super(`unknown wrapped token "${$}"`);this.token=$}}class SK extends B0{token;owner;spender;constructor($,J,Q){super(`unknown allowance for token "${$}" from owner "${J}" to spender "${Q}"`);this.token=$,this.owner=J,this.spender=Q}}class jK extends B0{token;owner;contract;allowance;constructor($,J,Q,Y){super(`unexpected non-zero allowance "${Y}" for token "${$}" from owner "${J}" to contract "${Q}"`);this.token=$,this.owner=J,this.contract=Q,this.allowance=Y}}class CK extends B0{token;owner;constructor($,J){super(`unknown EIP-2612 data for token "${$}" of owner "${J}"`);this.token=$,this.owner=J}}class PK extends B0{vault;constructor($){super(`missing public allocator config for vault "${$}"`);this.vault=$}}class AQ extends B0{vault;marketId;constructor($,J){super(`missing public allocator config for vault "${$}" on market "${J}"`);this.vault=$,this.marketId=J}}class xQ extends B0{adapter;constructor($){super(`unknown vault v2 adapter "${$}"`);this.adapter=$}}class bQ extends B0{vault;constructor($){super(`unknown vault v2 "${$}"`);this.vault=$}}var k1;(function($){class J extends Error{token;user;constructor(U,N){super(`insufficient balance of user "${N}" for token "${U}"`);this.token=U,this.user=N}}$.InsufficientBalance=J;class Q extends Error{token;owner;spender;constructor(U,N,H){super(`insufficient allowance for token "${U}" from owner "${N}" to spender "${H}"`);this.token=U,this.owner=N,this.spender=H}}$.InsufficientAllowance=Q;class Y extends Error{token;owner;nonce;constructor(U,N,H){super(`invalid EIP-2612 nonce "${H}" for token "${U}" of owner "${N}"`);this.token=U,this.owner=N,this.nonce=H}}$.InvalidEIP2612Nonce=Y;class X extends Error{token;owner;deadline;constructor(U,N,H){super(`expired EIP-2612 signature deadline "${H}" for token "${U}" from owner "${N}"`);this.token=U,this.owner=N,this.deadline=H}}$.ExpiredEIP2612Signature=X;class G extends Error{token;owner;nonce;constructor(U,N,H){super(`invalid permit2 nonce "${H}" for token "${U}" from owner "${N}"`);this.token=U,this.owner=N,this.nonce=H}}$.InvalidPermit2Nonce=G;class W extends Error{token;owner;deadline;constructor(U,N,H){super(`expired permit2 signature deadline "${H}" for token "${U}" from owner "${N}"`);this.token=U,this.owner=N,this.deadline=H}}$.ExpiredPermit2Signature=W;class K extends Error{token;owner;constructor(U,N){super(`insufficient permit2 allowance for token "${U}" from owner "${N}"`);this.token=U,this.owner=N}}$.InsufficientPermit2Allowance=K;class q extends Error{token;user;constructor(U,N){super(`unauthorized transfer of token "${U}" from owner "${N}"`);this.token=U,this.user=N}}$.UnauthorizedTransfer=q})(k1||(k1={}));var d0;(function($){class J extends Error{error;index;operation;constructor(Y,X,G){super(`${Y.message}
|
|
91
|
+
|
|
92
|
+
${Y instanceof J?"in the callback of":"when simulating operation"}:
|
|
93
|
+
${JSON.stringify(G,(W,K)=>typeof K==="bigint"?`${K.toString()}n`:K,2)}`);this.error=Y,this.index=X,this.operation=G,this.stack=Y.stack}}$.Simulation=J;class Q extends Error{input;constructor(Y){super(`invalid input: ${n8(Y).map((X)=>X.join("=")).join(", ")}`);this.input=Y}}$.InvalidInput=Q})(d0||(d0={}));var I1;(function($){class J extends Error{marketId;constructor(G){super(`market "${G}" not enabled`);this.marketId=G}}$.MarketNotEnabled=J;class Q extends Error{constructor(){super("zero assets")}}$.ZeroAssets=Q;class Y extends Error{constructor(){super("zero shares")}}$.ZeroShares=Y;class X extends Error{user;constructor(G){super(`unauthorized bundler for user "${G}"`);this.user=G}}$.UnauthorizedBundler=X})(I1||(I1={}));var f1;(function($){class J extends Error{constructor(){super("zero assets")}}$.ZeroAssets=J;class Q extends Error{constructor(){super("zero shares")}}$.ZeroShares=Q;class Y extends Error{vault;account;constructor(N,H){super(`account ${H} not allocator of vault "${N}"`);this.vault=N,this.account=H}}$.NotAllocatorRole=Y;class X extends Error{vault;remainingRequested;constructor(N,H){super(`not enough liquidity on vault "${N}" (remaining requested: ${H})`);this.vault=N,this.remainingRequested=H}}$.NotEnoughLiquidity=X;class G extends Error{vault;marketId;constructor(N,H){super(`market "${H}" not enabled on vault "${N}"`);this.vault=N,this.marketId=H}}$.MarketNotEnabled=G;class W extends Error{vault;marketId;constructor(N,H){super(`unauthorized market "${H}" on vault "${N}"`);this.vault=N,this.marketId=H}}$.UnauthorizedMarket=W;class K extends Error{vault;marketId;cap;constructor(N,H,f){super(`supply cap of ${f} exceeded for vault "${N}" on market "${H}"`);this.vault=N,this.marketId=H,this.cap=f}}$.SupplyCapExceeded=K;class q extends Error{vault;remainingRequested;constructor(N,H){super(`all caps reached on vault "${N}" (remaining requested: ${H})`);this.vault=N,this.remainingRequested=H}}$.AllCapsReached=q;class U extends Error{vault;totalSupplied;totalWithdrawn;constructor(N,H,f){super(`inconsistent reallocation for vault "${N}": total supplied (${H}) != total withdrawn (${f})`);this.vault=N,this.totalSupplied=H,this.totalWithdrawn=f}}$.InconsistentReallocation=U})(f1||(f1={}));var F5;(function($){class J extends Error{vault;marketId;constructor(q,U){super(`vault "${q}" withdrawing 0 on market "${U}"`);this.vault=q,this.marketId=U}}$.WithdrawZero=J;class Q extends Error{vault;constructor(q){super(`empty withdrawals for vault "${q}"`);this.vault=q}}$.EmptyWithdrawals=Q;class Y extends Error{vault;prevId;nextId;constructor(q,U,N){super(`inconsistent withdrawals for vault "${q}": "${U}" is expected to appear before "${N}"`);this.vault=q,this.prevId=U,this.nextId=N}}$.InconsistentWithdrawals=Y;class X extends Error{vault;marketId;constructor(q,U){super(`max outflow exceeded for vault "${q}" on market "${U}"`);this.vault=q,this.marketId=U}}$.MaxOutflowExceeded=X;class G extends Error{vault;marketId;constructor(q,U){super(`max inflow exceeded for vault "${q}" on market "${U}"`);this.vault=q,this.marketId=U}}$.MaxInflowExceeded=G;class W extends Error{vault;supplyMarketId;constructor(q,U){super(`supply market "${U}" in withdrawals of vault "${q}"`);this.vault=q,this.supplyMarketId=U}}$.DepositMarketInWithdrawals=W;class K extends Error{vault;marketId;constructor(q,U){super(`not enough supply of vault "${q}" on market "${U}"`);this.vault=q,this.marketId=U}}$.NotEnoughSupply=K})(F5||(F5={}));var B6;(function($){class J extends Error{offset;data;constructor(Y,X){super(`invalid offset "${Y}" does not leave 32 bytes of data "${X}"`);this.offset=Y,this.data=X}}$.InvalidOffset=J;class Q extends Error{constructor(){super("zero amount")}}$.ZeroAmount=Q})(B6||(B6={}));var DI=["Blue_AccrueInterest","Blue_SetAuthorization","Blue_Borrow","Blue_Repay","Blue_Supply","Blue_SupplyCollateral","Blue_Withdraw","Blue_WithdrawCollateral","Blue_FlashLoan","Blue_Paraswap_BuyDebt"],wI=["MetaMorpho_AccrueInterest","MetaMorpho_Deposit","MetaMorpho_Withdraw","MetaMorpho_Reallocate","MetaMorpho_PublicReallocate"],EI=["Paraswap_Buy","Paraswap_Sell"],RI=["Erc20_Approve","Erc20_Permit","Erc20_Permit2","Erc20_Transfer","Erc20_Transfer2","Erc20_Wrap","Erc20_Unwrap"];var WV=($)=>{return DI.includes($.type)},KV=($)=>{return wI.includes($.type)},qV=($)=>{return EI.includes($.type)},UV=($)=>{return RI.includes($.type)};var X1={Remove:"remove",Replace:"replace",Add:"add"},ZV=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),BI=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),kQ=Symbol.iterator,U6={mutable:"mutable",immutable:"immutable"},vK={};function g7($,J){return $ instanceof Map?$.has(J):Object.prototype.hasOwnProperty.call($,J)}function NV($,J){if(J in $){let Q=Reflect.getPrototypeOf($);while(Q){let Y=Reflect.getOwnPropertyDescriptor(Q,J);if(Y)return Y;Q=Reflect.getPrototypeOf(Q)}}return}function hK($){return Object.getPrototypeOf($)===Set.prototype}function gK($){return Object.getPrototypeOf($)===Map.prototype}function q6($){var J;return(J=$.copy)!==null&&J!==void 0?J:$.original}function z8($){return!!D0($)}function D0($){if(typeof $!=="object")return null;return $===null||$===void 0?void 0:$[ZV]}function mK($){var J;let Q=D0($);return Q?(J=Q.copy)!==null&&J!==void 0?J:Q.original:$}function r6($,J){if(!$||typeof $!=="object")return!1;let Q;return Object.getPrototypeOf($)===Object.prototype||Array.isArray($)||$ instanceof Map||$ instanceof Set||!!(J===null||J===void 0?void 0:J.mark)&&((Q=J.mark($,U6))===U6.immutable||typeof Q==="function")}function MV($,J=[]){if(Object.hasOwnProperty.call($,"key")){let Q=$.parent.copy,Y=D0(V8(Q,$.key));if(Y!==null&&(Y===null||Y===void 0?void 0:Y.original)!==$.original)return null;let X=$.parent.type===3,G=X?Array.from($.parent.setMap.keys()).indexOf($.key):$.key;if(!(X&&Q.size>G||g7(Q,G)))return null;J.push(G)}if($.parent)return MV($.parent,J);J.reverse();try{_I($.copy,J)}catch(Q){return null}return J}function e2($){if(Array.isArray($))return 1;if($ instanceof Map)return 2;if($ instanceof Set)return 3;return 0}function V8($,J){return e2($)===2?$.get(J):$[J]}function d7($,J,Q){if(e2($)===2)$.set(J,Q);else $[J]=Q}function TK($,J){let Q=D0($);return(Q?q6(Q):$)[J]}function M8($,J){if($===J)return $!==0||1/$===1/J;else return $!==$&&J!==J}function IK($){if(!$)return;while($.finalities.revoke.length>0)$.finalities.revoke.pop()()}function a2($,J){return J?$:[""].concat($).map((Q)=>{let Y=`${Q}`;if(Y.indexOf("/")===-1&&Y.indexOf("~")===-1)return Y;return Y.replace(/~/g,"~0").replace(/\//g,"~1")}).join("/")}function _I($,J){for(let Q=0;Q<J.length-1;Q+=1){let Y=J[Q];if($=V8(e2($)===3?Array.from($):$,Y),typeof $!=="object")throw Error(`Cannot resolve patch at '${J.join("/")}'.`)}return $}function LI($){let J=Object.create(Object.getPrototypeOf($));return Reflect.ownKeys($).forEach((Q)=>{let Y=Reflect.getOwnPropertyDescriptor($,Q);if(Y.enumerable&&Y.configurable&&Y.writable){J[Q]=$[Q];return}if(!Y.writable)Y.writable=!0,Y.configurable=!0;if(Y.get||Y.set)Y={configurable:!0,writable:!0,enumerable:Y.enumerable,value:$[Q]};Reflect.defineProperty(J,Q,Y)}),J}var FI=Object.prototype.propertyIsEnumerable;function zV($,J){let Q;if(Array.isArray($))return Array.prototype.concat.call($);else if($ instanceof Set){if(!hK($))return new(Object.getPrototypeOf($)).constructor($.values());return Set.prototype.difference?Set.prototype.difference.call($,new Set):new Set($.values())}else if($ instanceof Map){if(!gK($))return new(Object.getPrototypeOf($)).constructor($);return new Map($)}else if((J===null||J===void 0?void 0:J.mark)&&(Q=J.mark($,U6),Q!==void 0)&&Q!==U6.mutable){if(Q===U6.immutable)return LI($);else if(typeof Q==="function"){if(J.enablePatches||J.enableAutoFreeze)throw Error("You can't use mark and patches or auto freeze together.");return Q()}throw Error(`Unsupported mark result: ${Q}`)}else if(typeof $==="object"&&Object.getPrototypeOf($)===Object.prototype){let Y={};return Object.keys($).forEach((X)=>{Y[X]=$[X]}),Object.getOwnPropertySymbols($).forEach((X)=>{if(FI.call($,X))Y[X]=$[X]}),Y}else throw Error("Please check mark() to ensure that it is a stable marker draftable function.")}function c1($){if($.copy)return;$.copy=zV($.original,$.options)}function h7($){if(!r6($))return mK($);if(Array.isArray($))return $.map(h7);if($ instanceof Map){let Q=Array.from($.entries()).map(([Y,X])=>[Y,h7(X)]);if(!gK($))return new(Object.getPrototypeOf($)).constructor(Q);return new Map(Q)}if($ instanceof Set){let Q=Array.from($).map(h7);if(!hK($))return new(Object.getPrototypeOf($)).constructor(Q);return new Set(Q)}let J=Object.create(Object.getPrototypeOf($));for(let Q in $)J[Q]=h7($[Q]);return J}function yQ($){return z8($)?h7($):$}function S5($){var J;if($.assignedMap=(J=$.assignedMap)!==null&&J!==void 0?J:new Map,!$.operated){if($.operated=!0,$.parent)S5($.parent)}}function HV(){throw Error("Cannot modify frozen object")}function p4($,J,Q,Y,X){{Q=Q!==null&&Q!==void 0?Q:new WeakMap,Y=Y!==null&&Y!==void 0?Y:[],X=X!==null&&X!==void 0?X:[];let W=Q.has($)?Q.get($):$;if(Y.length>0){let K=Y.indexOf(W);if(W&&typeof W==="object"&&K!==-1){if(Y[0]===W)throw Error("Forbids circular reference");throw Error(`Forbids circular reference: ~/${X.slice(0,K).map((q,U)=>{if(typeof q==="symbol")return`[${q.toString()}]`;let N=Y[U];if(typeof q==="object"&&(N instanceof Map||N instanceof Set))return Array.from(N.keys()).indexOf(q);return q}).join("/")}`)}Y.push(W),X.push(J)}else Y.push(W)}if(Object.isFrozen($)||z8($)){Y.pop(),X.pop();return}switch(e2($)){case 2:for(let[K,q]of $)p4(K,K,Q,Y,X),p4(q,K,Q,Y,X);$.set=$.clear=$.delete=HV;break;case 3:for(let K of $)p4(K,K,Q,Y,X);$.add=$.clear=$.delete=HV;break;case 1:Object.freeze($);let W=0;for(let K of $)p4(K,W,Q,Y,X),W+=1;break;default:Object.freeze($),Object.keys($).forEach((K)=>{let q=$[K];p4(q,K,Q,Y,X)})}Y.pop(),X.pop()}function dK($,J){let Q=e2($);if(Q===0)Reflect.ownKeys($).forEach((Y)=>{J(Y,$[Y],$)});else if(Q===1){let Y=0;for(let X of $)J(Y,X,$),Y+=1}else $.forEach((Y,X)=>J(X,Y,$))}function VV($,J,Q){if(z8($)||!r6($,Q)||J.has($)||Object.isFrozen($))return;let Y=$ instanceof Set,X=Y?new Map:void 0;if(J.add($),dK($,(G,W)=>{var K;if(z8(W)){let q=D0(W);c1(q);let U=((K=q.assignedMap)===null||K===void 0?void 0:K.size)||q.operated?q.copy:q.original;d7(Y?X:$,G,U)}else VV(W,J,Q)}),X){let G=$,W=Array.from(G);G.clear(),W.forEach((K)=>{G.add(X.has(K)?X.get(K):K)})}}function SI($,J){let Q=$.type===3?$.setMap:$.copy;if($.finalities.revoke.length>1&&$.assignedMap.get(J)&&Q)VV(V8(Q,J),$.finalities.handledSet,$.options)}function AK($){if($.type===3&&$.copy)$.copy.clear(),$.setMap.forEach((J)=>{$.copy.add(mK(J))})}function xK($,J,Q,Y){if($.operated&&$.assignedMap&&$.assignedMap.size>0&&!$.finalized){if(Q&&Y){let G=MV($);if(G)J($,G,Q,Y)}$.finalized=!0}}function uK($,J,Q,Y){let X=D0(Q);if(X){if(!X.callbacks)X.callbacks=[];if(X.callbacks.push((G,W)=>{var K;let q=$.type===3?$.setMap:$.copy;if(M8(V8(q,J),Q)){let U=X.original;if(X.copy)U=X.copy;if(AK($),xK($,Y,G,W),$.options.enableAutoFreeze)$.options.updatedValues=(K=$.options.updatedValues)!==null&&K!==void 0?K:new WeakMap,$.options.updatedValues.set(U,X.original);d7(q,J,U)}}),$.options.enableAutoFreeze){if(X.finalities!==$.finalities)$.options.enableAutoFreeze=!1}}if(r6(Q,$.options))$.finalities.draft.push(()=>{let G=$.type===3?$.setMap:$.copy;if(M8(V8(G,J),Q))SI($,J)})}function jI($,J,Q,Y,X){let{original:G,assignedMap:W,options:K}=$,q=$.copy;if(q.length<G.length)[G,q]=[q,G],[Q,Y]=[Y,Q];for(let U=0;U<G.length;U+=1)if(W.get(U.toString())&&q[U]!==G[U]){let N=J.concat([U]),H=a2(N,X);Q.push({op:X1.Replace,path:H,value:yQ(q[U])}),Y.push({op:X1.Replace,path:H,value:yQ(G[U])})}for(let U=G.length;U<q.length;U+=1){let N=J.concat([U]),H=a2(N,X);Q.push({op:X1.Add,path:H,value:yQ(q[U])})}if(G.length<q.length){let{arrayLengthAssignment:U=!0}=K.enablePatches;if(U){let N=J.concat(["length"]),H=a2(N,X);Y.push({op:X1.Replace,path:H,value:G.length})}else for(let N=q.length;G.length<N;N-=1){let H=J.concat([N-1]),f=a2(H,X);Y.push({op:X1.Remove,path:f})}}}function CI({original:$,copy:J,assignedMap:Q},Y,X,G,W){Q.forEach((K,q)=>{let U=V8($,q),N=yQ(V8(J,q)),H=!K?X1.Remove:g7($,q)?X1.Replace:X1.Add;if(M8(U,N)&&H===X1.Replace)return;let f=Y.concat(q),Z=a2(f,W);X.push(H===X1.Remove?{op:H,path:Z}:{op:H,path:Z,value:N}),G.push(H===X1.Add?{op:X1.Remove,path:Z}:H===X1.Remove?{op:X1.Add,path:Z,value:U}:{op:X1.Replace,path:Z,value:U})})}function PI({original:$,copy:J},Q,Y,X,G){let W=0;$.forEach((K)=>{if(!J.has(K)){let q=Q.concat([W]),U=a2(q,G);Y.push({op:X1.Remove,path:U,value:K}),X.unshift({op:X1.Add,path:U,value:K})}W+=1}),W=0,J.forEach((K)=>{if(!$.has(K)){let q=Q.concat([W]),U=a2(q,G);Y.push({op:X1.Add,path:U,value:K}),X.unshift({op:X1.Remove,path:U,value:K})}W+=1})}function m7($,J,Q,Y){let{pathAsArray:X=!0}=$.options.enablePatches;switch($.type){case 0:case 2:return CI($,J,Q,Y,X);case 1:return jI($,J,Q,Y,X);case 3:return PI($,J,Q,Y,X)}}var TI=!1,vQ=($,J,Q=!1)=>{if(typeof $==="object"&&$!==null&&(!r6($,J)||Q)&&!TI)throw Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")};var bK={get size(){return q6(D0(this)).size},has($){return q6(D0(this)).has($)},set($,J){let Q=D0(this),Y=q6(Q);if(!Y.has($)||!M8(Y.get($),J))c1(Q),S5(Q),Q.assignedMap.set($,!0),Q.copy.set($,J),uK(Q,$,J,m7);return this},delete($){if(!this.has($))return!1;let J=D0(this);if(c1(J),S5(J),J.original.has($))J.assignedMap.set($,!1);else J.assignedMap.delete($);return J.copy.delete($),!0},clear(){let $=D0(this);if(!this.size)return;c1($),S5($),$.assignedMap=new Map;for(let[J]of $.original)$.assignedMap.set(J,!1);$.copy.clear()},forEach($,J){let Q=D0(this);q6(Q).forEach((Y,X)=>{$.call(J,this.get(X),X,this)})},get($){var J,Q;let Y=D0(this),X=q6(Y).get($),G=((Q=(J=Y.options).mark)===null||Q===void 0?void 0:Q.call(J,X,U6))===U6.mutable;if(Y.options.strict)vQ(X,Y.options,G);if(G)return X;if(Y.finalized||!r6(X,Y.options))return X;if(X!==Y.original.get($))return X;let W=vK.createDraft({original:X,parentDraft:Y,key:$,finalities:Y.finalities,options:Y.options});return c1(Y),Y.copy.set($,W),W},keys(){return q6(D0(this)).keys()},values(){let $=this.keys();return{[kQ]:()=>this.values(),next:()=>{let J=$.next();if(J.done)return J;return{done:!1,value:this.get(J.value)}}}},entries(){let $=this.keys();return{[kQ]:()=>this.entries(),next:()=>{let J=$.next();if(J.done)return J;let Q=this.get(J.value);return{done:!1,value:[J.value,Q]}}}},[kQ](){return this.entries()}},II=Reflect.ownKeys(bK),fV=($,J,{isValuesIterator:Q})=>()=>{var Y,X;let G=J.next();if(G.done)return G;let W=G.value,K=$.setMap.get(W),q=D0(K),U=((X=(Y=$.options).mark)===null||X===void 0?void 0:X.call(Y,K,U6))===U6.mutable;if($.options.strict)vQ(W,$.options,U);if(!U&&!q&&r6(W,$.options)&&!$.finalized&&$.original.has(W)){let N=vK.createDraft({original:W,parentDraft:$,key:W,finalities:$.finalities,options:$.options});$.setMap.set(W,N),K=N}else if(q)K=q.proxy;return{done:!1,value:Q?K:[K,K]}},hQ={get size(){return D0(this).setMap.size},has($){let J=D0(this);if(J.setMap.has($))return!0;c1(J);let Q=D0($);if(Q&&J.setMap.has(Q.original))return!0;return!1},add($){let J=D0(this);if(!this.has($))c1(J),S5(J),J.assignedMap.set($,!0),J.setMap.set($,$),uK(J,$,$,m7);return this},delete($){if(!this.has($))return!1;let J=D0(this);c1(J),S5(J);let Q=D0($);if(Q&&J.setMap.has(Q.original))return J.assignedMap.set(Q.original,!1),J.setMap.delete(Q.original);if(!Q&&J.setMap.has($))J.assignedMap.set($,!1);else J.assignedMap.delete($);return J.setMap.delete($)},clear(){if(!this.size)return;let $=D0(this);c1($),S5($);for(let J of $.original)$.assignedMap.set(J,!1);$.setMap.clear()},values(){let $=D0(this);c1($);let J=$.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:fV($,J,{isValuesIterator:!0})}},entries(){let $=D0(this);c1($);let J=$.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:fV($,J,{isValuesIterator:!1})}},keys(){return this.values()},[kQ](){return this.values()},forEach($,J){let Q=this.values(),Y=Q.next();while(!Y.done)$.call(J,Y.value,Y.value,this),Y=Q.next()}};if(Set.prototype.difference)Object.assign(hQ,{intersection($){return Set.prototype.intersection.call(new Set(this.values()),$)},union($){return Set.prototype.union.call(new Set(this.values()),$)},difference($){return Set.prototype.difference.call(new Set(this.values()),$)},symmetricDifference($){return Set.prototype.symmetricDifference.call(new Set(this.values()),$)},isSubsetOf($){return Set.prototype.isSubsetOf.call(new Set(this.values()),$)},isSupersetOf($){return Set.prototype.isSupersetOf.call(new Set(this.values()),$)},isDisjointFrom($){return Set.prototype.isDisjointFrom.call(new Set(this.values()),$)}});var AI=Reflect.ownKeys(hQ),OV={get($,J,Q){var Y,X;let G=(Y=$.copy)===null||Y===void 0?void 0:Y[J];if(G&&$.finalities.draftsCache.has(G))return G;if(J===ZV)return $;let W;if($.options.mark){let U=J==="size"&&($.original instanceof Map||$.original instanceof Set)?Reflect.get($.original,J):Reflect.get($.original,J,Q);if(W=$.options.mark(U,U6),W===U6.mutable){if($.options.strict)vQ(U,$.options,!0);return U}}let K=q6($);if(K instanceof Map&&II.includes(J)){if(J==="size")return Object.getOwnPropertyDescriptor(bK,"size").get.call($.proxy);return bK[J].bind($.proxy)}if(K instanceof Set&&AI.includes(J)){if(J==="size")return Object.getOwnPropertyDescriptor(hQ,"size").get.call($.proxy);return hQ[J].bind($.proxy)}if(!g7(K,J)){let U=NV(K,J);return U?"value"in U?U.value:(X=U.get)===null||X===void 0?void 0:X.call($.proxy):void 0}let q=K[J];if($.options.strict)vQ(q,$.options);if($.finalized||!r6(q,$.options))return q;if(q===TK($.original,J)){if(c1($),$.copy[J]=cK({original:$.original[J],parentDraft:$,key:$.type===1?Number(J):J,finalities:$.finalities,options:$.options}),typeof W==="function"){let U=D0($.copy[J]);return c1(U),S5(U),U.copy}return $.copy[J]}if(z8(q))$.finalities.draftsCache.add(q);return q},set($,J,Q){var Y;if($.type===3||$.type===2)throw Error("Map/Set draft does not support any property assignment.");let X;if($.type===1&&J!=="length"&&!(Number.isInteger(X=Number(J))&&X>=0&&(J===0||X===0||String(X)===String(J))))throw Error("Only supports setting array indices and the 'length' property.");let G=NV(q6($),J);if(G===null||G===void 0?void 0:G.set)return G.set.call($.proxy,Q),!0;let W=TK(q6($),J),K=D0(W);if(K&&M8(K.original,Q))return $.copy[J]=Q,$.assignedMap=(Y=$.assignedMap)!==null&&Y!==void 0?Y:new Map,$.assignedMap.set(J,!1),!0;if(M8(Q,W)&&(Q!==void 0||g7($.original,J)))return!0;if(c1($),S5($),g7($.original,J)&&M8(Q,$.original[J]))$.assignedMap.delete(J);else $.assignedMap.set(J,!0);return $.copy[J]=Q,uK($,J,Q,m7),!0},has($,J){return J in q6($)},ownKeys($){return Reflect.ownKeys(q6($))},getOwnPropertyDescriptor($,J){let Q=q6($),Y=Reflect.getOwnPropertyDescriptor(Q,J);if(!Y)return Y;return{writable:!0,configurable:$.type!==1||J!=="length",enumerable:Y.enumerable,value:Q[J]}},getPrototypeOf($){return Reflect.getPrototypeOf($.original)},setPrototypeOf(){throw Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw Error("Cannot call 'defineProperty()' on drafts")},deleteProperty($,J){var Q;if($.type===1)return OV.set.call(this,$,J,void 0,$.proxy);if(TK($.original,J)!==void 0||J in $.original)c1($),S5($),$.assignedMap.set(J,!1);else $.assignedMap=(Q=$.assignedMap)!==null&&Q!==void 0?Q:new Map,$.assignedMap.delete(J);if($.copy)delete $.copy[J];return!0}};function cK($){let{original:J,parentDraft:Q,key:Y,finalities:X,options:G}=$,W=e2(J),K={type:W,finalized:!1,parent:Q,original:J,copy:null,proxy:null,finalities:X,options:G,setMap:W===3?new Map(J.entries()):void 0};if(Y||"key"in $)K.key=Y;let{proxy:q,revoke:U}=Proxy.revocable(W===1?Object.assign([],K):K,OV);if(X.revoke.push(U),K.proxy=q,Q){let N=Q;N.finalities.draft.push((H,f)=>{var Z,M;let D=D0(q),R=N.type===3?N.setMap:N.copy,O=V8(R,Y),E=D0(O);if(E){let V=E.original;if(E.operated)V=mK(O);if(AK(E),xK(E,m7,H,f),N.options.enableAutoFreeze)N.options.updatedValues=(Z=N.options.updatedValues)!==null&&Z!==void 0?Z:new WeakMap,N.options.updatedValues.set(V,E.original);d7(R,Y,V)}(M=D.callbacks)===null||M===void 0||M.forEach((V)=>{V(H,f)})})}else{let N=D0(q);N.finalities.draft.push((H,f)=>{AK(N),xK(N,m7,H,f)})}return q}vK.createDraft=cK;function xI($,J,Q,Y,X){var G;let W=D0($),K=(G=W===null||W===void 0?void 0:W.original)!==null&&G!==void 0?G:$,q=!!J.length;if(W===null||W===void 0?void 0:W.operated)while(W.finalities.draft.length>0)W.finalities.draft.pop()(Q,Y);let U=q?J[0]:W?W.operated?W.copy:W.original:$;if(W)IK(W);if(X)p4(U,U,W===null||W===void 0?void 0:W.options.updatedValues);return[U,Q&&q?[{op:X1.Replace,path:[],value:J[0]}]:Q,Y&&q?[{op:X1.Replace,path:[],value:K}]:Y]}function bI($,J){var Q;let Y={draft:[],revoke:[],handledSet:new WeakSet,draftsCache:new WeakSet},X,G;if(J.enablePatches)X=[],G=[];let K=((Q=J.mark)===null||Q===void 0?void 0:Q.call(J,$,U6))===U6.mutable||!r6($,J)?$:cK({original:$,parentDraft:null,finalities:Y,options:J});return[K,(q=[])=>{let[U,N,H]=xI(K,q,X,G,J.enableAutoFreeze);return J.enablePatches?[U,N,H]:U}]}function kK($){let{rootDraft:J,value:Q,useRawReturn:Y=!1,isRoot:X=!0}=$;if(dK(Q,(G,W,K)=>{let q=D0(W);if(q&&J&&q.finalities===J.finalities){$.isContainDraft=!0;let U=q.original;if(K instanceof Set){let N=Array.from(K);K.clear(),N.forEach((H)=>K.add(G===H?U:H))}else d7(K,G,U)}else if(typeof W==="object"&&W!==null)$.value=W,$.isRoot=!1,kK($)}),X){if(!$.isContainDraft)console.warn("The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance.");if(Y)console.warn("The return value contains drafts, please don't use 'rawReturn()' to wrap the return value.")}}function DV($){var J;let Q=D0($);if(!r6($,Q===null||Q===void 0?void 0:Q.options))return $;let Y=e2($);if(Q&&!Q.operated)return Q.original;let X;function G(){X=Y===2?!gK($)?new(Object.getPrototypeOf($)).constructor($):new Map($):Y===3?Array.from(Q.setMap.values()):zV($,Q===null||Q===void 0?void 0:Q.options)}if(Q){Q.finalized=!0;try{G()}finally{Q.finalized=!1}}else X=$;if(dK(X,(W,K)=>{if(Q&&M8(V8(Q.original,W),K))return;let q=DV(K);if(q!==K){if(X===$)G();d7(X,W,q)}}),Y===3){let W=(J=Q===null||Q===void 0?void 0:Q.original)!==null&&J!==void 0?J:X;return!hK(W)?new(Object.getPrototypeOf(W)).constructor(X):new Set(X)}return X}function yK($){if(!z8($))throw Error(`current() is only used for Draft, parameter: ${$}`);return DV($)}var pK=($)=>{if($!==void 0&&Object.prototype.toString.call($)!=="[object Object]")throw Error(`Invalid options: ${String($)}, 'options' should be an object.`);return function J(Q,Y,X){var G,W,K;if(typeof Q==="function"&&typeof Y!=="function")return function(B,...j){return J(B,(T)=>Q.call(this,T,...j),Y)};let q=Q,U=Y,N=X;if(typeof Y!=="function")N=Y;if(N!==void 0&&Object.prototype.toString.call(N)!=="[object Object]")throw Error(`Invalid options: ${N}, 'options' should be an object.`);N=Object.assign(Object.assign({},$),N);let H=z8(q)?yK(q):q,f=Array.isArray(N.mark)?(B,j)=>{for(let T of N.mark){if(typeof T!=="function")throw Error(`Invalid mark: ${T}, 'mark' should be a function.`);let x=T(B,j);if(x)return x}return}:N.mark,Z=(G=N.enablePatches)!==null&&G!==void 0?G:!1,M=(W=N.strict)!==null&&W!==void 0?W:!1,R={enableAutoFreeze:(K=N.enableAutoFreeze)!==null&&K!==void 0?K:!1,mark:f,strict:M,enablePatches:Z};if(!r6(H,R)&&typeof H==="object"&&H!==null)throw Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");let[O,E]=bI(H,R);if(typeof Y!=="function"){if(!r6(H,R))throw Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[O,E]}let V;try{V=U(O)}catch(B){throw IK(D0(O)),B}let w=(B)=>{let j=D0(O);if(!z8(B)){if(B!==void 0&&!M8(B,O)&&(j===null||j===void 0?void 0:j.operated))throw Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");let x=B===null||B===void 0?void 0:B[BI];if(x){let C=x[0];if(R.strict&&typeof B==="object"&&B!==null)kK({rootDraft:j,value:B,useRawReturn:!0});return E([C])}if(B!==void 0){if(typeof B==="object"&&B!==null)kK({rootDraft:j,value:B});return E([B])}}if(B===O||B===void 0)return E([]);let T=D0(B);if(R===T.options){if(T.operated)throw Error("Cannot return a modified child draft.");return E([yK(B)])}return E([B])};if(V instanceof Promise)return V.then(w,(B)=>{throw IK(D0(O)),B});return w(V)}},if0=pK();var sf0=Object.prototype.constructor.toString();var _6=({args:{id:$}},J)=>{let Q=J.getMarket($),Y=Q.accrueInterest(J.block.timestamp);J.markets[$]=Y;let{feeRecipient:X}=J.global;if(X!=null){let G=J.tryGetPosition(X,$);if(G!=null)G.supplyShares+=Y.totalSupplyShares-Q.totalSupplyShares}};var wV={[_.EthMainnet]:["0xdAC17F958D2ee523a2206206994597C13D831ec7","0xD533a949740bb3306d119CC777fa900bA034cd52"]},$Z0={[_.EthMainnet]:{"0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984":w4,"0xfAbA6f8e4a5E8Ab82F62fe7C39859FA577269BE3":w4,"0xc00e94Cb662C3520282E6f5717214004A7f26888":w4,"0x6f40d4A6237C257fff2dB00FA0510DeEECd303eb":w4}};var gQ=({args:{spender:$,amount:J},sender:Q,address:Y},X)=>{let G=X.getHolding(Q,Y),{morpho:W,bundler3:{generalAdapter1:K},permit2:q}=t(X.chainId),U=$===W?"morpho":$===K?"bundler3.generalAdapter1":$===q?"permit2":void 0;if(U!=null){if(wV[X.chainId]?.includes(Y)&&G.erc20Allowances[U]>0n&&J>0n)throw new jK(Y,Q,U,J);G.erc20Allowances[U]=J}else{let N=X.tryGetVault($);if(N!=null&&N.asset===Y){let H=X.getVaultUser($,Q);H.allowance=J}else throw new SK(Y,Q,$)}};var EV=({args:{spender:$,amount:J,nonce:Q,deadline:Y},sender:X,address:G},W)=>{if(Y!=null){if(Y<0n)throw new d0.InvalidInput({deadline:Y});if(Y<W.block.timestamp)throw new k1.ExpiredEIP2612Signature(G,X,Y)}let K=W.getHolding(X,G);if(K.erc2612Nonce==null)throw new CK(G,X);if(K.erc2612Nonce!==Q)throw new k1.InvalidEIP2612Nonce(G,X,Q);K.erc2612Nonce+=1n;let{dai:q}=t(W.chainId);gQ({type:"Erc20_Approve",sender:X,address:G,args:{amount:G===q&&J>0n?e0:J,spender:$}},W)};var RV=({args:{amount:$,expiration:J,nonce:Q,deadline:Y},sender:X,address:G},W)=>{if(Y!=null){if(Y<0n)throw new d0.InvalidInput({deadline:Y});if(Y<W.block.timestamp)throw new k1.ExpiredPermit2Signature(G,X,Y)}let{permit2BundlerAllowance:K}=W.getHolding(X,G);if(K.nonce!==Q)throw new k1.InvalidPermit2Nonce(G,X,Q);K.amount=$,K.expiration=J,K.nonce+=1n};var j5=({args:{amount:$,from:J,to:Q},sender:Y,address:X},G)=>{let{morpho:W,bundler3:{generalAdapter1:K},permit2:q}=t(G.chainId);if(J!==C0&&J!==W){let H=G.getHolding(J,X);if(H.canTransfer===!1)throw new k1.UnauthorizedTransfer(X,J);if(Y===J&&J===K&&$===L.MAX_UINT_256)$=L.min($,H.balance);if(Y!==J&&J!==K){let f=Y===W?"morpho":Y===K?"bundler3.generalAdapter1":Y===q?"permit2":void 0;if(f!=null){if(H.erc20Allowances[f]<$)throw new k1.InsufficientAllowance(X,J,Y);H.erc20Allowances[f]-=$}else{let Z=G.tryGetVault(Y),M=G.tryGetVaultUser(Y,J);if(Z?.asset===X&&M!=null){if(M.allowance<$)throw new k1.InsufficientAllowance(X,J,Y);M.allowance-=$}}}if(H.balance-=$,H.balance<0n)throw new k1.InsufficientBalance(X,J)}let U=G.holdings[Q];if(U==null)return;let N=U[X];if(!N)throw new c4(Q,X);N.balance+=$};var BV=({args:{amount:$,from:J,to:Q},address:Y},X)=>{let G=X.tryGetHolding(J,Y);if(G==null)throw new k1.InsufficientBalance(Y,J);let{permit2:W}=t(X.chainId);if(W==null)throw new FK("Erc20_Transfer2",X.chainId);let{permit2BundlerAllowance:K}=G;if(K.expiration<X.block.timestamp||K.amount<$)throw new k1.InsufficientPermit2Allowance(Y,J);K.amount-=$,j5({type:"Erc20_Transfer",sender:W,address:Y,args:{amount:$,from:J,to:Q}},X)};var _V=({address:$,args:{amount:J,receiver:Q,slippage:Y=0n},sender:X},G)=>{let{bundler3:{generalAdapter1:W}}=t(G.chainId);if(X===W&&J===L.MAX_UINT_256)J=G.getHolding(X,$).balance;let K=G.getWrappedToken($),q=K.toUnwrappedExactAmountIn(J,Y);if(!EQ[G.chainId]?.has($))Q=X;j5({type:"Erc20_Transfer",sender:$,address:$,args:{amount:J,from:X,to:C0}},G),j5({type:"Erc20_Transfer",sender:$,address:K.underlying,args:{amount:q,from:C0,to:Q}},G)};var LV=({address:$,args:{amount:J,owner:Q,slippage:Y=0n},sender:X},G)=>{let{bundler3:{generalAdapter1:W}}=t(G.chainId);if(X===W&&J===L.MAX_UINT_256)J=G.getHolding(X,$).balance;let K=G.getWrappedToken($),q=K.toWrappedExactAmountIn(J,Y);j5({type:"Erc20_Transfer",sender:$,address:K.underlying,args:{amount:J,from:X,to:C0}},G),j5({type:"Erc20_Transfer",sender:$,address:K.address,args:{amount:q,from:C0,to:Q}},G)};var _0=($,J)=>{if("amount"in $.args){let{amount:Q}=$.args;if(Q<0n)throw new d0.InvalidInput({amount:Q})}if("slippage"in $.args){let{slippage:Q=0n}=$.args;if(Q<0n||Q>L.WAD)throw new d0.InvalidInput({slippage:Q})}switch($.type){case"Erc20_Approve":return gQ($,J);case"Erc20_Permit":return EV($,J);case"Erc20_Permit2":return RV($,J);case"Erc20_Transfer":return j5($,J);case"Erc20_Transfer2":return BV($,J);case"Erc20_Wrap":return LV($,J);case"Erc20_Unwrap":return _V($,J)}};var FV=({args:{id:$,assets:J=0n,shares:Q=0n,onBehalf:Y,receiver:X,slippage:G=0n},sender:W},K)=>{let{morpho:q,bundler3:{generalAdapter1:U}}=t(K.chainId);if(W===U){if(!K.getUser(Y).isBundlerAuthorized)throw new I1.UnauthorizedBundler(Y)}if(J===0n===(Q===0n))throw new N0.InconsistentInput(J,Q);_6({type:"Blue_AccrueInterest",sender:q,args:{id:$}},K);let N=K.getMarket($);if(N.price==null)throw new N0.UnknownOraclePrice($);if(Q===0n)Q=L.wMulUp(N.toBorrowShares(J,"Up"),L.WAD+G);else J=N.toBorrowAssets(L.wDivDown(Q,L.WAD+G),"Down");if(N.totalBorrowAssets+=J,N.totalBorrowShares+=Q,N.totalBorrowAssets>N.totalSupplyAssets)throw new N0.InsufficientLiquidity($);let H=K.getPosition(Y,$);if(H.borrowShares+=Q,!N.isHealthy(H))throw new N0.InsufficientCollateral(Y,$);_0({type:"Erc20_Transfer",sender:q,address:N.params.loanToken,args:{amount:J,from:q,to:X}},K)};var SV=({address:$,args:{srcToken:J,receiver:Q,slippage:Y=0n,...X},sender:G},W)=>{let K,q;if("swap"in X){let{offsets:U}=X.swap,N=Number(U.exactAmount),H=Number(U.quotedAmount),f=W0(X.swap.data);if(N>f-32)throw new B6.InvalidOffset(N,X.swap.data);if(H>f-32)throw new B6.InvalidOffset(H,X.swap.data);K=E0(p0(X.swap.data,N,N+32)),q=E0(p0(X.swap.data,H,H+32))}else({amount:K,quotedAmount:q}=X);_0({type:"Erc20_Transfer",sender:J,address:J,args:{amount:L.wDivUp(q,L.WAD-Y),from:G,to:C0}},W),_0({type:"Erc20_Transfer",sender:$,address:$,args:{amount:K,from:C0,to:Q}},W)};var jV=({address:$,args:{dstToken:J,receiver:Q,sellEntireBalance:Y=!1,slippage:X=0n,...G},sender:W},K)=>{let q,U;if("swap"in G){let{offsets:N}=G.swap,H=Number(N.exactAmount),f=Number(N.quotedAmount),Z=W0(G.swap.data);if(H>Z-32)throw new B6.InvalidOffset(H,G.swap.data);if(f>Z-32)throw new B6.InvalidOffset(f,G.swap.data);q=E0(p0(G.swap.data,H,H+32)),U=E0(p0(G.swap.data,f,f+32))}else({amount:q,quotedAmount:U}=G);if(Y){if(q===0n)throw new B6.ZeroAmount;let N=q;q=K.getHolding(W,$).balance,U=L.mulDivUp(U,q,N)}_0({type:"Erc20_Transfer",sender:$,address:$,args:{amount:q,from:W,to:C0}},K),_0({type:"Erc20_Transfer",sender:J,address:J,args:{amount:L.wMulDown(U,L.WAD-X),from:C0,to:Q}},K)};var mQ=($,J)=>{if("amount"in $.args){let{amount:Q,quotedAmount:Y}=$.args;if(Q<0n)throw new d0.InvalidInput({amount:Q});if(Y<0n)throw new d0.InvalidInput({quotedAmount:Y})}if("slippage"in $.args){let{slippage:Q=0n}=$.args;if(Q<0n||Q>L.WAD)throw new d0.InvalidInput({slippage:Q})}switch($.type){case"Paraswap_Buy":return SV($,J);case"Paraswap_Sell":return jV($,J)}};var CV=({args:{id:$,srcToken:J,onBehalf:Q,receiver:Y,slippage:X,...G},sender:W},K)=>{let q=K.getMarket($),U=K.getAccrualPosition(Q,$).accrueInterest(K.block.timestamp).borrowAssets,N,H;if("swap"in G){let{offsets:f}=G.swap,Z=Number(f.exactAmount),M=Number(f.quotedAmount),D=W0(G.swap.data);if(Z>D-32)throw new B6.InvalidOffset(Z,G.swap.data);if(M>D-32)throw new B6.InvalidOffset(M,G.swap.data);N=E0(p0(G.swap.data,Z,Z+32)),H=E0(p0(G.swap.data,M,M+32))}else N=U,H=L.mulDivDown(U,G.priceE27,L.RAY);mQ({address:q.params.loanToken,sender:W,type:"Paraswap_Buy",args:{srcToken:J,amount:U,quotedAmount:L.mulDivDown(H,U,N),receiver:Y,slippage:X}},K)};var PV=({args:{token:$,assets:J,callback:Q},sender:Y},X)=>{let{morpho:G}=t(X.chainId);if(J===0n)throw new I1.ZeroAssets;if(_0({type:"Erc20_Transfer",sender:G,address:$,args:{amount:J,from:G,to:Y}},X),Q)r8(Q(X),X);_0({type:"Erc20_Transfer",sender:G,address:$,args:{amount:J,from:Y,to:G}},X)};var TV=({args:{id:$,assets:J=0n,shares:Q=0n,onBehalf:Y,callback:X,slippage:G=0n},sender:W},K)=>{let{morpho:q,bundler3:{generalAdapter1:U}}=t(K.chainId);_6({type:"Blue_AccrueInterest",sender:q,args:{id:$}},K);let N=K.getMarket($);if(W===U){if(J===e0){if(J=K.getHolding(U,N.params.loanToken).balance,J===0n)throw new I1.ZeroAssets}if(Q===e0){if(Q=K.getPosition(Y,$).borrowShares,Q===0n)throw new I1.ZeroShares}}if(J===0n===(Q===0n))throw new N0.InconsistentInput(J,Q);if(Q===0n)Q=N.toBorrowShares(L.wDivDown(J,L.WAD+G));else J=L.wMulUp(N.toBorrowAssets(Q),L.WAD+G);N.totalBorrowAssets-=J,N.totalBorrowShares-=Q;let H=K.getPosition(Y,$);if(H.borrowShares-=Q,H.borrowShares<0n)throw new N0.InsufficientPosition(Y,N.id);if(X)r8(X(K),K);_0({type:"Erc20_Transfer",sender:q,address:N.params.loanToken,args:{amount:J,from:W,to:q}},K)};var IV=({args:{owner:$,authorized:J,isAuthorized:Q,deadline:Y}},X)=>{if(Y!=null){if(Y<0n)throw new d0.InvalidInput({deadline:Y});if(Y<X.block.timestamp)throw new N0.ExpiredSignature(Y)}let G=X.getUser($),{bundler3:{generalAdapter1:W}}=t(X.chainId);if(J===W){if(G.isBundlerAuthorized===Q)throw new N0.AlreadySet("isBundlerAuthorized",Q.toString());G.isBundlerAuthorized=Q}};var AV=({args:{id:$,assets:J=0n,shares:Q=0n,onBehalf:Y,callback:X,slippage:G=0n},sender:W},K)=>{let{morpho:q,bundler3:{generalAdapter1:U}}=t(K.chainId);_6({type:"Blue_AccrueInterest",sender:q,args:{id:$}},K);let N=K.getMarket($);if(W===U&&J===e0)J=K.getHolding(U,N.params.loanToken).balance;if(J===0n===(Q===0n))throw new N0.InconsistentInput(J,Q);if(Q===0n)Q=N.toSupplyShares(L.wDivDown(J,L.WAD+G),"Down");else J=L.wMulUp(N.toSupplyAssets(Q,"Up"),L.WAD+G);N.totalSupplyAssets+=J,N.totalSupplyShares+=Q;let H=K.getPosition(Y,$);if(H.supplyShares+=Q,X)r8(X(K),K);_0({type:"Erc20_Transfer",sender:q,address:N.params.loanToken,args:{amount:J,from:W,to:q}},K)};var xV=({args:{id:$,assets:J,onBehalf:Q,callback:Y},sender:X},G)=>{let{params:{collateralToken:W}}=G.getMarket($),{morpho:K,bundler3:{generalAdapter1:q}}=t(G.chainId);if(X===q&&J===e0)J=G.getHolding(q,W).balance;if(J===0n)throw new I1.ZeroAssets;let U=G.getPosition(Q,$);if(U.collateral+=J,Y)r8(Y(G),G);_0({type:"Erc20_Transfer",sender:K,address:W,args:{amount:J,from:X,to:K}},G)};var bV=({args:{id:$,assets:J=0n,shares:Q=0n,onBehalf:Y,receiver:X,slippage:G=0n},sender:W},K)=>{let{morpho:q,bundler3:{generalAdapter1:U}}=t(K.chainId);if(W===U){if(!K.getUser(Y).isBundlerAuthorized)throw new I1.UnauthorizedBundler(Y);if(Q===e0){if(Q=K.getPosition(Y,$).supplyShares,Q===0n)throw new I1.ZeroShares}}if(J===0n===(Q===0n))throw new N0.InconsistentInput(J,Q);_6({type:"Blue_AccrueInterest",sender:q,args:{id:$}},K);let N=K.getMarket($);if(Q===0n)Q=L.wMulUp(N.toSupplyShares(J),L.WAD+G);else J=N.toSupplyAssets(L.wDivDown(Q,L.WAD+G));if(N.totalSupplyAssets-=J,N.totalSupplyShares-=Q,N.totalBorrowAssets>N.totalSupplyAssets)throw new N0.InsufficientLiquidity($);let H=K.getPosition(Y,$);if(H.supplyShares-=Q,H.supplyShares<0n)throw new N0.InsufficientPosition(Y,$);_0({type:"Erc20_Transfer",sender:q,address:N.params.loanToken,args:{amount:J,from:q,to:X}},K)};var kV=({args:{id:$,assets:J,onBehalf:Q,receiver:Y},sender:X},G)=>{let{morpho:W,bundler3:{generalAdapter1:K}}=t(G.chainId);if(X===K){if(!G.getUser(Q).isBundlerAuthorized)throw new I1.UnauthorizedBundler(Q);if(J===e0)J=G.getPosition(Q,$).collateral}if(J===0n)throw new I1.ZeroAssets;_6({type:"Blue_AccrueInterest",sender:W,args:{id:$}},G);let q=G.getMarket($);if(q.price==null)throw new N0.UnknownOraclePrice($);let U=G.getPosition(Q,$);if(U.collateral-=J,U.collateral<0n)throw new N0.InsufficientPosition(Q,$);if(!q.isHealthy(U))throw new N0.InsufficientCollateral(Q,$);_0({type:"Erc20_Transfer",sender:W,address:q.params.collateralToken,args:{amount:J,from:W,to:Y}},G)};var J6=($,J)=>{if("assets"in $.args){let{assets:Q=0n}=$.args;if(Q<0n)throw new d0.InvalidInput({assets:Q})}if("shares"in $.args){let{shares:Q=0n}=$.args;if(Q<0n)throw new d0.InvalidInput({shares:Q})}if("slippage"in $.args){let{slippage:Q=0n}=$.args;if(Q<0n||Q>L.WAD)throw new d0.InvalidInput({slippage:Q})}switch($.type){case"Blue_AccrueInterest":return _6($,J);case"Blue_SetAuthorization":return IV($,J);case"Blue_Borrow":return FV($,J);case"Blue_Repay":return TV($,J);case"Blue_Supply":return AV($,J);case"Blue_SupplyCollateral":return xV($,J);case"Blue_Withdraw":return bV($,J);case"Blue_WithdrawCollateral":return kV($,J);case"Blue_FlashLoan":return PV($,J);case"Blue_Paraswap_BuyDebt":return CV($,J)}};var l4=({address:$},J)=>{let Q=J.getAccrualVault($),Y=Q.accrueInterest(J.block.timestamp);J.vaults[$]=new r2(Y);let X=Y.totalSupply-Q.totalSupply;if(X>0n&&Q.feeRecipient!==C0)_0({type:"Erc20_Transfer",sender:$,address:$,args:{amount:X,from:C0,to:Q.feeRecipient}},J)};var yV=({args:{assets:$=0n,shares:J=0n,owner:Q,slippage:Y=0n},sender:X,address:G},W)=>{l4({type:"MetaMorpho_AccrueInterest",sender:G,address:G,args:{}},W);let{bundler3:{generalAdapter1:K}}=t(W.chainId),q=W.getVault(G);if(J===0n){if(X===K){if($===L.MAX_UINT_256)$=W.getHolding(X,q.asset).balance;if($===0n)throw new f1.ZeroAssets}J=q.toShares(L.wDivDown($,L.WAD+Y),"Down")}else{if(X===K&&J===0n)throw new f1.ZeroShares;$=L.wMulUp(q.toAssets(J,"Up"),L.WAD+Y)}_0({type:"Erc20_Transfer",sender:G,address:q.asset,args:{amount:$,from:X,to:G}},W);let U=$;for(let N of q.supplyQueue){let{cap:H}=W.getVaultMarketConfig(G,N);if(H===0n)continue;J6({type:"Blue_AccrueInterest",sender:G,args:{id:N}},W);let{supplyAssets:f}=W.getAccrualPosition(G,N),Z=L.zeroFloorSub(H,f);if(Z===0n)continue;let M=L.min(U,Z);if(J6({type:"Blue_Supply",sender:G,args:{id:N,assets:M,onBehalf:G}},W),U-=M,U<=0n)break}if(U!==0n)throw new f1.AllCapsReached(G,U);q.totalAssets+=$,q.lastTotalAssets=q.totalAssets,q.totalSupply+=J,_0({type:"Erc20_Transfer",sender:G,address:G,args:{amount:J,from:C0,to:Q}},W)};var dQ=({args:$,sender:J,address:Q},Y)=>{let{owner:X,publicAllocatorConfig:G}=Y.getVault(Q);if(J!==X&&(!G||J!==Q))throw new f1.NotAllocatorRole(Q,J);let W=0n,K=0n;for(let{id:U,assets:N}of $){J6({type:"Blue_AccrueInterest",sender:Q,args:{id:U}},Y);let{cap:H,enabled:f}=Y.getVaultMarketConfig(Q,U),{supplyAssets:Z,supplyShares:M}=Y.getAccrualPosition(Q,U),D=L.zeroFloorSub(Z,N);if(D>0n){if(!f)throw new f1.MarketNotEnabled(Q,U);J6({type:"Blue_Withdraw",sender:Q,args:{id:U,...N===0n?{shares:M}:{assets:D},onBehalf:Q,receiver:Q}},Y),K+=D}else{let R=N===L.MAX_UINT_256?L.zeroFloorSub(K,W):N-Z;if(R===0n)continue;if(H===0n)throw new f1.UnauthorizedMarket(Q,U);if(Z+R>H)throw new f1.SupplyCapExceeded(Q,U,H);J6({type:"Blue_Supply",sender:Q,args:{id:U,assets:R,onBehalf:Q}},Y),W+=R}}if(K!==W)throw new f1.InconsistentReallocation(Q,W,K);let q=Y.tryGetAccrualVault(Q)?.accrueInterest(Y.block.timestamp);if(q!=null)Y.getVault(Q).totalAssets=q.totalAssets};var vV=({args:{withdrawals:$,supplyMarketId:J},sender:Q,address:Y},X)=>{let{publicAllocatorConfig:G}=X.getVault(Y);if(G==null)throw new PK(Y);let{fee:W}=G;if(W>0n)_0({type:"Erc20_Transfer",sender:Y,address:q0,args:{amount:W,from:Q,to:C0}},X),G.accruedFee+=W;if($.length===0)throw new F5.EmptyWithdrawals(Y);let K=X.getVaultMarketConfig(Y,J);if(!K.enabled)throw new f1.MarketNotEnabled(Y,J);if(K.publicAllocatorConfig==null)throw new AQ(Y,J);let q=0n,U=void 0,N=[];for(let{id:H,assets:f}of $){if(U!=null&&H<=U)throw new F5.InconsistentWithdrawals(Y,U,H);U=H;let Z=X.getVaultMarketConfig(Y,H);if(!Z.enabled)throw new f1.MarketNotEnabled(Y,H);if(Z.publicAllocatorConfig==null)throw new AQ(Y,H);if(Z.publicAllocatorConfig.maxOut<f)throw new F5.MaxOutflowExceeded(Y,H);if(f===0n)throw new F5.WithdrawZero(Y,H);if(H===J)throw new F5.DepositMarketInWithdrawals(Y,H);J6({type:"Blue_AccrueInterest",sender:Y,args:{id:H}},X);let{supplyAssets:M}=X.getAccrualPosition(Y,H);if(M<f)throw new F5.NotEnoughSupply(Y,H);Z.publicAllocatorConfig.maxIn+=f,Z.publicAllocatorConfig.maxOut-=f,N.push({id:H,assets:M-f}),q+=f}if(K.publicAllocatorConfig.maxIn<q)throw new F5.MaxInflowExceeded(Y,J);K.publicAllocatorConfig.maxIn-=q,K.publicAllocatorConfig.maxOut+=q,N.push({id:J,assets:L.MAX_UINT_256}),dQ({type:"MetaMorpho_Reallocate",sender:Y,address:Y,args:N},X)};var hV=({args:{assets:$=0n,shares:J=0n,owner:Q,receiver:Y,slippage:X=0n},sender:G,address:W},K)=>{l4({type:"MetaMorpho_AccrueInterest",sender:W,address:W,args:{}},K);let{bundler3:{generalAdapter1:q}}=t(K.chainId),U=K.getVault(W);if(J===0n){if(G===q&&$===0n)throw new f1.ZeroAssets;J=L.wMulUp(U.toShares($),L.WAD+X)}else{if(G===q){if(J===L.MAX_UINT_256)J=K.getHolding(Q,W).balance;if(J===0n)throw new f1.ZeroShares}$=U.toAssets(L.wDivDown(J,L.WAD+X))}_0({type:"Erc20_Transfer",sender:G,address:W,args:{amount:J,from:Q,to:C0}},K);let N=$;for(let H of U.withdrawQueue){let{withdrawCapacityLimit:{value:f}}=K.getAccrualPosition(W,H);if(J6({type:"Blue_AccrueInterest",sender:W,args:{id:H}},K),f===0n)continue;let Z=L.min(N,f);if(J6({type:"Blue_Withdraw",sender:W,args:{id:H,assets:Z,onBehalf:W,receiver:W}},K),N-=Z,N<=0n)break}if(N!==0n)throw new f1.NotEnoughLiquidity(W,N);U.totalAssets-=$,U.lastTotalAssets=U.totalAssets,U.totalSupply-=J,_0({type:"Erc20_Transfer",sender:W,address:U.asset,args:{amount:$,from:W,to:Y}},K)};var gV=($,J)=>{if("assets"in $.args){let{assets:Q=0n}=$.args;if(Q<0n)throw new d0.InvalidInput({assets:Q})}if("shares"in $.args){let{shares:Q=0n}=$.args;if(Q<0n)throw new d0.InvalidInput({shares:Q})}if("slippage"in $.args){let{slippage:Q=0n}=$.args;if(Q<0n||Q>L.WAD)throw new d0.InvalidInput({slippage:Q})}switch($.type){case"MetaMorpho_AccrueInterest":return l4($,J);case"MetaMorpho_Deposit":return yV($,J);case"MetaMorpho_Withdraw":return hV($,J);case"MetaMorpho_Reallocate":return dQ($,J);case"MetaMorpho_PublicReallocate":return vV($,J)}};var kI=pK({mark:()=>"immutable",strict:!0}),mV=($,J,Q=0)=>{try{if(WV($))J6($,J);else if(KV($))gV($,J);else if(UV($))_0($,J);else if(qV($))mQ($,J);return J}catch(Y){if(!(Y instanceof Error))throw Y;throw new d0.Simulation(Y,Q,$)}};function r8($,J,Q=mV){let Y=[J];for(let X=0;X<$.length;++X)Y.push(Q($[X],Y[X],X));return Y}var t8=($,J,Q=0)=>kI(J,(Y)=>{mV($,Y,Q)});var yI=920000000000000000n;class lK{chainId;block;global;markets;users;tokens;vaults;positions;holdings;vaultMarketConfigs;vaultUsers;vaultV2s;vaultV2Adapters;constructor({chainId:$,block:{number:J,timestamp:Q},global:{feeRecipient:Y}={},markets:X={},users:G={},tokens:W={},vaults:K={},positions:q={},holdings:U={},vaultMarketConfigs:N={},vaultUsers:H={},vaultV2s:f={},vaultV2Adapters:Z={}}){this.chainId=$,this.block={number:J,timestamp:Q},this.global={feeRecipient:Y},this.markets=X,this.users=G,this.tokens=W,this.vaults=K,this.positions=q,this.holdings=U,this.vaultMarketConfigs=N,this.vaultUsers=H,this.vaultV2s=f,this.vaultV2Adapters=Z}getMarket($){let J=this.markets[$];if(J==null)throw new FQ($);return J}tryGetMarket($){return b0(this.getMarket.bind(this,$),FQ)}getUser($){let J=this.users[$];if(J==null)throw new SQ($);return J}tryGetUser($){return b0(this.getUser.bind(this,$),SQ)}getToken($){let J=this.tokens[$];if(J==null)throw new DQ($);return J}tryGetToken($){return b0(this.getToken.bind(this,$),DQ)}getVault($){let J=this.vaults[$];if(J==null)throw new CQ($);return J}tryGetVault($){return b0(this.getVault.bind(this,$),CQ)}getAccrualVault($){let J=this.getVault($);return new d4(J,J.withdrawQueue.map((Q)=>({config:this.getVaultMarketConfig($,Q),position:this.getAccrualPosition($,Q)})))}tryGetAccrualVault($){return b0(this.getAccrualVault.bind(this,$),B0)}getPosition($,J){let Q=this.positions[$]?.[J];if(Q==null)throw new jQ($,J);return Q}tryGetPosition($,J){return b0(this.getPosition.bind(this,$,J),jQ)}getAccrualPosition($,J){return new E6(this.getPosition($,J),this.getMarket(J))}tryGetAccrualPosition($,J){return b0(this.getAccrualPosition.bind(this,$,J),B0)}getHolding($,J){let Q=this.holdings[$]?.[J];if(Q==null)throw new c4($,J);return Q}tryGetHolding($,J){return b0(this.getHolding.bind(this,$,J),c4)}getVaultMarketConfig($,J){let Q=this.vaultMarketConfigs[$]?.[J];if(Q==null)throw new PQ($,J);return Q}tryGetVaultMarketConfig($,J){return b0(this.getVaultMarketConfig.bind(this,$,J),PQ)}getVaultUser($,J){let Q=this.vaultUsers[$]?.[J];if(Q==null)throw new TQ($,J);return Q}tryGetVaultUser($,J){return b0(this.getVaultUser.bind(this,$,J),TQ)}getWrappedToken($){let J=this.getToken($);if(!(J instanceof s6)){let Q=this.tryGetAccrualVault(J.address);if(Q==null)throw new IQ($);return Q}return J}tryGetWrappedToken($){return b0(this.getWrappedToken.bind(this,$),B0)}getVaultV2Adapter($){let J=this.vaultV2Adapters[$];if(J==null)throw new xQ($);return J}tryGetVaultV2Adapter($){return b0(this.getVaultV2Adapter.bind(this,$),xQ)}getAccrualVaultV2Adapter($){let J=this.getVaultV2Adapter($);if(J instanceof L5)return new v7(J,this.getAccrualVault(J.morphoVaultV1),this.getHolding(J.address,J.morphoVaultV1).balance);throw new P7($)}tryGetAccrualVaultV2Adapter($){return b0(this.getAccrualVaultV2Adapter.bind(this,$),B0)}getVaultV2($){let J=this.vaultV2s[$];if(J==null)throw new bQ($);return J}tryGetVaultV2($){return b0(this.getVaultV2.bind(this,$),bQ)}getAccrualVaultV2($){let J=this.getVaultV2($);return new u4(J,this.getAccrualVaultV2Adapter(J.liquidityAdapter),J.adapters.map(this.getAccrualVaultV2Adapter.bind(this)),this.getHolding(J.address,J.asset).balance,{})}tryGetAccrualVaultV2($){return b0(this.getAccrualVaultV2.bind(this,$),B0)}getBundleBalance($,J,Q=!0){return b0(()=>{let{balance:Y}=this.getHolding($,J);if(!Q)return Y;let{bundler3:{generalAdapter1:X}}=t(this.chainId);return b0(()=>{Y+=this.getHolding(X,J).balance},B0),Y},B0)}getBundleMaxBalance($,J,Q,Y=new Set){let X=this.getBundleAssetBalances($,J,Q);if(!X)return X;return XK(X.allocations).filter(QK).filter(({type:G})=>!Y.has(G)).reduce((G,{dstAmount:W})=>G+W,0n)}getBundleMaxCapacities($,J,Q,Y,X=new Set,G){return b0(()=>{let{loanToken:W,collateralToken:K}=this.getMarket(J).params,q=this.getBundleMaxBalance($,W,Q,X),U=this.getBundleMaxBalance($,K,Q,X);if(q==null||U==null)return;return this.getMarketPublicReallocations(J,Y).data.getAccrualPosition($,J).getMaxCapacities(q,U,G)},B0)}getBundleAssetBalances($,J,Q,Y=!0){return b0(()=>{let X=this.getBundleBalance($,J,Y);if(X==null)return;let G=new RK({srcToken:this.getToken(J),srcAmount:X,dstAmount:X}),W=b0(()=>this.getWrappedToken(J),IQ);if(!W)return G;b0(()=>{if(W instanceof h4)return;let N=this.getBundleBalance($,W.underlying);if(N!=null){let H=W.toWrappedExactAmountIn(N,Q);G.add({type:"wrapped",srcToken:this.getToken(W.underlying),srcAmount:N,dstAmount:H})}},B0);let{wstEth:K,stEth:q,wNative:U}=t(this.chainId);if(this.chainId===_.EthMainnet&&J===K&&U!=null&&q!=null)b0(()=>{let N=this.getBundleBalance($,U);if(N!=null){let f=this.getWrappedToken(q).toWrappedExactAmountIn(N,Q),Z=W.toWrappedExactAmountIn(f,Q);G.add({type:"unwrapped-staked-wrapped",srcToken:this.getToken(U),srcAmount:N,dstAmount:Z})}},B0),b0(()=>{let N=this.getBundleBalance($,q0);if(N!=null){let f=this.getWrappedToken(q).toWrappedExactAmountIn(N,Q),Z=W.toWrappedExactAmountIn(f,Q);G.add({type:"staked-wrapped",srcToken:this.getToken(q0),srcAmount:N,dstAmount:Z})}},B0);return b0(()=>{if(!(W instanceof h4))return;let N=this.getBundleAssetBalances($,W.underlying,Q);if(N)for(let{type:H,srcToken:f,srcAmount:Z,dstAmount:M}of XK(N.allocations).filter(QK)){let D={base:"vault",wrapped:"wrapped-vault"}[H];if(D){let R=W.toWrappedExactAmountIn(M,Q);G.add({type:D,srcToken:f,srcAmount:Z,dstAmount:R})}}}),G},B0)}getMarketPublicReallocations($,{enabled:J=!0,reallocatableVaults:Q=Ez(this.vaultMarketConfigs),defaultMaxWithdrawalUtilization:Y=yI,maxWithdrawalUtilization:X={},delay:G=V0.s.from.h(1n)}={}){if(!J)return{withdrawals:[],data:this};Q=Q.filter((U)=>{return!!this.vaultMarketConfigs[U]?.[$]?.enabled&&this.vaults[U]?.publicAllocatorConfig!=null});let W=this,K=[],q=()=>{let N=Q.map((Z)=>b0(()=>{let{cap:M,pendingCap:D,publicAllocatorConfig:R}=W.getVaultMarketConfig(Z,$),O=D.validAt>=W.block.timestamp?L.min(D.value,M):M,E=L.zeroFloorSub(O,W.getAccrualPosition(Z,$).accrueInterest(this.block.timestamp+G).supplyAssets),V=W.getVault(Z).withdrawQueue.filter((w)=>w!==$&&!K.some((B)=>B.id===w&&B.vault===Z)).map((w)=>{try{let B=W.getAccrualPosition(Z,w).accrueInterest(this.block.timestamp),j=B.market.getWithdrawToUtilization(X[w]??Y),T=W.getVaultMarketConfig(Z,w).publicAllocatorConfig;return{id:w,assets:L.min(B.supplyAssets,j,E,R?.maxIn??0n,T?.maxOut??0n)}}catch{return{id:w,assets:0n}}}).filter(({assets:w})=>w>0n).sort(YK(({assets:w})=>w,"desc"));return{vault:Z,largestWithdrawal:V[0]}},B0)).filter((Z)=>Z?.largestWithdrawal!=null&&Z.largestWithdrawal.assets>0n).sort(YK((Z)=>Z.largestWithdrawal.assets,"desc"))[0];if(N==null||N.largestWithdrawal==null)return{withdrawals:K,data:W};let{vault:H,largestWithdrawal:f}=N;return K.push({...f,vault:H}),W=t8({type:"MetaMorpho_PublicReallocate",address:H,sender:C0,args:{withdrawals:[f],supplyMarketId:$}},W),q()};return q()}}var HV0={swapExactAmountIn:{exactAmount:4n+32n*3n,limitAmount:4n+32n*4n,quotedAmount:4n+32n*5n},swapExactAmountInOnBalancerV2:{exactAmount:4n+32n*0n,limitAmount:4n+32n*1n,quotedAmount:4n+32n*2n},swapExactAmountInOnCurveV1:{exactAmount:4n+32n*4n,limitAmount:4n+32n*5n,quotedAmount:4n+32n*6n},swapExactAmountInOnCurveV2:{exactAmount:4n+32n*6n,limitAmount:4n+32n*7n,quotedAmount:4n+32n*8n},swapExactAmountInOnUniswapV2:{exactAmount:4n+32n*2n,limitAmount:4n+32n*3n,quotedAmount:4n+32n*4n},swapExactAmountInOnUniswapV3:{exactAmount:4n+32n*2n,limitAmount:4n+32n*3n,quotedAmount:4n+32n*4n},swapExactAmountOut:{exactAmount:4n+32n*4n,limitAmount:4n+32n*3n,quotedAmount:4n+32n*5n},swapExactAmountOutOnBalancerV2:{exactAmount:4n+32n*1n,limitAmount:4n+32n*0n,quotedAmount:4n+32n*2n},swapExactAmountOutOnUniswapV2:{exactAmount:4n+32n*3n,limitAmount:4n+32n*2n,quotedAmount:4n+32n*4n},swapExactAmountOutOnUniswapV3:{exactAmount:4n+32n*3n,limitAmount:4n+32n*2n,quotedAmount:4n+32n*4n}};var{WAD:uQ}=L,Z1="0x0000000000000000000000000000000000000001",cV=2n**128n,vI={morpho:cV,permit2:0n,"bundler3.generalAdapter1":0n},hI={amount:0n,expiration:0n,nonce:0n};function dV($){return new s2({user:Z1,token:$,balance:cV,erc20Allowances:vI,permit2BundlerAllowance:hI})}function nK($){let J=$.existingShares+$.sharesReceived,Q=J*$.assetsPerShare/10n**BigInt($.shareDecimals);return{sharesReceived:$.sharesReceived.toString(),positionAssets:Q.toString(),positionShares:J.toString()}}function oK($){let J=$.existingShares-$.sharesBurned,Q=J*$.assetsPerShare/10n**BigInt($.shareDecimals);return{sharesReceived:$.sharesBurned.toString(),assetsReceived:$.assetsReceived.toString(),positionAssets:Q.toString(),positionShares:J.toString()}}function uV($,J){if($===0n)return"0";let Q=J*uQ/$;return pV(Q)}function pV($){let J=$/uQ,Q=$%uQ;if(Q===0n)return J.toString();let Y=Q.toString().padStart(18,"0").replace(/0+$/,"");return`${J}.${Y}`}function u7($,J,Q){let Y=$.id,X=$.params.loanToken,G=$.params.collateralToken;return new lK({chainId:1,block:{number:0n,timestamp:Q},markets:{[Y]:$},positions:{[Z1]:{[Y]:new m4({user:Z1,marketId:Y,supplyShares:J.supplyShares,borrowShares:J.borrowShares,collateral:J.collateral})}},holdings:{[Z1]:{[X]:dV(X),[G]:dV(G)}}})}function c7($,J,Q){let Y=J.markets[Q];if(!Y)throw Error(`Market ${Q} not found in post-state`);let X=J.positions[Z1];if(!X)throw Error("User positions not found in post-state");let G=X[Q];if(!G)throw Error(`Position for market ${Q} not found in post-state`);let W=new i6(Y),K={supplyShares:G.supplyShares,borrowShares:G.borrowShares,collateral:G.collateral},q=W.toSupplyAssets(K.supplyShares),U=W.toBorrowAssets(K.borrowShares),N=uV($.totalSupplyAssets,$.totalBorrowAssets),H=uV(W.totalSupplyAssets,W.totalBorrowAssets),f={supplyAssets:q.toString(),borrowAssets:U.toString(),collateral:K.collateral.toString(),utilizationBefore:N,utilizationAfter:H};try{f.borrowApyBefore=$.borrowApy.toString()}catch{}try{f.borrowApyAfter=W.borrowApy.toString()}catch{}if(U>0n&&W.price!=null&&W.price>0n){let Z=W.getHealthFactor({collateral:K.collateral,borrowShares:K.borrowShares});if(Z!=null)f.healthFactor=pV(Z),f.isHealthy=Z>=uQ;let M=W.getMaxBorrowableAssets({collateral:K.collateral,borrowShares:K.borrowShares});if(M!=null)f.maxBorrowableAssets=(M>0n?M:0n).toString()}return f}function iK($){let J=$.timestamp??V0.timestamp(),Q=$.market.accrueInterest(J),Y=Q.id,X=u7(Q,$.position,J),G=t8({type:"Blue_Supply",sender:Z1,args:{id:Y,onBehalf:Z1,assets:$.assets}},X);return c7(Q,G,Y)}function sK($){let J=$.timestamp??V0.timestamp(),Q=$.market.accrueInterest(J),Y=Q.id,X=u7(Q,$.position,J),G=t8({type:"Blue_Borrow",sender:Z1,args:{id:Y,onBehalf:Z1,receiver:Z1,assets:$.assets}},X);return c7(Q,G,Y)}function rK($){let J=$.timestamp??V0.timestamp(),Q=$.market.accrueInterest(J),Y=Q.id,X=u7(Q,$.position,J),G=$.shares>0n?{type:"Blue_Repay",sender:Z1,args:{id:Y,onBehalf:Z1,shares:$.shares}}:{type:"Blue_Repay",sender:Z1,args:{id:Y,onBehalf:Z1,assets:$.assets}},W=t8(G,X);return c7(Q,W,Y)}function tK($){let J=$.timestamp??V0.timestamp(),Q=$.market.accrueInterest(J),Y=Q.id,X=u7(Q,$.position,J),G=t8({type:"Blue_SupplyCollateral",sender:Z1,args:{id:Y,onBehalf:Z1,assets:$.assets}},X);return c7(Q,G,Y)}function aK($){let J=$.timestamp??V0.timestamp(),Q=$.market.accrueInterest(J),Y=Q.id,X=u7(Q,$.position,J),G=t8({type:"Blue_WithdrawCollateral",sender:Z1,args:{id:Y,onBehalf:Z1,receiver:Z1,assets:$.assets}},X);return c7(Q,G,Y)}var gI=[{inputs:[{components:[{name:"loanToken",type:"address"},{name:"collateralToken",type:"address"},{name:"oracle",type:"address"},{name:"irm",type:"address"},{name:"lltv",type:"uint256"}],name:"marketParams",type:"tuple"},{components:[{name:"totalSupplyAssets",type:"uint128"},{name:"totalSupplyShares",type:"uint128"},{name:"totalBorrowAssets",type:"uint128"},{name:"totalBorrowShares",type:"uint128"},{name:"lastUpdate",type:"uint128"},{name:"fee",type:"uint128"}],name:"market",type:"tuple"}],name:"borrowRateView",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"}];function lV($,J){return r({abi:gI,functionName:"borrowRateView",args:[{loanToken:$.loanToken,collateralToken:$.collateralToken,oracle:$.oracle,irm:$.irm,lltv:$.lltv},{totalSupplyAssets:J.totalSupplyAssets,totalSupplyShares:J.totalSupplyShares,totalBorrowAssets:J.totalBorrowAssets,totalBorrowShares:J.totalBorrowShares,lastUpdate:J.lastUpdate,fee:J.fee}]})}function cQ($,J,Q){return{target:$,calldata:lV(J,Q),label:"borrowRateView"}}function pQ($){return $.startsWith("0x")?BigInt($):BigInt("0x"+$)}function lQ($){let J=365n*24n*60n*60n,Q=10n**18n,X=$*J*10000n/Q,G=X/100n,W=X%100n;return`${G}.${W.toString().padStart(2,"0")}`}var nV=[{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"}],oV=[{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"AllowanceExpired",type:"error"},{inputs:[],name:"ExcessiveInvalidation",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"InsufficientAllowance",type:"error"},{inputs:[{internalType:"uint256",name:"maxAmount",type:"uint256"}],name:"InvalidAmount",type:"error"},{inputs:[],name:"InvalidContractSignature",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"InvalidSignatureLength",type:"error"},{inputs:[],name:"InvalidSigner",type:"error"},{inputs:[],name:"LengthMismatch",type:"error"},{inputs:[{internalType:"uint256",name:"signatureDeadline",type:"uint256"}],name:"SignatureExpired",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"spender",type:"address"}],name:"Lockdown",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint48",name:"newNonce",type:"uint48"},{indexed:!1,internalType:"uint48",name:"oldNonce",type:"uint48"}],name:"NonceInvalidation",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint160",name:"amount",type:"uint160"},{indexed:!1,internalType:"uint48",name:"expiration",type:"uint48"},{indexed:!1,internalType:"uint48",name:"nonce",type:"uint48"}],name:"Permit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"uint256",name:"word",type:"uint256"},{indexed:!1,internalType:"uint256",name:"mask",type:"uint256"}],name:"UnorderedNonceInvalidation",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint48",name:"newNonce",type:"uint48"}],name:"invalidateNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"wordPos",type:"uint256"},{internalType:"uint256",name:"mask",type:"uint256"}],name:"invalidateUnorderedNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"}],internalType:"struct IAllowanceTransfer.TokenSpenderPair[]",name:"approvals",type:"tuple[]"}],name:"lockdown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"nonceBitmap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct IAllowanceTransfer.PermitDetails",name:"details",type:"tuple"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"sigDeadline",type:"uint256"}],internalType:"struct IAllowanceTransfer.PermitSingle",name:"permitSingle",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions",name:"permitted",type:"tuple"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails",name:"transferDetails",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISignatureTransfer.TokenPermissions[]",name:"permitted",type:"tuple[]"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct ISignatureTransfer.PermitBatchTransferFrom",name:"permit",type:"tuple"},{components:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"requestedAmount",type:"uint256"}],internalType:"struct ISignatureTransfer.SignatureTransferDetails[]",name:"transferDetails",type:"tuple[]"},{internalType:"address",name:"owner",type:"address"},{internalType:"bytes32",name:"witness",type:"bytes32"},{internalType:"string",name:"witnessTypeString",type:"string"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permitWitnessTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],internalType:"struct IAllowanceTransfer.AllowanceTransferDetails[]",name:"transferDetails",type:"tuple[]"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"address",name:"token",type:"address"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}],iV=[{inputs:[{internalType:"contract IStETH",name:"_stETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_wstETHAmount",type:"uint256"}],name:"getStETHByWstETH",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_stETHAmount",type:"uint256"}],name:"getWstETHByStETH",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"stETH",outputs:[{internalType:"contract IStETH",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"stEthPerToken",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokensPerStEth",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_wstETHAmount",type:"uint256"}],name:"unwrap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_stETHAmount",type:"uint256"}],name:"wrap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],L1=[{type:"event",name:"AccrueInterest",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"prevBorrowRate",type:"uint256",indexed:!1,internalType:"uint256"},{name:"interest",type:"uint256",indexed:!1,internalType:"uint256"},{name:"feeShares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Borrow",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"caller",type:"address",indexed:!1,internalType:"address"},{name:"onBehalf",type:"address",indexed:!0,internalType:"address"},{name:"receiver",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"CreateMarket",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"marketParams",type:"tuple",indexed:!1,internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]}],anonymous:!1},{type:"event",name:"EnableIrm",inputs:[{name:"irm",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"EnableLltv",inputs:[{name:"lltv",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"FlashLoan",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"token",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"IncrementNonce",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"authorizer",type:"address",indexed:!0,internalType:"address"},{name:"usedNonce",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Liquidate",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"borrower",type:"address",indexed:!0,internalType:"address"},{name:"repaidAssets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"repaidShares",type:"uint256",indexed:!1,internalType:"uint256"},{name:"seizedAssets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"badDebtAssets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"badDebtShares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Repay",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"onBehalf",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"SetAuthorization",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"authorizer",type:"address",indexed:!0,internalType:"address"},{name:"authorized",type:"address",indexed:!0,internalType:"address"},{name:"newIsAuthorized",type:"bool",indexed:!1,internalType:"bool"}],anonymous:!1},{type:"event",name:"SetFee",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"newFee",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"SetFeeRecipient",inputs:[{name:"newFeeRecipient",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetOwner",inputs:[{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Supply",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"onBehalf",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"SupplyCollateral",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"onBehalf",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Withdraw",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"caller",type:"address",indexed:!1,internalType:"address"},{name:"onBehalf",type:"address",indexed:!0,internalType:"address"},{name:"receiver",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"WithdrawCollateral",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"caller",type:"address",indexed:!1,internalType:"address"},{name:"onBehalf",type:"address",indexed:!0,internalType:"address"},{name:"receiver",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"constructor",inputs:[{name:"newOwner",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"function",name:"DOMAIN_SEPARATOR",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"accrueInterest",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"borrow",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]},{name:"assets",type:"uint256",internalType:"uint256"},{name:"shares",type:"uint256",internalType:"uint256"},{name:"onBehalf",type:"address",internalType:"address"},{name:"receiver",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"createMarket",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"enableIrm",inputs:[{name:"irm",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"enableLltv",inputs:[{name:"lltv",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"extSloads",inputs:[{name:"slots",type:"bytes32[]",internalType:"bytes32[]"}],outputs:[{name:"res",type:"bytes32[]",internalType:"bytes32[]"}],stateMutability:"view"},{type:"function",name:"feeRecipient",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"flashLoan",inputs:[{name:"token",type:"address",internalType:"address"},{name:"assets",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"idToMarketParams",inputs:[{name:"",type:"bytes32",internalType:"Id"}],outputs:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"isAuthorized",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"isIrmEnabled",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"isLltvEnabled",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"liquidate",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]},{name:"borrower",type:"address",internalType:"address"},{name:"seizedAssets",type:"uint256",internalType:"uint256"},{name:"repaidShares",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"market",inputs:[{name:"",type:"bytes32",internalType:"Id"}],outputs:[{name:"totalSupplyAssets",type:"uint128",internalType:"uint128"},{name:"totalSupplyShares",type:"uint128",internalType:"uint128"},{name:"totalBorrowAssets",type:"uint128",internalType:"uint128"},{name:"totalBorrowShares",type:"uint128",internalType:"uint128"},{name:"lastUpdate",type:"uint128",internalType:"uint128"},{name:"fee",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{type:"function",name:"nonce",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"position",inputs:[{name:"",type:"bytes32",internalType:"Id"},{name:"",type:"address",internalType:"address"}],outputs:[{name:"supplyShares",type:"uint256",internalType:"uint256"},{name:"borrowShares",type:"uint128",internalType:"uint128"},{name:"collateral",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{type:"function",name:"repay",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]},{name:"assets",type:"uint256",internalType:"uint256"},{name:"shares",type:"uint256",internalType:"uint256"},{name:"onBehalf",type:"address",internalType:"address"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"setAuthorization",inputs:[{name:"authorized",type:"address",internalType:"address"},{name:"newIsAuthorized",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setAuthorizationWithSig",inputs:[{name:"authorization",type:"tuple",internalType:"struct Authorization",components:[{name:"authorizer",type:"address",internalType:"address"},{name:"authorized",type:"address",internalType:"address"},{name:"isAuthorized",type:"bool",internalType:"bool"},{name:"nonce",type:"uint256",internalType:"uint256"},{name:"deadline",type:"uint256",internalType:"uint256"}]},{name:"signature",type:"tuple",internalType:"struct Signature",components:[{name:"v",type:"uint8",internalType:"uint8"},{name:"r",type:"bytes32",internalType:"bytes32"},{name:"s",type:"bytes32",internalType:"bytes32"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setFee",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]},{name:"newFee",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setFeeRecipient",inputs:[{name:"newFeeRecipient",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setOwner",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"supply",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]},{name:"assets",type:"uint256",internalType:"uint256"},{name:"shares",type:"uint256",internalType:"uint256"},{name:"onBehalf",type:"address",internalType:"address"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"supplyCollateral",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]},{name:"assets",type:"uint256",internalType:"uint256"},{name:"onBehalf",type:"address",internalType:"address"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"withdraw",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]},{name:"assets",type:"uint256",internalType:"uint256"},{name:"shares",type:"uint256",internalType:"uint256"},{name:"onBehalf",type:"address",internalType:"address"},{name:"receiver",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"withdrawCollateral",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]},{name:"assets",type:"uint256",internalType:"uint256"},{name:"onBehalf",type:"address",internalType:"address"},{name:"receiver",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"}],sV=[{inputs:[{internalType:"address",name:"morpho",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"Id",name:"id",type:"bytes32",indexed:!0},{internalType:"uint256",name:"avgBorrowRate",type:"uint256",indexed:!1},{internalType:"uint256",name:"rateAtTarget",type:"uint256",indexed:!1}],type:"event",name:"BorrowRateUpdate",anonymous:!1},{inputs:[],stateMutability:"view",type:"function",name:"MORPHO",outputs:[{internalType:"address",name:"",type:"address"}]},{inputs:[{internalType:"struct MarketParams",name:"marketParams",type:"tuple",components:[{internalType:"address",name:"loanToken",type:"address"},{internalType:"address",name:"collateralToken",type:"address"},{internalType:"address",name:"oracle",type:"address"},{internalType:"address",name:"irm",type:"address"},{internalType:"uint256",name:"lltv",type:"uint256"}]},{internalType:"struct Market",name:"market",type:"tuple",components:[{internalType:"uint128",name:"totalSupplyAssets",type:"uint128"},{internalType:"uint128",name:"totalSupplyShares",type:"uint128"},{internalType:"uint128",name:"totalBorrowAssets",type:"uint128"},{internalType:"uint128",name:"totalBorrowShares",type:"uint128"},{internalType:"uint128",name:"lastUpdate",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"}]}],stateMutability:"nonpayable",type:"function",name:"borrowRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}]},{inputs:[{internalType:"struct MarketParams",name:"marketParams",type:"tuple",components:[{internalType:"address",name:"loanToken",type:"address"},{internalType:"address",name:"collateralToken",type:"address"},{internalType:"address",name:"oracle",type:"address"},{internalType:"address",name:"irm",type:"address"},{internalType:"uint256",name:"lltv",type:"uint256"}]},{internalType:"struct Market",name:"market",type:"tuple",components:[{internalType:"uint128",name:"totalSupplyAssets",type:"uint128"},{internalType:"uint128",name:"totalSupplyShares",type:"uint128"},{internalType:"uint128",name:"totalBorrowAssets",type:"uint128"},{internalType:"uint128",name:"totalBorrowShares",type:"uint128"},{internalType:"uint128",name:"lastUpdate",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"}]}],stateMutability:"view",type:"function",name:"borrowRateView",outputs:[{internalType:"uint256",name:"",type:"uint256"}]},{inputs:[{internalType:"Id",name:"",type:"bytes32"}],stateMutability:"view",type:"function",name:"rateAtTarget",outputs:[{internalType:"int256",name:"",type:"int256"}]}],eK=[{type:"function",name:"price",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"}],$q=[{inputs:[{internalType:"address",name:"morpho",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"metaMorpho",type:"address"},{indexed:!0,internalType:"address",name:"caller",type:"address"},{indexed:!1,internalType:"address",name:"initialOwner",type:"address"},{indexed:!1,internalType:"uint256",name:"initialTimelock",type:"uint256"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"string",name:"name",type:"string"},{indexed:!1,internalType:"string",name:"symbol",type:"string"},{indexed:!1,internalType:"bytes32",name:"salt",type:"bytes32"}],name:"CreateMetaMorpho",type:"event"},{inputs:[],name:"MORPHO",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"initialOwner",type:"address"},{internalType:"uint256",name:"initialTimelock",type:"uint256"},{internalType:"address",name:"asset",type:"address"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"bytes32",name:"salt",type:"bytes32"}],name:"createMetaMorpho",outputs:[{internalType:"contract IMetaMorphoV1_1",name:"metaMorpho",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isMetaMorpho",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],i=[{type:"constructor",inputs:[{name:"owner",type:"address",internalType:"address"},{name:"morpho",type:"address",internalType:"address"},{name:"initialTimelock",type:"uint256",internalType:"uint256"},{name:"_asset",type:"address",internalType:"address"},{name:"_name",type:"string",internalType:"string"},{name:"_symbol",type:"string",internalType:"string"}],stateMutability:"nonpayable"},{type:"function",name:"DECIMALS_OFFSET",inputs:[],outputs:[{name:"",type:"uint8",internalType:"uint8"}],stateMutability:"view"},{type:"function",name:"DOMAIN_SEPARATOR",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"MORPHO",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IMorpho"}],stateMutability:"view"},{type:"function",name:"acceptCap",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"acceptGuardian",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"acceptOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"acceptTimelock",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"allowance",inputs:[{name:"owner",type:"address",internalType:"address"},{name:"spender",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"approve",inputs:[{name:"spender",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"nonpayable"},{type:"function",name:"asset",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"balanceOf",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"config",inputs:[{name:"",type:"bytes32",internalType:"Id"}],outputs:[{name:"cap",type:"uint184",internalType:"uint184"},{name:"enabled",type:"bool",internalType:"bool"},{name:"removableAt",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{type:"function",name:"convertToAssets",inputs:[{name:"shares",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"convertToShares",inputs:[{name:"assets",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"curator",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"decimals",inputs:[],outputs:[{name:"",type:"uint8",internalType:"uint8"}],stateMutability:"view"},{type:"function",name:"deposit",inputs:[{name:"assets",type:"uint256",internalType:"uint256"},{name:"receiver",type:"address",internalType:"address"}],outputs:[{name:"shares",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"eip712Domain",inputs:[],outputs:[{name:"fields",type:"bytes1",internalType:"bytes1"},{name:"name",type:"string",internalType:"string"},{name:"version",type:"string",internalType:"string"},{name:"chainId",type:"uint256",internalType:"uint256"},{name:"verifyingContract",type:"address",internalType:"address"},{name:"salt",type:"bytes32",internalType:"bytes32"},{name:"extensions",type:"uint256[]",internalType:"uint256[]"}],stateMutability:"view"},{type:"function",name:"fee",inputs:[],outputs:[{name:"",type:"uint96",internalType:"uint96"}],stateMutability:"view"},{type:"function",name:"feeRecipient",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"guardian",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"isAllocator",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"lastTotalAssets",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"lostAssets",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"maxDeposit",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"maxMint",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"maxRedeem",inputs:[{name:"owner",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"maxWithdraw",inputs:[{name:"owner",type:"address",internalType:"address"}],outputs:[{name:"assets",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"mint",inputs:[{name:"shares",type:"uint256",internalType:"uint256"},{name:"receiver",type:"address",internalType:"address"}],outputs:[{name:"assets",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"multicall",inputs:[{name:"data",type:"bytes[]",internalType:"bytes[]"}],outputs:[{name:"results",type:"bytes[]",internalType:"bytes[]"}],stateMutability:"nonpayable"},{type:"function",name:"name",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"nonces",inputs:[{name:"owner",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"pendingCap",inputs:[{name:"",type:"bytes32",internalType:"Id"}],outputs:[{name:"value",type:"uint192",internalType:"uint192"},{name:"validAt",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{type:"function",name:"pendingGuardian",inputs:[],outputs:[{name:"value",type:"address",internalType:"address"},{name:"validAt",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{type:"function",name:"pendingOwner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"pendingTimelock",inputs:[],outputs:[{name:"value",type:"uint192",internalType:"uint192"},{name:"validAt",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{type:"function",name:"permit",inputs:[{name:"owner",type:"address",internalType:"address"},{name:"spender",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"},{name:"deadline",type:"uint256",internalType:"uint256"},{name:"v",type:"uint8",internalType:"uint8"},{name:"r",type:"bytes32",internalType:"bytes32"},{name:"s",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"previewDeposit",inputs:[{name:"assets",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"previewMint",inputs:[{name:"shares",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"previewRedeem",inputs:[{name:"shares",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"previewWithdraw",inputs:[{name:"assets",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"reallocate",inputs:[{name:"allocations",type:"tuple[]",internalType:"struct MarketAllocation[]",components:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]},{name:"assets",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"redeem",inputs:[{name:"shares",type:"uint256",internalType:"uint256"},{name:"receiver",type:"address",internalType:"address"},{name:"owner",type:"address",internalType:"address"}],outputs:[{name:"assets",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"renounceOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"revokePendingCap",inputs:[{name:"id",type:"bytes32",internalType:"Id"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"revokePendingGuardian",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"revokePendingMarketRemoval",inputs:[{name:"id",type:"bytes32",internalType:"Id"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"revokePendingTimelock",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setCurator",inputs:[{name:"newCurator",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setFee",inputs:[{name:"newFee",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setFeeRecipient",inputs:[{name:"newFeeRecipient",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setIsAllocator",inputs:[{name:"newAllocator",type:"address",internalType:"address"},{name:"newIsAllocator",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setSkimRecipient",inputs:[{name:"newSkimRecipient",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setSupplyQueue",inputs:[{name:"newSupplyQueue",type:"bytes32[]",internalType:"Id[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"skim",inputs:[{name:"token",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"skimRecipient",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"submitCap",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]},{name:"newSupplyCap",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"submitGuardian",inputs:[{name:"newGuardian",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"submitMarketRemoval",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"submitTimelock",inputs:[{name:"newTimelock",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"supplyQueue",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bytes32",internalType:"Id"}],stateMutability:"view"},{type:"function",name:"supplyQueueLength",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"symbol",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"timelock",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"totalAssets",inputs:[],outputs:[{name:"assets",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"totalSupply",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"transfer",inputs:[{name:"to",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"nonpayable"},{type:"function",name:"transferFrom",inputs:[{name:"from",type:"address",internalType:"address"},{name:"to",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"nonpayable"},{type:"function",name:"transferOwnership",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateWithdrawQueue",inputs:[{name:"indexes",type:"uint256[]",internalType:"uint256[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"withdraw",inputs:[{name:"assets",type:"uint256",internalType:"uint256"},{name:"receiver",type:"address",internalType:"address"},{name:"owner",type:"address",internalType:"address"}],outputs:[{name:"shares",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"withdrawQueue",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bytes32",internalType:"Id"}],stateMutability:"view"},{type:"function",name:"withdrawQueueLength",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"event",name:"AccrueInterest",inputs:[{name:"newTotalAssets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"feeShares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Approval",inputs:[{name:"owner",type:"address",indexed:!0,internalType:"address"},{name:"spender",type:"address",indexed:!0,internalType:"address"},{name:"value",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Deposit",inputs:[{name:"sender",type:"address",indexed:!0,internalType:"address"},{name:"owner",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"EIP712DomainChanged",inputs:[],anonymous:!1},{type:"event",name:"OwnershipTransferStarted",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"OwnershipTransferred",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"ReallocateSupply",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"suppliedAssets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"suppliedShares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"ReallocateWithdraw",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"withdrawnAssets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"withdrawnShares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"RevokePendingCap",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"id",type:"bytes32",indexed:!0,internalType:"Id"}],anonymous:!1},{type:"event",name:"RevokePendingGuardian",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"RevokePendingMarketRemoval",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"id",type:"bytes32",indexed:!0,internalType:"Id"}],anonymous:!1},{type:"event",name:"RevokePendingTimelock",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetCap",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"cap",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"SetCurator",inputs:[{name:"newCurator",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetFee",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"newFee",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"SetFeeRecipient",inputs:[{name:"newFeeRecipient",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetGuardian",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"guardian",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetIsAllocator",inputs:[{name:"allocator",type:"address",indexed:!0,internalType:"address"},{name:"isAllocator",type:"bool",indexed:!1,internalType:"bool"}],anonymous:!1},{type:"event",name:"SetName",inputs:[{name:"name",type:"string",indexed:!1,internalType:"string"}],anonymous:!1},{type:"event",name:"SetSymbol",inputs:[{name:"symbol",type:"string",indexed:!1,internalType:"string"}],anonymous:!1},{type:"event",name:"SetSkimRecipient",inputs:[{name:"newSkimRecipient",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetSupplyQueue",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"newSupplyQueue",type:"bytes32[]",indexed:!1,internalType:"Id[]"}],anonymous:!1},{type:"event",name:"SetTimelock",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"newTimelock",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"SetWithdrawQueue",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"newWithdrawQueue",type:"bytes32[]",indexed:!1,internalType:"Id[]"}],anonymous:!1},{type:"event",name:"Skim",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"token",type:"address",indexed:!0,internalType:"address"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"SubmitCap",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"id",type:"bytes32",indexed:!0,internalType:"Id"},{name:"cap",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"SubmitGuardian",inputs:[{name:"newGuardian",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SubmitMarketRemoval",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"id",type:"bytes32",indexed:!0,internalType:"Id"}],anonymous:!1},{type:"event",name:"SubmitTimelock",inputs:[{name:"newTimelock",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Transfer",inputs:[{name:"from",type:"address",indexed:!0,internalType:"address"},{name:"to",type:"address",indexed:!0,internalType:"address"},{name:"value",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"UpdateLastTotalAssets",inputs:[{name:"updatedTotalAssets",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Withdraw",inputs:[{name:"sender",type:"address",indexed:!0,internalType:"address"},{name:"receiver",type:"address",indexed:!0,internalType:"address"},{name:"owner",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"AboveMaxTimelock",inputs:[]},{type:"error",name:"AddressEmptyCode",inputs:[{name:"target",type:"address",internalType:"address"}]},{type:"error",name:"AddressInsufficientBalance",inputs:[{name:"account",type:"address",internalType:"address"}]},{type:"error",name:"AllCapsReached",inputs:[]},{type:"error",name:"AlreadyPending",inputs:[]},{type:"error",name:"AlreadySet",inputs:[]},{type:"error",name:"BelowMinTimelock",inputs:[]},{type:"error",name:"DuplicateMarket",inputs:[{name:"id",type:"bytes32",internalType:"Id"}]},{type:"error",name:"ECDSAInvalidSignature",inputs:[]},{type:"error",name:"ECDSAInvalidSignatureLength",inputs:[{name:"length",type:"uint256",internalType:"uint256"}]},{type:"error",name:"ECDSAInvalidSignatureS",inputs:[{name:"s",type:"bytes32",internalType:"bytes32"}]},{type:"error",name:"ERC20InsufficientAllowance",inputs:[{name:"spender",type:"address",internalType:"address"},{name:"allowance",type:"uint256",internalType:"uint256"},{name:"needed",type:"uint256",internalType:"uint256"}]},{type:"error",name:"ERC20InsufficientBalance",inputs:[{name:"sender",type:"address",internalType:"address"},{name:"balance",type:"uint256",internalType:"uint256"},{name:"needed",type:"uint256",internalType:"uint256"}]},{type:"error",name:"ERC20InvalidApprover",inputs:[{name:"approver",type:"address",internalType:"address"}]},{type:"error",name:"ERC20InvalidReceiver",inputs:[{name:"receiver",type:"address",internalType:"address"}]},{type:"error",name:"ERC20InvalidSender",inputs:[{name:"sender",type:"address",internalType:"address"}]},{type:"error",name:"ERC20InvalidSpender",inputs:[{name:"spender",type:"address",internalType:"address"}]},{type:"error",name:"ERC2612ExpiredSignature",inputs:[{name:"deadline",type:"uint256",internalType:"uint256"}]},{type:"error",name:"ERC2612InvalidSigner",inputs:[{name:"signer",type:"address",internalType:"address"},{name:"owner",type:"address",internalType:"address"}]},{type:"error",name:"ERC4626ExceededMaxDeposit",inputs:[{name:"receiver",type:"address",internalType:"address"},{name:"assets",type:"uint256",internalType:"uint256"},{name:"max",type:"uint256",internalType:"uint256"}]},{type:"error",name:"ERC4626ExceededMaxMint",inputs:[{name:"receiver",type:"address",internalType:"address"},{name:"shares",type:"uint256",internalType:"uint256"},{name:"max",type:"uint256",internalType:"uint256"}]},{type:"error",name:"ERC4626ExceededMaxRedeem",inputs:[{name:"owner",type:"address",internalType:"address"},{name:"shares",type:"uint256",internalType:"uint256"},{name:"max",type:"uint256",internalType:"uint256"}]},{type:"error",name:"ERC4626ExceededMaxWithdraw",inputs:[{name:"owner",type:"address",internalType:"address"},{name:"assets",type:"uint256",internalType:"uint256"},{name:"max",type:"uint256",internalType:"uint256"}]},{type:"error",name:"FailedInnerCall",inputs:[]},{type:"error",name:"InconsistentAsset",inputs:[{name:"id",type:"bytes32",internalType:"Id"}]},{type:"error",name:"InconsistentReallocation",inputs:[]},{type:"error",name:"InvalidAccountNonce",inputs:[{name:"account",type:"address",internalType:"address"},{name:"currentNonce",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidMarketRemovalNonZeroCap",inputs:[{name:"id",type:"bytes32",internalType:"Id"}]},{type:"error",name:"InvalidMarketRemovalNonZeroSupply",inputs:[{name:"id",type:"bytes32",internalType:"Id"}]},{type:"error",name:"InvalidMarketRemovalTimelockNotElapsed",inputs:[{name:"id",type:"bytes32",internalType:"Id"}]},{type:"error",name:"InvalidShortString",inputs:[]},{type:"error",name:"MarketNotCreated",inputs:[]},{type:"error",name:"MarketNotEnabled",inputs:[{name:"id",type:"bytes32",internalType:"Id"}]},{type:"error",name:"MathOverflowedMulDiv",inputs:[]},{type:"error",name:"MaxFeeExceeded",inputs:[]},{type:"error",name:"MaxQueueLengthExceeded",inputs:[]},{type:"error",name:"NoPendingValue",inputs:[]},{type:"error",name:"NonZeroCap",inputs:[]},{type:"error",name:"NotAllocatorRole",inputs:[]},{type:"error",name:"NotCuratorNorGuardianRole",inputs:[]},{type:"error",name:"NotCuratorRole",inputs:[]},{type:"error",name:"NotEnoughLiquidity",inputs:[]},{type:"error",name:"NotGuardianRole",inputs:[]},{type:"error",name:"OwnableInvalidOwner",inputs:[{name:"owner",type:"address",internalType:"address"}]},{type:"error",name:"OwnableUnauthorizedAccount",inputs:[{name:"account",type:"address",internalType:"address"}]},{type:"error",name:"PendingCap",inputs:[{name:"id",type:"bytes32",internalType:"Id"}]},{type:"error",name:"PendingRemoval",inputs:[]},{type:"error",name:"SafeCastOverflowedUintDowncast",inputs:[{name:"bits",type:"uint8",internalType:"uint8"},{name:"value",type:"uint256",internalType:"uint256"}]},{type:"error",name:"SafeERC20FailedOperation",inputs:[{name:"token",type:"address",internalType:"address"}]},{type:"error",name:"StringTooLong",inputs:[{name:"str",type:"string",internalType:"string"}]},{type:"error",name:"SupplyCapExceeded",inputs:[{name:"id",type:"bytes32",internalType:"Id"}]},{type:"error",name:"TimelockNotElapsed",inputs:[]},{type:"error",name:"UnauthorizedMarket",inputs:[{name:"id",type:"bytes32",internalType:"Id"}]},{type:"error",name:"ZeroAddress",inputs:[]},{type:"error",name:"ZeroFeeRecipient",inputs:[]}],n4=[{inputs:[{internalType:"address",name:"morpho",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AlreadySet",type:"error"},{inputs:[],name:"DepositMarketInWithdrawals",type:"error"},{inputs:[],name:"EmptyWithdrawals",type:"error"},{inputs:[],name:"InconsistentWithdrawals",type:"error"},{inputs:[],name:"IncorrectFee",type:"error"},{inputs:[{internalType:"Id",name:"id",type:"bytes32"}],name:"MarketNotEnabled",type:"error"},{inputs:[{internalType:"Id",name:"id",type:"bytes32"}],name:"MaxInflowExceeded",type:"error"},{inputs:[{internalType:"Id",name:"id",type:"bytes32"}],name:"MaxOutflowExceeded",type:"error"},{inputs:[],name:"MaxSettableFlowCapExceeded",type:"error"},{inputs:[],name:"NotAdminNorVaultOwner",type:"error"},{inputs:[{internalType:"Id",name:"id",type:"bytes32"}],name:"NotEnoughSupply",type:"error"},{inputs:[{internalType:"Id",name:"id",type:"bytes32"}],name:"WithdrawZero",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"Id",name:"supplyMarketId",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"suppliedAssets",type:"uint256"}],name:"PublicReallocateTo",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"Id",name:"id",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"withdrawnAssets",type:"uint256"}],name:"PublicWithdrawal",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"admin",type:"address"}],name:"SetAdmin",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"}],name:"SetFee",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"vault",type:"address"},{components:[{internalType:"Id",name:"id",type:"bytes32"},{components:[{internalType:"uint128",name:"maxIn",type:"uint128"},{internalType:"uint128",name:"maxOut",type:"uint128"}],internalType:"struct FlowCaps",name:"caps",type:"tuple"}],indexed:!1,internalType:"struct FlowCapsConfig[]",name:"config",type:"tuple[]"}],name:"SetFlowCaps",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!0,internalType:"address",name:"feeRecipient",type:"address"}],name:"TransferFee",type:"event"},{inputs:[],name:"MORPHO",outputs:[{internalType:"contract IMorpho",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"accruedFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"admin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"Id",name:"",type:"bytes32"}],name:"flowCaps",outputs:[{internalType:"uint128",name:"maxIn",type:"uint128"},{internalType:"uint128",name:"maxOut",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{components:[{components:[{internalType:"address",name:"loanToken",type:"address"},{internalType:"address",name:"collateralToken",type:"address"},{internalType:"address",name:"oracle",type:"address"},{internalType:"address",name:"irm",type:"address"},{internalType:"uint256",name:"lltv",type:"uint256"}],internalType:"struct MarketParams",name:"marketParams",type:"tuple"},{internalType:"uint128",name:"amount",type:"uint128"}],internalType:"struct Withdrawal[]",name:"withdrawals",type:"tuple[]"},{components:[{internalType:"address",name:"loanToken",type:"address"},{internalType:"address",name:"collateralToken",type:"address"},{internalType:"address",name:"oracle",type:"address"},{internalType:"address",name:"irm",type:"address"},{internalType:"uint256",name:"lltv",type:"uint256"}],internalType:"struct MarketParams",name:"supplyMarketParams",type:"tuple"}],name:"reallocateTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"setAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"uint256",name:"newFee",type:"uint256"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{components:[{internalType:"Id",name:"id",type:"bytes32"},{components:[{internalType:"uint128",name:"maxIn",type:"uint128"},{internalType:"uint128",name:"maxOut",type:"uint128"}],internalType:"struct FlowCaps",name:"caps",type:"tuple"}],internalType:"struct FlowCapsConfig[]",name:"config",type:"tuple[]"}],name:"setFlowCaps",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address payable",name:"feeRecipient",type:"address"}],name:"transferFee",outputs:[],stateMutability:"nonpayable",type:"function"}],rV=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"from",type:"address"}],name:"NonWhitelistedFromAddress",type:"error"},{inputs:[{internalType:"address",name:"to",type:"address"}],name:"NonWhitelistedToAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"whitelistedBy",type:"address"}],name:"TransferDestinationAuthorized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"whitelistedBy",type:"address"}],name:"TransferOriginatorAuthorized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"depositFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"underlyingToken",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"controllerAggregator",type:"address"}],name:"setWhitelistController",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"underlying",outputs:[{internalType:"contract IERC20Upgradeable",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"whitelistControllerAggregator",outputs:[{internalType:"contract WhitelistControllerAggregator",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawTo",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],tV=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"controller",type:"address"}],name:"AddedController",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"controller",type:"address"}],name:"RemovedController",type:"event"},{inputs:[{internalType:"address",name:"controller",type:"address"}],name:"add",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"controllers",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"addressToCheck",type:"address"}],name:"isWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"remove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],aV=[{inputs:[{internalType:"address",name:"target",type:"address"}],name:"AddressEmptyCode",type:"error"},{inputs:[],name:"ECDSAInvalidSignature",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"ECDSAInvalidSignatureLength",type:"error"},{inputs:[{internalType:"bytes32",name:"s",type:"bytes32"}],name:"ECDSAInvalidSignatureS",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientAllowance",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC20InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC20InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC20InvalidSender",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"}],name:"ERC20InvalidSpender",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"ERC20InvalidUnderlying",type:"error"},{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"ERC2612ExpiredSignature",type:"error"},{inputs:[{internalType:"address",name:"signer",type:"address"},{internalType:"address",name:"owner",type:"address"}],name:"ERC2612InvalidSigner",type:"error"},{inputs:[],name:"FailedCall",type:"error"},{inputs:[{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"currentNonce",type:"uint256"}],name:"InvalidAccountNonce",type:"error"},{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"NoPermission",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"SafeERC20FailedOperation",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"BUNDLER",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"MORPHO",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"depositFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"hasPermission",outputs:[{internalType:"bool",name:"attested",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"underlying",outputs:[{internalType:"contract IERC20",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"withdrawTo",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],eV=[{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];var W1=[{type:"constructor",inputs:[{name:"_owner",type:"address",internalType:"address"},{name:"_asset",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"function",name:"DOMAIN_SEPARATOR",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"_totalAssets",inputs:[],outputs:[{name:"",type:"uint128",internalType:"uint128"}],stateMutability:"view"},{type:"function",name:"abdicate",inputs:[{name:"selector",type:"bytes4",internalType:"bytes4"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"abdicated",inputs:[{name:"selector",type:"bytes4",internalType:"bytes4"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"absoluteCap",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"accrueInterest",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"accrueInterestView",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"adapterRegistry",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"adapters",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"adaptersLength",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"addAdapter",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"allocate",inputs:[{name:"adapter",type:"address",internalType:"address"},{name:"data",type:"bytes",internalType:"bytes"},{name:"assets",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"allocation",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"allowance",inputs:[{name:"owner",type:"address",internalType:"address"},{name:"spender",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"approve",inputs:[{name:"spender",type:"address",internalType:"address"},{name:"shares",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"nonpayable"},{type:"function",name:"asset",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"balanceOf",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"canReceiveAssets",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"canReceiveShares",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"canSendAssets",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"canSendShares",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"convertToAssets",inputs:[{name:"shares",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"convertToShares",inputs:[{name:"assets",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"curator",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"deallocate",inputs:[{name:"adapter",type:"address",internalType:"address"},{name:"data",type:"bytes",internalType:"bytes"},{name:"assets",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"decimals",inputs:[],outputs:[{name:"",type:"uint8",internalType:"uint8"}],stateMutability:"view"},{type:"function",name:"decreaseAbsoluteCap",inputs:[{name:"idData",type:"bytes",internalType:"bytes"},{name:"newAbsoluteCap",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"decreaseRelativeCap",inputs:[{name:"idData",type:"bytes",internalType:"bytes"},{name:"newRelativeCap",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"decreaseTimelock",inputs:[{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"newDuration",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"deposit",inputs:[{name:"assets",type:"uint256",internalType:"uint256"},{name:"onBehalf",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"executableAt",inputs:[{name:"data",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"firstTotalAssets",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"forceDeallocate",inputs:[{name:"adapter",type:"address",internalType:"address"},{name:"data",type:"bytes",internalType:"bytes"},{name:"assets",type:"uint256",internalType:"uint256"},{name:"onBehalf",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"forceDeallocatePenalty",inputs:[{name:"adapter",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"increaseAbsoluteCap",inputs:[{name:"idData",type:"bytes",internalType:"bytes"},{name:"newAbsoluteCap",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"increaseRelativeCap",inputs:[{name:"idData",type:"bytes",internalType:"bytes"},{name:"newRelativeCap",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"increaseTimelock",inputs:[{name:"selector",type:"bytes4",internalType:"bytes4"},{name:"newDuration",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"isAdapter",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"isAllocator",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"isSentinel",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"lastUpdate",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{type:"function",name:"liquidityAdapter",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"liquidityData",inputs:[],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{type:"function",name:"managementFee",inputs:[],outputs:[{name:"",type:"uint96",internalType:"uint96"}],stateMutability:"view"},{type:"function",name:"managementFeeRecipient",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"maxDeposit",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{type:"function",name:"maxMint",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{type:"function",name:"maxRate",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{type:"function",name:"maxRedeem",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{type:"function",name:"maxWithdraw",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{type:"function",name:"mint",inputs:[{name:"shares",type:"uint256",internalType:"uint256"},{name:"onBehalf",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"multicall",inputs:[{name:"data",type:"bytes[]",internalType:"bytes[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"name",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"nonces",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"performanceFee",inputs:[],outputs:[{name:"",type:"uint96",internalType:"uint96"}],stateMutability:"view"},{type:"function",name:"performanceFeeRecipient",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"permit",inputs:[{name:"_owner",type:"address",internalType:"address"},{name:"spender",type:"address",internalType:"address"},{name:"shares",type:"uint256",internalType:"uint256"},{name:"deadline",type:"uint256",internalType:"uint256"},{name:"v",type:"uint8",internalType:"uint8"},{name:"r",type:"bytes32",internalType:"bytes32"},{name:"s",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"previewDeposit",inputs:[{name:"assets",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"previewMint",inputs:[{name:"shares",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"previewRedeem",inputs:[{name:"shares",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"previewWithdraw",inputs:[{name:"assets",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"receiveAssetsGate",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"receiveSharesGate",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"redeem",inputs:[{name:"shares",type:"uint256",internalType:"uint256"},{name:"receiver",type:"address",internalType:"address"},{name:"onBehalf",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"relativeCap",inputs:[{name:"id",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"removeAdapter",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"revoke",inputs:[{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"sendAssetsGate",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"sendSharesGate",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"setAdapterRegistry",inputs:[{name:"newAdapterRegistry",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setCurator",inputs:[{name:"newCurator",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setForceDeallocatePenalty",inputs:[{name:"adapter",type:"address",internalType:"address"},{name:"newForceDeallocatePenalty",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setIsAllocator",inputs:[{name:"account",type:"address",internalType:"address"},{name:"newIsAllocator",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setIsSentinel",inputs:[{name:"account",type:"address",internalType:"address"},{name:"newIsSentinel",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setLiquidityAdapterAndData",inputs:[{name:"newLiquidityAdapter",type:"address",internalType:"address"},{name:"newLiquidityData",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setManagementFee",inputs:[{name:"newManagementFee",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setManagementFeeRecipient",inputs:[{name:"newManagementFeeRecipient",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setMaxRate",inputs:[{name:"newMaxRate",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setName",inputs:[{name:"newName",type:"string",internalType:"string"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setOwner",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setPerformanceFee",inputs:[{name:"newPerformanceFee",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setPerformanceFeeRecipient",inputs:[{name:"newPerformanceFeeRecipient",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setReceiveAssetsGate",inputs:[{name:"newReceiveAssetsGate",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setReceiveSharesGate",inputs:[{name:"newReceiveSharesGate",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setSendAssetsGate",inputs:[{name:"newSendAssetsGate",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setSendSharesGate",inputs:[{name:"newSendSharesGate",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setSymbol",inputs:[{name:"newSymbol",type:"string",internalType:"string"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"submit",inputs:[{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"symbol",inputs:[],outputs:[{name:"",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"timelock",inputs:[{name:"selector",type:"bytes4",internalType:"bytes4"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"totalAssets",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"totalSupply",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"transfer",inputs:[{name:"to",type:"address",internalType:"address"},{name:"shares",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"nonpayable"},{type:"function",name:"transferFrom",inputs:[{name:"from",type:"address",internalType:"address"},{name:"to",type:"address",internalType:"address"},{name:"shares",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"nonpayable"},{type:"function",name:"virtualShares",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"withdraw",inputs:[{name:"assets",type:"uint256",internalType:"uint256"},{name:"receiver",type:"address",internalType:"address"},{name:"onBehalf",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"event",name:"Abdicate",inputs:[{name:"selector",type:"bytes4",indexed:!0,internalType:"bytes4"}],anonymous:!1},{type:"event",name:"Accept",inputs:[{name:"selector",type:"bytes4",indexed:!0,internalType:"bytes4"},{name:"data",type:"bytes",indexed:!1,internalType:"bytes"}],anonymous:!1},{type:"event",name:"AccrueInterest",inputs:[{name:"previousTotalAssets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"newTotalAssets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"performanceFeeShares",type:"uint256",indexed:!1,internalType:"uint256"},{name:"managementFeeShares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"AddAdapter",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Allocate",inputs:[{name:"sender",type:"address",indexed:!0,internalType:"address"},{name:"adapter",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"ids",type:"bytes32[]",indexed:!1,internalType:"bytes32[]"},{name:"change",type:"int256",indexed:!1,internalType:"int256"}],anonymous:!1},{type:"event",name:"AllowanceUpdatedByTransferFrom",inputs:[{name:"owner",type:"address",indexed:!0,internalType:"address"},{name:"spender",type:"address",indexed:!0,internalType:"address"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Approval",inputs:[{name:"owner",type:"address",indexed:!0,internalType:"address"},{name:"spender",type:"address",indexed:!0,internalType:"address"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Constructor",inputs:[{name:"owner",type:"address",indexed:!0,internalType:"address"},{name:"asset",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Deallocate",inputs:[{name:"sender",type:"address",indexed:!0,internalType:"address"},{name:"adapter",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"ids",type:"bytes32[]",indexed:!1,internalType:"bytes32[]"},{name:"change",type:"int256",indexed:!1,internalType:"int256"}],anonymous:!1},{type:"event",name:"DecreaseAbsoluteCap",inputs:[{name:"sender",type:"address",indexed:!0,internalType:"address"},{name:"id",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"idData",type:"bytes",indexed:!1,internalType:"bytes"},{name:"newAbsoluteCap",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"DecreaseRelativeCap",inputs:[{name:"sender",type:"address",indexed:!0,internalType:"address"},{name:"id",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"idData",type:"bytes",indexed:!1,internalType:"bytes"},{name:"newRelativeCap",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"DecreaseTimelock",inputs:[{name:"selector",type:"bytes4",indexed:!0,internalType:"bytes4"},{name:"newDuration",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Deposit",inputs:[{name:"sender",type:"address",indexed:!0,internalType:"address"},{name:"onBehalf",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"ForceDeallocate",inputs:[{name:"sender",type:"address",indexed:!0,internalType:"address"},{name:"adapter",type:"address",indexed:!1,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"onBehalf",type:"address",indexed:!0,internalType:"address"},{name:"ids",type:"bytes32[]",indexed:!1,internalType:"bytes32[]"},{name:"penaltyAssets",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"IncreaseAbsoluteCap",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"idData",type:"bytes",indexed:!1,internalType:"bytes"},{name:"newAbsoluteCap",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"IncreaseRelativeCap",inputs:[{name:"id",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"idData",type:"bytes",indexed:!1,internalType:"bytes"},{name:"newRelativeCap",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"IncreaseTimelock",inputs:[{name:"selector",type:"bytes4",indexed:!0,internalType:"bytes4"},{name:"newDuration",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Permit",inputs:[{name:"owner",type:"address",indexed:!0,internalType:"address"},{name:"spender",type:"address",indexed:!0,internalType:"address"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"},{name:"nonce",type:"uint256",indexed:!1,internalType:"uint256"},{name:"deadline",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"RemoveAdapter",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Revoke",inputs:[{name:"sender",type:"address",indexed:!0,internalType:"address"},{name:"selector",type:"bytes4",indexed:!0,internalType:"bytes4"},{name:"data",type:"bytes",indexed:!1,internalType:"bytes"}],anonymous:!1},{type:"event",name:"SetAdapterRegistry",inputs:[{name:"newAdapterRegistry",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetCurator",inputs:[{name:"newCurator",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetForceDeallocatePenalty",inputs:[{name:"adapter",type:"address",indexed:!0,internalType:"address"},{name:"forceDeallocatePenalty",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"SetIsAllocator",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"},{name:"newIsAllocator",type:"bool",indexed:!1,internalType:"bool"}],anonymous:!1},{type:"event",name:"SetIsSentinel",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"},{name:"newIsSentinel",type:"bool",indexed:!1,internalType:"bool"}],anonymous:!1},{type:"event",name:"SetLiquidityAdapterAndData",inputs:[{name:"sender",type:"address",indexed:!0,internalType:"address"},{name:"newLiquidityAdapter",type:"address",indexed:!0,internalType:"address"},{name:"newLiquidityData",type:"bytes",indexed:!0,internalType:"bytes"}],anonymous:!1},{type:"event",name:"SetManagementFee",inputs:[{name:"newManagementFee",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"SetManagementFeeRecipient",inputs:[{name:"newManagementFeeRecipient",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetMaxRate",inputs:[{name:"newMaxRate",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"SetName",inputs:[{name:"newName",type:"string",indexed:!1,internalType:"string"}],anonymous:!1},{type:"event",name:"SetOwner",inputs:[{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetPerformanceFee",inputs:[{name:"newPerformanceFee",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"SetPerformanceFeeRecipient",inputs:[{name:"newPerformanceFeeRecipient",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetReceiveAssetsGate",inputs:[{name:"newReceiveAssetsGate",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetReceiveSharesGate",inputs:[{name:"newReceiveSharesGate",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetSendAssetsGate",inputs:[{name:"newSendAssetsGate",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetSendSharesGate",inputs:[{name:"newSendSharesGate",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SetSymbol",inputs:[{name:"newSymbol",type:"string",indexed:!1,internalType:"string"}],anonymous:!1},{type:"event",name:"Submit",inputs:[{name:"selector",type:"bytes4",indexed:!0,internalType:"bytes4"},{name:"data",type:"bytes",indexed:!1,internalType:"bytes"},{name:"executableAt",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Transfer",inputs:[{name:"from",type:"address",indexed:!0,internalType:"address"},{name:"to",type:"address",indexed:!0,internalType:"address"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Withdraw",inputs:[{name:"sender",type:"address",indexed:!0,internalType:"address"},{name:"receiver",type:"address",indexed:!0,internalType:"address"},{name:"onBehalf",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"Abdicated",inputs:[]},{type:"error",name:"AbsoluteCapExceeded",inputs:[]},{type:"error",name:"AbsoluteCapNotDecreasing",inputs:[]},{type:"error",name:"AbsoluteCapNotIncreasing",inputs:[]},{type:"error",name:"AutomaticallyTimelocked",inputs:[]},{type:"error",name:"CannotReceiveAssets",inputs:[]},{type:"error",name:"CannotReceiveShares",inputs:[]},{type:"error",name:"CannotSendAssets",inputs:[]},{type:"error",name:"CannotSendShares",inputs:[]},{type:"error",name:"CastOverflow",inputs:[]},{type:"error",name:"DataAlreadyPending",inputs:[]},{type:"error",name:"DataNotTimelocked",inputs:[]},{type:"error",name:"FeeInvariantBroken",inputs:[]},{type:"error",name:"FeeTooHigh",inputs:[]},{type:"error",name:"InvalidSigner",inputs:[]},{type:"error",name:"MaxRateTooHigh",inputs:[]},{type:"error",name:"NoCode",inputs:[]},{type:"error",name:"NotAdapter",inputs:[]},{type:"error",name:"NotInAdapterRegistry",inputs:[]},{type:"error",name:"PenaltyTooHigh",inputs:[]},{type:"error",name:"PermitDeadlineExpired",inputs:[]},{type:"error",name:"RelativeCapAboveOne",inputs:[]},{type:"error",name:"RelativeCapExceeded",inputs:[]},{type:"error",name:"RelativeCapNotDecreasing",inputs:[]},{type:"error",name:"RelativeCapNotIncreasing",inputs:[]},{type:"error",name:"TimelockNotDecreasing",inputs:[]},{type:"error",name:"TimelockNotExpired",inputs:[]},{type:"error",name:"TimelockNotIncreasing",inputs:[]},{type:"error",name:"TransferFromReturnedFalse",inputs:[]},{type:"error",name:"TransferFromReverted",inputs:[]},{type:"error",name:"TransferReturnedFalse",inputs:[]},{type:"error",name:"TransferReverted",inputs:[]},{type:"error",name:"Unauthorized",inputs:[]},{type:"error",name:"ZeroAbsoluteCap",inputs:[]},{type:"error",name:"ZeroAddress",inputs:[]},{type:"error",name:"ZeroAllocation",inputs:[]}],nQ=[{type:"function",name:"createVaultV2",inputs:[{name:"owner",type:"address",internalType:"address"},{name:"asset",type:"address",internalType:"address"},{name:"salt",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"function",name:"isVaultV2",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"vaultV2",inputs:[{name:"owner",type:"address",internalType:"address"},{name:"asset",type:"address",internalType:"address"},{name:"salt",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"event",name:"CreateVaultV2",inputs:[{name:"owner",type:"address",indexed:!0,internalType:"address"},{name:"asset",type:"address",indexed:!0,internalType:"address"},{name:"salt",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"newVaultV2",type:"address",indexed:!0,internalType:"address"}],anonymous:!1}],o4=[{type:"function",name:"createMorphoVaultV1Adapter",inputs:[{name:"parentVault",type:"address",internalType:"address"},{name:"morphoVaultV1",type:"address",internalType:"address"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"function",name:"isMorphoVaultV1Adapter",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"morphoVaultV1Adapter",inputs:[{name:"parentVault",type:"address",internalType:"address"},{name:"morphoVaultV1",type:"address",internalType:"address"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"event",name:"CreateMorphoVaultV1Adapter",inputs:[{name:"parentVault",type:"address",indexed:!0,internalType:"address"},{name:"morphoVaultV1",type:"address",indexed:!0,internalType:"address"},{name:"morphoVaultV1Adapter",type:"address",indexed:!0,internalType:"address"}],anonymous:!1}],oQ=[{type:"constructor",inputs:[{name:"_parentVault",type:"address",internalType:"address"},{name:"_morphoVaultV1",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"function",name:"adapterId",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"allocate",inputs:[{name:"data",type:"bytes",internalType:"bytes"},{name:"assets",type:"uint256",internalType:"uint256"},{name:"",type:"bytes4",internalType:"bytes4"},{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bytes32[]",internalType:"bytes32[]"},{name:"",type:"int256",internalType:"int256"}],stateMutability:"nonpayable"},{type:"function",name:"allocation",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"deallocate",inputs:[{name:"data",type:"bytes",internalType:"bytes"},{name:"assets",type:"uint256",internalType:"uint256"},{name:"",type:"bytes4",internalType:"bytes4"},{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bytes32[]",internalType:"bytes32[]"},{name:"",type:"int256",internalType:"int256"}],stateMutability:"nonpayable"},{type:"function",name:"factory",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"ids",inputs:[],outputs:[{name:"",type:"bytes32[]",internalType:"bytes32[]"}],stateMutability:"view"},{type:"function",name:"morphoVaultV1",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"parentVault",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"realAssets",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"setSkimRecipient",inputs:[{name:"newSkimRecipient",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"skim",inputs:[{name:"token",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"skimRecipient",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"event",name:"SetSkimRecipient",inputs:[{name:"newSkimRecipient",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Skim",inputs:[{name:"token",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"ApproveReturnedFalse",inputs:[]},{type:"error",name:"ApproveReverted",inputs:[]},{type:"error",name:"AssetMismatch",inputs:[]},{type:"error",name:"CannotSkimMorphoVaultV1Shares",inputs:[]},{type:"error",name:"InvalidData",inputs:[]},{type:"error",name:"NoCode",inputs:[]},{type:"error",name:"NotAuthorized",inputs:[]},{type:"error",name:"TransferReturnedFalse",inputs:[]},{type:"error",name:"TransferReverted",inputs:[]}],p7=[{type:"constructor",inputs:[{name:"_parentVault",type:"address",internalType:"address"},{name:"_morpho",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"function",name:"adapterId",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"allocate",inputs:[{name:"data",type:"bytes",internalType:"bytes"},{name:"assets",type:"uint256",internalType:"uint256"},{name:"",type:"bytes4",internalType:"bytes4"},{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bytes32[]",internalType:"bytes32[]"},{name:"",type:"int256",internalType:"int256"}],stateMutability:"nonpayable"},{type:"function",name:"allocation",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"asset",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"deallocate",inputs:[{name:"data",type:"bytes",internalType:"bytes"},{name:"assets",type:"uint256",internalType:"uint256"},{name:"",type:"bytes4",internalType:"bytes4"},{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bytes32[]",internalType:"bytes32[]"},{name:"",type:"int256",internalType:"int256"}],stateMutability:"nonpayable"},{type:"function",name:"factory",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"ids",inputs:[{name:"marketParams",type:"tuple",internalType:"struct MarketParams",components:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}]}],outputs:[{name:"",type:"bytes32[]",internalType:"bytes32[]"}],stateMutability:"view"},{type:"function",name:"marketParamsList",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"loanToken",type:"address",internalType:"address"},{name:"collateralToken",type:"address",internalType:"address"},{name:"oracle",type:"address",internalType:"address"},{name:"irm",type:"address",internalType:"address"},{name:"lltv",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"marketParamsListLength",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"morpho",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"parentVault",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"realAssets",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"setSkimRecipient",inputs:[{name:"newSkimRecipient",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"skim",inputs:[{name:"token",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"skimRecipient",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"event",name:"SetSkimRecipient",inputs:[{name:"newSkimRecipient",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Skim",inputs:[{name:"token",type:"address",indexed:!0,internalType:"address"},{name:"assets",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"ApproveReturnedFalse",inputs:[]},{type:"error",name:"ApproveReverted",inputs:[]},{type:"error",name:"LoanAssetMismatch",inputs:[]},{type:"error",name:"NoCode",inputs:[]},{type:"error",name:"NotAuthorized",inputs:[]},{type:"error",name:"TransferReturnedFalse",inputs:[]},{type:"error",name:"TransferReverted",inputs:[]}],iQ=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"parentVault",type:"address"},{indexed:!0,internalType:"address",name:"morpho",type:"address"},{indexed:!0,internalType:"address",name:"morphoMarketV1Adapter",type:"address"}],name:"CreateMorphoMarketV1Adapter",type:"event"},{inputs:[{internalType:"address",name:"parentVault",type:"address"},{internalType:"address",name:"morpho",type:"address"}],name:"createMorphoMarketV1Adapter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isMorphoMarketV1Adapter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"parentVault",type:"address"},{internalType:"address",name:"morpho",type:"address"}],name:"morphoMarketV1Adapter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}];var $9=[{inputs:[{internalType:"address",name:"_parentVault",type:"address"},{internalType:"address",name:"_morpho",type:"address"},{internalType:"address",name:"_adaptiveCurveIrm",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"Abdicated",type:"error"},{inputs:[],name:"ApproveReturnedFalse",type:"error"},{inputs:[],name:"ApproveReverted",type:"error"},{inputs:[],name:"AutomaticallyTimelocked",type:"error"},{inputs:[],name:"DataAlreadyPending",type:"error"},{inputs:[],name:"DataNotTimelocked",type:"error"},{inputs:[],name:"IrmMismatch",type:"error"},{inputs:[],name:"LoanAssetMismatch",type:"error"},{inputs:[],name:"NoCode",type:"error"},{inputs:[],name:"SharePriceAboveOne",type:"error"},{inputs:[],name:"TimelockNotDecreasing",type:"error"},{inputs:[],name:"TimelockNotExpired",type:"error"},{inputs:[],name:"TimelockNotIncreasing",type:"error"},{inputs:[],name:"TransferReturnedFalse",type:"error"},{inputs:[],name:"TransferReverted",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes4",name:"selector",type:"bytes4"}],name:"Abdicate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes4",name:"selector",type:"bytes4"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"}],name:"Accept",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"marketId",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"newAllocation",type:"uint256"},{indexed:!1,internalType:"uint256",name:"mintedShares",type:"uint256"}],name:"Allocate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"marketId",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"supplyShares",type:"uint256"}],name:"BurnShares",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"marketId",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"newAllocation",type:"uint256"},{indexed:!1,internalType:"uint256",name:"burnedShares",type:"uint256"}],name:"Deallocate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes4",name:"selector",type:"bytes4"},{indexed:!1,internalType:"uint256",name:"newDuration",type:"uint256"}],name:"DecreaseTimelock",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes4",name:"selector",type:"bytes4"},{indexed:!1,internalType:"uint256",name:"newDuration",type:"uint256"}],name:"IncreaseTimelock",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"bytes4",name:"selector",type:"bytes4"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"}],name:"Revoke",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newSkimRecipient",type:"address"}],name:"SetSkimRecipient",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"assets",type:"uint256"}],name:"Skim",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes4",name:"selector",type:"bytes4"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"uint256",name:"executableAt",type:"uint256"}],name:"Submit",type:"event"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"abdicate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"abdicated",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"adapterId",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"adaptiveCurveIrm",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"assets",type:"uint256"},{internalType:"bytes4",name:"",type:"bytes4"},{internalType:"address",name:"",type:"address"}],name:"allocate",outputs:[{internalType:"bytes32[]",name:"",type:"bytes32[]"},{internalType:"int256",name:"",type:"int256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"loanToken",type:"address"},{internalType:"address",name:"collateralToken",type:"address"},{internalType:"address",name:"oracle",type:"address"},{internalType:"address",name:"irm",type:"address"},{internalType:"uint256",name:"lltv",type:"uint256"}],internalType:"struct MarketParams",name:"marketParams",type:"tuple"}],name:"allocation",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"asset",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"marketId",type:"bytes32"}],name:"burnShares",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"assets",type:"uint256"},{internalType:"bytes4",name:"",type:"bytes4"},{internalType:"address",name:"",type:"address"}],name:"deallocate",outputs:[{internalType:"bytes32[]",name:"",type:"bytes32[]"},{internalType:"int256",name:"",type:"int256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"uint256",name:"newDuration",type:"uint256"}],name:"decreaseTimelock",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"executableAt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"marketId",type:"bytes32"}],name:"expectedSupplyAssets",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"loanToken",type:"address"},{internalType:"address",name:"collateralToken",type:"address"},{internalType:"address",name:"oracle",type:"address"},{internalType:"address",name:"irm",type:"address"},{internalType:"uint256",name:"lltv",type:"uint256"}],internalType:"struct MarketParams",name:"marketParams",type:"tuple"}],name:"ids",outputs:[{internalType:"bytes32[]",name:"",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"uint256",name:"newDuration",type:"uint256"}],name:"increaseTimelock",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"marketIds",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"marketIdsLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"morpho",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"parentVault",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"realAssets",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"revoke",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newSkimRecipient",type:"address"}],name:"setSkimRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"skim",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"skimRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"submit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"marketId",type:"bytes32"}],name:"supplyShares",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"timelock",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],i4=[{inputs:[{internalType:"address",name:"_morpho",type:"address"},{internalType:"address",name:"_adaptiveCurveIrm",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"parentVault",type:"address"},{indexed:!0,internalType:"address",name:"morphoMarketV1AdapterV2",type:"address"}],name:"CreateMorphoMarketV1AdapterV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"morpho",type:"address"},{indexed:!0,internalType:"address",name:"adaptiveCurveIrm",type:"address"}],name:"CreateMorphoMarketV1AdapterV2Factory",type:"event"},{inputs:[],name:"adaptiveCurveIrm",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"parentVault",type:"address"}],name:"createMorphoMarketV1AdapterV2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isMorphoMarketV1AdapterV2",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"morpho",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"parentVault",type:"address"}],name:"morphoMarketV1AdapterV2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}];var $O=[{inputs:[{internalType:"contract IERC20Permit",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"morpho",type:"address"},{internalType:"contract IPermit2",name:"permit2",type:"address"},{internalType:"address",name:"generalAdapter1",type:"address"},{internalType:"bool",name:"isWrappedBackedToken",type:"bool"},{internalType:"bool",name:"isErc20Permissioned",type:"bool"}],name:"query",outputs:[{components:[{internalType:"uint256",name:"balance",type:"uint256"},{components:[{internalType:"uint256",name:"morpho",type:"uint256"},{internalType:"uint256",name:"permit2",type:"uint256"},{internalType:"uint256",name:"generalAdapter1",type:"uint256"}],internalType:"struct ERC20Allowances",name:"erc20Allowances",type:"tuple"},{components:[{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],internalType:"struct Permit2Allowance",name:"permit2BundlerAllowance",type:"tuple"},{internalType:"bool",name:"isErc2612",type:"bool"},{internalType:"uint256",name:"erc2612Nonce",type:"uint256"},{internalType:"enum OptionalBoolean",name:"canTransfer",type:"uint8"}],internalType:"struct HoldingResponse",name:"res",type:"tuple"}],stateMutability:"view",type:"function"}],JO="0x6080806040523460155761077a908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c634755ff3e14610024575f80fd5b346104b05760e03660031901126104b0576004356001600160a01b03811681036104b057602435906001600160a01b03821682036104b057604435916001600160a01b03831683036104b057606435926001600160a01b03841684036104b057608435926001600160a01b03841684036104b05760a43580151581036104b05760c43580151581036104b0576101406040525f60805260a0966100c56106ef565b885260c0946100d26106ef565b86525f60e0818152610100829052610120919091526040516370a0823160e01b81526001600160a01b038981166004830152919991602090829060249082908b165afa9081156105c1575f91610669575b50608052604051636eb1769f60e11b81526001600160a01b03808a166004830152909216602483015260208280604481015b03816001600160a01b038a165afa9182156105c1575f92610635575b50604051636eb1769f60e11b81526001600160a01b0389811660048301528416602482015291602083806044810103816001600160a01b038b165afa80156105c1575f90610601575b604051636eb1769f60e11b81526001600160a01b03808c16600483015284166024820152935060208480604481015b03816001600160a01b038c165afa9081156105c1575f916105cc575b6060945060405192610216846106b1565b83526020830152604080830191909152908b525163927da10560e01b81526001600160a01b038981166004830152878116602483015291821660448201529283916064918391165afa9081156105c1575f9161054c575b508452604051623f675f60e91b81526001600160a01b0386811660048301526020908290602490829088165afa5f9181610518575b5061050a575b50604051624b894760e91b81526001600160a01b0386811660048301526020908290602490829088165afa5f91816104e9575b506104c65750156104bc576102f460015b610120610738565b61038e575b5065ffffffffffff91506040908180519560805187525180516020880152602081015182880152015160608601525160018060a01b0381511660808601528260208201511660a086015201511660c083015251151560e0820152608080015161010082015260a06080015190600382101561037a5761014091610120820152f35b634e487b7160e01b5f52602160045260245ffd5b5f6101205260405163650369bf60e01b815290602090829060049082906001600160a01b03165afa5f918161046a575b509065ffffffffffff93604093926103d9575b5050906102f9565b8351633af32abf60e01b81526001600160a01b0391821660048201529160209183916024918391165afa5f9181610439575b50610417575b806103d1565b1561042f576104296002610120610738565b5f610411565b61042960016102ec565b61045c91925060203d602011610463575b61045481836106cd565b810190610720565b905f61040b565b503d61044a565b909291506020813d6020116104b4575b81610487602093836106cd565b810103126104b05751916001600160a01b03831683036104b05790919065ffffffffffff6103be565b5f80fd5b3d915061047a565b6102f460026102ec565b1590506104df576104da6002610120610738565b6102f4565b6104da60016102ec565b61050391925060203d6020116104635761045481836106cd565b905f6102db565b60018752610100525f6102a8565b9091506020813d602011610544575b81610534602093836106cd565b810103126104b05751905f6102a2565b3d9150610527565b90506060813d6060116105b9575b81610567606093836106cd565b810103126104b0576040519061057c826106b1565b80516001600160a01b03811681036104b0576105ae9160409184526105a36020820161070d565b60208501520161070d565b60408201525f61026d565b3d915061055a565b6040513d5f823e3d90fd5b90506020843d6020116105f9575b816105e7602093836106cd565b810103126104b0576060935190610205565b3d91506105da565b506020833d60201161062d575b8161061b602093836106cd565b810103126104b0576101e992516101ba565b3d915061060e565b9091506020813d602011610661575b81610651602093836106cd565b810103126104b05751905f610171565b3d9150610644565b90506020813d602011610695575b81610684602093836106cd565b810103126104b05751610155610123565b3d9150610677565b634e487b7160e01b5f52604160045260245ffd5b6060810190811067ffffffffffffffff82111761069d57604052565b90601f8019910116810190811067ffffffffffffffff82111761069d57604052565b604051906106fc826106b1565b5f6040838281528260208201520152565b519065ffffffffffff821682036104b057565b908160209103126104b0575180151581036104b05790565b600382101561037a575256fea2646970667358221220be21ea669a9321ae5df187895f9c1db309e495cb210c0ad5f5474ec0a7be853b64736f6c634300081b0033";var mI=[void 0,!1,!0];async function QO($,J,Q,{deployless:Y=!0,...X}={}){if(X.chainId??=await M0(Q),J===q0)return new s2({user:$,token:J,erc20Allowances:o8(EK.map((Z)=>[Z,e0])),permit2BundlerAllowance:{amount:0n,expiration:0n,nonce:0n},balance:await q7(Q,{...X,address:$})});if(Y){let{morpho:Z,permit2:M=x0,bundler3:{generalAdapter1:D}}=t(X.chainId);try{let{balance:R,erc20Allowances:{generalAdapter1:O,...E},permit2BundlerAllowance:V,isErc2612:w,erc2612Nonce:B,canTransfer:j}=await b(Q,{...X,abi:$O,code:JO,functionName:"query",args:[J,$,Z,M,D,!!RQ[X.chainId]?.has(J),!!T7[X.chainId]?.has(J)]});return new s2({user:$,token:J,erc20Allowances:{"bundler3.generalAdapter1":O,...E},permit2BundlerAllowance:V,erc2612Nonce:w?B:void 0,balance:R,canTransfer:mI[j]})}catch(R){if(Y==="force")throw R}}let G=t(X.chainId),[W,K,q,U,N,H]=await Promise.all([b(Q,{...X,abi:P0,address:J,functionName:"balanceOf",args:[$]}),Promise.all(EK.map(async(Z)=>{let M=wz(G,Z);if(M==null)return[Z,0n];return[Z,await b(Q,{...X,abi:P0,address:J,functionName:"allowance",args:[$,M]})]})),G.permit2!=null?b(Q,{...X,abi:oV,address:G.permit2,functionName:"allowance",args:[$,J,G.bundler3.generalAdapter1]}).then(([Z,M,D])=>({amount:Z,expiration:BigInt(M),nonce:BigInt(D)})):{amount:0n,expiration:0n,nonce:0n},b(Q,{...X,abi:nV,address:J,functionName:"nonces",args:[$]}).catch(()=>{return}),RQ[X.chainId]?.has(J)?b(Q,{...X,abi:rV,address:J,functionName:"whitelistControllerAggregator"}):void 0,b(Q,{...X,abi:aV,address:J,functionName:"hasPermission",args:[$]}).catch(()=>!T7[X.chainId]?.has(J))]),f=new s2({user:$,token:J,erc20Allowances:o8(K),permit2BundlerAllowance:q,erc2612Nonce:U,balance:W,canTransfer:H});if(N)f.canTransfer=await b(Q,{...X,abi:tV,address:N,functionName:"isWhitelisted",args:[$]}).catch(()=>{return});return f}function dI($,J){return $.reduce((Q,Y,X)=>{return typeof Y.name==="string"?{...Q,[Y.name]:J[X]}:Q},{})}function uI($,J){let Q=P1(J);switch(Q?.type){case"function":{if(Q.outputs.some((Y)=>Y.name===void 0))throw Error(`Attempted to restructure return values lacking names in ABI ${J.args} ${Q.outputs}`);return dI(Q.outputs,$)}default:throw Error(`Attempted to restructure return values for non-function type ${Q}`)}}function cI($){return Array.isArray($)}async function a8($,J){let Q=await b($,J);if(!cI(Q))throw Error(`Attempted to restructure non-tuple return values ${J.functionName} -> ${Q}`);return uI(Q,{abi:J.abi,name:J.functionName,args:J.args})}var YO=[{inputs:[{internalType:"contract IMorpho",name:"morpho",type:"address"},{internalType:"Id",name:"id",type:"bytes32"},{internalType:"contract IAdaptiveCurveIrm",name:"adaptiveCurveIrm",type:"address"}],name:"query",outputs:[{components:[{components:[{internalType:"address",name:"loanToken",type:"address"},{internalType:"address",name:"collateralToken",type:"address"},{internalType:"address",name:"oracle",type:"address"},{internalType:"address",name:"irm",type:"address"},{internalType:"uint256",name:"lltv",type:"uint256"}],internalType:"struct MarketParams",name:"marketParams",type:"tuple"},{components:[{internalType:"uint128",name:"totalSupplyAssets",type:"uint128"},{internalType:"uint128",name:"totalSupplyShares",type:"uint128"},{internalType:"uint128",name:"totalBorrowAssets",type:"uint128"},{internalType:"uint128",name:"totalBorrowShares",type:"uint128"},{internalType:"uint128",name:"lastUpdate",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"}],internalType:"struct Market",name:"market",type:"tuple"},{internalType:"bool",name:"hasPrice",type:"bool"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"rateAtTarget",type:"uint256"}],internalType:"struct MarketResponse",name:"res",type:"tuple"}],stateMutability:"view",type:"function"}],XO="0x608080604052346015576104f8908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c63d8f172c414610025575f80fd5b34610285576060366003190112610285576004356001600160a01b0381169190829003610285576044356001600160a01b0381169290602435908490036102855761006f8361042c565b60405161007b8161042c565b5f81525f60208201525f60408201525f60608201525f60808201528352602083016040516100a88161045c565b5f81525f60208201525f60408201525f60608201525f60808201525f60a0820152815260408401905f825260608501925f845260808601945f8652604051632c3c915760e01b815282600482015260a081602481855afa908115610291575f9161039f575b5060249160c091895260405192838092632e3071cd60e11b82528660048301525afa908115610291575f91610302575b5082528551604001516001600160a01b03168061029c575b508551606001516001600160a01b0316871461021e575b5060408051955180516001600160a01b0390811688526020808301518216818a015282840151821689850152606080840151909216828a015260809283015189840152935180516001600160801b0390811660a08b81019190915295820151811660c08b015293810151841660e08a0152908101518316610100890152908101518216610120880152909101511661014085015251151561016084015251610180830152516101a08201526101c09150f35b6020906024604051809981936301977b5760e01b835260048301525afa958615610291575f96610258575b509483526101c09460a061016c565b95506020863d602011610289575b8161027360209383610478565b810103126102855794519460a0610249565b5f80fd5b3d9150610266565b6040513d5f823e3d90fd5b60206004916040519283809263501ad8ff60e11b82525afa5f91816102ce575b5015610155576001845284525f610155565b9091506020813d6020116102fa575b816102ea60209383610478565b810103126102855751905f6102bc565b3d91506102dd565b905060c0813d60c011610397575b8161031d60c09383610478565b810103126102855761038c60a0604051926103378461045c565b610340816104ae565b845261034e602082016104ae565b602085015261035f604082016104ae565b6040850152610370606082016104ae565b6060850152610381608082016104ae565b6080850152016104ae565b60a08201525f61013d565b3d9150610310565b905060a0813d60a011610424575b816103ba60a09383610478565b810103126102855760249160c0916080604051916103d78361042c565b6103e08161049a565b83526103ee6020820161049a565b60208401526103ff6040820161049a565b60408401526104106060820161049a565b60608401520151608082015291509161010d565b3d91506103ad565b60a0810190811067ffffffffffffffff82111761044857604052565b634e487b7160e01b5f52604160045260245ffd5b60c0810190811067ffffffffffffffff82111761044857604052565b90601f8019910116810190811067ffffffffffffffff82111761044857604052565b51906001600160a01b038216820361028557565b51906001600160801b03821682036102855756fea2646970667358221220acbd98f027aaca3ed2f90675c4eece5d7bd1a9fbbbb62956dae5a7491ebc745564736f6c634300081b0033";async function L6($,J,{deployless:Q=!0,...Y}={}){Y.chainId??=await M0(J);let{morpho:X,adaptiveCurveIrm:G}=t(Y.chainId);if(Q)try{let{marketParams:N,market:{totalSupplyAssets:H,totalSupplyShares:f,totalBorrowAssets:Z,totalBorrowShares:M,lastUpdate:D,fee:R},hasPrice:O,price:E,rateAtTarget:V}=await b(J,{...Y,abi:YO,code:XO,functionName:"query",args:[X,$,G]});return new i6({params:new _1(N),totalSupplyAssets:H,totalBorrowAssets:Z,totalSupplyShares:f,totalBorrowShares:M,lastUpdate:D,fee:R,price:O?E:void 0,rateAtTarget:N.irm===G?V:void 0})}catch(N){if(Q==="force")throw N}let[W,K]=await Promise.all([a8(J,{...Y,address:X,abi:L1,functionName:"idToMarketParams",args:[$]}),a8(J,{...Y,address:X,abi:L1,functionName:"market",args:[$]})]),[q,U]=await Promise.all([W.oracle!==x0?b(J,{...Y,address:W.oracle,abi:eK,functionName:"price"}).catch(()=>{return}):void 0,W.irm===G?b(J,{...Y,address:G,abi:sV,functionName:"rateAtTarget",args:[$]}):void 0]);return new i6({params:W,...K,price:q,rateAtTarget:U})}async function C5($,J,Q,Y={}){Y.chainId??=await M0(Q);let{morpho:X}=t(Y.chainId),G=await a8(Q,{...Y,address:X,abi:L1,functionName:"position",args:[J,$]});return new m4({user:$,marketId:J,...G})}async function sQ($,J,Q,Y={}){Y.chainId??=await M0(Q);let[X,G]=await Promise.all([C5($,J,Q,Y),L6(J,Q,Y)]);return new E6(X,G)}var GO=[{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"bool",name:"isWstEth",type:"bool"}],name:"query",outputs:[{components:[{internalType:"uint256",name:"decimals",type:"uint256"},{internalType:"bool",name:"hasSymbol",type:"bool"},{internalType:"string",name:"symbol",type:"string"},{internalType:"bool",name:"hasName",type:"bool"},{internalType:"string",name:"name",type:"string"},{internalType:"uint256",name:"stEthPerWstEth",type:"uint256"},{components:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],internalType:"struct Eip5267Domain",name:"eip5267Domain",type:"tuple"},{internalType:"bool",name:"hasEip5267Domain",type:"bool"}],internalType:"struct TokenResponse",name:"res",type:"tuple"}],stateMutability:"view",type:"function"}],WO="0x60808060405234601557610635908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c63287861f914610025575f80fd5b346103fb5760403660031901126103fb576004356001600160a01b03811691908290036103fb576024359182151583036103fb57610100820182811067ffffffffffffffff8211176103ff576040525f825260208201905f8252604083016060815260608401905f825260808501906060825260a08601945f865260c08701946040516100b181610542565b5f815260606020820152606060408201525f60608201525f60808201525f60a0820152606060c0820152865260e08801985f8a526040516306fdde0360e01b81525f81600481865afa5f9181610502575b506104f6575b506040516395d89b4160e01b81525f81600481865afa5f91816104d2575b506104c6575b5060405163313ce56760e01b8152602081600481865afa5f9181610488575b5061047d575b50610413575b5f600491604051928380926342580cb760e11b82525afa5f918161029b575b50916101ce959493916101b39361028f575b506040519860208a525160208a0152511515604089015251610100606089015261012088019061051e565b91511515608087015251858203601f190160a087015261051e565b915160c08401525192601f198383030160e084015260ff60f81b845116825260c061021d61020b602087015160e0602087015260e086019061051e565b6040870151858203604087015261051e565b946060810151606085015260018060a01b03608082015116608085015260a081015160a085015201519160c08186039101526020808351958681520192015f945b8086106102775750508293505115156101008301520390f35b9092602080600192865181520194019501949061025e565b60018b5287525f610188565b9091503d805f833e6102ad818361055e565b8101906020818303126103fb5780519067ffffffffffffffff82116103fb57019060e0828203126103fb57604051916102e583610542565b80516001600160f81b0319811681036103fb578352602081015167ffffffffffffffff81116103fb578261031a918301610580565b6020840152604081015167ffffffffffffffff81116103fb578261033f918301610580565b60408401526060818101519084015260808101516001600160a01b03811681036103fb57608084015260a081015160a084015260c08101519067ffffffffffffffff82116103fb57019080601f830112156103fb5781519167ffffffffffffffff83116103ff578260051b90604051936103bc602084018661055e565b84526020808501928201019283116103fb57602001905b8282106103eb5750505060c0820152906101b3610176565b81518152602091820191016103d3565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040516301afd7c160e11b8152602081600481855afa908115610472575f9161043f575b508752610157565b90506020813d60201161046a575b8161045a6020938361055e565b810103126103fb57516004610437565b3d915061044d565b6040513d5f823e3d90fd5b60ff1689525f610151565b9091506020813d6020116104be575b816104a46020938361055e565b810103126103fb575160ff811681036103fb57905f61014b565b3d9150610497565b6001845284525f61012c565b6104ef9192503d805f833e6104e7818361055e565b8101906105d6565b905f610126565b6001875285525f610108565b6105179192503d805f833e6104e7818361055e565b905f610102565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60e0810190811067ffffffffffffffff8211176103ff57604052565b90601f8019910116810190811067ffffffffffffffff8211176103ff57604052565b81601f820112156103fb5780519067ffffffffffffffff82116103ff57604051926105b5601f8401601f19166020018561055e565b828452602083830101116103fb57815f9260208093018386015e8301015290565b906020828203126103fb57815167ffffffffffffffff81116103fb576105fc9201610580565b9056fea2646970667358221220389a149f2e0bd6ff1dee73cba200ac22d6611d304a114c8d87d33392f9d891a264736f6c634300081b0033";var KO=($)=>{if(c0($))return w$($,{size:32});return $};async function s4($,J,{deployless:Q=!0,...Y}={}){if(Y.chainId??=await M0(J),$===q0)return _5.native(Y.chainId);let{wstEth:X,stEth:G}=t(Y.chainId);if(Q)try{let f=$===X,Z=await b(J,{...Y,abi:GO,code:WO,functionName:"query",args:[$,f]}),M=Z.hasEip5267Domain?new g4(Z.eip5267Domain):void 0;if(f&&G!=null)return new LQ({...Z,address:$,eip5267Domain:M},G,Z.stEthPerWstEth);let D=wK($,Y.chainId);if(D)return new _Q({...Z,address:$,eip5267Domain:M},D,Z.decimals);return new _5({...Z,address:$,eip5267Domain:M})}catch(f){if(Q==="force")throw f}let[W,K,q,U]=await Promise.all([b(J,{...Y,address:$,abi:P0,functionName:"decimals"}).catch(()=>{return}),b(J,{...Y,address:$,abi:P0,functionName:"symbol"}).catch(()=>b(J,{...Y,address:$,abi:U$,functionName:"symbol"}).then(KO).catch(()=>{return})),b(J,{...Y,address:$,abi:P0,functionName:"name"}).catch(()=>b(J,{...Y,address:$,abi:U$,functionName:"name"}).then(KO).catch(()=>{return})),b(J,{...Y,address:$,abi:eV,functionName:"eip712Domain"}).then(([f,Z,M,D,R,O,E])=>new g4({fields:f,name:Z,version:M,chainId:D,verifyingContract:R,salt:O,extensions:E})).catch(()=>{return})]),N={address:$,name:q,symbol:K,decimals:W,eip5267Domain:U};switch($){case X:{if(G){let f=await b(J,{...Y,address:X,abi:iV,functionName:"stEthPerToken"});return new LQ(N,G,f)}break}}let H=wK($,Y.chainId);if(H)return new _Q(N,H,N.decimals);return new _5(N)}async function Jq($,J,Q={}){Q.chainId??=await M0(J);let[Y,X,G]=await Promise.all([s4($,J,Q),b(J,{...Q,address:$,abi:i,functionName:"asset"}),b(J,{...Q,address:$,abi:i,functionName:"DECIMALS_OFFSET"})]);return new x7({...Y,asset:X,decimalsOffset:BigInt(G)})}async function qO($,J,Q,Y={}){Y.chainId??=await M0(Q);let{publicAllocator:X}=t(Y.chainId);if(X==null)return;let[G,W]=await b(Q,{...Y,address:X,abi:n4,functionName:"flowCaps",args:[$,J]});return new BK({vault:$,marketId:J,maxIn:G,maxOut:W})}async function UO($,J,Q,Y={}){Y.chainId??=await M0(Q);let[[X,G,W],K,q]=await Promise.all([b(Q,{...Y,address:$,abi:i,functionName:"config",args:[J]}),b(Q,{...Y,address:$,abi:i,functionName:"pendingCap",args:[J]}).then(([U,N])=>({value:U,validAt:N})),qO($,J,Q,Y)]);return new b7({vault:$,marketId:J,cap:X,pendingCap:K,enabled:G,removableAt:W,publicAllocatorConfig:q})}async function NO($,J,Q,Y={}){Y.chainId??=await M0(Q);let[X,G]=await Promise.all([UO($,J,Q,Y),sQ($,J,Q,Y)]);return new k7({config:X,position:G})}var HO=[{inputs:[{internalType:"address",name:"factory",type:"address"},{internalType:"address",name:"vault",type:"address"}],name:"UnknownOfFactory",type:"error"},{inputs:[{internalType:"contract IMetaMorpho",name:"vault",type:"address"},{internalType:"contract IPublicAllocator",name:"publicAllocator",type:"address"},{internalType:"contract IMetaMorphoFactory",name:"metaMorphoFactory",type:"address"}],name:"query",outputs:[{components:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"string",name:"symbol",type:"string"},{internalType:"string",name:"name",type:"string"},{internalType:"uint256",name:"decimals",type:"uint256"},{internalType:"uint256",name:"decimalsOffset",type:"uint256"},{components:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],internalType:"struct Eip5267Domain",name:"eip5267Domain",type:"tuple"}],internalType:"struct VaultConfig",name:"config",type:"tuple"},{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"curator",type:"address"},{internalType:"address",name:"guardian",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{components:[{internalType:"uint192",name:"value",type:"uint192"},{internalType:"uint64",name:"validAt",type:"uint64"}],internalType:"struct PendingUint192",name:"pendingTimelock",type:"tuple"},{components:[{internalType:"address",name:"value",type:"address"},{internalType:"uint64",name:"validAt",type:"uint64"}],internalType:"struct PendingAddress",name:"pendingGuardian",type:"tuple"},{internalType:"address",name:"pendingOwner",type:"address"},{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"},{internalType:"address",name:"skimRecipient",type:"address"},{internalType:"uint256",name:"totalSupply",type:"uint256"},{internalType:"uint256",name:"totalAssets",type:"uint256"},{internalType:"uint256",name:"lastTotalAssets",type:"uint256"},{internalType:"Id[]",name:"supplyQueue",type:"bytes32[]"},{internalType:"Id[]",name:"withdrawQueue",type:"bytes32[]"},{components:[{internalType:"address",name:"admin",type:"address"},{internalType:"uint256",name:"fee",type:"uint256"},{internalType:"uint256",name:"accruedFee",type:"uint256"}],internalType:"struct PublicAllocatorConfig",name:"publicAllocatorConfig",type:"tuple"}],internalType:"struct VaultResponse",name:"res",type:"tuple"}],stateMutability:"view",type:"function"}],fO="0x608080604052346015576114d1908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c63c93eac5414610024575f80fd5b346109e45760603660031901126109e4576004356001600160a01b03811681036109e4576024356001600160a01b03811681036109e4576044356001600160a01b03811681036109e4576102a0604052604051610080816112c7565b5f815260606020820152606060408201525f60608201525f60808201526040516100a9816112e2565b5f815260606020820152606060408201525f60608201525f60808201525f60a0820152606060c082015260a08201526080525f6020608001525f6040608001525f6060608001525f608080015260405161010281611318565b5f80825260208201526101205260405161011b81611318565b5f80825260208201819052610140919091526101608190526101808190526101a08190526101c08190526101e08190526102008190526102205260606102408190526102605260405161016d816112fd565b5f81525f60208201525f604082015261020060800152604051630a6d4d4b60e21b815260018060a01b038416600482015260208160248160018060a01b0386165afa9081156109f0575f9161123d575b501561118b575b506040516338d52e0f60e01b81526020816004816001600160a01b0387165afa9081156109f0575f91611151575b506040516395d89b4160e01b81525f816004816001600160a01b0388165afa9081156109f0575f91611137575b506040516306fdde0360e01b81525f816004816001600160a01b0389165afa9081156109f0575f91611115575b5060405163313ce56760e01b81526020816004816001600160a01b038a165afa9081156109f0575f916110f6575b50604051632ba9c2b360e21b8152916020836004816001600160a01b038b165afa9283156109f0575f936110c5575b506040516342580cb760e11b8152935f856004816001600160a01b038c165afa9485156109f0575f95610f6a575b509160ff9392918492604051976102ed896112c7565b60018060a01b031688526020880152604087015216606085015216608083015260a0820152608052604051638da5cb5b60e01b815260208160048160018060a01b0387165afa9081156109f0575f91610f30575b506001600160a01b0390811660a05260405163e66f53b760e01b8152906020908290600490829087165afa9081156109f0575f91610ef6575b506001600160a01b0390811660c052604051630229549960e51b8152906020908290600490829087165afa9081156109f0575f91610ebc575b506001600160a01b0390811660e0526040516334cc866d60e21b8152906020908290600490829087165afa9081156109f0575f91610e8a575b506101005260408051637cc4d9a160e01b815290816004816001600160a01b0387165afa9081156109f0575f91610e27575b506101205260408051633b1618dd60e11b815290816004816001600160a01b0387165afa9081156109f0575f91610dce575b5061014052604051631c61872f60e31b81526020816004816001600160a01b0387165afa9081156109f0575f91610d94575b506001600160a01b039081166101605260405163ddca3f4360e01b8152906020908290600490829087165afa80156109f0575f90610d4b575b6001600160601b0316610180525060405163011a412160e61b81526020816004816001600160a01b0387165afa9081156109f0575f91610d11575b506001600160a01b039081166101a05260405163388af5b560e01b8152906020908290600490829087165afa9081156109f0575f91610cd7575b506001600160a01b039081166101c0526040516318160ddd60e01b8152906020908290600490829087165afa9081156109f0575f91610ca5575b506101e0526040516278744560e21b81526020816004816001600160a01b0387165afa9081156109f0575f91610c73575b506102005260405163568efc0760e01b81526020816004816001600160a01b0387165afa9081156109f0575f91610c41575b5061022052604051630a17b31360e41b81526020816004816001600160a01b0387165afa9081156109f0575f91610c0f575b5061060981611441565b610240525f5b818110610b8e5750506040516333f91ebb60e01b81526020816004816001600160a01b0387165afa9081156109f0575f91610b5c575b5061064f81611441565b610260525f5b818110610adb5750506001600160a01b038116151580610a6c575b6108d7575b505060405160208152806080516102a0602083015260018060a01b038151166102c083015260a06106d26106ba602084015160c06102e0870152610380860190611270565b60408401518582036102bf1901610300870152611270565b916060810151610320850152608081015161034085015201516102bf198383030161036084015260ff60f81b815116825260c0610733610721602084015160e0602087015260e0860190611270565b60408401518582036040870152611270565b916060810151606085015260018060a01b03608082015116608085015260a081015160a085015201519160c0818303910152602080835192838152019201905f5b8181106108be57505060a080516001600160a01b03908116604086015260c080518216606087015260e0805183166080880152610100805194880194909452610120805180516001600160c01b0316938901939093526020928301516001600160401b0390811692890192909252610140805180518616968a01969096529490920151169086015261016080518216928601929092526101808051928601929092526101a080518216928601929092526101c08051909116918501919091526101e080519185019190915261020080519185019190915261022080519185019190915261024051848403601f19019185019190915261088e92610878925090611294565b61026051838203601f1901610240850152611294565b610280805180516001600160a01b0316610260850152602081015191840191909152604001516102a08301520390f35b8251845285945060209384019390920191600101610774565b604051630c7508df60e31b81526001600160a01b0380841660048301529092906020908490602490829086165afa9283156109f0575f93610a30575b50604051636fcca69b60e01b81526001600160a01b0380831660048301529091906020908390602490829087165afa9182156109f0575f926109fb575b506040516348d88a5960e11b81526001600160a01b0391821660048201529260209184916024918391165afa9182156109f0575f926109b8575b5060405192610998846112fd565b6001600160a01b0316835260208301526040820152610280525f80610675565b9091506020813d6020116109e8575b816109d460209383611333565b810103126109e45751905f61098a565b5f80fd5b3d91506109c7565b6040513d5f823e3d90fd5b9091506020813d602011610a28575b81610a1760209383611333565b810103126109e45751906020610950565b3d9150610a0a565b9092506020813d602011610a64575b81610a4c60209383611333565b810103126109e457610a5d9061136c565b915f610913565b3d9150610a3f565b506040516326f6f90760e11b81526001600160a01b0382811660048301526020908290602490829087165afa9081156109f0575f91610aac575b50610670565b610ace915060203d602011610ad4575b610ac68183611333565b810190611354565b5f610aa6565b503d610abc565b6040516362518ddf60e01b815260048101829052906020826024816001600160a01b0389165afa80156109f0575f90610b2a575b60019250610b23826101e060800151611473565b5201610655565b506020823d8211610b54575b81610b4360209383611333565b810103126109e45760019151610b0f565b3d9150610b36565b90506020813d602011610b86575b81610b7760209383611333565b810103126109e457515f610645565b3d9150610b6a565b60405163f7d1852160e01b815260048101829052906020826024816001600160a01b0389165afa80156109f0575f90610bdd575b60019250610bd6826101c060800151611473565b520161060f565b506020823d8211610c07575b81610bf660209383611333565b810103126109e45760019151610bc2565b3d9150610be9565b90506020813d602011610c39575b81610c2a60209383611333565b810103126109e457515f6105ff565b3d9150610c1d565b90506020813d602011610c6b575b81610c5c60209383611333565b810103126109e457515f6105cd565b3d9150610c4f565b90506020813d602011610c9d575b81610c8e60209383611333565b810103126109e457515f61059b565b3d9150610c81565b90506020813d602011610ccf575b81610cc060209383611333565b810103126109e457515f61056a565b3d9150610cb3565b90506020813d602011610d09575b81610cf260209383611333565b810103126109e457610d039061136c565b5f610530565b3d9150610ce5565b90506020813d602011610d43575b81610d2c60209383611333565b810103126109e457610d3d9061136c565b5f6104f6565b3d9150610d1f565b506020813d602011610d8c575b81610d6560209383611333565b810103126109e457516001600160601b03811681036109e4576001600160601b03906104bb565b3d9150610d58565b90506020813d602011610dc6575b81610daf60209383611333565b810103126109e457610dc09061136c565b5f610482565b3d9150610da2565b90506040813d604011610e1f575b81610de960409383611333565b810103126109e457610e14602060405192610e0384611318565b610e0c8161136c565b84520161142d565b60208201525f610450565b3d9150610ddc565b90506040813d604011610e82575b81610e4260409383611333565b810103126109e45760405190610e5782611318565b80516001600160c01b03811681036109e4578252610e779060200161142d565b60208201525f61041e565b3d9150610e35565b90506020813d602011610eb4575b81610ea560209383611333565b810103126109e457515f6103ec565b3d9150610e98565b90506020813d602011610eee575b81610ed760209383611333565b810103126109e457610ee89061136c565b5f6103b3565b3d9150610eca565b90506020813d602011610f28575b81610f1160209383611333565b810103126109e457610f229061136c565b5f61037a565b3d9150610f04565b90506020813d602011610f62575b81610f4b60209383611333565b810103126109e457610f5c9061136c565b5f610341565b3d9150610f3e565b9094503d805f833e610f7c8183611333565b8101906020818303126109e4578051906001600160401b0382116109e4570160e0818303126109e45760405191610fb2836112e2565b81516001600160f81b0319811681036109e457835260208201516001600160401b0381116109e45781610fe6918401611380565b602084015260408201516001600160401b0381116109e4578161100a918401611380565b6040840152606082015160608401526110256080830161136c565b608084015260a082015160a084015260c0820151906001600160401b0382116109e45780601f8385010112156109e457818301519161106383611416565b936110716040519586611333565b838552602085019260208560051b8484010101116109e45790602081830101925b60208560051b838501010184106110b557505050505060c08201529360ff6102d7565b8351815260209384019301611092565b6110e891935060203d6020116110ef575b6110e08183611333565b8101906113fd565b915f6102a9565b503d6110d6565b61110f915060203d6020116110ef576110e08183611333565b5f61027a565b61113191503d805f833e6111298183611333565b8101906113d5565b5f61024c565b61114b91503d805f833e6111298183611333565b5f61021f565b90506020813d602011611183575b8161116c60209383611333565b810103126109e45761117d9061136c565b5f6101f2565b3d915061115f565b600146148015611232575b806111c5575b6101c45763634ba39d60e11b5f9081526001600160a01b03918216600452921660245250604490fd5b50604051630a6d4d4b60e21b81526001600160a01b038416600482015260208160248173a9c3d3a366466fa809d1ae982fb2c46e5fc411015afa9081156109f0575f91611213575b5061119c565b61122c915060203d602011610ad457610ac68183611333565b5f61120d565b506121054614611196565b611256915060203d602011610ad457610ac68183611333565b5f6101bd565b634e487b7160e01b5f52604160045260245ffd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b90602080835192838152019201905f5b8181106112b15750505090565b82518452602093840193909201916001016112a4565b60c081019081106001600160401b0382111761125c57604052565b60e081019081106001600160401b0382111761125c57604052565b606081019081106001600160401b0382111761125c57604052565b604081019081106001600160401b0382111761125c57604052565b90601f801991011681019081106001600160401b0382111761125c57604052565b908160209103126109e4575180151581036109e45790565b51906001600160a01b03821682036109e457565b81601f820112156109e4578051906001600160401b03821161125c57604051926113b4601f8401601f191660200185611333565b828452602083830101116109e457815f9260208093018386015e8301015290565b906020828203126109e45781516001600160401b0381116109e4576113fa9201611380565b90565b908160209103126109e4575160ff811681036109e45790565b6001600160401b03811161125c5760051b60200190565b51906001600160401b03821682036109e457565b9061144b82611416565b6114586040519182611333565b8281528092611469601f1991611416565b0190602036910137565b80518210156114875760209160051b010190565b634e487b7160e01b5f52603260045260245ffdfea26469706673582212204efa8a6687291ffcb94e6ab86a365eddb07e99db6c063c643b6bce86dccbc30464736f6c634300081b0033";async function Qq($,J,{deployless:Q=!0,...Y}={}){Y.chainId??=await M0(J);let{publicAllocator:X,metaMorphoFactory:G}=t(Y.chainId);if(!G)throw new n6;if(Q)try{let{config:m,owner:n,curator:u,guardian:o,timelock:Q0,pendingTimelock:t0,pendingGuardian:I0,pendingOwner:o1,fee:v1,feeRecipient:z1,skimRecipient:$5,totalSupply:W9,totalAssets:Q3,lastTotalAssets:x5,supplyQueue:O8,withdrawQueue:Y3,publicAllocatorConfig:X2}=await b(J,{...Y,abi:HO,code:fO,functionName:"query",args:[$,X??x0,G]});return new r2({...new x7({...m,eip5267Domain:new g4(m.eip5267Domain),address:$}),owner:n,curator:u,guardian:o,feeRecipient:z1,skimRecipient:$5,timelock:Q0,fee:v1,pendingOwner:o1,pendingGuardian:I0,pendingTimelock:t0,publicAllocatorConfig:X!=null?X2:void 0,supplyQueue:O8,withdrawQueue:Y3,totalSupply:W9,totalAssets:Q3,lastTotalAssets:x5})}catch(m){if(Q==="force")throw m}let[W,K,q,U,N,H,f,Z,M,D,R,O,E,V,w,B,j,T,x]=await Promise.all([Jq($,J,{...Y,deployless:Q}),b(J,{...Y,address:$,abi:i,functionName:"curator"}),b(J,{...Y,address:$,abi:i,functionName:"owner"}),b(J,{...Y,address:$,abi:i,functionName:"guardian"}),b(J,{...Y,address:$,abi:i,functionName:"timelock"}),b(J,{...Y,address:$,abi:i,functionName:"pendingTimelock"}).then(([m,n])=>({value:m,validAt:n})),b(J,{...Y,address:$,abi:i,functionName:"pendingGuardian"}).then(([m,n])=>({value:m,validAt:n})),b(J,{...Y,address:$,abi:i,functionName:"pendingOwner"}),b(J,{...Y,address:$,abi:i,functionName:"fee"}),b(J,{...Y,address:$,abi:i,functionName:"feeRecipient"}),b(J,{...Y,address:$,abi:i,functionName:"skimRecipient"}),b(J,{...Y,address:$,abi:i,functionName:"totalSupply"}),b(J,{...Y,address:$,abi:i,functionName:"totalAssets"}),b(J,{...Y,address:$,abi:i,functionName:"lastTotalAssets"}),b(J,{...Y,address:$,abi:i,functionName:"lostAssets"}).catch(()=>{return}),b(J,{...Y,address:$,abi:i,functionName:"supplyQueueLength"}),b(J,{...Y,address:$,abi:i,functionName:"withdrawQueueLength"}),X!=null&&b(J,{...Y,address:$,abi:i,functionName:"isAllocator",args:[X]}),b(J,{...Y,address:G,abi:$q,functionName:"isMetaMorpho",args:[$]}).catch(()=>!1)]),C=!x&&(Y.chainId===1||Y.chainId===8453)?b(J,{...Y,address:"0xA9c3D3a366466Fa809d1Ae982Fb2c46E5fC41101",abi:$q,functionName:"isMetaMorpho",args:[$]}):Promise.resolve(!1),S;if(T)S=Promise.all([b(J,{...Y,address:X,abi:n4,functionName:"admin",args:[$]}),b(J,{...Y,address:X,abi:n4,functionName:"fee",args:[$]}),b(J,{...Y,address:X,abi:n4,functionName:"accruedFee",args:[$]})]).then(([m,n,u])=>({admin:m,fee:n,accruedFee:u}));let[v,F,A,k]=await Promise.all([Promise.all(Array.from({length:Number(B)},(m,n)=>b(J,{...Y,address:$,abi:i,functionName:"supplyQueue",args:[BigInt(n)]}))),Promise.all(Array.from({length:Number(j)},(m,n)=>b(J,{...Y,address:$,abi:i,functionName:"withdrawQueue",args:[BigInt(n)]}))),S,C]);if(!(x||k))throw new o6(G,$);return new r2({...W,owner:q,curator:K,guardian:U,feeRecipient:D,skimRecipient:R,timelock:N,fee:M,pendingOwner:Z,pendingGuardian:f,pendingTimelock:H,publicAllocatorConfig:A,supplyQueue:v,withdrawQueue:F,totalSupply:O,totalAssets:E,lastTotalAssets:V,lostAssets:w})}async function ZO($,J,Q={}){Q.chainId??=await M0(J);let Y=await Qq($,J,Q),X=await Promise.all(Y.withdrawQueue.map((G)=>NO(Y.address,G,J,Q)));return new d4(Y,X)}function e8($){if(!($ instanceof I))return!1;let J=$.walk((Q)=>Q instanceof H5);return J instanceof H5&&J.data?.errorName==="UnknownOfFactory"}var MO=[{inputs:[{internalType:"address",name:"factory",type:"address"},{internalType:"address",name:"vault",type:"address"}],name:"UnknownOfFactory",type:"error"},{inputs:[{internalType:"contract IVaultV2",name:"vault",type:"address"},{internalType:"contract IVaultV2Factory",name:"vaultV2Factory",type:"address"},{internalType:"contract IMorphoVaultV1AdapterFactory",name:"morphoVaultV1AdapterFactory",type:"address"},{internalType:"contract IMorphoMarketV1AdapterV2Factory",name:"morphoMarketV1AdapterV2Factory",type:"address"}],name:"query",outputs:[{components:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"string",name:"symbol",type:"string"},{internalType:"string",name:"name",type:"string"},{internalType:"uint256",name:"decimals",type:"uint256"}],internalType:"struct Token",name:"token",type:"tuple"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"totalAssets",type:"uint256"},{internalType:"uint128",name:"_totalAssets",type:"uint128"},{internalType:"uint256",name:"totalSupply",type:"uint256"},{internalType:"uint256",name:"virtualShares",type:"uint256"},{internalType:"uint64",name:"maxRate",type:"uint64"},{internalType:"uint64",name:"lastUpdate",type:"uint64"},{internalType:"address[]",name:"adapters",type:"address[]"},{internalType:"address",name:"liquidityAdapter",type:"address"},{internalType:"bytes",name:"liquidityData",type:"bytes"},{internalType:"bool",name:"isLiquidityAdapterKnown",type:"bool"},{components:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"absoluteCap",type:"uint256"},{internalType:"uint256",name:"relativeCap",type:"uint256"},{internalType:"uint256",name:"allocation",type:"uint256"}],internalType:"struct VaultV2Allocation[]",name:"liquidityAllocations",type:"tuple[]"},{internalType:"uint96",name:"performanceFee",type:"uint96"},{internalType:"uint96",name:"managementFee",type:"uint96"},{internalType:"address",name:"performanceFeeRecipient",type:"address"},{internalType:"address",name:"managementFeeRecipient",type:"address"}],internalType:"struct VaultV2Response",name:"res",type:"tuple"}],stateMutability:"view",type:"function"}],zO="0x60808060405234601557611391908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c63f12c3a9214610024575f80fd5b3461096a57608036600319011261096a576004356001600160a01b038116810361096a576024356001600160a01b038116810361096a576044356001600160a01b038116810361096a57606435916001600160a01b038316830361096a576102a0604052604051610094816111eb565b5f80825260606020808401829052604080850183905282850184905260809490945260a083905260c083905260e08390526101008390526101208390526101408390526101608390526101808290526101a08390526101c08290526101e083905261020091909152610220829052610240829052610260829052610280919091529051635edec50d60e01b81526001600160a01b0386811660048301529091908290602490829086165afa908115610976575f916111a8575b501561118357506040516338d52e0f60e01b81526020816004816001600160a01b0388165afa908115610976575f91611149575b506040516395d89b4160e01b81525f816004816001600160a01b0389165afa908115610976575f9161112f575b506040516306fdde0360e01b8152905f826004816001600160a01b038a165afa918215610976575f9261110b575b5060405163313ce56760e01b8152916020836004816001600160a01b038b165afa918215610976575f926110ca575b60ff93506040519461021c866111eb565b60018060a01b03168552602085015260408401521660608201526080526040516338d52e0f60e01b815260208160048160018060a01b0388165afa908115610976575f91611090575b506001600160a01b0390811660a0526040516278744560e21b8152906020908290600490829088165afa908115610976575f9161105e575b5060c05260405163ce04bebb60e01b81526020816004816001600160a01b0388165afa8015610976575f90611015575b6001600160801b031660e052506040516318160ddd60e01b81526020816004816001600160a01b0388165afa908115610976575f91610fe3575b50610100526040516331c6651b60e21b81526020816004816001600160a01b0388165afa908115610976575f91610fb1575b506101205260405163ece1d6e560e01b81526020816004816001600160a01b0388165afa8015610976576001600160401b03915f91610f92575b50166101405260405163c046371160e01b81526020816004816001600160a01b0388165afa8015610976576001600160401b03915f91610f63575b50166101605260405163ad468d1160e01b81526020816004816001600160a01b0388165afa908115610976575f91610f29575b506001600160a01b039081166101a0526040516305c0524560e31b8152905f908290600490829088165afa908115610976575f91610ed9575b506101c0526040516343bc43c160e11b81526020816004816001600160a01b0388165afa8015610976576001600160601b03915f91610eba575b50166102205260405163537bfaeb60e11b81526020816004816001600160a01b0388165afa8015610976576001600160601b03915f91610e8b575b50166102405260405163ed27f7c960e01b81526020816004816001600160a01b0388165afa908115610976575f91610e51575b506001600160a01b03908116610260526040516306d9a30160e41b8152906020908290600490829088165afa908115610976575f91610e17575b506001600160a01b0390811661028052604051630b54457960e31b8152906020908290600490829088165afa908115610976575f91610de5575b506105408161130f565b61054d6040519182611206565b818152601f1961055c8361130f565b01366020830137610180525f5b818110610d545750506001600160a01b03811615159081610cf0575b506001600160a01b03821615159182610c7a575b50808115610c73575b15156101e05215610a26575060408051906105bd8183611206565b60018252601f19015f5b8181106109e35750506101806080015261065860018060a01b03610120608001511660405160208101916040835260046060830152637468697360e01b608083015260408201526080815261061d60a082611206565b5190206040519061062d826111eb565b81525f60208201525f60408201525f6060820152610180608001519061065282611326565b52611326565b505b61020051515f5b81811061086f576040516020815280608051610220602083015260018060a01b0381511661024083015260606106c36106ab602084015160806102608701526102c08601906111c7565b604084015185820361023f19016102808701526111c7565b9101516102a083015260018060a01b0360206080015116604083015260406080015160608301526001600160801b03606060800151166080830152608080015160a083015260a06080015160c08301526001600160401b0360c0608001511660e08301526001600160401b0360e060800151166101008301526101006080015190601f1983820301610120840152602080835192838152019201905f5b81811061084d5750506101a0516001600160a01b0316610140840152506101c051828203601f190161016084015261079891906111c7565b6101e051151561018083015261020051828203601f19016101a08401528051808352602092830192909101905f5b81811061081357505061022080516001600160601b039081166101c086015261024051166101e0850152610260516001600160a01b03908116610200860152610280511690840152500390f35b91935091602060806001926060875180518352848101518584015260408101516040840152015160608201520194019101918493926107c6565b82516001600160a01b0316845285945060209384019390920191600101610760565b61087f8161018060800151611347565b518051604051632f0374dd60e21b815260048101919091529091906020816024816001600160a01b0389165afa908115610976575f916109b2575b50602083015281516040519063a68bafa360e01b8252600482015260208160248160018060a01b0389165afa908115610976575f91610981575b5060408301528151916040519263c69507dd60e01b8452600484015260208360248160018060a01b0389165afa928315610976575f9361093e575b50916060600193015201610661565b92506020833d821161096e575b8161095860209383611206565b8101031261096a57915191606061092f565b5f80fd5b3d915061094b565b6040513d5f823e3d90fd5b90506020813d82116109aa575b8161099b60209383611206565b8101031261096a57515f6108f4565b3d915061098e565b90506020813d82116109db575b816109cc60209383611206565b8101031261096a57515f6108ba565b3d91506109bf565b6020906040516109f2816111eb565b5f81525f838201525f60408201525f6060820152828286010152016105c7565b634e487b7160e01b5f52604160045260245ffd5b1561065a57610140608001519060a08280518101031261096a576040519160a08301908382106001600160401b03831117610a125760a091604052610a6d6020820161123f565b8452610a7b6040820161123f565b6020850152610a8c6060820161123f565b6040850152610a9d6080820161123f565b60608501908152910151608084019081526101a0516040805163cc3802bf60e01b815286516001600160a01b039081166004830152602088015181166024830152919096015181166044870152925183166064860152905160848501525f91849160a4918391165afa918215610976575f92610be1575b508151610b208161130f565b90610b2e6040519283611206565b808252610b3d601f199161130f565b015f5b818110610bb2575050610200525f5b8251811015610baa5780610ba381610b6960019487611347565b5160405190610b77826111eb565b81525f60208201525f60408201525f60608201526101806080015190610b9d8383611347565b52611347565b5001610b4f565b50905061065a565b602090604051610bc1816111eb565b5f81525f838201525f60408201525f606082015282828601015201610b40565b9091503d805f833e610bf38183611206565b81019060208183031261096a578051906001600160401b03821161096a57019080601f8301121561096a578151610c298161130f565b92610c376040519485611206565b81845260208085019260051b82010192831161096a57602001905b828210610c6357505050905f610b14565b8151815260209182019101610c52565b50816105a2565b6101a0516040516335abafe560e21b81526001600160a01b03918216600482015292935060209183916024918391165afa908115610976575f91610cc1575b50905f610599565b610ce3915060203d602011610ce9575b610cdb8183611206565b810190611227565b5f610cb9565b503d610cd1565b6101a051604051632c77566560e01b81526001600160a01b039182166004820152925060209183916024918391165afa908115610976575f91610d35575b505f610585565b610d4e915060203d602011610ce957610cdb8183611206565b5f610d2e565b6040516313bd406b60e21b815260048101829052906020826024816001600160a01b038a165afa8015610976575f90610dac575b60019250610d9c8261010060800151611347565b90838060a01b0316905201610569565b506020823d8211610ddd575b81610dc560209383611206565b8101031261096a57610dd860019261123f565b610d88565b3d9150610db8565b90506020813d602011610e0f575b81610e0060209383611206565b8101031261096a57515f610536565b3d9150610df3565b90506020813d602011610e49575b81610e3260209383611206565b8101031261096a57610e439061123f565b5f6104fc565b3d9150610e25565b90506020813d602011610e83575b81610e6c60209383611206565b8101031261096a57610e7d9061123f565b5f6104c2565b3d9150610e5f565b610ead915060203d602011610eb3575b610ea58183611206565b8101906112f0565b5f61048f565b503d610e9b565b610ed3915060203d602011610eb357610ea58183611206565b5f610454565b90503d805f833e610eea8183611206565b81019060208183031261096a578051906001600160401b03821161096a57019080601f8301121561096a578151610f2392602001611253565b5f61041a565b90506020813d602011610f5b575b81610f4460209383611206565b8101031261096a57610f559061123f565b5f6103e1565b3d9150610f37565b610f85915060203d602011610f8b575b610f7d8183611206565b8101906112d1565b5f6103ae565b503d610f73565b610fab915060203d602011610f8b57610f7d8183611206565b5f610373565b90506020813d602011610fdb575b81610fcc60209383611206565b8101031261096a57515f610339565b3d9150610fbf565b90506020813d60201161100d575b81610ffe60209383611206565b8101031261096a57515f610307565b3d9150610ff1565b506020813d602011611056575b8161102f60209383611206565b8101031261096a57516001600160801b038116810361096a576001600160801b03906102cd565b3d9150611022565b90506020813d602011611088575b8161107960209383611206565b8101031261096a57515f61029d565b3d915061106c565b90506020813d6020116110c2575b816110ab60209383611206565b8101031261096a576110bc9061123f565b5f610265565b3d915061109e565b9150916020813d602011611103575b816110e660209383611206565b8101031261096a57519160ff8316830361096a5760ff929161020b565b3d91506110d9565b6111289192503d805f833e6111208183611206565b810190611298565b905f6101dc565b61114391503d805f833e6111208183611206565b5f6101ae565b90506020813d60201161117b575b8161116460209383611206565b8101031261096a576111759061123f565b5f610181565b3d9150611157565b63634ba39d60e11b5f9081526001600160a01b03918216600452908416602452604490fd5b6111c1915060203d602011610ce957610cdb8183611206565b5f61014d565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b608081019081106001600160401b03821117610a1257604052565b90601f801991011681019081106001600160401b03821117610a1257604052565b9081602091031261096a5751801515810361096a5790565b51906001600160a01b038216820361096a57565b9291926001600160401b038211610a12576040519161127c601f8201601f191660200184611206565b82948184528183011161096a578281602093845f96015e010152565b60208183031261096a578051906001600160401b03821161096a57019080601f8301121561096a5781516112ce92602001611253565b90565b9081602091031261096a57516001600160401b038116810361096a5790565b9081602091031261096a57516001600160601b038116810361096a5790565b6001600160401b038111610a125760051b60200190565b8051156113335760200190565b634e487b7160e01b5f52603260045260245ffd5b80518210156113335760209160051b01019056fea2646970667358221220c936db6a138e2c880c486cfea60ac3b01ae450191c8bc3d0cb20a4a62416e98f64736f6c634300081b0033";var VO=[{inputs:[{internalType:"address",name:"factory",type:"address"},{internalType:"address",name:"adapter",type:"address"}],name:"UnknownOfFactory",type:"error"},{inputs:[{internalType:"contract IMorphoMarketV1Adapter",name:"adapter",type:"address"},{internalType:"contract IMorphoMarketV1AdapterFactory",name:"factory",type:"address"}],name:"query",outputs:[{components:[{internalType:"address",name:"parentVault",type:"address"},{internalType:"address",name:"skimRecipient",type:"address"},{components:[{internalType:"address",name:"loanToken",type:"address"},{internalType:"address",name:"collateralToken",type:"address"},{internalType:"address",name:"oracle",type:"address"},{internalType:"address",name:"irm",type:"address"},{internalType:"uint256",name:"lltv",type:"uint256"}],internalType:"struct MarketParams[]",name:"marketParamsList",type:"tuple[]"}],internalType:"struct VaultV2MorphoMarketV1AdapterResponse",name:"res",type:"tuple"}],stateMutability:"view",type:"function"}],OO="0x60808060405234601557610538908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c63f6f030ce14610025575f80fd5b34610310576040366003190112610310576004356001600160a01b0381169190829003610310576024356001600160a01b03811690819003610310576060820182811067ffffffffffffffff82111761045c576040525f825260208201925f845260408301916060835260405163230dbab560e01b8152826004820152602081602481855afa90811561031c575f91610421575b501561040c57506040516307f1b29b60e11b8152602081600481855afa90811561031c575f916103d2575b506001600160a01b0316835260405163388af5b560e01b8152602081600481855afa90811561031c575f91610398575b506001600160a01b0316845260405163b045ff5b60e01b815290602082600481845afa91821561031c575f92610364575b5061015382959493956104c2565b610160604051918261048c565b828152601f1961016f846104c2565b015f5b81811061032757505085525f5b82811061023557505060408051602080825293516001600160a01b03908116858301529451909416908401525091516060808301528051608083018190529192839260a0840192909101905f5b8181106101da575050500390f35b825180516001600160a01b039081168652602082810151821681880152604080840151831690880152606080840151909216918701919091526080918201519186019190915286955060a090940193909201916001016101cc565b604051631f1a892160e11b815260048101829052949593949060a082602481865afa91821561031c575f9261028b575b506102808160019387519061027a83836104da565b526104da565b50019493929461017f565b915060a0823d8211610314575b816102a560a0938361048c565b8101031261031057610280816001936080604051916102c383610470565b6102cc816104ae565b83526102da602082016104ae565b60208401526102eb604082016104ae565b60408401526102fc606082016104ae565b606084015201516080820152935050610265565b5f80fd5b3d9150610298565b6040513d5f823e3d90fd5b6020906040989697985161033a81610470565b5f81525f838201525f60408201525f60608201525f60808201528282860101520196959496610172565b9091506020813d602011610390575b816103806020938361048c565b810103126103105751905f610145565b3d9150610373565b90506020813d6020116103ca575b816103b36020938361048c565b81010312610310576103c4906104ae565b5f610114565b3d91506103a6565b90506020813d602011610404575b816103ed6020938361048c565b81010312610310576103fe906104ae565b5f6100e4565b3d91506103e0565b63634ba39d60e11b5f5260045260245260445ffd5b90506020813d602011610454575b8161043c6020938361048c565b8101031261031057518015158103610310575f6100b9565b3d915061042f565b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff82111761045c57604052565b90601f8019910116810190811067ffffffffffffffff82111761045c57604052565b51906001600160a01b038216820361031057565b67ffffffffffffffff811161045c5760051b60200190565b80518210156104ee5760209160051b010190565b634e487b7160e01b5f52603260045260245ffdfea2646970667358221220dfb21c34432d601f765bfd2882d5cb1ad3536aa834246292ce550ba864b28ea664736f6c634300081b0033";async function DO($,J,{deployless:Q=!0,...Y}={}){Y.chainId??=await M0(J);let{morphoMarketV1AdapterFactory:X}=t(Y.chainId);if(!X)throw new n6;if(Q)try{let N=await b(J,{...Y,abi:VO,code:OO,functionName:"query",args:[$,X]});return new s8({...N,marketParamsList:[...N.marketParamsList],address:$})}catch(N){if(Q==="force")throw N;if(e8(N))throw N}let[G,W,K,q]=await Promise.all([b(J,{...Y,address:X,abi:iQ,functionName:"isMorphoMarketV1Adapter",args:[$]}).catch(()=>!1),b(J,{...Y,address:$,abi:p7,functionName:"parentVault"}),b(J,{...Y,address:$,abi:p7,functionName:"skimRecipient"}),b(J,{...Y,address:$,abi:p7,functionName:"marketParamsListLength"})]);if(!G)throw new o6(X,$);let U=await Promise.all(Array.from({length:Number(q)},(N,H)=>a8(J,{...Y,address:$,abi:p7,functionName:"marketParamsList",args:[BigInt(H)]})));return new s8({parentVault:W,skimRecipient:K,address:$,marketParamsList:U})}async function wO($,J,Q={}){let Y=await DO($,J,Q),X=await Promise.all(Y.marketParamsList.map((G)=>sQ($,G.id,J,Q)));return new _K(Y,X)}var EO=[{inputs:[{internalType:"address",name:"factory",type:"address"},{internalType:"address",name:"adapter",type:"address"}],name:"UnknownOfFactory",type:"error"},{inputs:[{internalType:"contract IMorphoMarketV1AdapterV2",name:"adapter",type:"address"},{internalType:"contract IMorphoMarketV1AdapterV2Factory",name:"factory",type:"address"}],name:"query",outputs:[{components:[{internalType:"address",name:"parentVault",type:"address"},{internalType:"address",name:"skimRecipient",type:"address"},{internalType:"address",name:"adaptiveCurveIrm",type:"address"},{components:[{internalType:"bytes32",name:"marketId",type:"bytes32"},{internalType:"uint256",name:"supplyShares",type:"uint256"}],internalType:"struct MarketSupplyShares[]",name:"marketSupplyShares",type:"tuple[]"}],internalType:"struct VaultV2MorphoMarketV1AdapterV2Response",name:"res",type:"tuple"}],stateMutability:"view",type:"function"}],RO="0x60808060405234601557610552908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c63f6f030ce14610025575f80fd5b34610305576040366003190112610305576004356001600160a01b0381169190829003610305576024356001600160a01b03811690819003610305576080820182811067ffffffffffffffff82111761046b576040525f825260208201925f845260408301905f82526060840192606084526040516335abafe560e21b8152826004820152602081602481855afa908115610311575f91610430575b501561041b57506040516307f1b29b60e11b8152602081600481855afa908115610311575f916103fc575b506001600160a01b0316845260405163388af5b560e01b8152602081600481855afa908115610311575f916103dd575b506001600160a01b03168552604051630399e3a560e41b8152602081600481855afa908115610311575f916103ae575b506001600160a01b0316825260405163ace48b4560e01b8152602081600481855afa908115610311575f9161037c575b5061018b8196959493966104dc565b610198604051918261049b565b818152601f196101a7836104dc565b015f5b81811061034f57505083525f5b81811061024157505060408051602080825294516001600160a01b039081168683015295518616918101919091529451909316606085015251608080850152805160a0850181905284935060c084019291909101905f5b81811061021c575050500390f35b825180518552602090810151818601528695506040909401939092019160010161020e565b60409693949596519063779a968360e01b8252806004830152602082602481875afa918215610311575f9261031c575b50604051630dd5aa9b60e31b81526004810183905291602083602481885afa928315610311575f936102da575b50816102ce91600194604051916102b48361047f565b825260208201528851906102c883836104f4565b526104f4565b500195949392956101b7565b92506020833d8211610309575b816102f46020938361049b565b81010312610305579151918161029e565b5f80fd5b3d91506102e7565b6040513d5f823e3d90fd5b9091506020813d8211610347575b816103376020938361049b565b810103126103055751905f610271565b3d915061032a565b60209060409996979899516103638161047f565b5f81525f838201528282860101520197969594976101aa565b90506020813d6020116103a6575b816103976020938361049b565b8101031261030557515f61017c565b3d915061038a565b6103d0915060203d6020116103d6575b6103c8818361049b565b8101906104bd565b5f61014c565b503d6103be565b6103f6915060203d6020116103d6576103c8818361049b565b5f61011c565b610415915060203d6020116103d6576103c8818361049b565b5f6100ec565b63634ba39d60e11b5f5260045260245260445ffd5b90506020813d602011610463575b8161044b6020938361049b565b8101031261030557518015158103610305575f6100c1565b3d915061043e565b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761046b57604052565b90601f8019910116810190811067ffffffffffffffff82111761046b57604052565b9081602091031261030557516001600160a01b03811681036103055790565b67ffffffffffffffff811161046b5760051b60200190565b80518210156105085760209160051b010190565b634e487b7160e01b5f52603260045260245ffdfea26469706673582212202b6841f6278647fbce4a7e04c1e286d66d533ceaccf4cbe6aa91bf714e1623cc64736f6c634300081b0033";async function BO($,J,{deployless:Q=!0,...Y}={}){Y.chainId??=await M0(J);let{morphoMarketV1AdapterV2Factory:X}=t(Y.chainId);if(!X)throw new n6;if(Q)try{let f=await b(J,{...Y,abi:EO,code:RO,functionName:"query",args:[$,X]});return new R6({...f,marketIds:[...f.marketSupplyShares.map(({marketId:Z})=>Z)],supplyShares:o8(f.marketSupplyShares.map(({marketId:Z,supplyShares:M})=>[Z,M])),address:$})}catch(f){if(Q==="force")throw f;if(e8(f))throw f}let[G,W,K,q,U]=await Promise.all([b(J,{...Y,address:X,abi:i4,functionName:"isMorphoMarketV1AdapterV2",args:[$]}).catch(()=>!1),b(J,{...Y,address:$,abi:$9,functionName:"parentVault"}),b(J,{...Y,address:$,abi:$9,functionName:"skimRecipient"}),b(J,{...Y,address:$,abi:$9,functionName:"marketIdsLength"}),b(J,{...Y,address:$,abi:$9,functionName:"adaptiveCurveIrm"})]);if(!G)throw new o6(X,$);let N=await Promise.all(Array.from({length:Number(q)},(f,Z)=>b(J,{...Y,address:$,abi:$9,functionName:"marketIds",args:[BigInt(Z)]}))),H=await Promise.all(N.map(async(f)=>[f,await b(J,{...Y,address:$,abi:$9,functionName:"supplyShares",args:[f]})])).then(o8);return new R6({parentVault:W,skimRecipient:K,address:$,marketIds:N,adaptiveCurveIrm:U,supplyShares:H})}async function _O($,J,Q={}){let Y=await BO($,J,Q),X=await Promise.all(Y.marketIds.map((G)=>L6(G,J,Q)));return new LK(Y,X)}var LO=[{inputs:[{internalType:"address",name:"factory",type:"address"},{internalType:"address",name:"adapter",type:"address"}],name:"UnknownOfFactory",type:"error"},{inputs:[{internalType:"contract IMorphoVaultV1Adapter",name:"adapter",type:"address"},{internalType:"contract IMorphoVaultV1AdapterFactory",name:"factory",type:"address"}],name:"query",outputs:[{components:[{internalType:"address",name:"morphoVaultV1",type:"address"},{internalType:"address",name:"parentVault",type:"address"},{internalType:"address",name:"skimRecipient",type:"address"}],internalType:"struct VaultV2MorphoVaultV1AdapterResponse",name:"res",type:"tuple"}],stateMutability:"view",type:"function"}],FO="0x608080604052346015576102cb908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c63f6f030ce14610025575f80fd5b34610234576040366003190112610234576004356001600160a01b0381169190829003610234576024356001600160a01b03811690819003610234576060820182811067ffffffffffffffff821117610240576040525f8252602082015f815260408301915f8352604051632c77566560e01b8152856004820152602081602481855afa9081156101a3575f91610201575b50156101ea575060405163e4baaddf60e01b8152602081600481885afa9081156101a3575f916101cb575b506001600160a01b031683526040516307f1b29b60e11b8152602081600481885afa9485156101a3576004956020925f916101ae575b506001600160a01b0316835260405163388af5b560e01b815295869182905afa80156101a3576060945f91610174575b506001600160a01b03908116835260408051945182168552915181166020850152915190911690820152f35b610196915060203d60201161019c575b61018e8183610254565b810190610276565b5f610148565b503d610184565b6040513d5f823e3d90fd5b6101c59150833d851161019c5761018e8183610254565b5f610118565b6101e4915060203d60201161019c5761018e8183610254565b5f6100e2565b849063634ba39d60e11b5f5260045260245260445ffd5b90506020813d602011610238575b8161021c60209383610254565b8101031261023457518015158103610234575f6100b7565b5f80fd5b3d915061020f565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff82111761024057604052565b9081602091031261023457516001600160a01b0381168103610234579056fea264697066735822122085a2452553e2f4801b563c99b5b576d6f292803c08eb7cf6a8f6d9f4b42facd664736f6c634300081b0033";async function SO($,J,{deployless:Q=!0,...Y}={}){Y.chainId??=await M0(J);let{morphoVaultV1AdapterFactory:X}=t(Y.chainId);if(!X)throw new n6;if(Q)try{let U=await b(J,{...Y,abi:LO,code:FO,functionName:"query",args:[$,X]});return new L5({...U,address:$})}catch(U){if(Q==="force")throw U;if(e8(U))throw U}let[G,W,K,q]=await Promise.all([b(J,{...Y,address:X,abi:o4,functionName:"isMorphoVaultV1Adapter",args:[$]}).catch(()=>!1),b(J,{...Y,address:$,abi:oQ,functionName:"parentVault"}),b(J,{...Y,address:$,abi:oQ,functionName:"skimRecipient"}),b(J,{...Y,address:$,abi:oQ,functionName:"morphoVaultV1"})]);if(!G)throw new o6(X,$);return new L5({morphoVaultV1:q,parentVault:W,skimRecipient:K,address:$})}async function jO($,J,Q={}){let Y=await SO($,J,Q),[X,G]=await Promise.all([ZO(Y.morphoVaultV1,J,Q),b(J,{...Q,address:Y.morphoVaultV1,abi:P0,functionName:"balanceOf",args:[Y.address]})]);return new v7(Y,X,G)}async function Yq($,J,Q={}){Q.chainId??=await M0(J),Q.deployless??=!0;let{morphoVaultV1AdapterFactory:Y,morphoMarketV1AdapterFactory:X,morphoMarketV1AdapterV2Factory:G}=t(Q.chainId),[W,K,q]=await Promise.all([Y?b(J,{...Q,address:Y,abi:o4,functionName:"isMorphoVaultV1Adapter",args:[$]}).catch(()=>!1):!1,X?b(J,{...Q,address:X,abi:iQ,functionName:"isMorphoMarketV1Adapter",args:[$]}).catch(()=>!1):!1,G?b(J,{...Q,address:G,abi:i4,functionName:"isMorphoMarketV1AdapterV2",args:[$]}).catch(()=>!1):!1]);if(W)return jO($,J,Q);if(K)return wO($,J,Q);if(q)return _O($,J,Q);throw new P7($)}async function pI($,J,{deployless:Q=!0,...Y}={}){Y.chainId??=await M0(J);let{morphoVaultV1AdapterFactory:X,morphoMarketV1AdapterV2Factory:G,vaultV2Factory:W}=t(Y.chainId);if(!W)throw new n6;if(Q)try{let{token:F,isLiquidityAdapterKnown:A,liquidityAllocations:k,...P}=await b(J,{...Y,abi:MO,code:zO,functionName:"query",args:[$,W,X??x0,G??x0]});return new y7({...F,...P,address:$,adapters:[...P.adapters],liquidityAllocations:A?[...k]:void 0})}catch(F){if(Q==="force")throw F;if(e8(F))throw F}let[K,q,U,N,H,f,Z,M,D,R,O,E,V,w,B,j]=await Promise.all([s4($,J,{...Y,deployless:Q}),b(J,{...Y,address:W,abi:nQ,functionName:"isVaultV2",args:[$]}),b(J,{...Y,address:$,abi:W1,functionName:"asset"}),b(J,{...Y,address:$,abi:W1,functionName:"totalSupply"}),b(J,{...Y,address:$,abi:W1,functionName:"totalAssets"}),b(J,{...Y,address:$,abi:W1,functionName:"_totalAssets"}),b(J,{...Y,address:$,abi:W1,functionName:"performanceFee"}),b(J,{...Y,address:$,abi:W1,functionName:"managementFee"}),b(J,{...Y,address:$,abi:W1,functionName:"virtualShares"}),b(J,{...Y,address:$,abi:W1,functionName:"lastUpdate"}),b(J,{...Y,address:$,abi:W1,functionName:"maxRate"}),b(J,{...Y,address:$,abi:W1,functionName:"liquidityAdapter"}),b(J,{...Y,address:$,abi:W1,functionName:"liquidityData"}),b(J,{...Y,address:$,abi:W1,functionName:"adaptersLength"}),b(J,{...Y,address:$,abi:W1,functionName:"performanceFeeRecipient"}),b(J,{...Y,address:$,abi:W1,functionName:"managementFeeRecipient"})]);if(!q)throw new o6(W,$);let[T,x,...C]=await Promise.all([X!=null&&E!==x0?b(J,{address:X,abi:o4,functionName:"isMorphoVaultV1Adapter",args:[E],...Y}):void 0,G!=null&&E!==x0?b(J,{address:G,abi:i4,functionName:"isMorphoMarketV1AdapterV2",args:[E],...Y}):void 0,...Array.from({length:Number(w)},(F,A)=>b(J,{...Y,address:$,abi:W1,functionName:"adapters",args:[BigInt(A)]}))]),S;if(T)S=[L5.adapterId(E)];if(x){let F=_1.fromHex(V);S=[R6.adapterId(E),R6.collateralId(F.collateralToken),R6.marketParamsId(E,F)]}let v;if(S!=null)v=await Promise.all(S.map(async(F)=>{let[A,k,P]=await Promise.all([b(J,{...Y,address:$,abi:W1,functionName:"absoluteCap",args:[F]}),b(J,{...Y,address:$,abi:W1,functionName:"relativeCap",args:[F]}),b(J,{...Y,address:$,abi:W1,functionName:"allocation",args:[F]})]);return{id:F,absoluteCap:A,relativeCap:k,allocation:P}}));return new y7({...K,asset:U,totalAssets:H,_totalAssets:f,totalSupply:N,virtualShares:D,maxRate:O,lastUpdate:R,adapters:C,liquidityAdapter:E,liquidityData:V,liquidityAllocations:v,performanceFee:Z,managementFee:M,performanceFeeRecipient:B,managementFeeRecipient:j})}async function CO($,J,Q={}){Q.chainId??=await M0(J);let Y=await pI($,J,Q),[X,G,...W]=await Promise.all([b(J,{...Q,address:Y.asset,abi:P0,functionName:"balanceOf",args:[Y.address]}),Y.liquidityAdapter!==x0?Yq(Y.liquidityAdapter,J,Q):void 0,...Y.adapters.map(async(U)=>{let[N,H]=await Promise.all([Yq(U,J,Q),b(J,{...Q,address:$,abi:W1,functionName:"forceDeallocatePenalty",args:[U]})]);return{accrualAdapter:N,forceDeallocatePenalty:H}})]),K=W.map((U)=>U.accrualAdapter),q=Object.fromEntries(W.map((U)=>[U.accrualAdapter.address,U.forceDeallocatePenalty]));return new u4(Y,G,K,X,q)}var PO;(function($){function J(C){return r({abi:i,functionName:"setCurator",args:[C]})}$.setCurator=J;function Q(C,S){return r({abi:i,functionName:"setIsAllocator",args:[C,S]})}$.setIsAllocator=Q;function Y(C){return r({abi:i,functionName:"setFeeRecipient",args:[C]})}$.setFeeRecipient=Y;function X(C){return r({abi:i,functionName:"setSkimRecipient",args:[C]})}$.setSkimRecipient=X;function G(C){return r({abi:i,functionName:"setFee",args:[C]})}$.setFee=G;function W(C){return r({abi:i,functionName:"submitTimelock",args:[C]})}$.submitTimelock=W;function K(){return r({abi:i,functionName:"acceptTimelock"})}$.acceptTimelock=K;function q(){return r({abi:i,functionName:"revokePendingTimelock"})}$.revokePendingTimelock=q;function U(C,S){return r({abi:i,functionName:"submitCap",args:[C,S]})}$.submitCap=U;function N(C){return r({abi:i,functionName:"acceptCap",args:[C]})}$.acceptCap=N;function H(C){return r({abi:i,functionName:"revokePendingCap",args:[C]})}$.revokePendingCap=H;function f(C){return r({abi:i,functionName:"submitMarketRemoval",args:[C]})}$.submitMarketRemoval=f;function Z(C){return r({abi:i,functionName:"revokePendingMarketRemoval",args:[C]})}$.revokePendingMarketRemoval=Z;function M(C){return r({abi:i,functionName:"submitGuardian",args:[C]})}$.submitGuardian=M;function D(){return r({abi:i,functionName:"acceptGuardian"})}$.acceptGuardian=D;function R(){return r({abi:i,functionName:"revokePendingGuardian"})}$.revokePendingGuardian=R;function O(C){return r({abi:i,functionName:"skim",args:[C]})}$.skim=O;function E(C){return r({abi:i,functionName:"setSupplyQueue",args:[C]})}$.setSupplyQueue=E;function V(C){return r({abi:i,functionName:"updateWithdrawQueue",args:[C]})}$.updateWithdrawQueue=V;function w(C){return r({abi:i,functionName:"reallocate",args:[C]})}$.reallocate=w;function B(C,S){return r({abi:i,functionName:"mint",args:[C,S]})}$.mint=B;function j(C,S){return r({abi:i,functionName:"deposit",args:[C,S]})}$.deposit=j;function T(C,S,v){return r({abi:i,functionName:"withdraw",args:[C,S,v]})}$.withdraw=T;function x(C,S,v){return r({abi:i,functionName:"redeem",args:[C,S,v]})}$.redeem=x})(PO||(PO={}));var lI=new Set(["value","assets","shares","amount"]),nI={blue:L1,metaMorpho:i,erc20:P0};function TO($){if($.length<10)return $;return`${$.slice(0,6)}…${$.slice(-4)}`}class l7{contractNames;contractAbis;assetsByAddress;constructor($){this.contractNames=new Map,this.contractAbis=new Map,this.assetsByAddress=new Map;for(let J of $.contracts){let Q=J.address.toLowerCase();this.contractNames.set(Q,J.name);let Y=nI[J.abiName];if(Y)this.contractAbis.set(Q,Y)}for(let J of $.assets){let Q=J.address.toLowerCase();if(this.assetsByAddress.set(Q,J),!this.contractNames.has(Q))this.contractNames.set(Q,`ERC20 (${J.symbol})`),this.contractAbis.set(Q,P0)}}static fromPlan($){return new l7($.logDecoding)}resolveContract($){return this.contractNames.get($.toLowerCase())??"Unknown"}decodeLogs($){let J=[];for(let Q of $){let Y=this.tryDecode(Q);if(!Y)continue;J.push(Y)}return J}tryDecode($){let J=$.address.toLowerCase(),Q=this.contractAbis.get(J),Y=[];if(Q)Y.push(Q);if(Q!==P0)Y.push(P0);for(let X of Y)try{let G=E5({abi:X,topics:$.topics,data:$.data??"0x",strict:!1}),W=this.resolveContract($.address),K=this.serializeArgs(G.args),q=this.formatAmounts(K,J),U=G.eventName??"Unknown",N=this.describe(U,K,q);return{address:$.address,contract:W,eventName:U,description:N,args:K,formatted:q}}catch{}return null}serializeArgs($){if(!$)return{};let J={},Q=Array.isArray($)?$.map((Y,X)=>[String(X),Y]):Object.entries($);for(let[Y,X]of Q)J[Y]=typeof X==="bigint"?X.toString():String(X);return J}formatAmounts($,J){let Q={},Y=this.assetsByAddress.get(J);for(let[X,G]of Object.entries($)){if(!lI.has(X))continue;if(Y){let W=l0(BigInt(G),Y.decimals);Q[X]=`${W} ${Y.symbol}`}else Q[X]=G}return Q}describe($,J,Q){let Y=(W)=>Q[W]??J[W]??"?",X=(W)=>TO(J[W]??"?"),G=()=>J.id?TO(J.id):"?";switch($){case"Transfer":return`Transfer ${Y("value")} from ${X("from")} to ${X("to")}`;case"Approval":return`Approve ${Y("value")} for ${X("spender")}`;case"Supply":return J.id?`Supply ${Y("assets")} to market ${G()}`:`Supply ${Y("assets")}`;case"Withdraw":return J.id?`Withdraw ${Y("assets")} from market ${G()}`:`Withdraw ${Y("assets")} from vault, received ${Y("shares")} shares`;case"Borrow":return`Borrow ${Y("assets")} from market ${G()}`;case"Repay":return`Repay ${Y("assets")} to market ${G()}`;case"SupplyCollateral":return`Supply ${Y("assets")} collateral to market ${G()}`;case"WithdrawCollateral":return`Withdraw ${Y("assets")} collateral from market ${G()}`;case"Liquidate":return`Liquidate position in market ${G()}`;case"AccrueInterest":return`Accrue interest on market ${G()}`;case"Deposit":return`Deposit ${Y("assets")} into vault, received ${Y("shares")} shares`;default:{let W=Object.entries(J).map(([K,q])=>`${K}=${q}`);return`${$}(${W.join(", ")})`}}}}var oI=new Set(["supply","borrow","repay","withdraw"]),iI=1000000000000000000n;function sI($){switch($.kind){case"supply_assets":return"supply";case"borrow_assets":return"borrow";case"repay_assets":case"repay_shares":return"repay";case"supply_collateral":case"withdraw_collateral":return;default:return}}function rI($){switch($.kind){case"supply_assets":case"borrow_assets":case"repay_assets":return{assets:BigInt($.assets),shares:BigInt($.shares)};case"repay_shares":return{assets:BigInt($.assets),shares:BigInt($.shares)};default:return{assets:0n,shares:0n}}}function IO($){let J=$*10000n/iI,Q=J/100n,Y=J%100n;return`${Q}.${Y.toString().padStart(2,"0")}`}async function Xq($,J,Q,Y){if(J.subject.kind!=="market_position")return;let X=J.subject,G=sI(J.intent);if(!G)return;if(!oI.has(G))return;let W=X.marketId,{assets:K,shares:q}=rI(J.intent),[U,N]=await Promise.all([L6(W,$),C5(X.userAddress,W,$)]),H=U.toSupplyAssets(N.supplyShares),f=U.toBorrowAssets(N.borrowShares),Z=U[G](K,q),M=Z.market,D=Z.assets,R=0n,O=0n;switch(G){case"supply":R=D;break;case"withdraw":R=-D;break;case"borrow":O=D;break;case"repay":O=-D;break}let E,V,w,B;try{let j={loanToken:U.params.loanToken,collateralToken:U.params.collateralToken,oracle:U.params.oracle,irm:U.params.irm,lltv:U.params.lltv},T=(P)=>({totalSupplyAssets:P.totalSupplyAssets,totalSupplyShares:P.totalSupplyShares,totalBorrowAssets:P.totalBorrowAssets,totalBorrowShares:P.totalBorrowShares,lastUpdate:P.lastUpdate,fee:P.fee}),x=cQ(U.params.irm,j,T(M)),C=cQ(U.params.irm,j,T(U)),v=[...Q.map((P)=>({from:Y,to:P.to,data:P.data,value:BigInt(P.value)})),{from:Y,to:x.target,data:x.calldata}],[F,A]=await Promise.all([$.simulateBlocks({blocks:[{calls:v}]}),$.call({to:C.target,data:C.calldata})]),k=F[0].calls[F[0].calls.length-1];if(k.status==="success"&&k.data){let P=pQ(k.data);V=P.toString(),B=lQ(P)}if(A.data){let P=pQ(A.data);E=P.toString(),w=lQ(P)}}catch{}return{postState:{marketId:X.marketId,supplyBefore:H.toString(),supplyAfter:(H+R).toString(),borrowBefore:f.toString(),borrowAfter:(f+O).toString(),supplyDelta:R.toString(),borrowDelta:O.toString(),utilizationBefore:IO(U.utilization),utilizationAfter:IO(M.utilization),borrowRateBefore:E,borrowRateAfter:V,borrowAPYBefore:w,borrowAPYAfter:B},lastUpdate:U.lastUpdate}}async function Gq($,J,Q="0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb"){if(J.length===0)return[];return Promise.all(J.map(async(Y)=>{try{let X=await $.readContract({address:Q,abi:L1,functionName:"market",args:[Y]}),[G,W,K,q]=X,U=G>0n?Number(K*10000n/G)/1e4:0;return{marketId:Y,totalSupplyAssets:G.toString(),totalBorrowAssets:K.toString(),totalSupplyShares:W.toString(),totalBorrowShares:q.toString(),utilization:U}}catch{return{marketId:Y,totalSupplyAssets:"0",totalBorrowAssets:"0",totalSupplyShares:"0",totalBorrowShares:"0",utilization:0}}}))}var Iw=G3(tq(),1),Aw=Iw.default({enabled:!1});function aq($){Aw=$}function I5(){return Aw}function J2($){return(Math.round(Number($)*100*1e8)/1e8).toString()}function eq($){if(!$||$.length===0)return;return $.map((J)=>({asset:J.asset,supplyAprPct:J.supplyApr!=null?J2(J.supplyApr):"0",...J.borrowApr!=null?{borrowAprPct:J2(J.borrowApr)}:{}}))}function xw($){let{state:J,...Q}=$,Y=J?.netApy,X=J?.fee;return{...Q,apyPct:Y!=null?J2(Y):void 0,tvl:J?.totalAssets?.toString(),tvlUsd:J?.totalAssetsUsd?.toString(),feePct:X!=null?J2(X):void 0,rewards:eq(J?.rewards),version:"v1"}}function bw($){let J=$.performanceFee!=null||$.managementFee!=null,Q=($.performanceFee??0)+($.managementFee??0);return{address:$.address,name:$.name,symbol:$.symbol,asset:$.asset,curator:$.curator?.address?.toLowerCase(),apyPct:$.netApy!=null?J2($.netApy):void 0,tvl:$.totalAssets?.toString(),tvlUsd:$.totalAssetsUsd?.toString(),feePct:J?J2(Q):void 0,rewards:eq($.rewards),version:"v2",type:$.type}}function kw($){let J=$.state?.borrowApy,Q=$.state?.supplyApy;return{id:$.uniqueKey,loanAsset:$.loanAsset,collateralAsset:$.collateralAsset,lltv:l0(BigInt($.lltv),18),borrowApyPct:J!=null?J2(J):void 0,supplyApyPct:Q!=null?J2(Q):void 0,totalSupply:$.state?.supplyAssets?.toString(),totalBorrow:$.state?.borrowAssets?.toString(),totalCollateral:$.state?.collateralAssets?.toString(),totalLiquidity:$.state?.liquidityAssets?.toString(),supplyAssetsUsd:$.state?.supplyAssetsUsd?.toString(),borrowAssetsUsd:$.state?.borrowAssetsUsd?.toString(),collateralAssetsUsd:$.state?.collateralAssetsUsd?.toString(),liquidityAssetsUsd:$.state?.liquidityAssetsUsd?.toString(),rewards:eq($.state?.rewards)}}class vw{url;headers;maxRetries=3;baseDelay=100;constructor($,J){this.url=$||process.env.MORPHO_API_URL||"https://api.morpho.org/graphql",this.headers={"Content-Type":"application/json",...process.env.MORPHO_API_KEY?{Authorization:`Bearer ${process.env.MORPHO_API_KEY}`}:{},...J}}buildVaultItemsSelection($){let J=["address","name"];if(!$||$.includes("symbol"))J.push("symbol");J.push(`asset {
|
|
94
|
+
address
|
|
95
|
+
symbol
|
|
96
|
+
decimals
|
|
97
|
+
}`);let Q=[];if(!$||$.includes("apyPct"))Q.push("netApy");if(!$||$.includes("tvl"))Q.push("totalAssets");if(!$||$.includes("tvlUsd"))Q.push("totalAssetsUsd");if(!$||$.includes("feePct"))Q.push("fee");if(Q.push(`rewards {
|
|
98
|
+
asset { address symbol decimals }
|
|
99
|
+
supplyApr
|
|
100
|
+
}`),Q.length>0)J.push(`state {
|
|
101
|
+
${Q.join(`
|
|
102
|
+
`)}
|
|
103
|
+
}`);return J.join(`
|
|
104
|
+
`)}buildMarketItemsSelection($){let J=["uniqueKey",`loanAsset {
|
|
105
|
+
address
|
|
106
|
+
symbol
|
|
107
|
+
decimals
|
|
108
|
+
}`,`collateralAsset {
|
|
109
|
+
address
|
|
110
|
+
symbol
|
|
111
|
+
decimals
|
|
112
|
+
}`,"lltv"],Q=[];if(!$||$.includes("supplyApy"))Q.push("supplyApy");if(!$||$.includes("borrowApy"))Q.push("borrowApy");if(!$||$.includes("totalSupply"))Q.push("supplyAssets");if(!$||$.includes("totalBorrow"))Q.push("borrowAssets");if(!$||$.includes("totalCollateral"))Q.push("collateralAssets");if(!$||$.includes("totalLiquidity"))Q.push("liquidityAssets");if(!$||$.includes("supplyAssetsUsd"))Q.push("supplyAssetsUsd");if(!$||$.includes("borrowAssetsUsd"))Q.push("borrowAssetsUsd");if(!$||$.includes("collateralAssetsUsd"))Q.push("collateralAssetsUsd");if(!$||$.includes("liquidityAssetsUsd"))Q.push("liquidityAssetsUsd");if(Q.push(`rewards {
|
|
113
|
+
asset { address symbol decimals }
|
|
114
|
+
supplyApr
|
|
115
|
+
borrowApr
|
|
116
|
+
}`),Q.length>0)J.push(`state {
|
|
117
|
+
${Q.join(`
|
|
118
|
+
`)}
|
|
119
|
+
}`);return J.join(`
|
|
120
|
+
`)}async queryVaults($){let J=Number(H1[$.chain]),Y=`
|
|
121
|
+
query QueryVaults(
|
|
122
|
+
$where: VaultFilters,
|
|
123
|
+
$first: Int,
|
|
124
|
+
$skip: Int,
|
|
125
|
+
$orderBy: VaultOrderBy,
|
|
126
|
+
$orderDirection: OrderDirection
|
|
127
|
+
) {
|
|
128
|
+
vaults(
|
|
129
|
+
where: $where,
|
|
130
|
+
first: $first,
|
|
131
|
+
skip: $skip,
|
|
132
|
+
orderBy: $orderBy,
|
|
133
|
+
orderDirection: $orderDirection
|
|
134
|
+
) {
|
|
135
|
+
items {
|
|
136
|
+
${this.buildVaultItemsSelection($.fields)}
|
|
137
|
+
}
|
|
138
|
+
pageInfo {
|
|
139
|
+
countTotal
|
|
140
|
+
count
|
|
141
|
+
limit
|
|
142
|
+
skip
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
`,X={chainId_in:[J]};if($.assetSymbol)X.assetSymbol_in=[$.assetSymbol];if($.assetAddress)X.assetAddress_in=[$.assetAddress.toLowerCase()];let G={apy_desc:{orderBy:"NetApy",orderDirection:"Desc"},apy_asc:{orderBy:"NetApy",orderDirection:"Asc"},tvl_desc:{orderBy:"TotalAssetsUsd",orderDirection:"Desc"},tvl_asc:{orderBy:"TotalAssetsUsd",orderDirection:"Asc"}},W={where:X,first:$.limit??100};if($.skip!=null)W.skip=$.skip;if($.sort&&G[$.sort])W.orderBy=G[$.sort].orderBy,W.orderDirection=G[$.sort].orderDirection;let K=await this.executeQuery(Y,W),q=K.vaults?.items||[],U=K.vaults?.pageInfo||{countTotal:0,count:0,limit:$.limit??100,skip:$.skip??0};return{items:q.map(xw),pageInfo:U}}async getVault($,J){let Q=Number(H1[$]),Y=`
|
|
147
|
+
query GetVault($chainId: Int!, $address: String!) {
|
|
148
|
+
vaults(where: { chainId_in: [$chainId], address_in: [$address] }, first: 1) {
|
|
149
|
+
items {
|
|
150
|
+
address
|
|
151
|
+
name
|
|
152
|
+
symbol
|
|
153
|
+
asset {
|
|
154
|
+
address
|
|
155
|
+
symbol
|
|
156
|
+
decimals
|
|
157
|
+
}
|
|
158
|
+
state {
|
|
159
|
+
netApy
|
|
160
|
+
totalAssets
|
|
161
|
+
totalAssetsUsd
|
|
162
|
+
fee
|
|
163
|
+
rewards {
|
|
164
|
+
asset {
|
|
165
|
+
address
|
|
166
|
+
symbol
|
|
167
|
+
decimals
|
|
168
|
+
}
|
|
169
|
+
supplyApr
|
|
170
|
+
}
|
|
171
|
+
allocation {
|
|
172
|
+
market {
|
|
173
|
+
uniqueKey
|
|
174
|
+
loanAsset {
|
|
175
|
+
address
|
|
176
|
+
symbol
|
|
177
|
+
}
|
|
178
|
+
collateralAsset {
|
|
179
|
+
address
|
|
180
|
+
symbol
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
supplyAssets
|
|
184
|
+
supplyAssetsUsd
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
`,G=(await this.executeQuery(`
|
|
191
|
+
query GetVault($chainId: Int!, $address: String!) {
|
|
192
|
+
vaults(where: { chainId_in: [$chainId], address_in: [$address] }, first: 1) {
|
|
193
|
+
items {
|
|
194
|
+
address
|
|
195
|
+
name
|
|
196
|
+
symbol
|
|
197
|
+
asset {
|
|
198
|
+
address
|
|
199
|
+
symbol
|
|
200
|
+
decimals
|
|
201
|
+
}
|
|
202
|
+
state {
|
|
203
|
+
netApy
|
|
204
|
+
totalAssets
|
|
205
|
+
totalAssetsUsd
|
|
206
|
+
fee
|
|
207
|
+
rewards {
|
|
208
|
+
asset {
|
|
209
|
+
address
|
|
210
|
+
symbol
|
|
211
|
+
decimals
|
|
212
|
+
}
|
|
213
|
+
supplyApr
|
|
214
|
+
}
|
|
215
|
+
allocation {
|
|
216
|
+
market {
|
|
217
|
+
uniqueKey
|
|
218
|
+
loanAsset {
|
|
219
|
+
address
|
|
220
|
+
symbol
|
|
221
|
+
}
|
|
222
|
+
collateralAsset {
|
|
223
|
+
address
|
|
224
|
+
symbol
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
supplyAssets
|
|
228
|
+
supplyAssetsUsd
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
`,{chainId:Q,address:J.toLowerCase()})).vaults?.items?.[0];if(!G)return null;let W=G.state?.allocation?.map((K)=>({market:{uniqueKey:K.market.uniqueKey,loanAsset:K.market.loanAsset,collateralAsset:K.market.collateralAsset},supplyAssets:K.supplyAssets.toString(),supplyAssetsUsd:K.supplyAssetsUsd?.toString()}));return{...xw(G),allocations:W}}async queryMarkets($){let J=Number(H1[$.chain]),Y=`
|
|
235
|
+
query QueryMarkets(
|
|
236
|
+
$where: MarketFilters,
|
|
237
|
+
$first: Int,
|
|
238
|
+
$skip: Int,
|
|
239
|
+
$orderBy: MarketOrderBy,
|
|
240
|
+
$orderDirection: OrderDirection
|
|
241
|
+
) {
|
|
242
|
+
markets(
|
|
243
|
+
where: $where,
|
|
244
|
+
first: $first,
|
|
245
|
+
skip: $skip,
|
|
246
|
+
orderBy: $orderBy,
|
|
247
|
+
orderDirection: $orderDirection
|
|
248
|
+
) {
|
|
249
|
+
items {
|
|
250
|
+
${this.buildMarketItemsSelection($.fields)}
|
|
251
|
+
}
|
|
252
|
+
pageInfo {
|
|
253
|
+
countTotal
|
|
254
|
+
count
|
|
255
|
+
limit
|
|
256
|
+
skip
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
`,X={chainId_in:[J]};if($.loanAsset)X.loanAssetAddress_in=[$.loanAsset.toLowerCase()];if($.collateralAsset)X.collateralAssetAddress_in=[$.collateralAsset.toLowerCase()];let G={supplyApy:"SupplyApy",borrowApy:"BorrowApy",netSupplyApy:"NetSupplyApy",netBorrowApy:"NetBorrowApy",supplyAssetsUsd:"SupplyAssetsUsd",borrowAssetsUsd:"BorrowAssetsUsd",totalLiquidityUsd:"TotalLiquidityUsd"},W={where:X,first:$.limit??100};if($.skip!=null)W.skip=$.skip;let K=$.sortBy??"supplyAssetsUsd";W.orderBy=G[K],W.orderDirection=($.sortDirection??"desc")==="desc"?"Desc":"Asc";let q=await this.executeQuery(Y,W),U=q.markets?.items||[],N=q.markets?.pageInfo||{countTotal:0,count:0,limit:$.limit??100,skip:$.skip??0};return{items:U.map(kw),pageInfo:N}}async getMarket($,J){let Q=Number(H1[$]),Y=`
|
|
261
|
+
query GetMarket($chainId: Int!, $id: String!) {
|
|
262
|
+
markets(where: { chainId_in: [$chainId], uniqueKey_in: [$id] }, first: 1) {
|
|
263
|
+
items {
|
|
264
|
+
uniqueKey
|
|
265
|
+
loanAsset {
|
|
266
|
+
address
|
|
267
|
+
symbol
|
|
268
|
+
decimals
|
|
269
|
+
}
|
|
270
|
+
collateralAsset {
|
|
271
|
+
address
|
|
272
|
+
symbol
|
|
273
|
+
decimals
|
|
274
|
+
}
|
|
275
|
+
lltv
|
|
276
|
+
state {
|
|
277
|
+
supplyApy
|
|
278
|
+
borrowApy
|
|
279
|
+
supplyAssets
|
|
280
|
+
borrowAssets
|
|
281
|
+
collateralAssets
|
|
282
|
+
liquidityAssets
|
|
283
|
+
supplyAssetsUsd
|
|
284
|
+
borrowAssetsUsd
|
|
285
|
+
collateralAssetsUsd
|
|
286
|
+
liquidityAssetsUsd
|
|
287
|
+
rewards {
|
|
288
|
+
asset {
|
|
289
|
+
address
|
|
290
|
+
symbol
|
|
291
|
+
decimals
|
|
292
|
+
}
|
|
293
|
+
supplyApr
|
|
294
|
+
borrowApr
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
`,G=(await this.executeQuery(`
|
|
301
|
+
query GetMarket($chainId: Int!, $id: String!) {
|
|
302
|
+
markets(where: { chainId_in: [$chainId], uniqueKey_in: [$id] }, first: 1) {
|
|
303
|
+
items {
|
|
304
|
+
uniqueKey
|
|
305
|
+
loanAsset {
|
|
306
|
+
address
|
|
307
|
+
symbol
|
|
308
|
+
decimals
|
|
309
|
+
}
|
|
310
|
+
collateralAsset {
|
|
311
|
+
address
|
|
312
|
+
symbol
|
|
313
|
+
decimals
|
|
314
|
+
}
|
|
315
|
+
lltv
|
|
316
|
+
state {
|
|
317
|
+
supplyApy
|
|
318
|
+
borrowApy
|
|
319
|
+
supplyAssets
|
|
320
|
+
borrowAssets
|
|
321
|
+
collateralAssets
|
|
322
|
+
liquidityAssets
|
|
323
|
+
supplyAssetsUsd
|
|
324
|
+
borrowAssetsUsd
|
|
325
|
+
collateralAssetsUsd
|
|
326
|
+
liquidityAssetsUsd
|
|
327
|
+
rewards {
|
|
328
|
+
asset {
|
|
329
|
+
address
|
|
330
|
+
symbol
|
|
331
|
+
decimals
|
|
332
|
+
}
|
|
333
|
+
supplyApr
|
|
334
|
+
borrowApr
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
`,{chainId:Q,id:J})).markets?.items?.[0];if(!G)return null;return kw(G)}async getPositions($,J,Q,Y){let X=Number(H1[$]),G=[];if(Q||!Y){let W=Q?`
|
|
341
|
+
query GetVaultPositions($chainId: Int!, $userAddress: String!, $vaultAddress: String!) {
|
|
342
|
+
vaultPositions(where: { chainId_in: [$chainId], userAddress_in: [$userAddress], vaultAddress_in: [$vaultAddress] }) {
|
|
343
|
+
items {
|
|
344
|
+
user {
|
|
345
|
+
address
|
|
346
|
+
}
|
|
347
|
+
state {
|
|
348
|
+
assets
|
|
349
|
+
shares
|
|
350
|
+
}
|
|
351
|
+
vault {
|
|
352
|
+
address
|
|
353
|
+
name
|
|
354
|
+
symbol
|
|
355
|
+
asset {
|
|
356
|
+
address
|
|
357
|
+
symbol
|
|
358
|
+
decimals
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}`:`
|
|
364
|
+
query GetVaultPositions($chainId: Int!, $userAddress: String!) {
|
|
365
|
+
vaultPositions(where: { chainId_in: [$chainId], userAddress_in: [$userAddress] }) {
|
|
366
|
+
items {
|
|
367
|
+
user {
|
|
368
|
+
address
|
|
369
|
+
}
|
|
370
|
+
state {
|
|
371
|
+
assets
|
|
372
|
+
shares
|
|
373
|
+
}
|
|
374
|
+
vault {
|
|
375
|
+
address
|
|
376
|
+
name
|
|
377
|
+
symbol
|
|
378
|
+
asset {
|
|
379
|
+
address
|
|
380
|
+
symbol
|
|
381
|
+
decimals
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
}`,K={chainId:X,userAddress:J.toLowerCase()};if(Q)K.vaultAddress=Q.toLowerCase();let U=(await this.executeQuery(W,K)).vaultPositions?.items||[];for(let N of U)G.push({userAddress:N.user?.address||J,vault:{...N.vault,version:"v1"},suppliedAmount:N.state.assets?.toString()||"0",shares:N.state.shares?.toString()||"0"})}if(Y||!Q){let W=Y?`
|
|
387
|
+
query GetMarketPositions($chainId: Int!, $userAddress: String!, $marketId: String!) {
|
|
388
|
+
marketPositions(where: { chainId_in: [$chainId], userAddress_in: [$userAddress], marketUniqueKey_in: [$marketId] }) {
|
|
389
|
+
items {
|
|
390
|
+
user {
|
|
391
|
+
address
|
|
392
|
+
}
|
|
393
|
+
supplyAssets
|
|
394
|
+
borrowAssets
|
|
395
|
+
collateral
|
|
396
|
+
market {
|
|
397
|
+
uniqueKey
|
|
398
|
+
lltv
|
|
399
|
+
loanAsset {
|
|
400
|
+
address
|
|
401
|
+
symbol
|
|
402
|
+
decimals
|
|
403
|
+
}
|
|
404
|
+
collateralAsset {
|
|
405
|
+
address
|
|
406
|
+
symbol
|
|
407
|
+
decimals
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}`:`
|
|
413
|
+
query GetMarketPositions($chainId: Int!, $userAddress: String!) {
|
|
414
|
+
marketPositions(where: { chainId_in: [$chainId], userAddress_in: [$userAddress] }) {
|
|
415
|
+
items {
|
|
416
|
+
user {
|
|
417
|
+
address
|
|
418
|
+
}
|
|
419
|
+
supplyAssets
|
|
420
|
+
borrowAssets
|
|
421
|
+
collateral
|
|
422
|
+
market {
|
|
423
|
+
uniqueKey
|
|
424
|
+
lltv
|
|
425
|
+
loanAsset {
|
|
426
|
+
address
|
|
427
|
+
symbol
|
|
428
|
+
decimals
|
|
429
|
+
}
|
|
430
|
+
collateralAsset {
|
|
431
|
+
address
|
|
432
|
+
symbol
|
|
433
|
+
decimals
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}`,K={chainId:X,userAddress:J.toLowerCase()};if(Y)K.marketId=Y;let U=(await this.executeQuery(W,K)).marketPositions?.items||[];for(let N of U)G.push({userAddress:N.user?.address||J,market:{id:N.market.uniqueKey,loanAsset:N.market.loanAsset,collateralAsset:N.market.collateralAsset,lltv:l0(BigInt(N.market.lltv),18)},suppliedAmount:N.supplyAssets?.toString()||"0",borrowedAmount:N.borrowAssets?.toString()||"0",collateralAmount:N.collateral?.toString()})}return G}async getPosition($,J,Q,Y){let X=await this.getPositions($,J,Q,Y);return X.length>0?X[0]:null}async queryVaultsV2($){let J=Number(H1[$.chain]),Q=`
|
|
439
|
+
query QueryVaultsV2(
|
|
440
|
+
$where: VaultV2sFilters,
|
|
441
|
+
$first: Int,
|
|
442
|
+
$skip: Int,
|
|
443
|
+
$orderBy: VaultV2OrderBy,
|
|
444
|
+
$orderDirection: OrderDirection
|
|
445
|
+
) {
|
|
446
|
+
vaultV2s(
|
|
447
|
+
where: $where,
|
|
448
|
+
first: $first,
|
|
449
|
+
skip: $skip,
|
|
450
|
+
orderBy: $orderBy,
|
|
451
|
+
orderDirection: $orderDirection
|
|
452
|
+
) {
|
|
453
|
+
items {
|
|
454
|
+
address name symbol type
|
|
455
|
+
asset { address symbol decimals }
|
|
456
|
+
curator { address }
|
|
457
|
+
netApy totalAssets totalAssetsUsd
|
|
458
|
+
performanceFee managementFee
|
|
459
|
+
rewards {
|
|
460
|
+
asset { address symbol decimals }
|
|
461
|
+
supplyApr
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
pageInfo { countTotal count limit skip }
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
`,Y={chainId_in:[J]};if($.assetAddresses&&$.assetAddresses.length>0)Y.assetAddress_in=$.assetAddresses;let X={apy_desc:{orderBy:"NetApy",orderDirection:"Desc"},apy_asc:{orderBy:"NetApy",orderDirection:"Asc"},tvl_desc:{orderBy:"TotalAssetsUsd",orderDirection:"Desc"},tvl_asc:{orderBy:"TotalAssetsUsd",orderDirection:"Asc"}},G={where:Y,first:$.limit??100};if($.skip!=null)G.skip=$.skip;if($.sort&&X[$.sort])G.orderBy=X[$.sort].orderBy,G.orderDirection=X[$.sort].orderDirection;let W=await this.executeQuery(`
|
|
468
|
+
query QueryVaultsV2(
|
|
469
|
+
$where: VaultV2sFilters,
|
|
470
|
+
$first: Int,
|
|
471
|
+
$skip: Int,
|
|
472
|
+
$orderBy: VaultV2OrderBy,
|
|
473
|
+
$orderDirection: OrderDirection
|
|
474
|
+
) {
|
|
475
|
+
vaultV2s(
|
|
476
|
+
where: $where,
|
|
477
|
+
first: $first,
|
|
478
|
+
skip: $skip,
|
|
479
|
+
orderBy: $orderBy,
|
|
480
|
+
orderDirection: $orderDirection
|
|
481
|
+
) {
|
|
482
|
+
items {
|
|
483
|
+
address name symbol type
|
|
484
|
+
asset { address symbol decimals }
|
|
485
|
+
curator { address }
|
|
486
|
+
netApy totalAssets totalAssetsUsd
|
|
487
|
+
performanceFee managementFee
|
|
488
|
+
rewards {
|
|
489
|
+
asset { address symbol decimals }
|
|
490
|
+
supplyApr
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
pageInfo { countTotal count limit skip }
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
`,G),K=(W.vaultV2s?.items??[]).map(bw),q=W.vaultV2s?.pageInfo??{countTotal:0,count:0,limit:$.limit??100,skip:$.skip??0};return{items:K,pageInfo:q}}async getVaultV2($,J){let Q=Number(H1[$]),Y=`
|
|
497
|
+
query GetVaultV2($address: String!, $chainId: Int!) {
|
|
498
|
+
vaultV2ByAddress(address: $address, chainId: $chainId) {
|
|
499
|
+
address name symbol type
|
|
500
|
+
asset { address symbol decimals }
|
|
501
|
+
curator { address }
|
|
502
|
+
netApy totalAssets totalAssetsUsd
|
|
503
|
+
performanceFee managementFee
|
|
504
|
+
rewards {
|
|
505
|
+
asset { address symbol decimals }
|
|
506
|
+
supplyApr
|
|
507
|
+
}
|
|
508
|
+
adapters {
|
|
509
|
+
items {
|
|
510
|
+
address type assets assetsUsd
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
`,G=(await this.executeQuery(`
|
|
516
|
+
query GetVaultV2($address: String!, $chainId: Int!) {
|
|
517
|
+
vaultV2ByAddress(address: $address, chainId: $chainId) {
|
|
518
|
+
address name symbol type
|
|
519
|
+
asset { address symbol decimals }
|
|
520
|
+
curator { address }
|
|
521
|
+
netApy totalAssets totalAssetsUsd
|
|
522
|
+
performanceFee managementFee
|
|
523
|
+
rewards {
|
|
524
|
+
asset { address symbol decimals }
|
|
525
|
+
supplyApr
|
|
526
|
+
}
|
|
527
|
+
adapters {
|
|
528
|
+
items {
|
|
529
|
+
address type assets assetsUsd
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
`,{address:J.toLowerCase(),chainId:Q})).vaultV2ByAddress;if(!G)return null;let W=bw(G),K=G.adapters?.items?.map((q)=>({address:q.address.toLowerCase(),supplyAssets:q.assets.toString(),supplyAssetsUsd:q.assetsUsd?.toString()}));return{...W,allocations:K}}async resolveAssetAddresses($,J){let Q=Number(H1[$]),Y=`
|
|
535
|
+
query ResolveAsset($symbol: String!, $chainId: Int!) {
|
|
536
|
+
assets(where: { symbol_in: [$symbol], chainId_in: [$chainId] }, first: 20) {
|
|
537
|
+
items { address }
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
`;return((await this.executeQuery(`
|
|
541
|
+
query ResolveAsset($symbol: String!, $chainId: Int!) {
|
|
542
|
+
assets(where: { symbol_in: [$symbol], chainId_in: [$chainId] }, first: 20) {
|
|
543
|
+
items { address }
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
`,{symbol:J,chainId:Q})).assets?.items??[]).map((G)=>G.address.toLowerCase())}async checkHealth(){try{return await this.executeQuery("query HealthCheck { __typename }",{}),!0}catch{return!1}}async executeQuery($,J){let Q=null;for(let Y=1;Y<=this.maxRetries;Y++)try{let X=await fetch(this.url,{method:"POST",headers:this.headers,body:JSON.stringify({query:$,variables:J})});if(X.status===401)throw Error("Authentication failed");if(!X.ok)throw Error(`HTTP ${X.status}: ${await X.text()}`);let G=await X.json();if(G.errors?.length)throw Error(G.errors.map((W)=>W.message).join("; "));return G.data}catch(X){if(Q=X instanceof Error?X:Error(String(X)),Q.message==="Authentication failed")throw Q;if(Y<this.maxRetries){let G=this.baseDelay*Math.pow(2,Y-1);await this.sleep(G)}}throw Error(`Failed after ${this.maxRetries} retries: ${Q?.message}`)}sleep($){return new Promise((J)=>setTimeout(J,$))}}var yw;function y1(){return yw??=new vw,yw}function Ay($){switch($.kind){case"deposit_assets":return"deposit";case"withdraw_assets":return"withdraw";case"redeem_shares":return"redeem";default:throw Error(`Unexpected vault intent: ${$.kind}`)}}function xy($,J,Q){switch($.kind){case"deposit_assets":{let Y=BigInt($.assets),X=Q.toShares(Y,"Down");return{sharesAfter:J+X,shareDelta:X}}case"withdraw_assets":{let Y=BigInt($.assets),X=Q.toShares(Y,"Up");return{sharesAfter:J-X,shareDelta:-X}}case"redeem_shares":{let Y=BigInt($.shares);return{sharesAfter:J-Y,shareDelta:-Y}}default:throw Error(`Unexpected vault intent: ${$.kind}`)}}async function $U($,J){if(J.subject.kind!=="vault_position"){I5().warn("analyzeVaultPostState: subject is not vault_position");return}let Q=J.subject;if(!Ay(J.intent))return;let{vaultAddress:X,userAddress:G}=Q,W,K;try{[W,K]=await Promise.all([Qq(X,$),$.readContract({address:X,abi:i,functionName:"balanceOf",args:[G]})])}catch(D){throw I5().error({err:D},"analyzeVaultPostState: failed to fetch vault or shares"),D}let{sharesAfter:q,shareDelta:U}=xy(J.intent,K,W),N=W.toAssets(K),H=W.toAssets(q),f=H-N,Z;try{let D=y1(),R=Q.chain||"base",O=await D.getVault(R,Q.vaultAddress);if(O?.allocations&&O.allocations.length>0){let E=O.allocations.filter((V)=>V.market!=null).map((V)=>V.market.uniqueKey);Z=await Gq($,E)}}catch(D){I5().warn({err:D},"Failed to read market states for vault analysis")}let M={vaultAddress:Q.vaultAddress,sharesBefore:K.toString(),sharesAfter:q.toString(),assetsBefore:N.toString(),assetsAfter:H.toString(),shareDelta:U.toString(),assetDelta:f.toString()};if(Z)M.marketStates=Z;return M}var hw="SIM_TX_REVERTED",gw="SIM_PARTIAL_REVERT",mw="SIM_HIGH_GAS",dw="SIM_ANALYSIS_UNAVAILABLE",uw="MORPHO_ZERO_SHARES",MY="MORPHO_LARGE_POSITION_CHANGE",cw="MORPHO_HIGH_UTILIZATION",pw="MORPHO_UTILIZATION_SPIKE",lw="MORPHO_STALE_ORACLE",nw="SIM_RPC_FAILURE",ow="SIM_INTERNAL_FAILURE";var by=500000n;function JU($,J,Q){let Y=[],X=$.filter((K)=>!K.success),G=$.filter((K)=>K.success);for(let K of X)Y.push({level:"error",message:`Transaction ${K.transactionIndex} reverted: ${K.revertReason??"unknown reason"}`,code:hw});if(X.length>0&&G.length>0)Y.push({level:"warning",message:`${G.length} of ${$.length} transactions succeeded; partial execution may leave state inconsistent`,code:gw});let W=$.reduce((K,q)=>K+BigInt(q.gasUsed),0n);if(W>by)Y.push({level:"warning",message:`High total gas usage: ${W.toString()}`,code:mw});if(Q&&!J)Y.push({level:"info",message:"Simulation plan was provided but post-state analysis could not be computed",code:dw});return Y}var QU=50n,ky=9500n,yy=1000n,vy=3600n;function iw($){let[J,Q="0"]=$.split("."),Y=Q.padEnd(2,"0").slice(0,2);return BigInt(J)*100n+BigInt(Y)}function YU($){return $<0n?-$:$}function zY($,J,Q,Y){let X=[];if($)hy($,Q,X);if(J)gy(J,Q,Y,X);return X}function hy($,J,Q){if(J==="deposit"&&$.shareDelta==="0")Q.push({level:"warning",message:"Deposit resulted in zero vault shares minted",code:uw});let Y=BigInt($.sharesBefore),X=YU(BigInt($.shareDelta));if(Y>0n&&X*100n/Y>QU)Q.push({level:"info",message:`Position change exceeds 50% of existing position (delta: ${$.shareDelta}, before: ${$.sharesBefore})`,code:MY})}function gy($,J,Q,Y){if($.utilizationAfter){let W=iw($.utilizationAfter);if(W>ky)Y.push({level:"warning",message:`Market utilization after operation is ${$.utilizationAfter}%, exceeding 95% threshold`,code:cw});if($.utilizationBefore){let K=iw($.utilizationBefore),q=W-K;if(q>yy)Y.push({level:"warning",message:`Utilization spike of ${(q/100n).toString()}pp (${$.utilizationBefore}% → ${$.utilizationAfter}%)`,code:pw})}}if(Q!==void 0){let W=BigInt(Math.floor(Date.now()/1000));if(W-Q>vy)Y.push({level:"warning",message:`Market data may be stale (last updated ${(W-Q).toString()}s ago)`,code:lw})}let X=J==="supply"||J==="withdraw",G=J==="borrow"||J==="repay";if(X){let W=BigInt($.supplyBefore),K=YU(BigInt($.supplyDelta));if(W>0n&&K*100n/W>QU)Y.push({level:"info",message:`Position change exceeds 50% of existing position (delta: ${$.supplyDelta}, before: ${$.supplyBefore})`,code:MY})}if(G){let W=BigInt($.borrowBefore),K=YU(BigInt($.borrowDelta));if(W>0n&&K*100n/W>QU)Y.push({level:"info",message:`Position change exceeds 50% of existing position (delta: ${$.borrowDelta}, before: ${$.borrowBefore})`,code:MY})}}function my($){if($ instanceof I){let J=$.name;return J.includes("Request")||J.includes("Timeout")||J.includes("Socket")}if($ instanceof TypeError)return!0;if($ instanceof Error)return/ECONNREFUSED|ETIMEDOUT|ENOTFOUND|network|socket/i.test($.message);return!1}function p1($){let J=$ instanceof Error?$.message:String($);if(my($))return{level:"error",message:`Simulation could not run — RPC node error: ${J}. Transactions are prepared but unverified. Retry or check RPC configuration.`,code:nw};return{level:"error",message:`Simulation failed unexpectedly: ${J}. Transactions are prepared but could not be verified.`,code:ow}}async function XU($,J,Q,Y){switch(J.analysis.kind){case"vault_analysis":{let X=await $U($,J),G=zY(X,void 0,J.operation);return{protocol:"morpho",operation:J.operation,vault:X,warnings:G}}case"market_analysis":{let X=await Xq($,J,Q,Y),G=X?.postState,W=X?.lastUpdate,K=zY(void 0,G,J.operation,W);return{protocol:"morpho",operation:J.operation,market:G,warnings:K}}}}function dy($,J){if(!$||$==="0x")return;if(!$.match(/^0x[0-9a-fA-F]*$/))return;try{switch(J){case"uint256":case"uint128":case"uint64":case"uint32":case"uint8":return C1([{type:J}],$)[0].toString();case"string":return C1([{type:"string"}],$)[0];case"bool":return C1([{type:"bool"}],$)[0].toString();case"address":return C1([{type:"address"}],$)[0];case"tuple":return $;default:return $}}catch{return}}function GU($,J){return $.map((Q)=>{let Y=J.get(Q.key);if(!Y)return{key:Q.key,raw:void 0,decoded:void 0,type:Q.returnType,error:"No result found"};let X=dy(Y,Q.returnType);return{key:Q.key,raw:Y,decoded:X,type:Q.returnType}})}var uy=z.object({}),MF0=z.object({status:z.enum(["healthy","unhealthy"]),timestamp:z.string()});async function cy(){return{status:await y1().checkHealth()?"healthy":"unhealthy",timestamp:new Date().toISOString()}}var sw={name:"morpho_health_check",description:"Check the health status of the MCP server and connected services",category:"read",inputSchema:uy,execute:async()=>cy()};var py=z.object({}),ly=z.object({slug:z.string(),name:z.string(),chainId:z.string(),explorerUrl:z.string(),isTestnet:z.boolean()}),OF0=z.object({chains:z.array(ly),tool:z.string(),timestamp:z.string()}),ny=[{slug:"base",name:"Base",chainId:"8453",explorerUrl:"https://basescan.org",isTestnet:!1},{slug:"ethereum",name:"Ethereum",chainId:"1",explorerUrl:"https://etherscan.io",isTestnet:!1}];function oy(){return{chains:ny,tool:"morpho_get_supported_chains",timestamp:new Date().toISOString()}}var rw={name:"morpho_get_supported_chains",description:"Get list of supported blockchain networks",category:"read",inputSchema:py,execute:async()=>oy()};var iy=z.enum(["address","name","symbol","apyPct","tvl","tvlUsd","feePct"]),tw=z.object({chain:X0,assetSymbol:z.string().optional(),assetAddress:$0.optional(),sort:z.enum(["apy_desc","apy_asc","tvl_desc","tvl_asc"]).optional(),limit:z.coerce.number().int().min(1).max(100).optional(),skip:z.coerce.number().int().min(0).optional(),fields:z.array(iy).optional()}),BF0=z.object({vaults:z.array(E7),chain:X0,tool:z.string(),timestamp:z.string(),count:z.number(),pagination:z.object({total:z.number(),limit:z.number(),skip:z.number()})}),aw={apy_desc:($,J)=>Number(J.apyPct??0)-Number($.apyPct??0),apy_asc:($,J)=>Number($.apyPct??0)-Number(J.apyPct??0),tvl_desc:($,J)=>Number(J.tvlUsd??0)-Number($.tvlUsd??0),tvl_asc:($,J)=>Number($.tvlUsd??0)-Number(J.tvlUsd??0)};function sy($,J){return{address:$.address.toLowerCase(),name:$.name,chain:J,asset:$6($.asset,J),curator:$.curator,allocator:$.allocator,apyPct:$.apyPct,tvl:$.tvl,tvlUsd:$.tvlUsd,feePct:$.feePct,rewards:$.rewards?.map((Q)=>({asset:$6(Q.asset,J),supplyAprPct:Q.supplyAprPct})),version:$.version,type:$.type}}async function ry($){let J=y1(),Q=$.limit??100,Y=$.skip??0,X=Math.min(Y+Q,1000),G,W=!1;if($.assetAddress)G=[$.assetAddress];else if($.assetSymbol){let w=await J.resolveAssetAddresses($.chain,$.assetSymbol);if(w.length===0)W=!0;else G=w}let K=$.sort?void 0:$.fields,q=J.queryVaults({chain:$.chain,assetSymbol:$.assetSymbol,assetAddress:$.assetAddress,sort:$.sort,limit:X,skip:0,fields:K}),U=W?Promise.resolve(null):J.queryVaultsV2({chain:$.chain,assetAddresses:G,sort:$.sort,limit:X,skip:0}),N=await Promise.allSettled([q,U]),H=N[0].status==="fulfilled"?N[0].value:null,f=N[1].status==="fulfilled"?N[1].value:null,Z=H?.items??[],M=f?.items??[],D=[...Z,...M];if($.sort&&aw[$.sort])D.sort(aw[$.sort]);let R=D.slice(Y,Y+Q),O=H?.pageInfo.countTotal??0,E=f?.pageInfo.countTotal??0,V=R.map((w)=>sy(w,$.chain));return{vaults:V,chain:$.chain,tool:"morpho_query_vaults",timestamp:new Date().toISOString(),count:V.length,pagination:{total:O+E,limit:Q,skip:Y}}}var ew={name:"morpho_query_vaults",description:"Query Morpho vaults with optional filtering and sorting",category:"read",inputSchema:tw,execute:async($)=>ry(tw.parse($))};class v0 extends Error{code;userMessage;details;originalError;timestamp;constructor($,J,Q,Y){super(J);this.code=$;this.userMessage=J;this.details=Q;this.originalError=Y;this.name="ToolError",this.timestamp=new Date().toISOString()}toJSON(){return{code:this.code,userMessage:this.userMessage,details:this.details,timestamp:this.timestamp}}}class VY{static ERROR_PATTERNS=[{pattern:/authentication|unauthorized|rate limit|too many requests/i,code:"SERVICE_ERROR",getMessage:($)=>$.message},{pattern:/network|connection|ECONNREFUSED|ETIMEDOUT|timeout|timed out/i,code:"SERVICE_ERROR",getMessage:()=>"The service is temporarily unavailable. Please try again later."},{pattern:/invalid|validation|bad request/i,code:"INVALID_INPUT",getMessage:($)=>$.message},{pattern:/not found|does not exist/i,code:"NOT_FOUND",getMessage:($)=>$.message}];static mapError($){if($ instanceof v0)return $;let J=$ instanceof Error?$:Error(String($)),Q=J;if(Q.response?.status){let Y=Q.response.status;if(Y===401||Y===429||Y>=500)return new v0("SERVICE_ERROR",J.message,J.message,J);if(Y===404)return new v0("NOT_FOUND",J.message||"Resource not found.",J.message,J)}for(let{pattern:Y,code:X,getMessage:G}of this.ERROR_PATTERNS)if(Y.test(J.message))return new v0(X,G(J),J.message,J);return new v0("INTERNAL_ERROR","An unexpected error occurred. Please try again.",J.message,J)}}class OY extends v0{constructor($){super("INVALID_INPUT",`Unsupported chain: ${$}`,`Chain "${$}" is not configured on this adapter`);this.name="UnsupportedChainError"}}class e4 extends v0{constructor($){super("INTERNAL_ERROR",`Missing required configuration: ${$}`,`Environment variable "${$}" is not set`);this.name="MissingConfigError"}}class A5 extends v0{constructor($){super("INVALID_INPUT",`Invalid amount: "${$}"`,`Could not parse "${$}" as a token amount`);this.name="InvalidAmountError"}}class G9 extends v0{constructor($,J){super("INVALID_INPUT","No position to withdraw",`User ${J} has no shares in vault ${$}`);this.name="InsufficientPositionError"}}class DY extends v0{constructor($){super("INVALID_INPUT",$);this.name="InsufficientLiquidityError"}}var $E=z.object({chain:X0,address:$0}),ty=z.object({market:z.object({uniqueKey:z.string(),loanAsset:z.object({address:z.string(),symbol:z.string()}).nullish(),collateralAsset:z.object({address:z.string(),symbol:z.string()}).nullish()}).optional().describe("Present for v1 vaults — the Morpho Blue market this allocation targets"),address:z.string().optional().describe("Present for v2 vaults — the adapter contract address"),supplyAssets:z.string(),supplyAssetsUsd:z.string().optional()}),bF0=z.object({vault:E7.extend({allocations:z.array(ty).optional()}),chain:X0,tool:z.string(),timestamp:z.string()});async function ay($){let J=y1(),Q=await Promise.allSettled([J.getVault($.chain,$.address),J.getVaultV2($.chain,$.address)]),Y=Q[0].status==="fulfilled"?Q[0].value:null,X=Q[1].status==="fulfilled"?Q[1].value:null,G=Y??X;if(!G)throw new v0("NOT_FOUND",`Vault ${$.address} not found on ${$.chain}`);return{vault:{address:G.address.toLowerCase(),name:G.name,chain:$.chain,asset:$6(G.asset,$.chain),curator:G.curator,allocator:G.allocator,apyPct:G.apyPct,tvl:G.tvl,tvlUsd:G.tvlUsd,feePct:G.feePct,rewards:G.rewards?.map((K)=>({asset:$6(K.asset,$.chain),supplyAprPct:K.supplyAprPct})),allocations:G.allocations,version:G.version,type:G.type},chain:$.chain,tool:"morpho_get_vault",timestamp:new Date().toISOString()}}var JE={name:"morpho_get_vault",description:"Get details of a specific Morpho vault",category:"read",inputSchema:$E,execute:async($)=>ay($E.parse($))};var wY=tW.extend({totalSupply:z.string().optional().describe("Formatted supply amount in loan asset units"),totalBorrow:z.string().optional().describe("Formatted borrow amount in loan asset units"),totalCollateral:z.string().optional().describe("Formatted collateral amount in collateral asset units"),totalLiquidity:z.string().optional().describe("Formatted liquidity amount in loan asset units"),utilization:z.string().optional(),supplyAssetsUsd:z.string().optional(),borrowAssetsUsd:z.string().optional(),collateralAssetsUsd:z.string().optional(),liquidityAssetsUsd:z.string().optional()});function EY($,J){let Q=$.totalSupply?l0(BigInt($.totalSupply),$.loanAsset.decimals):void 0,Y=$.totalBorrow?l0(BigInt($.totalBorrow),$.loanAsset.decimals):void 0,X=$.totalCollateral?l0(BigInt($.totalCollateral),$.collateralAsset.decimals):void 0,G=$.totalLiquidity?l0(BigInt($.totalLiquidity),$.loanAsset.decimals):void 0,W=$.totalSupply&&$.totalBorrow&&BigInt($.totalSupply)>0n?(Number(BigInt($.totalBorrow)*10000n/BigInt($.totalSupply))/1e4).toFixed(4):void 0;return{id:$.id,chain:J,loanAsset:$6($.loanAsset,J),collateralAsset:$6($.collateralAsset,J),lltv:$.lltv,borrowApyPct:$.borrowApyPct,supplyApyPct:$.supplyApyPct,totalSupply:Q,totalBorrow:Y,totalCollateral:X,totalLiquidity:G,utilization:W,supplyAssetsUsd:$.supplyAssetsUsd,borrowAssetsUsd:$.borrowAssetsUsd,collateralAssetsUsd:$.collateralAssetsUsd,liquidityAssetsUsd:$.liquidityAssetsUsd,rewards:$.rewards?.map((K)=>({asset:$6(K.asset,J),supplyAprPct:K.supplyAprPct,borrowAprPct:K.borrowAprPct}))}}var ey=z.enum(["supplyApy","borrowApy","totalSupply","totalBorrow","totalCollateral","totalLiquidity","supplyAssetsUsd","borrowAssetsUsd","collateralAssetsUsd","liquidityAssetsUsd"]),QE=z.object({chain:X0,loanAsset:$0,collateralAsset:$0.optional(),sortBy:z.enum(["supplyApy","borrowApy","netSupplyApy","netBorrowApy","supplyAssetsUsd","borrowAssetsUsd","totalLiquidityUsd"]).default("supplyAssetsUsd").optional(),sortDirection:z.enum(["asc","desc"]).default("desc").optional(),limit:z.coerce.number().int().min(1).max(100).optional(),skip:z.coerce.number().int().min(0).optional(),fields:z.array(ey).optional()}),lF0=z.object({markets:z.array(wY),chain:X0,tool:z.string(),timestamp:z.string(),count:z.number(),pagination:z.object({total:z.number(),limit:z.number(),skip:z.number()})});async function $v($){let J=y1(),Q=$.sortBy??"supplyAssetsUsd",Y=$.sortDirection??"desc",{items:X,pageInfo:G}=await J.queryMarkets({chain:$.chain,...$.loanAsset&&{loanAsset:$.loanAsset},...$.collateralAsset&&{collateralAsset:$.collateralAsset},sortBy:Q,sortDirection:Y,...$.limit!=null&&{limit:$.limit},...$.skip!=null&&{skip:$.skip},...$.fields&&{fields:$.fields}}),W=X.map((K)=>EY(K,$.chain));return{markets:W,chain:$.chain,tool:"morpho_query_markets",timestamp:new Date().toISOString(),count:W.length,pagination:{total:G.countTotal,limit:G.limit,skip:G.skip}}}var YE={name:"morpho_query_markets",description:"Query Morpho markets with optional filtering",category:"read",inputSchema:QE,execute:async($)=>$v(QE.parse($))};var XE=z.object({chain:X0,id:z.string().min(1,"Market ID is required")}),aF0=z.object({market:wY,chain:X0,tool:z.string(),timestamp:z.string()});async function Jv($){let Q=await y1().getMarket($.chain,$.id);if(!Q)throw new v0("NOT_FOUND",`Market ${$.id} not found on ${$.chain}`);return{market:EY(Q,$.chain),chain:$.chain,tool:"morpho_get_market",timestamp:new Date().toISOString()}}var GE={name:"morpho_get_market",description:"Get details of a specific Morpho market",category:"read",inputSchema:XE,execute:async($)=>Jv(XE.parse($))};function RY($,J){let Q=$.vault?.asset??$.market?.loanAsset;if(!Q)throw new v0("INTERNAL_ERROR","Corrupt position data: missing asset metadata from both vault and market");return{userAddress:$.userAddress.toLowerCase(),chain:J,vault:$.vault?{address:$.vault.address.toLowerCase(),name:$.vault.name,chain:J,asset:$6($.vault.asset,J),version:"v1"}:void 0,market:$.market?{id:$.market.id,chain:J,loanAsset:$6($.market.loanAsset,J),collateralAsset:$6($.market.collateralAsset,J),lltv:$.market.lltv??""}:void 0,suppliedAmount:JQ($.suppliedAmount,Q,J),borrowedAmount:$.borrowedAmount&&$.market?JQ($.borrowedAmount,$.market.loanAsset,J):void 0,collateralAmount:$.collateralAmount&&$.market?JQ($.collateralAmount,$.market.collateralAsset,J):void 0,shares:$.shares}}var WE=z.object({chain:X0,userAddress:$0,vaultAddress:$0.optional(),marketId:z.string().optional()}),KS0=z.object({positions:z.array(QQ),chain:X0,tool:z.string(),timestamp:z.string(),count:z.number(),userAddress:z.string()});async function Qv($){let Y=(await y1().getPositions($.chain,$.userAddress,$.vaultAddress,$.marketId)).map((X)=>RY(X,$.chain));return{positions:Y,chain:$.chain,tool:"morpho_get_positions",timestamp:new Date().toISOString(),count:Y.length,userAddress:$.userAddress.toLowerCase()}}var KE={name:"morpho_get_positions",description:"Get all positions for a user",category:"read",inputSchema:WE,execute:async($)=>Qv(WE.parse($))};var qE=z.object({chain:X0,userAddress:$0,vaultAddress:$0.optional(),marketId:z.string().optional()}),MS0=z.object({position:QQ,chain:X0,tool:z.string(),timestamp:z.string()});async function Yv($){let Q=await y1().getPosition($.chain,$.userAddress,$.vaultAddress,$.marketId);if(!Q){let Y=$.vaultAddress?`vault ${$.vaultAddress}`:$.marketId?`market ${$.marketId}`:"any vault or market";throw new v0("NOT_FOUND",`Position not found for ${$.userAddress} in ${Y} on ${$.chain}`)}return{position:RY(Q,$.chain),chain:$.chain,tool:"morpho_get_position",timestamp:new Date().toISOString()}}var UE={name:"morpho_get_position",description:"Get a specific position for a user",category:"read",inputSchema:qE,execute:async($)=>Yv(qE.parse($))};var NE=z.object({chain:X0,userAddress:$0,tokenAddress:$0}),DS0=z.object({chain:X0,userAddress:$0,asset:l6,balance:z.string(),erc20Allowances:z.object({morpho:z.string(),bundler:z.string(),permit2:z.string()}),permit2BundlerAllowance:z.object({amount:z.string(),expiration:z.string(),nonce:z.string()}),erc2612Nonce:z.number().int(),canTransfer:z.boolean(),tool:z.string(),timestamp:z.string()});async function Xv($,J){return J.getTokenBalance($)}var HE={name:"morpho_get_token_balance",description:"Get token balance and Morpho-related approval state for a user. Returns balance, ERC20 allowances (Morpho Blue, Bundler, Permit2), Permit2 bundler allowance, ERC2612 nonce, and transfer permission.",category:"read",inputSchema:NE,execute:async($,J)=>Xv(NE.parse($),J.read)};var fE=z.object({chain:X0,vaultAddress:$0,userAddress:$0,amount:z.union([z.string(),z.literal("max")]).refine(($)=>$==="max"||Number.isFinite(Number($))&&Number($)>0,'Amount must be a positive number or "max"').describe('Token amount in human-readable decimals (e.g., "1000.50"), or "max" for full balance'),simulate:z.boolean().default(!0).describe("Simulate prepared transactions (default: true)")});async function Gv($,J,Q){let Y=await J.prepareDeposit($),X=$.simulate?await Q.simulateTransactions({chain:Y.chain,from:$.userAddress,transactions:Y.transactions,simulationPlan:Y.simulationPlan}).catch((G)=>{Y.warnings.push(p1(G));return}):void 0;return{operation:Y,simulation:X}}var ZE={name:"morpho_prepare_deposit",description:"Prepare a deposit into a Morpho vault. Checks on-chain allowance and returns a ready-to-simulate transactions array with approval txs (if needed) followed by the deposit tx. Handles USDT reset-to-zero and DAI non-standard approval.",category:"write",inputSchema:fE,execute:async($,J)=>Gv(fE.parse($),J.write,J.simulate)};var ME=z.object({chain:X0,vaultAddress:$0,userAddress:$0,amount:z.union([z.string(),z.literal("max")]).describe('Token amount in human-readable decimals (e.g., "1000.50"), or "max" for full withdrawal'),simulate:z.boolean().default(!0).describe("Simulate prepared transactions (default: true)")});async function Wv($,J,Q){let Y=await J.prepareWithdraw($),X=$.simulate?await Q.simulateTransactions({chain:Y.chain,from:$.userAddress,transactions:Y.transactions,simulationPlan:Y.simulationPlan}).catch((G)=>{Y.warnings.push(p1(G));return}):void 0;return{operation:Y,simulation:X}}var zE={name:"morpho_prepare_withdraw",description:'Prepare a withdraw from a Morpho vault. Returns a ready-to-simulate transactions array. Supports "max" for full withdrawal. No approval needed for withdrawals.',category:"write",inputSchema:ME,execute:async($,J)=>Wv(ME.parse($),J.write,J.simulate)};var VE=z.object({chain:X0,marketId:B5,userAddress:$0,amount:z.union([z.string(),z.literal("max")]).describe('Loan token amount in human-readable decimals (e.g., "1000.50"), or "max" for full balance'),simulate:z.boolean().default(!0).describe("Simulate prepared transactions (default: true)")});async function Kv($,J,Q){let Y=await J.prepareSupply($),X=$.simulate?await Q.simulateTransactions({chain:Y.chain,from:$.userAddress,transactions:Y.transactions,simulationPlan:Y.simulationPlan}).catch((G)=>{Y.warnings.push(p1(G));return}):void 0;return{operation:Y,simulation:X}}var OE={name:"morpho_prepare_supply",description:"Prepare a supply to a Morpho Blue market. Checks on-chain allowance and returns a ready-to-simulate transactions array with approval txs (if needed) followed by the supply tx. Handles USDT reset-to-zero and DAI non-standard approval.",category:"write",inputSchema:VE,execute:async($,J)=>Kv(VE.parse($),J.write,J.simulate)};var DE=z.object({chain:X0,marketId:B5,userAddress:$0,borrowAmount:z.union([z.string(),z.literal("max")]).describe('Loan token amount to borrow in human-readable decimals (e.g., "500"), or "max" for maximum borrowable'),simulate:z.boolean().default(!0).describe("Simulate prepared transactions (default: true)")});async function qv($,J,Q){let Y=await J.prepareBorrow($),X=$.simulate?await Q.simulateTransactions({chain:Y.chain,from:$.userAddress,transactions:Y.transactions,simulationPlan:Y.simulationPlan}).catch((G)=>{Y.warnings.push(p1(G));return}):void 0;return{operation:Y,simulation:X}}var wE={name:"morpho_prepare_borrow",description:"Prepare a borrow on a Morpho Blue market. Returns a ready-to-simulate transactions array with the borrow tx. Includes health factor check against existing collateral position.",category:"write",inputSchema:DE,execute:async($,J)=>qv(DE.parse($),J.write,J.simulate)};var EE=z.object({chain:X0,marketId:B5,userAddress:$0,amount:z.union([z.string(),z.literal("max")]).describe('Loan token amount to repay in human-readable decimals (e.g., "100"), or "max" for full repayment'),simulate:z.boolean().default(!0).describe("Simulate prepared transactions (default: true)")});async function Uv($,J,Q){let Y=await J.prepareRepay($),X=$.simulate?await Q.simulateTransactions({chain:Y.chain,from:$.userAddress,transactions:Y.transactions,simulationPlan:Y.simulationPlan}).catch((G)=>{Y.warnings.push(p1(G));return}):void 0;return{operation:Y,simulation:X}}var RE={name:"morpho_prepare_repay",description:'Prepare a repay on a Morpho Blue market. Checks on-chain allowance and returns a ready-to-simulate transactions array with approval txs (if needed) followed by the repay tx. Supports "max" for full repayment. Handles USDT reset-to-zero and DAI non-standard approval.',category:"write",inputSchema:EE,execute:async($,J)=>Uv(EE.parse($),J.write,J.simulate)};var BE=z.object({chain:X0,marketId:B5,userAddress:$0,amount:z.union([z.string(),z.literal("max")]).refine(($)=>$==="max"||Number.isFinite(Number($))&&Number($)>0,'Amount must be a positive number or "max"').describe('Collateral token amount in human-readable decimals (e.g., "1.5" for 1.5 WETH), or "max" for full balance'),simulate:z.boolean().default(!0).describe("Simulate prepared transactions (default: true)")});async function Nv($,J,Q){let Y=await J.prepareSupplyCollateral($),X=$.simulate?await Q.simulateTransactions({chain:Y.chain,from:$.userAddress,transactions:Y.transactions,simulationPlan:Y.simulationPlan}).catch((G)=>{Y.warnings.push(p1(G));return}):void 0;return{operation:Y,simulation:X}}var _E={name:"morpho_prepare_supply_collateral",description:"Prepare a supply of collateral tokens to a Morpho Blue market without borrowing. Checks on-chain allowance and returns a ready-to-simulate transactions array with approval txs (if needed) followed by the supply collateral tx. Handles USDT reset-to-zero and DAI non-standard approval.",category:"write",inputSchema:BE,execute:async($,J)=>Nv(BE.parse($),J.write,J.simulate)};var LE=z.object({chain:X0,marketId:B5,userAddress:$0,amount:z.union([z.string(),z.literal("max")]).describe('Collateral token amount in human-readable decimals (e.g., "1.5"), or "max" for full withdrawal'),simulate:z.boolean().default(!0).describe("Simulate prepared transactions (default: true)")});async function Hv($,J,Q){let Y=await J.prepareWithdrawCollateral($),X=$.simulate?await Q.simulateTransactions({chain:Y.chain,from:$.userAddress,transactions:Y.transactions,simulationPlan:Y.simulationPlan}).catch((G)=>{Y.warnings.push(p1(G));return}):void 0;return{operation:Y,simulation:X}}var FE={name:"morpho_prepare_withdraw_collateral",description:'Prepare a withdrawal of collateral tokens from a Morpho Blue market position. Returns a ready-to-simulate transactions array. Supports "max" for full collateral withdrawal. Includes health factor check when user has active borrows. No approval needed for withdrawals.',category:"write",inputSchema:LE,execute:async($,J)=>Hv(LE.parse($),J.write,J.simulate)};var SE=z.object({chain:X0,from:$0,transactions:z.array(aW).min(1),simulationPlan:eJ.optional()});async function fv($,J){return J.simulateTransactions($)}var jE={name:"morpho_simulate_transactions",description:"Simulate unsigned transactions and return execution results with optional Morpho post-state analysis.",category:"simulate",inputSchema:SE,execute:async($,J)=>fv(SE.parse($),J.simulate)};function WU($){return $.replace(/^morpho_/,"").replace(/_/g,"-")}var KU=[sw,rw,ew,JE,YE,GE,KE,UE,HE,ZE,zE,OE,wE,RE,_E,FE,jE];var CE={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}};V1();var PE={block:VZ({format($){return{transactions:$.transactions?.map((Q)=>{if(typeof Q==="string")return Q;let Y=H8(Q);if(Y.typeHex==="0x7e")Y.isSystemTx=Q.isSystemTx,Y.mint=Q.mint?E0(Q.mint):void 0,Y.sourceHash=Q.sourceHash,Y.type="deposit";return Y}),stateRoot:$.stateRoot}}}),transaction:zZ({format($){let J={};if($.type==="0x7e")J.isSystemTx=$.isSystemTx,J.mint=$.mint?E0($.mint):void 0,J.sourceHash=$.sourceHash,J.type="deposit";return J}}),transactionReceipt:cZ({format($){return{l1GasPrice:$.l1GasPrice?E0($.l1GasPrice):null,l1GasUsed:$.l1GasUsed?E0($.l1GasUsed):null,l1Fee:$.l1Fee?E0($.l1Fee):null,l1FeeScalar:$.l1FeeScalar?Number($.l1FeeScalar):null}}})};W5();f6();G0();h6();G0();function TE($){if(!$||$.length===0)return[];let J=[];for(let Q of $){let{chainId:Y,nonce:X,...G}=Q,W=Q.address;J.push([Y?s0(Y):"0x",W,X?s0(X):"0x",...$3({},G)])}return J}G0();fJ();W5();f0();c$();A8();f6();s1();n5();V1();function IE($){let{authorizationList:J}=$;if(J)for(let Q of J){let{chainId:Y}=Q,X=Q.address;if(!T0(X))throw new g0({address:X});if(Y<0)throw new x9({chainId:Y})}BY($)}function AE($){let{blobVersionedHashes:J}=$;if(J){if(J.length===0)throw new K7;for(let Q of J){let Y=W0(Q),X=J1(p0(Q,0,1));if(Y!==32)throw new NW({hash:Q,size:Y});if(X!==TJ)throw new HW({hash:Q,version:X})}}BY($)}function BY($){let{chainId:J,maxPriorityFeePerGas:Q,maxFeePerGas:Y,to:X}=$;if(J<=0)throw new x9({chainId:J});if(X&&!T0(X))throw new g0({address:X});if(Y&&Y>e0)throw new d6({maxFeePerGas:Y});if(Q&&Y&&Q>Y)throw new K8({maxFeePerGas:Y,maxPriorityFeePerGas:Q})}function xE($){let{chainId:J,maxPriorityFeePerGas:Q,gasPrice:Y,maxFeePerGas:X,to:G}=$;if(J<=0)throw new x9({chainId:J});if(G&&!T0(G))throw new g0({address:G});if(Q||X)throw new I("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(Y&&Y>e0)throw new d6({maxFeePerGas:Y})}function bE($){let{chainId:J,maxPriorityFeePerGas:Q,gasPrice:Y,maxFeePerGas:X,to:G}=$;if(G&&!T0(G))throw new g0({address:G});if(typeof J<"u"&&J<=0)throw new x9({chainId:J});if(Q||X)throw new I("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(Y&&Y>e0)throw new d6({maxFeePerGas:Y})}W5();h6();f6();function s7($){if(!$||$.length===0)return[];let J=[];for(let Q=0;Q<$.length;Q++){let{address:Y,storageKeys:X}=$[Q];for(let G=0;G<X.length;G++)if(X[G].length-2!==64)throw new nX({storageKey:X[G]});if(!T0(Y,{strict:!1}))throw new g0({address:Y});J.push([Y,X])}return J}function kE($,J){let Q=AJ($);if(Q==="eip1559")return zv($,J);if(Q==="eip2930")return Vv($,J);if(Q==="eip4844")return Mv($,J);if(Q==="eip7702")return Zv($,J);return Ov($,J)}function Zv($,J){let{authorizationList:Q,chainId:Y,gas:X,nonce:G,to:W,value:K,maxFeePerGas:q,maxPriorityFeePerGas:U,accessList:N,data:H}=$;IE($);let f=s7(N),Z=TE(Q);return D1(["0x04",p6([h(Y),G?h(G):"0x",U?h(U):"0x",q?h(q):"0x",X?h(X):"0x",W??"0x",K?h(K):"0x",H??"0x",f,Z,...$3($,J)])])}function Mv($,J){let{chainId:Q,gas:Y,nonce:X,to:G,value:W,maxFeePerBlobGas:K,maxFeePerGas:q,maxPriorityFeePerGas:U,accessList:N,data:H}=$;AE($);let{blobVersionedHashes:f,sidecars:Z}=$;if($.blobs&&(typeof f>"u"||typeof Z>"u")){let V=typeof $.blobs[0]==="string"?$.blobs:$.blobs.map((j)=>R0(j)),w=$.kzg,B=L4({blobs:V,kzg:w});if(typeof f>"u")f=PJ({commitments:B});if(typeof Z>"u"){let j=F4({blobs:V,commitments:B,kzg:w});Z=IJ({blobs:V,commitments:B,proofs:j})}}let M=s7(N),D=[h(Q),X?h(X):"0x",U?h(U):"0x",q?h(q):"0x",Y?h(Y):"0x",G??"0x",W?h(W):"0x",H??"0x",M,K?h(K):"0x",f??[],...$3($,J)],R=[],O=[],E=[];if(Z)for(let V=0;V<Z.length;V++){let{blob:w,commitment:B,proof:j}=Z[V];R.push(w),O.push(B),E.push(j)}return D1(["0x03",Z?p6([D,R,O,E]):p6(D)])}function zv($,J){let{chainId:Q,gas:Y,nonce:X,to:G,value:W,maxFeePerGas:K,maxPriorityFeePerGas:q,accessList:U,data:N}=$;BY($);let H=s7(U),f=[h(Q),X?h(X):"0x",q?h(q):"0x",K?h(K):"0x",Y?h(Y):"0x",G??"0x",W?h(W):"0x",N??"0x",H,...$3($,J)];return D1(["0x02",p6(f)])}function Vv($,J){let{chainId:Q,gas:Y,data:X,nonce:G,to:W,value:K,accessList:q,gasPrice:U}=$;xE($);let N=s7(q),H=[h(Q),G?h(G):"0x",U?h(U):"0x",Y?h(Y):"0x",W??"0x",K?h(K):"0x",X??"0x",N,...$3($,J)];return D1(["0x01",p6(H)])}function Ov($,J){let{chainId:Q=0,gas:Y,data:X,nonce:G,to:W,value:K,gasPrice:q}=$;bE($);let U=[G?h(G):"0x",q?h(q):"0x",Y?h(Y):"0x",W??"0x",K?h(K):"0x",X??"0x"];if(J){let N=(()=>{if(J.v>=35n){if((J.v-35n)/2n>0)return J.v;return 27n+(J.v===35n?0n:1n)}if(Q>0)return BigInt(Q*2)+BigInt(35n+J.v-27n);let Z=27n+(J.v===27n?0n:1n);if(J.v!==Z)throw new pX({v:J.v});return Z})(),H=S1(J.r),f=S1(J.s);U=[...U,h(N),H==="0x00"?"0x":H,f==="0x00"?"0x":f]}else if(Q>0)U=[...U,h(Q),"0x","0x"];return p6(U)}function $3($,J){let Q=J??$,{v:Y,yParity:X}=Q;if(typeof Q.r>"u")return[];if(typeof Q.s>"u")return[];if(typeof Y>"u"&&typeof X>"u")return[];let G=S1(Q.r),W=S1(Q.s);return[(()=>{if(typeof X==="number")return X?h(1):"0x";if(Y===0n)return"0x";if(Y===1n)return h(1);return Y===27n?"0x":h(1)})(),G==="0x00"?"0x":G,W==="0x00"?"0x":W]}function Dv($,J){if(Ev($))return wv($);return kE($,J)}var yE={transaction:Dv};function wv($){Rv($);let{sourceHash:J,data:Q,from:Y,gas:X,isSystemTx:G,mint:W,to:K,value:q}=$,U=[J,Y,K??"0x",W?s0(W):"0x",q?s0(q):"0x",X?s0(X):"0x",G?"0x1":"0x",Q??"0x"];return D1(["0x7e",p6(U)])}function Ev($){if($.type==="deposit")return!0;if(typeof $.sourceHash<"u")return!0;return!1}function Rv($){let{from:J,to:Q}=$;if(J&&!T0(J))throw new g0({address:J});if(Q&&!T0(Q))throw new g0({address:Q})}var qU={blockTime:2000,contracts:CE,formatters:PE,serializers:yE};function r7($){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 t7=1,_Y=r7({...qU,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...qU.contracts,disputeGameFactory:{[t7]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[t7]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[t7]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[t7]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:t7}),Bv=r7({..._Y,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://mainnet-preconf.base.org"]}}});var UU=r7({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12000,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}});var _v={base:"BASE_RPC_URL",ethereum:"ETHEREUM_RPC_URL"},Lv={base:"https://base-rpc.publicnode.com",ethereum:"https://ethereum-rpc.publicnode.com"},Fv={base:_Y,ethereum:UU};function Sv($){let J=_v[$],Q=process.env[J]||Lv[$];try{let Y=new URL(Q);if(Y.protocol!=="http:"&&Y.protocol!=="https:")throw new e4(`${J} must be an HTTP(S) URL, got: ${Y.protocol}`)}catch(Y){if(Y instanceof e4)throw Y;throw new e4(`${J} is not a valid URL: ${Q}`)}return{chain:Fv[$],rpcUrl:Q}}function vE($){let{chain:J,rpcUrl:Q}=Sv($);return nW({chain:J,transport:sW(Q)})}class Q2{supportedChains;clients=new Map;constructor($){this.supportedChains=new Set($)}getClient($){if(!this.supportedChains.has($))throw new OY($);let J=this.clients.get($);if(!J)J=vE($),this.clients.set($,J);return J}}class NU{pool;constructor($){this.pool=new Q2($)}async getTokenBalance($){let J=this.pool.getClient($.chain),Q=Number(H1[$.chain]),[Y,X]=await Promise.all([QO($.userAddress,$.tokenAddress,J,{chainId:Q}),s4($.tokenAddress,J,{chainId:Q})]),G=X.decimals??0;return{chain:$.chain,userAddress:$.userAddress,asset:{address:$.tokenAddress.toLowerCase(),symbol:X.symbol??"",decimals:G,chain:$.chain},balance:l0(Y.balance,G),erc20Allowances:{morpho:Y.erc20Allowances.morpho.toString(),bundler:Y.erc20Allowances["bundler3.generalAdapter1"].toString(),permit2:Y.erc20Allowances.permit2.toString()},permit2BundlerAllowance:{amount:Y.permit2BundlerAllowance.amount.toString(),expiration:Y.permit2BundlerAllowance.expiration.toString(),nonce:Y.permit2BundlerAllowance.nonce.toString()},erc2612Nonce:Number(Y.erc2612Nonce??0n),canTransfer:Y.canTransfer??!1,tool:"morpho_get_token_balance",timestamp:new Date().toISOString()}}}var hE="0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb";function HU($){let J={kind:"vault_position",chain:$.chain,userAddress:$.userAddress,vaultAddress:$.vaultAddress},Q=jv($.vaultAddress,$.assetAddress,$.userAddress),Y=Cv($.vaultAddress,$.assets);return{version:1,protocol:"morpho",operation:$.operation,entrypointTxIndex:$.approvalCount,subject:J,intent:$.intent,assets:$.assets,observations:Q,logDecoding:Y,analysis:{kind:"vault_analysis"}}}function jv($,J,Q){return[{key:"vault_share_balance",target:$,calldata:r({abi:i,functionName:"balanceOf",args:[Q]}),abiName:"metaMorpho",functionName:"balanceOf",returnType:"uint256"},{key:"asset_balance",target:J,calldata:r({abi:P0,functionName:"balanceOf",args:[Q]}),abiName:"erc20",functionName:"balanceOf",returnType:"uint256"}]}function Cv($,J){return{contracts:[{address:hE.toLowerCase(),name:"Morpho Blue",abiName:"blue"},{address:$.toLowerCase(),name:"MetaMorpho Vault",abiName:"metaMorpho"},...J.map((Y)=>({address:Y.address.toLowerCase(),name:`ERC20 (${Y.symbol})`,abiName:"erc20"}))],assets:J}}function J3($){let J={kind:"market_position",chain:$.chain,userAddress:$.userAddress,marketId:$.marketId},Q=$.observationTokens??[$.loanToken],Y=Pv($.userAddress,Q),X=[$.loanToken,$.collateralToken],G=Tv(X);return{version:1,protocol:"morpho",operation:$.operation,entrypointTxIndex:$.approvalCount,subject:J,intent:$.intent,assets:X,observations:Y,logDecoding:G,analysis:{kind:"market_analysis"}}}function Pv($,J){return J.map((Q)=>({key:`${Q.symbol.toLowerCase()}_balance`,target:Q.address,calldata:r({abi:P0,functionName:"balanceOf",args:[$]}),abiName:"erc20",functionName:"balanceOf",returnType:"uint256"}))}function Tv($){return{contracts:[{address:hE.toLowerCase(),name:"Morpho Blue",abiName:"blue"},...$.map((Q)=>({address:Q.address.toLowerCase(),name:`ERC20 (${Q.symbol})`,abiName:"erc20"}))],assets:$}}var e6="0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb",Iv=10n**36n,gE=10n**18n,Av=1.1;function mE($,J,Q,Y,X){if(J<=0n||Q<=0n)return[];let G=$*Q*Y,W=J*Iv*gE;if(W<=0n)return[];let K=G*gE/W,q=Number(K)/1000000000000000000;if(q<1)return[{level:"error",message:`Position would be undercollateralized (health factor: ${q.toFixed(4)}). ${X} will revert.`}];if(q<Av)return[{level:"warning",message:`Position close to liquidation (health factor: ${q.toFixed(4)}). Consider adjusting collateral.`}];return[{level:"info",message:`Estimated health factor after ${X.toLowerCase()}: ${q.toFixed(4)}`}]}class LY{pool;constructor($){this.pool=new Q2($)}buildApprovalTransactions($,J){return $.filter((Q)=>Q.type==="approval").map((Q)=>({to:Q.token,data:r({abi:P0,functionName:"approve",args:[Q.spender,BigInt(Q.amount)]}),value:"0",chainId:J,description:`Approve ${Q.spender.slice(0,10)}… to spend ${Q.amount} of ${Q.token.slice(0,10)}…`}))}async prepareDeposit($){let J=this.pool.getClient($.chain),Q=$.vaultAddress,Y=$.userAddress,X=H1[$.chain],G=String($.amount),{assetAddress:W,assetDecimals:K,assetSymbol:q}=await this.readVaultMeta(J,Q),U;try{U=D6(G,K)}catch{throw new A5(G)}let N,H,f,Z;try{[N,H,f,Z]=await Promise.all([J.readContract({address:Q,abi:i,functionName:"convertToShares",args:[U]}),J.readContract({address:W,abi:P0,functionName:"allowance",args:[Y,Q]}),J.readContract({address:Q,abi:i,functionName:"balanceOf",args:[Y]}),J.readContract({address:Q,abi:i,functionName:"convertToAssets",args:[10n**18n]})])}catch(j){throw new v0("INVALID_INPUT",`Failed to read on-chain state for vault ${$.vaultAddress} on ${$.chain}.`,j instanceof Error?j.message:String(j))}let M=N*995n/1000n,D=x4({token:W,spender:Q,amount:U.toString(),currentAllowance:H.toString(),chain:$.chain,tokenMeta:{isPermitSupported:!1,isPermit2Supported:!1},walletType:"eoa"}),R=r({abi:i,functionName:"deposit",args:[U,Y]}),O={to:Q,data:R,value:"0",chainId:X,description:`Deposit ${G} ${q} into vault`},E=this.buildApprovalTransactions(D,X),V={address:W,symbol:q,decimals:K,chain:$.chain},w=HU({chain:$.chain,userAddress:Y,vaultAddress:Q,assetAddress:W,assets:[V],intent:{kind:"deposit_assets",assets:U.toString()},operation:"deposit",approvalCount:E.length}),B;try{B={vault:nK({assets:U,sharesReceived:N,existingShares:f,assetsPerShare:Z,shareDecimals:18})}}catch{}return{operation:"deposit",chain:$.chain,summary:`Deposit ${G} ${q} into vault ${Q.slice(0,10)}… (min shares: ${M})`,simulationPlan:w,requirements:D,transactions:[...E,O],warnings:[],preview:B}}async prepareWithdraw($){let J=this.pool.getClient($.chain),Q=$.vaultAddress,Y=$.userAddress,X=H1[$.chain],G=String($.amount),{assetAddress:W,assetDecimals:K,assetSymbol:q}=await this.readVaultMeta(J,Q),{vaultV2Factory:U}=t(Number(X)),N=U?await J.readContract({address:U,abi:nQ,functionName:"isVaultV2",args:[Q]}):!1,H,f,Z,M;if(N){let[S,v,F]=await Promise.all([J.readContract({address:Q,abi:i,functionName:"balanceOf",args:[Y]}),J.readContract({address:Q,abi:i,functionName:"convertToAssets",args:[10n**18n]}),CO(Q,J)]);H=S,M=v,f=F.maxWithdraw(H).value,Z=F.toShares(f)}else[H,f,Z,M]=await Promise.all([J.readContract({address:Q,abi:i,functionName:"balanceOf",args:[Y]}),J.readContract({address:Q,abi:i,functionName:"maxWithdraw",args:[Y]}),J.readContract({address:Q,abi:i,functionName:"maxRedeem",args:[Y]}),J.readContract({address:Q,abi:i,functionName:"convertToAssets",args:[10n**18n]})]);let D,R,O,E,V=[];if($.amount==="max"){if(H===0n)throw new G9(Q,Y);let S=H>Z?Z:H;if(H>Z){let F=H-Z;V.push({level:"warning",message:`Redeeming ${Z} of ${H} shares (${F} shares exceed current vault liquidity)`})}let v=await J.readContract({address:Q,abi:i,functionName:"convertToAssets",args:[S]});R=l0(v,K),O=S,E=v,D=r({abi:i,functionName:"redeem",args:[S,Y,Y]})}else{let S;try{S=D6(G,K)}catch{throw new A5(G)}if(S>f){let v=l0(f,K);throw new DY(`Requested withdraw amount exceeds current vault liquidity. maxWithdraw: ${f} (${v} ${q})`)}R=G,E=S,O=await J.readContract({address:Q,abi:i,functionName:"convertToShares",args:[S]}),D=r({abi:i,functionName:"withdraw",args:[S,Y,Y]})}let w={to:Q,data:D,value:"0",chainId:X,description:`Withdraw ${R} ${q} from vault`},B=[],j={address:W,symbol:q,decimals:K,chain:$.chain},T=$.amount==="max"?{kind:"redeem_shares",shares:(H>Z?Z:H).toString()}:{kind:"withdraw_assets",assets:D6(String($.amount),K).toString()},x=HU({chain:$.chain,userAddress:Y,vaultAddress:Q,assetAddress:W,assets:[j],intent:T,operation:"withdraw",approvalCount:0}),C;try{if(O!=null&&E!=null)C={vault:oK({assetsReceived:E,sharesBurned:O,existingShares:H,assetsPerShare:M,shareDecimals:18})}}catch{}return{operation:"withdraw",chain:$.chain,summary:`Withdraw ${R} ${q} from vault ${Q.slice(0,10)}…`,simulationPlan:x,requirements:B,transactions:[w],warnings:V,preview:C}}async prepareSupply($){let J=this.pool.getClient($.chain),Q=$.userAddress,Y=H1[$.chain],X=String($.amount),G=await L6($.marketId,J),W,K,q;try{[W,K,q]=await Promise.all([this.readTokenMeta(J,G.params.loanToken),this.readTokenMeta(J,G.params.collateralToken),J.readContract({address:G.params.loanToken,abi:P0,functionName:"allowance",args:[Q,e6]})])}catch(R){throw new v0("INVALID_INPUT",`Failed to read on-chain state for market ${$.marketId} on ${$.chain}.`,R instanceof Error?R.message:String(R))}let U;try{U=D6(X,W.decimals)}catch{throw new A5(X)}let N=x4({token:W.address,spender:e6,amount:U.toString(),currentAllowance:q.toString(),chain:$.chain,tokenMeta:{isPermitSupported:!1,isPermit2Supported:!1},walletType:"eoa"}),H=r({abi:L1,functionName:"supply",args:[G.params,U,0n,Q,"0x"]}),f={to:e6,data:H,value:"0",chainId:Y,description:`Supply ${X} ${W.symbol} to market`},Z=this.buildApprovalTransactions(N,Y),M=J3({chain:$.chain,userAddress:Q,marketId:$.marketId,loanToken:{address:W.address,symbol:W.symbol,decimals:W.decimals,chain:$.chain},collateralToken:{address:K.address,symbol:K.symbol,decimals:K.decimals,chain:$.chain},intent:{kind:"supply_assets",assets:U.toString(),shares:"0"},operation:"supply",approvalCount:Z.length}),D;try{let R=await C5(Q,$.marketId,J);D={market:iK({market:G,position:{supplyShares:R.supplyShares,borrowShares:R.borrowShares,collateral:R.collateral},assets:U})}}catch{}return{operation:"supply",chain:$.chain,summary:`Supply ${X} ${W.symbol} to market ${$.marketId.slice(0,10)}…`,simulationPlan:M,requirements:N,transactions:[...Z,f],warnings:[],preview:D}}async prepareBorrow($){let J=this.pool.getClient($.chain),Q=$.userAddress,Y=H1[$.chain],X=String($.borrowAmount),G=await L6($.marketId,J),[W,K]=await Promise.all([this.readTokenMeta(J,G.params.loanToken),this.readTokenMeta(J,G.params.collateralToken)]),q;try{q=D6(X,W.decimals)}catch{throw new A5(X)}let U=r({abi:L1,functionName:"borrow",args:[G.params,q,0n,Q,Q]}),N={to:e6,data:U,value:"0",chainId:Y,description:`Borrow ${X} ${W.symbol}`},H=await C5(Q,$.marketId,J),f=G.toBorrowAssets(H.borrowShares)+q,Z=mE(H.collateral,f,G.price??0n,G.params.lltv,"Borrow"),M=J3({chain:$.chain,userAddress:Q,marketId:$.marketId,loanToken:{address:W.address,symbol:W.symbol,decimals:W.decimals,chain:$.chain},collateralToken:{address:K.address,symbol:K.symbol,decimals:K.decimals,chain:$.chain},intent:{kind:"borrow_assets",assets:q.toString(),shares:"0"},operation:"borrow",approvalCount:0,observationTokens:[{address:W.address,symbol:W.symbol,decimals:W.decimals,chain:$.chain},{address:K.address,symbol:K.symbol,decimals:K.decimals,chain:$.chain}]}),D;try{D={market:sK({market:G,position:{supplyShares:H.supplyShares,borrowShares:H.borrowShares,collateral:H.collateral},assets:q})}}catch{}return{operation:"borrow",chain:$.chain,summary:`Borrow ${X} ${W.symbol} from market ${$.marketId.slice(0,10)}…`,simulationPlan:M,requirements:[],transactions:[N],warnings:Z,preview:D}}async prepareRepay($){let J=this.pool.getClient($.chain),Q=$.userAddress,Y=H1[$.chain],X=await L6($.marketId,J),G,W,K;try{[G,W,K]=await Promise.all([this.readTokenMeta(J,X.params.loanToken),this.readTokenMeta(J,X.params.collateralToken),J.readContract({address:X.params.loanToken,abi:P0,functionName:"allowance",args:[Q,e6]})])}catch(B){throw new v0("INVALID_INPUT",`Failed to read on-chain state for market ${$.marketId} on ${$.chain}.`,B instanceof Error?B.message:String(B))}let q,U,N,H=0n,f=0n,Z,M=[];if($.amount==="max"){let B=await C5(Q,$.marketId,J);if(B.borrowShares===0n)throw new G9($.marketId,Q);Z={supplyShares:B.supplyShares,borrowShares:B.borrowShares,collateral:B.collateral},f=B.borrowShares,q=r({abi:L1,functionName:"repay",args:[X.params,0n,B.borrowShares,Q,"0x"]});let j=X.toBorrowAssets(B.borrowShares);N=j*1001n/1000n,U=l0(j,G.decimals),M.push({level:"info",message:`Full repay via shares (${B.borrowShares}). Approval includes 0.1% buffer for accrued interest.`})}else{let B=String($.amount),j;try{j=D6(B,G.decimals)}catch{throw new A5(B)}H=j;try{let T=await C5(Q,$.marketId,J);Z={supplyShares:T.supplyShares,borrowShares:T.borrowShares,collateral:T.collateral}}catch{}q=r({abi:L1,functionName:"repay",args:[X.params,j,0n,Q,"0x"]}),N=j,U=B}let D=x4({token:G.address,spender:e6,amount:N.toString(),currentAllowance:K.toString(),chain:$.chain,tokenMeta:{isPermitSupported:!1,isPermit2Supported:!1},walletType:"eoa"}),R={to:e6,data:q,value:"0",chainId:Y,description:`Repay ${U} ${G.symbol}`},O=this.buildApprovalTransactions(D,Y),E=$.amount==="max"?{kind:"repay_shares",assets:"0",shares:f.toString()}:{kind:"repay_assets",assets:H.toString(),shares:"0"},V=J3({chain:$.chain,userAddress:Q,marketId:$.marketId,loanToken:{address:G.address,symbol:G.symbol,decimals:G.decimals,chain:$.chain},collateralToken:{address:W.address,symbol:W.symbol,decimals:W.decimals,chain:$.chain},intent:E,operation:"repay",approvalCount:O.length}),w;try{if(Z)w={market:rK({market:X,position:Z,assets:H,shares:f})}}catch{}return{operation:"repay",chain:$.chain,summary:`Repay ${U} ${G.symbol} to market ${$.marketId.slice(0,10)}…`,simulationPlan:V,requirements:D,transactions:[...O,R],warnings:M,preview:w}}async prepareSupplyCollateral($){let J=this.pool.getClient($.chain),Q=$.userAddress,Y=H1[$.chain],X=String($.amount),G=await L6($.marketId,J),W,K,q;try{[W,K,q]=await Promise.all([this.readTokenMeta(J,G.params.collateralToken),this.readTokenMeta(J,G.params.loanToken),J.readContract({address:G.params.collateralToken,abi:P0,functionName:"allowance",args:[Q,e6]})])}catch(R){throw new v0("INVALID_INPUT",`Failed to read on-chain state for market ${$.marketId} on ${$.chain}.`,R instanceof Error?R.message:String(R))}let U;try{U=D6(X,W.decimals)}catch{throw new A5(X)}let N=x4({token:W.address,spender:e6,amount:U.toString(),currentAllowance:q.toString(),chain:$.chain,tokenMeta:{isPermitSupported:!1,isPermit2Supported:!1},walletType:"eoa"}),H=r({abi:L1,functionName:"supplyCollateral",args:[G.params,U,Q,"0x"]}),f={to:e6,data:H,value:"0",chainId:Y,description:`Supply ${X} ${W.symbol} as collateral`},Z=this.buildApprovalTransactions(N,Y),M=J3({chain:$.chain,userAddress:Q,marketId:$.marketId,loanToken:{address:K.address,symbol:K.symbol,decimals:K.decimals,chain:$.chain},collateralToken:{address:W.address,symbol:W.symbol,decimals:W.decimals,chain:$.chain},intent:{kind:"supply_collateral",assets:U.toString()},operation:"supply_collateral",approvalCount:Z.length,observationTokens:[{address:W.address,symbol:W.symbol,decimals:W.decimals,chain:$.chain}]}),D;try{let R=await C5(Q,$.marketId,J);D={market:tK({market:G,position:{supplyShares:R.supplyShares,borrowShares:R.borrowShares,collateral:R.collateral},assets:U})}}catch{}return{operation:"supply_collateral",chain:$.chain,summary:`Supply ${X} ${W.symbol} as collateral to market ${$.marketId.slice(0,10)}…`,simulationPlan:M,requirements:N,transactions:[...Z,f],warnings:[],preview:D}}async prepareWithdrawCollateral($){let J=this.pool.getClient($.chain),Q=$.userAddress,Y=H1[$.chain],X=await L6($.marketId,J),[G,W]=await Promise.all([this.readTokenMeta(J,X.params.collateralToken),this.readTokenMeta(J,X.params.loanToken)]),K=await C5(Q,$.marketId,J);if(K.collateral===0n)throw new G9($.marketId,Q);let q,U;if($.amount==="max")q=K.collateral,U=l0(K.collateral,G.decimals);else{let O=String($.amount);try{q=D6(O,G.decimals)}catch{throw new A5(O)}if(q>K.collateral)throw new G9($.marketId,Q);U=O}let N=K.collateral-q,H=X.toBorrowAssets(K.borrowShares),f=mE(N,H,X.price??0n,X.params.lltv,"Withdrawal"),Z=r({abi:L1,functionName:"withdrawCollateral",args:[X.params,q,Q,Q]}),M={to:e6,data:Z,value:"0",chainId:Y,description:`Withdraw ${U} ${G.symbol} collateral`},D=J3({chain:$.chain,userAddress:Q,marketId:$.marketId,loanToken:{address:W.address,symbol:W.symbol,decimals:W.decimals,chain:$.chain},collateralToken:{address:G.address,symbol:G.symbol,decimals:G.decimals,chain:$.chain},intent:{kind:"withdraw_collateral",assets:q.toString()},operation:"withdraw_collateral",approvalCount:0,observationTokens:[{address:G.address,symbol:G.symbol,decimals:G.decimals,chain:$.chain}]}),R;try{R={market:aK({market:X,position:{supplyShares:K.supplyShares,borrowShares:K.borrowShares,collateral:K.collateral},assets:q})}}catch{}return{operation:"withdraw_collateral",chain:$.chain,summary:`Withdraw ${U} ${G.symbol} collateral from market ${$.marketId.slice(0,10)}…`,simulationPlan:D,requirements:[],transactions:[M],warnings:f,preview:R}}async readVaultMeta($,J){let Q=await $.readContract({address:J,abi:i,functionName:"asset"}),[Y,X]=await Promise.all([$.readContract({address:Q,abi:P0,functionName:"decimals"}),$.readContract({address:Q,abi:P0,functionName:"symbol"})]);return{assetAddress:Q,assetDecimals:Y,assetSymbol:X}}async readTokenMeta($,J){let[Q,Y]=await Promise.all([$.readContract({address:J,abi:P0,functionName:"decimals"}),$.readContract({address:J,abi:P0,functionName:"symbol"})]);return{address:J,decimals:Q,symbol:Y}}}function xv($){if($ instanceof I)return $.shortMessage;if($ instanceof Error)return $.message;return String($)}class fU{pool;constructor($){this.pool=new Q2($)}async simulateTransactions($){let J=this.pool.getClient($.chain),Q=$.from,Y=$.simulationPlan,{executionResults:X,allSucceeded:G,totalGasUsed:W}=await this.executeTransactions(J,Q,$,Y),K;if(Y?.observations.length&&G)K=await this.executeObservations(J,Q,$,Y);let q;if(Y&&G)q=await this.runAnalysis(J,Y,$,Q);let U=JU(X,q,Y);return{chain:$.chain,executionResults:X,allSucceeded:G,totalGasUsed:W,analysis:q,observations:K,warnings:U}}async executeTransactions($,J,Q,Y){let X=Q.transactions.map((H)=>({to:H.to,data:H.data||void 0,value:BigInt(H.value)})),W=(await $.simulateCalls({account:J,calls:X})).results,K=Y?l7.fromPlan(Y):void 0,q=W.map((H,f)=>{let Z=K&&H.logs?K.decodeLogs(H.logs):void 0;if(H.status==="success")return{transactionIndex:f,success:!0,gasUsed:H.gasUsed.toString(),returnData:H.data??void 0,logs:Z?.length?Z:void 0};return{transactionIndex:f,success:!1,gasUsed:"0",revertReason:xv(H.error),logs:Z?.length?Z:void 0}}),U=q.every((H)=>H.success),N=q.reduce((H,f)=>H+BigInt(f.gasUsed),0n).toString();return{executionResults:q,allSucceeded:U,totalGasUsed:N}}async executeObservations($,J,Q,Y){let X=new Map,G=[...Q.transactions.map((W)=>({from:J,to:W.to,data:W.data||void 0,value:BigInt(W.value)})),...Y.observations.map((W)=>({from:J,to:W.target,data:W.calldata,value:0n}))];try{let W=await $.simulateBlocks({blocks:[{calls:G}]}),K=Q.transactions.length;for(let[q,U]of Y.observations.entries()){let N=W[0].calls[K+q];if(N.status==="success"&&N.data)X.set(U.key,N.data)}return GU(Y.observations,X)}catch(W){I5().error({err:W},"SimulationEngine: Failed to execute observations");return}}async runAnalysis($,J,Q,Y){try{switch(J.analysis.kind){case"vault_analysis":case"market_analysis":return await XU($,J,Q.transactions,Y);default:return}}catch(X){I5().error({err:X},"SimulationEngine: Failed to analyze post-state");return}}}function dE($){return new NU($??$Q)}function uE($){return new LY($??$Q)}function cE($){return new fU($??$Q)}var bv={get read(){return dE()},get write(){return uE()},get simulate(){return cE()}},FY=Object.fromEntries(KU.map(($)=>{let J=WU($.name);return[J,{name:J,description:$.description,category:$.category,handler:async(Q)=>$.execute(Q,bv)}]}));var oE=G3(tq(),1);var kv="0.1.0";aq(oE.default({level:"warn"},process.stderr));var yv={read:"Read",write:"Write",simulate:"Simulate"},vv=["read","write","simulate"],hv=["base","ethereum"],gv=["apy_desc","apy_asc","tvl_desc","tvl_asc"],mv=["supplyApy","borrowApy","netSupplyApy","netBorrowApy","supplyAssetsUsd","borrowAssetsUsd","totalLiquidityUsd"],dv=["asc","desc"],uv=["address","name","symbol","apyPct","tvl","tvlUsd","feePct"],cv=["supplyApy","borrowApy","totalSupply","totalBorrow","totalCollateral","totalLiquidity","supplyAssetsUsd","borrowAssetsUsd","collateralAssetsUsd","liquidityAssetsUsd"],pv=/^0x[a-fA-F0-9]{40}$/,lv=/^0x[a-fA-F0-9]{64}$/;function iE($,J){try{return JSON.parse(J)}catch{throw new S6(`option '${$}' expects valid JSON`)}}function nv($,J){if(!pv.test(J))throw new S6(`option '${$}' expects an Ethereum address`);return J}function ov($,J){if(!lv.test(J))throw new S6(`option '${$}' expects a 32-byte hex market id`);return J}function sE($,J){let Q=Number(J);if(Number.isNaN(Q)||Q<=0)throw new S6(`option '${$}' expects a positive number`);return Q}function pE($){let J=Number($);if(!Number.isInteger(J))throw new S6("option '--limit <number>' expects an integer");if(J<1||J>100)throw new S6("option '--limit <number>' expects an integer between 1 and 100");return J}function lE($){let J=Number($);if(!Number.isInteger(J)||J<0)throw new S6("option '--skip <number>' expects a non-negative integer");return J}function nE($){return(J)=>{let Q=J.split(",").map((Y)=>Y.trim());for(let Y of Q)if(!$.includes(Y))throw new S6(`invalid field '${Y}'. Valid: ${$.join(", ")}`);return Q}}function ZU($,J){if(J==="max")return J;return sE($,J)}function iv($,J){let Q=iE($,J);if(!Array.isArray(Q))throw new S6(`option '${$}' expects a JSON array`);return Q}function sv($,J){let Q=iE($,J);if(Q===null||Array.isArray(Q)||typeof Q!=="object")throw new S6(`option '${$}' expects a JSON object`);return Q}function M1($,J,Q){let Y=new bU($,J);if(Q?.choices)Y.choices([...Q.choices]);if(Q?.parser)Y.argParser(Q.parser);if(Q?.required)Y.makeOptionMandatory();return Y}function l1($,J){for(let Q of J)$.addOption(Q)}function n1(){return M1("--chain <base|ethereum>","Chain slug",{choices:hv,required:!0})}function K1($,J,Q=!1){return M1($,J,{parser:(Y)=>nv($,Y),required:Q})}function Y2($,J,Q=!1){return M1($,J,{parser:(Y)=>ov($,Y),required:Q})}function SY($,J,Q=!1){return M1($,J,{parser:(Y)=>sE($,Y),required:Q})}var rv={"health-check":()=>{},"get-supported-chains":()=>{},"query-vaults":($)=>{l1($,[n1(),M1("--asset-symbol <value>","Filter by asset symbol"),K1("--asset-address <address>","Filter by asset address"),M1("--sort <value>","Sort order",{choices:gv}),M1("--limit <number>","Maximum number of results",{parser:pE}),M1("--skip <number>","Number of results to skip",{parser:lE}),M1("--fields <fields>","Comma-separated fields to include",{parser:nE(uv)})])},"get-vault":($)=>{l1($,[n1(),K1("--address <address>","Vault address",!0)])},"query-markets":($)=>{l1($,[n1(),K1("--loan-asset <address>","Filter by loan asset address",!0),K1("--collateral-asset <address>","Filter by collateral asset address",!0),M1("--sort-by <value>","Sort field (default: supplyAssetsUsd)",{choices:mv}),M1("--sort-direction <value>","Sort direction (default: desc)",{choices:dv}),M1("--limit <number>","Maximum number of results",{parser:pE}),M1("--skip <number>","Number of results to skip",{parser:lE}),M1("--fields <fields>","Comma-separated fields to include",{parser:nE(cv)})])},"get-market":($)=>{l1($,[n1(),Y2("--id <id>","Market id",!0)])},"get-positions":($)=>{l1($,[n1(),K1("--user-address <address>","User address",!0),K1("--vault-address <address>","Optional vault address"),Y2("--market-id <id>","Optional market id")])},"get-position":($)=>{l1($,[n1(),K1("--user-address <address>","User address",!0),K1("--vault-address <address>","Optional vault address"),Y2("--market-id <id>","Optional market id")])},"get-token-balance":($)=>{l1($,[n1(),K1("--user-address <address>","User address",!0),K1("--token-address <address>","Token address",!0)])},"prepare-deposit":($)=>{l1($,[n1(),K1("--vault-address <address>","Vault address",!0),K1("--user-address <address>","User address",!0),SY("--amount <number>","Deposit amount",!0)]),$.option("--no-simulate","Skip transaction simulation")},"prepare-withdraw":($)=>{l1($,[n1(),K1("--vault-address <address>","Vault address",!0),K1("--user-address <address>","User address",!0),M1("--amount <number|max>","Withdraw amount or max",{parser:(J)=>ZU("--amount <number|max>",J),required:!0})]),$.option("--no-simulate","Skip transaction simulation")},"prepare-supply":($)=>{l1($,[n1(),Y2("--market-id <id>","Market id",!0),K1("--user-address <address>","User address",!0),SY("--amount <number>","Supply amount",!0)]),$.option("--no-simulate","Skip transaction simulation")},"prepare-borrow":($)=>{l1($,[n1(),Y2("--market-id <id>","Market id",!0),K1("--user-address <address>","User address",!0),SY("--borrow-amount <number>","Borrow amount",!0)]),$.option("--no-simulate","Skip transaction simulation")},"prepare-repay":($)=>{l1($,[n1(),Y2("--market-id <id>","Market id",!0),K1("--user-address <address>","User address",!0),M1("--amount <number|max>","Repay amount or max",{parser:(J)=>ZU("--amount <number|max>",J),required:!0})]),$.option("--no-simulate","Skip transaction simulation")},"prepare-supply-collateral":($)=>{l1($,[n1(),Y2("--market-id <id>","Market id",!0),K1("--user-address <address>","User address",!0),SY("--amount <number>","Collateral amount",!0)]),$.option("--no-simulate","Skip transaction simulation")},"prepare-withdraw-collateral":($)=>{l1($,[n1(),Y2("--market-id <id>","Market id",!0),K1("--user-address <address>","User address",!0),M1("--amount <number|max>","Collateral amount or max",{parser:(J)=>ZU("--amount <number|max>",J),required:!0})]),$.option("--no-simulate","Skip transaction simulation")},"simulate-transactions":($)=>{l1($,[n1(),K1("--from <address>","Sender address",!0),M1("--transactions <json>","JSON array of unsigned transactions",{parser:(J)=>iv("--transactions <json>",J),required:!0}),M1("--analysis-context <json>","Optional Morpho analysis context",{parser:(J)=>sv("--analysis-context <json>",J)})])}};function tv(){let $=[""];for(let J of vv){$.push(`${yv[J]}:`);for(let Q of Object.values(FY).filter((Y)=>Y.category===J))$.push(` ${Q.name.padEnd(25)} ${Q.description}`);$.push("")}return $.push("Examples:"),$.push(" morpho query-vaults --chain base"),$.push(" morpho get-vault --chain base --address 0x..."),$.push(" morpho prepare-deposit --chain base --vault-address 0x... --user-address 0x... --amount 1000"),$.join(`
|
|
547
|
+
`)}function av($,J){let Q=FY[J],Y=$.command(J).description(Q.description),X=rv[J];if(X)X(Y);else I5().warn(`No CLI option configurer for '${J}' — command registered with no options`);Y.action(async function(){let G=await Q.handler(this.opts());process.stdout.write(JSON.stringify(G,null,2)+`
|
|
548
|
+
`)})}function ev(){let $=new xU;$.name("morpho").description("CLI interface for Morpho protocol tools").usage("<command> [options]").helpOption("-h, --help","Show this help message").version(kv,"-v, --version","Show version").showSuggestionAfterError(!0).showHelpAfterError('Run "morpho --help" for available commands.').addHelpText("after",tv()).configureOutput({writeOut:(J)=>process.stdout.write(J),writeErr:(J)=>process.stderr.write(J)}).exitOverride();for(let J of Object.keys(FY))av($,J);return $}async function $h($){let J=ev();if($.length===0)return J.outputHelp({error:!0}),1;try{return await J.parseAsync($,{from:"user"}),0}catch(Q){if(Q instanceof AU)return Q.exitCode;let Y=VY.mapError(Q);return process.stderr.write(JSON.stringify({error:Y.code,message:Y.userMessage},null,2)+`
|
|
549
|
+
`),1}}$h(process.argv.slice(2)).then(($)=>{process.exitCode=$});export{$h as run};
|