abis: {
    BundleRegistry: readonly [
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "previousAdmin";
                    type: "address";
                },
                {
                    indexed: false;
                    internalType: "address";
                    name: "newAdmin";
                    type: "address";
                },
            ];
            name: "AdminChanged";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "implementation";
                    type: "address";
                },
            ];
            name: "Upgraded";
            type: "event";
        },
        { stateMutability: "payable"; type: "fallback" },
        {
            inputs: readonly [];
            name: "admin";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "newAdmin"; type: "address" },
            ];
            name: "changeAdmin";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "implementation";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    internalType: "address";
                    name: "newImplementation";
                    type: "address";
                },
            ];
            name: "upgradeTo";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    internalType: "address";
                    name: "newImplementation";
                    type: "address";
                },
                { internalType: "bytes"; name: "data"; type: "bytes" },
            ];
            name: "upgradeToAndCall";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        },
        { stateMutability: "payable"; type: "receive" },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "beacon";
                    type: "address";
                },
            ];
            name: "BeaconUpgraded";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "bytes32";
                    name: "hash";
                    type: "bytes32";
                },
                {
                    indexed: false;
                    internalType: "string";
                    name: "bundle";
                    type: "string";
                },
                { indexed: false; internalType: "string"; name: "host"; type: "string" },
                {
                    indexed: false;
                    internalType: "string";
                    name: "source";
                    type: "string";
                },
                {
                    indexed: false;
                    internalType: "string";
                    name: "output";
                    type: "string";
                },
                {
                    indexed: false;
                    internalType: "string";
                    name: "infoHash";
                    type: "string";
                },
                { indexed: false; internalType: "bool"; name: "active"; type: "bool" },
                {
                    indexed: false;
                    internalType: "address";
                    name: "creator";
                    type: "address";
                },
            ];
            name: "BundleRegistered";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "bytes32";
                    name: "hash";
                    type: "bytes32";
                },
                { indexed: false; internalType: "bool"; name: "toggle"; type: "bool" },
            ];
            name: "BundleStateChange";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "previousOwner";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "newOwner";
                    type: "address";
                },
            ];
            name: "OwnershipTransferred";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
            ];
            name: "Paused";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
            ];
            name: "Unpaused";
            type: "event";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: ""; type: "bytes32" },
            ];
            name: "bundles";
            outputs: readonly [
                { internalType: "string"; name: "bundle"; type: "string" },
                { internalType: "string"; name: "source"; type: "string" },
                { internalType: "string"; name: "host"; type: "string" },
                { internalType: "string"; name: "output"; type: "string" },
                { internalType: "string"; name: "info"; type: "string" },
                { internalType: "bool"; name: "active"; type: "bool" },
                { internalType: "address"; name: "author"; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "initialize";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "owner";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "pause";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "paused";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "string"; name: "_bundle"; type: "string" },
                { internalType: "string"; name: "_source"; type: "string" },
                { internalType: "string"; name: "_host"; type: "string" },
                { internalType: "string"; name: "_output"; type: "string" },
                { internalType: "string"; name: "_infoHash"; type: "string" },
                { internalType: "bool"; name: "_active"; type: "bool" },
            ];
            name: "register";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "renounceOwnership";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "_adapter"; type: "bytes32" },
                { internalType: "bool"; name: "_remainActive"; type: "bool" },
            ];
            name: "setAdapterState";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "newOwner"; type: "address" },
            ];
            name: "transferOwnership";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "initialLogic"; type: "address" },
                { internalType: "address"; name: "initialAdmin"; type: "address" },
                { internalType: "bytes"; name: "_data"; type: "bytes" },
            ];
            stateMutability: "payable";
            type: "constructor";
        },
    ];
    CamelotMultiPositionLiquidityManager: readonly [
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "owner";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "spender";
                    type: "address";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "value";
                    type: "uint256";
                },
            ];
            name: "Approval";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                },
                { indexed: true; internalType: "address"; name: "to"; type: "address" },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "shares";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount0";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount1";
                    type: "uint256";
                },
            ];
            name: "Deposit";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount0Earned";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount1Earned";
                    type: "uint256";
                },
            ];
            name: "FeesEarned";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
            ];
            name: "Paused";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "role";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "previousAdminRole";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "newAdminRole";
                    type: "bytes32";
                },
            ];
            name: "RoleAdminChanged";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "role";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                },
            ];
            name: "RoleGranted";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "role";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                },
            ];
            name: "RoleRevoked";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "uint160";
                    name: "sqrtPriceX96";
                    type: "uint160";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "totalAmount0";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "totalAmount1";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "totalSupply";
                    type: "uint256";
                },
            ];
            name: "Snapshot";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "from";
                    type: "address";
                },
                { indexed: true; internalType: "address"; name: "to"; type: "address" },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "value";
                    type: "uint256";
                },
            ];
            name: "Transfer";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
            ];
            name: "Unpaused";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                },
                { indexed: true; internalType: "address"; name: "to"; type: "address" },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "shares";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount0";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount1";
                    type: "uint256";
                },
            ];
            name: "Withdraw";
            type: "event";
        },
        {
            inputs: readonly [];
            name: "DEFAULT_ADMIN_ROLE";
            outputs: readonly [
                { internalType: "bytes32"; name: ""; type: "bytes32" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "STEER_FRACTION_OF_FEE";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "STRATEGIST_FRACTION_OF_FEE";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "TOTAL_FEE";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "string"; name: ""; type: "string" },
            ];
            name: "accruedFees0";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "string"; name: ""; type: "string" },
            ];
            name: "accruedFees1";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "accruedSteerFees0";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "accruedSteerFees1";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "accruedStrategistFees0";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "accruedStrategistFees1";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "amount0"; type: "uint256" },
                { internalType: "uint256"; name: "amount1"; type: "uint256" },
                { internalType: "bytes"; name: ""; type: "bytes" },
            ];
            name: "algebraMintCallback";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "int256"; name: "amount0Wanted"; type: "int256" },
                { internalType: "int256"; name: "amount1Wanted"; type: "int256" },
                { internalType: "bytes"; name: ""; type: "bytes" },
            ];
            name: "algebraSwapCallback";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "owner"; type: "address" },
                { internalType: "address"; name: "spender"; type: "address" },
            ];
            name: "allowance";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "spender"; type: "address" },
                { internalType: "uint256"; name: "amount"; type: "uint256" },
            ];
            name: "approve";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "balanceOf";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "string"; name: "feeIdentifier"; type: "string" },
                { internalType: "uint256"; name: "amount0"; type: "uint256" },
                { internalType: "uint256"; name: "amount1"; type: "uint256" },
            ];
            name: "collectFees";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "decimals";
            outputs: readonly [{ internalType: "uint8"; name: ""; type: "uint8" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "spender"; type: "address" },
                { internalType: "uint256"; name: "subtractedValue"; type: "uint256" },
            ];
            name: "decreaseAllowance";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "amount0Desired"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Desired"; type: "uint256" },
                { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                { internalType: "address"; name: "to"; type: "address" },
            ];
            name: "deposit";
            outputs: readonly [
                { internalType: "uint256"; name: "shares"; type: "uint256" },
                { internalType: "uint256"; name: "amount0Used"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Used"; type: "uint256" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "int24"; name: "tickLower"; type: "int24" },
                { internalType: "int24"; name: "tickUpper"; type: "int24" },
                { internalType: "uint128"; name: "liquidity"; type: "uint128" },
            ];
            name: "emergencyBurn";
            outputs: readonly [
                { internalType: "uint256"; name: "amount0"; type: "uint256" },
                { internalType: "uint256"; name: "amount1"; type: "uint256" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "feeDetails";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
                { internalType: "address[]"; name: ""; type: "address[]" },
                { internalType: "string[]"; name: ""; type: "string[]" },
                { internalType: "uint256[]"; name: ""; type: "uint256[]" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "getPositions";
            outputs: readonly [
                { internalType: "int24[]"; name: ""; type: "int24[]" },
                { internalType: "int24[]"; name: ""; type: "int24[]" },
                { internalType: "uint16[]"; name: ""; type: "uint16[]" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
            ];
            name: "getRoleAdmin";
            outputs: readonly [
                { internalType: "bytes32"; name: ""; type: "bytes32" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "uint256"; name: "index"; type: "uint256" },
            ];
            name: "getRoleMember";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
            ];
            name: "getRoleMemberCount";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "getTotalAmounts";
            outputs: readonly [
                { internalType: "uint256"; name: "total0"; type: "uint256" },
                { internalType: "uint256"; name: "total1"; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "grantRole";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "hasRole";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "spender"; type: "address" },
                { internalType: "uint256"; name: "addedValue"; type: "uint256" },
            ];
            name: "increaseAllowance";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "_vaultManager"; type: "address" },
                { internalType: "address"; name: ""; type: "address" },
                { internalType: "address"; name: "_steer"; type: "address" },
                { internalType: "bytes"; name: "_params"; type: "bytes" },
            ];
            name: "initialize";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "maxTickChange";
            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "migrate";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "pause";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "paused";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "poke";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "pool";
            outputs: readonly [
                { internalType: "contract IAlgebraPool"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "renounceRole";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "revokeRole";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
            ];
            name: "supportsInterface";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "symbol";
            outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "totalWeight"; type: "uint256" },
                {
                    components: readonly [
                        { internalType: "int24[]"; name: "lowerTick"; type: "int24[]" },
                        { internalType: "int24[]"; name: "upperTick"; type: "int24[]" },
                        { internalType: "uint16[]"; name: "relativeWeight"; type: "uint16[]" },
                    ];
                    internalType: "struct CamelotMultiPositionLiquidityManager.LiquidityPositions";
                    name: "newPositions";
                    type: "tuple";
                },
                { internalType: "bytes"; name: "timeSensitiveData"; type: "bytes" },
            ];
            name: "tend";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "token0";
            outputs: readonly [
                { internalType: "contract IERC20"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "token1";
            outputs: readonly [
                { internalType: "contract IERC20"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "totalFees0";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "totalFees1";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "totalSupply";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "recipient"; type: "address" },
                { internalType: "uint256"; name: "amount"; type: "uint256" },
            ];
            name: "transfer";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "sender"; type: "address" },
                { internalType: "address"; name: "recipient"; type: "address" },
                { internalType: "uint256"; name: "amount"; type: "uint256" },
            ];
            name: "transferFrom";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "twapInterval";
            outputs: readonly [{ internalType: "uint32"; name: ""; type: "uint32" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "unpause";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "shares"; type: "uint256" },
                { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                { internalType: "address"; name: "to"; type: "address" },
            ];
            name: "withdraw";
            outputs: readonly [
                { internalType: "uint256"; name: "amount0"; type: "uint256" },
                { internalType: "uint256"; name: "amount1"; type: "uint256" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
    ];
    GasVault: readonly [
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "previousAdmin";
                    type: "address";
                },
                {
                    indexed: false;
                    internalType: "address";
                    name: "newAdmin";
                    type: "address";
                },
            ];
            name: "AdminChanged";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "implementation";
                    type: "address";
                },
            ];
            name: "Upgraded";
            type: "event";
        },
        { stateMutability: "payable"; type: "fallback" },
        {
            inputs: readonly [];
            name: "admin";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "newAdmin"; type: "address" },
            ];
            name: "changeAdmin";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "implementation";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    internalType: "address";
                    name: "newImplementation";
                    type: "address";
                },
            ];
            name: "upgradeTo";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    internalType: "address";
                    name: "newImplementation";
                    type: "address";
                },
                { internalType: "bytes"; name: "data"; type: "bytes" },
            ];
            name: "upgradeToAndCall";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        },
        { stateMutability: "payable"; type: "receive" },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "beacon";
                    type: "address";
                },
            ];
            name: "BeaconUpgraded";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "origin";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "target";
                    type: "address";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                },
            ];
            name: "Deposited";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "bytes32";
                    name: "jobHash";
                    type: "bytes32";
                },
            ];
            name: "EtherUsed";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "previousOwner";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "newOwner";
                    type: "address";
                },
            ];
            name: "OwnershipTransferred";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "targetAddress";
                    type: "address";
                },
                { indexed: true; internalType: "address"; name: "to"; type: "address" },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount";
                    type: "uint256";
                },
            ];
            name: "Withdrawn";
            type: "event";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "targetAddress"; type: "address" },
            ];
            name: "deposit";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            name: "ethBalances";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "_targetAddress"; type: "address" },
            ];
            name: "gasAvailableForTransaction";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "_orchestrator"; type: "address" },
                { internalType: "address"; name: "_stratRegistry"; type: "address" },
                { internalType: "address"; name: "_vaultRegistry"; type: "address" },
            ];
            name: "initialize";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "orchestrator";
            outputs: readonly [
                { internalType: "contract IOrchestrator"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "owner";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "targetAddress"; type: "address" },
                { internalType: "uint256"; name: "originalGas"; type: "uint256" },
                { internalType: "bytes32"; name: "jobHash"; type: "bytes32" },
            ];
            name: "reimburseGas";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "renounceOwnership";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "strategyRegistry";
            outputs: readonly [
                {
                    internalType: "contract IStrategyRegistry";
                    name: "";
                    type: "address";
                },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "targetAddress"; type: "address" },
                { internalType: "uint256"; name: "highGasEstimate"; type: "uint256" },
            ];
            name: "transactionsRemaining";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "newOwner"; type: "address" },
            ];
            name: "transferOwnership";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "vaultRegistry";
            outputs: readonly [
                {
                    internalType: "contract IVaultRegistry";
                    name: "";
                    type: "address";
                },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "amount"; type: "uint256" },
                { internalType: "address payable"; name: "to"; type: "address" },
            ];
            name: "withdraw";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "initialLogic"; type: "address" },
                { internalType: "address"; name: "initialAdmin"; type: "address" },
                { internalType: "bytes"; name: "_data"; type: "bytes" },
            ];
            stateMutability: "payable";
            type: "constructor";
        },
    ];
    SteerPeriphery: readonly [
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "previousAdmin";
                    type: "address";
                },
                {
                    indexed: false;
                    internalType: "address";
                    name: "newAdmin";
                    type: "address";
                },
            ];
            name: "AdminChanged";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "implementation";
                    type: "address";
                },
            ];
            name: "Upgraded";
            type: "event";
        },
        { stateMutability: "payable"; type: "fallback" },
        {
            inputs: readonly [];
            name: "admin";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "newAdmin"; type: "address" },
            ];
            name: "changeAdmin";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "implementation";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    internalType: "address";
                    name: "newImplementation";
                    type: "address";
                },
            ];
            name: "upgradeTo";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    internalType: "address";
                    name: "newImplementation";
                    type: "address";
                },
                { internalType: "bytes"; name: "data"; type: "bytes" },
            ];
            name: "upgradeToAndCall";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        },
        { stateMutability: "payable"; type: "receive" },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "beacon";
                    type: "address";
                },
            ];
            name: "BeaconUpgraded";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "previousOwner";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "newOwner";
                    type: "address";
                },
            ];
            name: "OwnershipTransferred";
            type: "event";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "vault"; type: "address" },
            ];
            name: "algebraVaultDetailsByAddress";
            outputs: readonly [
                {
                    components: readonly [
                        { internalType: "string"; name: "vaultType"; type: "string" },
                        { internalType: "address"; name: "token0"; type: "address" },
                        { internalType: "address"; name: "token1"; type: "address" },
                        { internalType: "string"; name: "name"; type: "string" },
                        { internalType: "string"; name: "symbol"; type: "string" },
                        { internalType: "uint256"; name: "decimals"; type: "uint256" },
                        { internalType: "string"; name: "token0Name"; type: "string" },
                        { internalType: "string"; name: "token1Name"; type: "string" },
                        { internalType: "string"; name: "token0Symbol"; type: "string" },
                        { internalType: "string"; name: "token1Symbol"; type: "string" },
                        { internalType: "uint256"; name: "token0Decimals"; type: "uint256" },
                        { internalType: "uint256"; name: "token1Decimals"; type: "uint256" },
                        {
                            internalType: "uint256";
                            name: "totalLPTokensIssued";
                            type: "uint256";
                        },
                        { internalType: "uint256"; name: "token0Balance"; type: "uint256" },
                        { internalType: "uint256"; name: "token1Balance"; type: "uint256" },
                        { internalType: "address"; name: "vaultCreator"; type: "address" },
                    ];
                    internalType: "struct IMultiPositionManager.AlgebraVaultDetails";
                    name: "details";
                    type: "tuple";
                },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    components: readonly [
                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                        { internalType: "bytes"; name: "params"; type: "bytes" },
                        { internalType: "string"; name: "beaconName"; type: "string" },
                        { internalType: "address"; name: "vaultManager"; type: "address" },
                        { internalType: "string"; name: "payloadIpfs"; type: "string" },
                    ];
                    internalType: "struct ISteerPeriphery.CVDGParams";
                    name: "cvdgParams";
                    type: "tuple";
                },
            ];
            name: "createVaultAndDepositGas";
            outputs: readonly [
                { internalType: "address"; name: "newVault"; type: "address" },
            ];
            stateMutability: "payable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    components: readonly [
                        {
                            internalType: "address";
                            name: "strategyCreator";
                            type: "address";
                        },
                        { internalType: "string"; name: "name"; type: "string" },
                        { internalType: "string"; name: "execBundle"; type: "string" },
                        { internalType: "uint128"; name: "maxGasCost"; type: "uint128" },
                        { internalType: "uint128"; name: "maxGasPerAction"; type: "uint128" },
                        { internalType: "bytes"; name: "params"; type: "bytes" },
                        { internalType: "string"; name: "beaconName"; type: "string" },
                        { internalType: "address"; name: "vaultManager"; type: "address" },
                        { internalType: "string"; name: "payloadIpfs"; type: "string" },
                    ];
                    internalType: "struct ISteerPeriphery.CVSParams";
                    name: "cvsParams";
                    type: "tuple";
                },
            ];
            name: "createVaultAndStrategy";
            outputs: readonly [
                { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                { internalType: "address"; name: "newVault"; type: "address" },
            ];
            stateMutability: "payable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    components: readonly [
                        {
                            internalType: "address";
                            name: "strategyCreator";
                            type: "address";
                        },
                        { internalType: "string"; name: "name"; type: "string" },
                        { internalType: "string"; name: "execBundle"; type: "string" },
                        { internalType: "uint128"; name: "maxGasCost"; type: "uint128" },
                        { internalType: "uint128"; name: "maxGasPerAction"; type: "uint128" },
                        { internalType: "bytes"; name: "jobInitParams"; type: "bytes" },
                        { internalType: "string"; name: "beaconName"; type: "string" },
                        { internalType: "address"; name: "vaultManager"; type: "address" },
                        { internalType: "string"; name: "payloadIpfs"; type: "string" },
                        { internalType: "bytes[]"; name: "userProvidedData"; type: "bytes[]" },
                        {
                            internalType: "address[]";
                            name: "targetAddresses";
                            type: "address[]";
                        },
                        { internalType: "string"; name: "jobName"; type: "string" },
                        { internalType: "string"; name: "ipfsForJobDetails"; type: "string" },
                    ];
                    internalType: "struct ISteerPeriphery.CVSRJParams";
                    name: "cvsrjParams";
                    type: "tuple";
                },
            ];
            name: "createVaultStrategyAndRegisterJob";
            outputs: readonly [
                { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                { internalType: "address"; name: "newVault"; type: "address" },
            ];
            stateMutability: "payable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "vaultAddress"; type: "address" },
                { internalType: "uint256"; name: "amount0Desired"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Desired"; type: "uint256" },
                { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                { internalType: "address"; name: "to"; type: "address" },
            ];
            name: "deposit";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "vaultAddress"; type: "address" },
                { internalType: "uint256"; name: "amount0Desired"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Desired"; type: "uint256" },
                { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                { internalType: "uint256"; name: "poolId"; type: "uint256" },
            ];
            name: "depositAndStake";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    internalType: "address";
                    name: "_strategyRegistry";
                    type: "address";
                },
                { internalType: "address"; name: "_vaultRegistry"; type: "address" },
                { internalType: "address"; name: "_gasVault"; type: "address" },
                { internalType: "address"; name: "_stakingRewards"; type: "address" },
                { internalType: "string"; name: "_nodeConfig"; type: "string" },
            ];
            name: "initialize";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "nodeConfig";
            outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "owner";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "renounceOwnership";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "string"; name: "_nodeConfig"; type: "string" },
            ];
            name: "setNodeConfig";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "creator"; type: "address" },
            ];
            name: "strategiesByCreator";
            outputs: readonly [
                {
                    components: readonly [
                        { internalType: "uint256"; name: "id"; type: "uint256" },
                        { internalType: "string"; name: "name"; type: "string" },
                        { internalType: "address"; name: "owner"; type: "address" },
                        { internalType: "string"; name: "execBundle"; type: "string" },
                        { internalType: "uint128"; name: "maxGasCost"; type: "uint128" },
                        { internalType: "uint128"; name: "maxGasPerAction"; type: "uint128" },
                    ];
                    internalType: "struct IStrategyRegistry.RegisteredStrategy[]";
                    name: "";
                    type: "tuple[]";
                },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "newOwner"; type: "address" },
            ];
            name: "transferOwnership";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "vault"; type: "address" },
            ];
            name: "vaultBalancesByAddressWithFees";
            outputs: readonly [
                {
                    components: readonly [
                        { internalType: "uint256"; name: "amountToken0"; type: "uint256" },
                        { internalType: "uint256"; name: "amountToken1"; type: "uint256" },
                    ];
                    internalType: "struct IMultiPositionManager.VaultBalance";
                    name: "balances";
                    type: "tuple";
                },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "vault"; type: "address" },
            ];
            name: "vaultDetailsByAddress";
            outputs: readonly [
                {
                    components: readonly [
                        { internalType: "string"; name: "vaultType"; type: "string" },
                        { internalType: "address"; name: "token0"; type: "address" },
                        { internalType: "address"; name: "token1"; type: "address" },
                        { internalType: "string"; name: "name"; type: "string" },
                        { internalType: "string"; name: "symbol"; type: "string" },
                        { internalType: "uint256"; name: "decimals"; type: "uint256" },
                        { internalType: "string"; name: "token0Name"; type: "string" },
                        { internalType: "string"; name: "token1Name"; type: "string" },
                        { internalType: "string"; name: "token0Symbol"; type: "string" },
                        { internalType: "string"; name: "token1Symbol"; type: "string" },
                        { internalType: "uint256"; name: "token0Decimals"; type: "uint256" },
                        { internalType: "uint256"; name: "token1Decimals"; type: "uint256" },
                        { internalType: "uint256"; name: "feeTier"; type: "uint256" },
                        {
                            internalType: "uint256";
                            name: "totalLPTokensIssued";
                            type: "uint256";
                        },
                        { internalType: "uint256"; name: "token0Balance"; type: "uint256" },
                        { internalType: "uint256"; name: "token1Balance"; type: "uint256" },
                        { internalType: "address"; name: "vaultCreator"; type: "address" },
                    ];
                    internalType: "struct IMultiPositionManager.VaultDetails";
                    name: "details";
                    type: "tuple";
                },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "strategyId"; type: "uint256" },
            ];
            name: "vaultsByStrategy";
            outputs: readonly [
                {
                    components: readonly [
                        {
                            internalType: "enum IVaultRegistry.VaultState";
                            name: "state";
                            type: "uint8";
                        },
                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                        { internalType: "uint256"; name: "vaultID"; type: "uint256" },
                        { internalType: "string"; name: "payloadIpfs"; type: "string" },
                        { internalType: "address"; name: "vaultAddress"; type: "address" },
                        { internalType: "string"; name: "beaconName"; type: "string" },
                    ];
                    internalType: "struct IVaultRegistry.VaultData[]";
                    name: "";
                    type: "tuple[]";
                },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "initialLogic"; type: "address" },
                { internalType: "address"; name: "initialAdmin"; type: "address" },
                { internalType: "bytes"; name: "_data"; type: "bytes" },
            ];
            stateMutability: "payable";
            type: "constructor";
        },
    ];
    StrategyRegistry: readonly [
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "previousAdmin";
                    type: "address";
                },
                {
                    indexed: false;
                    internalType: "address";
                    name: "newAdmin";
                    type: "address";
                },
            ];
            name: "AdminChanged";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "implementation";
                    type: "address";
                },
            ];
            name: "Upgraded";
            type: "event";
        },
        { stateMutability: "payable"; type: "fallback" },
        {
            inputs: readonly [];
            name: "admin";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "newAdmin"; type: "address" },
            ];
            name: "changeAdmin";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "implementation";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    internalType: "address";
                    name: "newImplementation";
                    type: "address";
                },
            ];
            name: "upgradeTo";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    internalType: "address";
                    name: "newImplementation";
                    type: "address";
                },
                { internalType: "bytes"; name: "data"; type: "bytes" },
            ];
            name: "upgradeToAndCall";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        },
        { stateMutability: "payable"; type: "receive" },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "owner";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "approved";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "uint256";
                    name: "tokenId";
                    type: "uint256";
                },
            ];
            name: "Approval";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "owner";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "operator";
                    type: "address";
                },
                { indexed: false; internalType: "bool"; name: "approved"; type: "bool" },
            ];
            name: "ApprovalForAll";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "beacon";
                    type: "address";
                },
            ];
            name: "BeaconUpgraded";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "previousOwner";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "newOwner";
                    type: "address";
                },
            ];
            name: "OwnershipTransferred";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
            ];
            name: "Paused";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "role";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "previousAdminRole";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "newAdminRole";
                    type: "bytes32";
                },
            ];
            name: "RoleAdminChanged";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "role";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                },
            ];
            name: "RoleGranted";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "role";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                },
            ];
            name: "RoleRevoked";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "owner";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "uint256";
                    name: "tokenId";
                    type: "uint256";
                },
                { indexed: false; internalType: "string"; name: "name"; type: "string" },
            ];
            name: "StrategyCreated";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "from";
                    type: "address";
                },
                { indexed: true; internalType: "address"; name: "to"; type: "address" },
                {
                    indexed: true;
                    internalType: "uint256";
                    name: "tokenId";
                    type: "uint256";
                },
            ];
            name: "Transfer";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
            ];
            name: "Unpaused";
            type: "event";
        },
        {
            inputs: readonly [];
            name: "DEFAULT_ADMIN_ROLE";
            outputs: readonly [
                { internalType: "bytes32"; name: ""; type: "bytes32" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "GOVERNANCE_ROLE";
            outputs: readonly [
                { internalType: "bytes32"; name: ""; type: "bytes32" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "MINTER_ROLE";
            outputs: readonly [
                { internalType: "bytes32"; name: ""; type: "bytes32" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "PAUSER_ROLE";
            outputs: readonly [
                { internalType: "bytes32"; name: ""; type: "bytes32" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "_tokenIdTracker";
            outputs: readonly [
                { internalType: "uint256"; name: "_value"; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "to"; type: "address" },
                { internalType: "uint256"; name: "tokenId"; type: "uint256" },
            ];
            name: "approve";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "owner"; type: "address" },
            ];
            name: "balanceOf";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "baseURI";
            outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "strategyCreator"; type: "address" },
                { internalType: "string"; name: "strategyName"; type: "string" },
                { internalType: "string"; name: "execBundle"; type: "string" },
                { internalType: "uint128"; name: "maxGasCost"; type: "uint128" },
                { internalType: "uint128"; name: "maxGasPerAction"; type: "uint128" },
            ];
            name: "createStrategy";
            outputs: readonly [
                {
                    internalType: "uint256";
                    name: "newStrategyTokenId";
                    type: "uint256";
                },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "tokenId"; type: "uint256" },
            ];
            name: "getApproved";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "tokenId"; type: "uint256" },
            ];
            name: "getRegisteredStrategy";
            outputs: readonly [
                {
                    components: readonly [
                        { internalType: "uint256"; name: "id"; type: "uint256" },
                        { internalType: "string"; name: "name"; type: "string" },
                        { internalType: "address"; name: "owner"; type: "address" },
                        { internalType: "string"; name: "execBundle"; type: "string" },
                        { internalType: "uint128"; name: "maxGasCost"; type: "uint128" },
                        { internalType: "uint128"; name: "maxGasPerAction"; type: "uint128" },
                    ];
                    internalType: "struct IStrategyRegistry.RegisteredStrategy";
                    name: "";
                    type: "tuple";
                },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
            ];
            name: "getRoleAdmin";
            outputs: readonly [
                { internalType: "bytes32"; name: ""; type: "bytes32" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "grantRole";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "hasRole";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "hashedEmptyString";
            outputs: readonly [
                { internalType: "bytes32"; name: ""; type: "bytes32" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "string"; name: "registry"; type: "string" },
            ];
            name: "initialize";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "owner"; type: "address" },
                { internalType: "address"; name: "operator"; type: "address" },
            ];
            name: "isApprovedForAll";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "maxMaxGasPerAction";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "owner";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "tokenId"; type: "uint256" },
            ];
            name: "ownerOf";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "pause";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "paused";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "renounceOwnership";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "renounceRole";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "revokeRole";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "from"; type: "address" },
                { internalType: "address"; name: "to"; type: "address" },
                { internalType: "uint256"; name: "tokenId"; type: "uint256" },
            ];
            name: "safeTransferFrom";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "from"; type: "address" },
                { internalType: "address"; name: "to"; type: "address" },
                { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                { internalType: "bytes"; name: "_data"; type: "bytes" },
            ];
            name: "safeTransferFrom";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "operator"; type: "address" },
                { internalType: "bool"; name: "approved"; type: "bool" },
            ];
            name: "setApprovalForAll";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "_tokenId"; type: "uint256" },
                { internalType: "uint128"; name: "_maxGasCost"; type: "uint128" },
                { internalType: "uint128"; name: "_maxGasPerAction"; type: "uint128" },
            ];
            name: "setGasParameters";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    internalType: "uint256";
                    name: "_maxMaxGasPerAction";
                    type: "uint256";
                },
            ];
            name: "setMaxMaxGasPerAction";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "string"; name: ""; type: "string" },
            ];
            name: "strategies";
            outputs: readonly [
                { internalType: "uint256"; name: "id"; type: "uint256" },
                { internalType: "string"; name: "name"; type: "string" },
                { internalType: "address"; name: "owner"; type: "address" },
                { internalType: "string"; name: "execBundle"; type: "string" },
                { internalType: "uint128"; name: "maxGasCost"; type: "uint128" },
                { internalType: "uint128"; name: "maxGasPerAction"; type: "uint128" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
            ];
            name: "supportsInterface";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "symbol";
            outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "index"; type: "uint256" },
            ];
            name: "tokenByIndex";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            name: "tokenIdToExecBundle";
            outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "owner"; type: "address" },
                { internalType: "uint256"; name: "index"; type: "uint256" },
            ];
            name: "tokenOfOwnerByIndex";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "tokenId"; type: "uint256" },
            ];
            name: "tokenURI";
            outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "totalSupply";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "from"; type: "address" },
                { internalType: "address"; name: "to"; type: "address" },
                { internalType: "uint256"; name: "tokenId"; type: "uint256" },
            ];
            name: "transferFrom";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "newOwner"; type: "address" },
            ];
            name: "transferOwnership";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "unpause";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "initialLogic"; type: "address" },
                { internalType: "address"; name: "initialAdmin"; type: "address" },
                { internalType: "bytes"; name: "_data"; type: "bytes" },
            ];
            stateMutability: "payable";
            type: "constructor";
        },
    ];
    VaultRegistry: readonly [
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "previousAdmin";
                    type: "address";
                },
                {
                    indexed: false;
                    internalType: "address";
                    name: "newAdmin";
                    type: "address";
                },
            ];
            name: "AdminChanged";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "implementation";
                    type: "address";
                },
            ];
            name: "Upgraded";
            type: "event";
        },
        { stateMutability: "payable"; type: "fallback" },
        {
            inputs: readonly [];
            name: "admin";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "newAdmin"; type: "address" },
            ];
            name: "changeAdmin";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "implementation";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    internalType: "address";
                    name: "newImplementation";
                    type: "address";
                },
            ];
            name: "upgradeTo";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                {
                    internalType: "address";
                    name: "newImplementation";
                    type: "address";
                },
                { internalType: "bytes"; name: "data"; type: "bytes" },
            ];
            name: "upgradeToAndCall";
            outputs: readonly [];
            stateMutability: "payable";
            type: "function";
        },
        { stateMutability: "payable"; type: "receive" },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "selectorLength"; type: "uint256" },
                {
                    internalType: "uint256";
                    name: "isImplementedLength";
                    type: "uint256";
                },
            ];
            name: "IncorrectArrayLengths";
            type: "error";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "string";
                    name: "_name";
                    type: "string";
                },
                {
                    indexed: false;
                    internalType: "string";
                    name: "_ipfsHash";
                    type: "string";
                },
            ];
            name: "BeaconConfigUpdated";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "string";
                    name: "_name";
                    type: "string";
                },
            ];
            name: "BeaconDeregistered";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "string";
                    name: "_name";
                    type: "string";
                },
                {
                    indexed: false;
                    internalType: "address";
                    name: "_address";
                    type: "address";
                },
                {
                    indexed: false;
                    internalType: "string";
                    name: "_ipfsHash";
                    type: "string";
                },
            ];
            name: "BeaconRegistered";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "beacon";
                    type: "address";
                },
            ];
            name: "BeaconUpgraded";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "";
                    type: "address";
                },
                { indexed: false; internalType: "string"; name: ""; type: "string" },
            ];
            name: "FeeSettingFailed";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "previousOwner";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "newOwner";
                    type: "address";
                },
            ];
            name: "OwnershipTransferred";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
            ];
            name: "Paused";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "role";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "previousAdminRole";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "newAdminRole";
                    type: "bytes32";
                },
            ];
            name: "RoleAdminChanged";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "role";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                },
            ];
            name: "RoleGranted";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "role";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                },
            ];
            name: "RoleRevoked";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
            ];
            name: "Unpaused";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "deployer";
                    type: "address";
                },
                {
                    indexed: false;
                    internalType: "address";
                    name: "vault";
                    type: "address";
                },
                {
                    indexed: false;
                    internalType: "string";
                    name: "beaconName";
                    type: "string";
                },
                {
                    indexed: true;
                    internalType: "uint256";
                    name: "tokenId";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "address";
                    name: "vaultManager";
                    type: "address";
                },
            ];
            name: "VaultCreated";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "vault";
                    type: "address";
                },
                {
                    indexed: false;
                    internalType: "enum VaultRegistry.VaultState";
                    name: "newState";
                    type: "uint8";
                },
            ];
            name: "VaultStateChanged";
            type: "event";
        },
        {
            inputs: readonly [];
            name: "DEFAULT_ADMIN_ROLE";
            outputs: readonly [
                { internalType: "bytes32"; name: ""; type: "bytes32" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "string"; name: ""; type: "string" },
            ];
            name: "beaconAddresses";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            name: "beaconTypes";
            outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes"; name: "_params"; type: "bytes" },
                { internalType: "uint256"; name: "_tokenId"; type: "uint256" },
                { internalType: "string"; name: "_beaconName"; type: "string" },
                { internalType: "address"; name: "_vaultManager"; type: "address" },
                { internalType: "string"; name: "_payloadIpfs"; type: "string" },
            ];
            name: "createVault";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "_address"; type: "address" },
                { internalType: "string"; name: "_name"; type: "string" },
                { internalType: "string"; name: "_ipfsConfigForBeacon"; type: "string" },
            ];
            name: "deployAndRegisterBeacon";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "string"; name: "_name"; type: "string" },
            ];
            name: "deregisterBeacon";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
            ];
            name: "doISupportInterface";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "feeManager";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
            ];
            name: "getRoleAdmin";
            outputs: readonly [
                { internalType: "bytes32"; name: ""; type: "bytes32" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "_vault"; type: "address" },
            ];
            name: "getStrategyCreatorForVault";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "_tokenId"; type: "uint256" },
                { internalType: "uint256"; name: "_vaultId"; type: "uint256" },
            ];
            name: "getVaultByStrategyAndIndex";
            outputs: readonly [
                {
                    components: readonly [
                        {
                            internalType: "enum VaultRegistry.VaultState";
                            name: "state";
                            type: "uint8";
                        },
                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                        { internalType: "uint256"; name: "vaultID"; type: "uint256" },
                        { internalType: "string"; name: "payloadIpfs"; type: "string" },
                        { internalType: "address"; name: "vaultAddress"; type: "address" },
                        { internalType: "string"; name: "beaconName"; type: "string" },
                    ];
                    internalType: "struct VaultRegistry.VaultData";
                    name: "";
                    type: "tuple";
                },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "_tokenId"; type: "uint256" },
            ];
            name: "getVaultCountByStrategyId";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "_address"; type: "address" },
            ];
            name: "getVaultDetails";
            outputs: readonly [
                {
                    components: readonly [
                        {
                            internalType: "enum VaultRegistry.VaultState";
                            name: "state";
                            type: "uint8";
                        },
                        { internalType: "uint256"; name: "tokenId"; type: "uint256" },
                        { internalType: "uint256"; name: "vaultID"; type: "uint256" },
                        { internalType: "string"; name: "payloadIpfs"; type: "string" },
                        { internalType: "address"; name: "vaultAddress"; type: "address" },
                        { internalType: "string"; name: "beaconName"; type: "string" },
                    ];
                    internalType: "struct VaultRegistry.VaultData";
                    name: "";
                    type: "tuple";
                },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "grantRole";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "hasRole";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "_orchestrator"; type: "address" },
                { internalType: "address"; name: "_strategyRegistry"; type: "address" },
                { internalType: "address"; name: "_whitelistRegistry"; type: "address" },
            ];
            name: "initialize";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "string"; name: ""; type: "string" },
                { internalType: "bytes4"; name: ""; type: "bytes4" },
            ];
            name: "interfaceImplementations";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            name: "linkedVaults";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "orchestrator";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "owner";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "pause";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "paused";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "string"; name: "_name"; type: "string" },
                { internalType: "address"; name: "_address"; type: "address" },
                { internalType: "string"; name: "_ipfsConfigForBeacon"; type: "string" },
            ];
            name: "registerBeacon";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "renounceOwnership";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "renounceRole";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "revokeRole";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "_feeManager"; type: "address" },
            ];
            name: "setFeeManager";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "_vaultHelper"; type: "address" },
            ];
            name: "setVaultHelper";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "strategyRegistry";
            outputs: readonly [
                {
                    internalType: "contract IStrategyRegistry";
                    name: "";
                    type: "address";
                },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
            ];
            name: "supportsInterface";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "totalVaultCount";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "newOwner"; type: "address" },
            ];
            name: "transferOwnership";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "unpause";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "string"; name: "_name"; type: "string" },
                {
                    internalType: "string";
                    name: "_newIPFSConfigForBeacon";
                    type: "string";
                },
            ];
            name: "updateBeaconConfig";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "string"; name: "beaconName"; type: "string" },
                { internalType: "bytes4[]"; name: "selectors"; type: "bytes4[]" },
                { internalType: "bool[]"; name: "isImplemented"; type: "bool[]" },
            ];
            name: "updateInterfaceImplementations";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "_vault"; type: "address" },
                {
                    internalType: "enum VaultRegistry.VaultState";
                    name: "_newState";
                    type: "uint8";
                },
            ];
            name: "updateVaultState";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "vaultHelper";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "whitelistRegistry";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "initialLogic"; type: "address" },
                { internalType: "address"; name: "initialAdmin"; type: "address" },
                { internalType: "bytes"; name: "_data"; type: "bytes" },
            ];
            stateMutability: "payable";
            type: "constructor";
        },
    ];
    Helper: readonly [
        {
            inputs: readonly [
                { internalType: "int24"; name: "currentTick"; type: "int24" },
                { internalType: "uint32"; name: "_twapInterval"; type: "uint32" },
                { internalType: "int24"; name: "_maxTickChange"; type: "int24" },
                { internalType: "address"; name: "pool"; type: "address" },
            ];
            name: "algebraVolatilityCheck";
            outputs: readonly [];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "total0"; type: "uint256" },
                { internalType: "uint256"; name: "total1"; type: "uint256" },
                {
                    components: readonly [
                        { internalType: "int24"; name: "lowerTick"; type: "int24" },
                        { internalType: "int24"; name: "upperTick"; type: "int24" },
                        { internalType: "uint16"; name: "relativeWeight"; type: "uint16" },
                    ];
                    internalType: "struct IHelper.NewLiquidityPositions[]";
                    name: "positions";
                    type: "tuple[]";
                },
                { internalType: "address"; name: "pool"; type: "address" },
                { internalType: "address"; name: "feeManager"; type: "address" },
                { internalType: "uint160"; name: "sqrtPriceX96"; type: "uint160" },
            ];
            name: "getAlgebraVaultBalances";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "_totalSupply"; type: "uint256" },
                { internalType: "uint256"; name: "total0"; type: "uint256" },
                { internalType: "uint256"; name: "total1"; type: "uint256" },
                { internalType: "uint256"; name: "amount0Desired"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Desired"; type: "uint256" },
                { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                { internalType: "uint256"; name: "minShares"; type: "uint256" },
            ];
            name: "getShares";
            outputs: readonly [
                { internalType: "uint256"; name: "shares"; type: "uint256" },
                { internalType: "uint256"; name: "amount0Used"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Used"; type: "uint256" },
            ];
            stateMutability: "pure";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "total0"; type: "uint256" },
                { internalType: "uint256"; name: "total1"; type: "uint256" },
                {
                    components: readonly [
                        { internalType: "int24"; name: "lowerTick"; type: "int24" },
                        { internalType: "int24"; name: "upperTick"; type: "int24" },
                        { internalType: "uint16"; name: "relativeWeight"; type: "uint16" },
                    ];
                    internalType: "struct IHelper.NewLiquidityPositions[]";
                    name: "positions";
                    type: "tuple[]";
                },
                { internalType: "address"; name: "pool"; type: "address" },
                { internalType: "address"; name: "feeManager"; type: "address" },
            ];
            name: "getUniswapVaultBalances";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "int24"; name: "currentTick"; type: "int24" },
                { internalType: "uint32"; name: "_twapInterval"; type: "uint32" },
                { internalType: "int24"; name: "_maxTickChange"; type: "int24" },
                { internalType: "address"; name: "pool"; type: "address" },
            ];
            name: "poolsharkCheckVolatility";
            outputs: readonly [];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "int24"; name: "currentTick"; type: "int24" },
                { internalType: "uint32"; name: "_twapInterval"; type: "uint32" },
                { internalType: "int24"; name: "_maxTickChange"; type: "int24" },
                { internalType: "address"; name: "pool"; type: "address" },
            ];
            name: "uniVolatilityCheck";
            outputs: readonly [];
            stateMutability: "view";
            type: "function";
        },
    ];
    QuickSwapUniv3MultiPositionLiquidityManager: readonly [
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "owner";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "spender";
                    type: "address";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "value";
                    type: "uint256";
                },
            ];
            name: "Approval";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                },
                { indexed: true; internalType: "address"; name: "to"; type: "address" },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "shares";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount0";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount1";
                    type: "uint256";
                },
            ];
            name: "Deposit";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount0Earned";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount1Earned";
                    type: "uint256";
                },
            ];
            name: "FeesEarned";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
            ];
            name: "Paused";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "role";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "previousAdminRole";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "newAdminRole";
                    type: "bytes32";
                },
            ];
            name: "RoleAdminChanged";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "role";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                },
            ];
            name: "RoleGranted";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "bytes32";
                    name: "role";
                    type: "bytes32";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
                {
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                },
            ];
            name: "RoleRevoked";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "uint160";
                    name: "sqrtPriceX96";
                    type: "uint160";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "totalAmount0";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "totalAmount1";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "totalSupply";
                    type: "uint256";
                },
            ];
            name: "Snapshot";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "from";
                    type: "address";
                },
                { indexed: true; internalType: "address"; name: "to"; type: "address" },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "value";
                    type: "uint256";
                },
            ];
            name: "Transfer";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: false;
                    internalType: "address";
                    name: "account";
                    type: "address";
                },
            ];
            name: "Unpaused";
            type: "event";
        },
        {
            anonymous: false;
            inputs: readonly [
                {
                    indexed: true;
                    internalType: "address";
                    name: "sender";
                    type: "address";
                },
                { indexed: true; internalType: "address"; name: "to"; type: "address" },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "shares";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount0";
                    type: "uint256";
                },
                {
                    indexed: false;
                    internalType: "uint256";
                    name: "amount1";
                    type: "uint256";
                },
            ];
            name: "Withdraw";
            type: "event";
        },
        {
            inputs: readonly [];
            name: "DEFAULT_ADMIN_ROLE";
            outputs: readonly [
                { internalType: "bytes32"; name: ""; type: "bytes32" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "STEER_FRACTION_OF_FEE";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "TOTAL_FEE";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "accruedSteerFees0";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "accruedSteerFees1";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "accruedStrategistFees0";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "accruedStrategistFees1";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "owner"; type: "address" },
                { internalType: "address"; name: "spender"; type: "address" },
            ];
            name: "allowance";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "spender"; type: "address" },
                { internalType: "uint256"; name: "amount"; type: "uint256" },
            ];
            name: "approve";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "balanceOf";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "decimals";
            outputs: readonly [{ internalType: "uint8"; name: ""; type: "uint8" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "spender"; type: "address" },
                { internalType: "uint256"; name: "subtractedValue"; type: "uint256" },
            ];
            name: "decreaseAllowance";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "amount0Desired"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Desired"; type: "uint256" },
                { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                { internalType: "address"; name: "to"; type: "address" },
            ];
            name: "deposit";
            outputs: readonly [
                { internalType: "uint256"; name: "shares"; type: "uint256" },
                { internalType: "uint256"; name: "amount0Used"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Used"; type: "uint256" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "int24"; name: "tickLower"; type: "int24" },
                { internalType: "int24"; name: "tickUpper"; type: "int24" },
                { internalType: "uint128"; name: "liquidity"; type: "uint128" },
            ];
            name: "emergencyBurn";
            outputs: readonly [
                { internalType: "uint256"; name: "amount0"; type: "uint256" },
                { internalType: "uint256"; name: "amount1"; type: "uint256" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "getPositions";
            outputs: readonly [
                { internalType: "int24[]"; name: ""; type: "int24[]" },
                { internalType: "int24[]"; name: ""; type: "int24[]" },
                { internalType: "uint16[]"; name: ""; type: "uint16[]" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
            ];
            name: "getRoleAdmin";
            outputs: readonly [
                { internalType: "bytes32"; name: ""; type: "bytes32" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "uint256"; name: "index"; type: "uint256" },
            ];
            name: "getRoleMember";
            outputs: readonly [
                { internalType: "address"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
            ];
            name: "getRoleMemberCount";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "getTotalAmounts";
            outputs: readonly [
                { internalType: "uint256"; name: "total0"; type: "uint256" },
                { internalType: "uint256"; name: "total1"; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "grantRole";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "hasRole";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "spender"; type: "address" },
                { internalType: "uint256"; name: "addedValue"; type: "uint256" },
            ];
            name: "increaseAllowance";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "_vaultManager"; type: "address" },
                { internalType: "address"; name: ""; type: "address" },
                { internalType: "address"; name: "_steer"; type: "address" },
                { internalType: "bytes"; name: "_params"; type: "bytes" },
            ];
            name: "initialize";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "maxTickChange";
            outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "name";
            outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "pause";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "paused";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "poke";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "pool";
            outputs: readonly [
                {
                    internalType: "contract IUniswapV3Pool";
                    name: "";
                    type: "address";
                },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "renounceRole";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes32"; name: "role"; type: "bytes32" },
                { internalType: "address"; name: "account"; type: "address" },
            ];
            name: "revokeRole";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "amount0"; type: "uint256" },
                { internalType: "uint256"; name: "amount1"; type: "uint256" },
                { internalType: "address"; name: "to"; type: "address" },
            ];
            name: "steerCollectFees";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "amount0"; type: "uint256" },
                { internalType: "uint256"; name: "amount1"; type: "uint256" },
                { internalType: "address"; name: "to"; type: "address" },
            ];
            name: "strategistCollectFees";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
            ];
            name: "supportsInterface";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "symbol";
            outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "totalWeight"; type: "uint256" },
                {
                    components: readonly [
                        { internalType: "int24[]"; name: "lowerTick"; type: "int24[]" },
                        { internalType: "int24[]"; name: "upperTick"; type: "int24[]" },
                        { internalType: "uint16[]"; name: "relativeWeight"; type: "uint16[]" },
                    ];
                    internalType: "struct QuickSwapUniv3MultiPositionLiquidityManager.LiquidityPositions";
                    name: "newPositions";
                    type: "tuple";
                },
                { internalType: "bytes"; name: "timeSensitiveData"; type: "bytes" },
            ];
            name: "tend";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "token0";
            outputs: readonly [
                { internalType: "contract IERC20"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "token1";
            outputs: readonly [
                { internalType: "contract IERC20"; name: ""; type: "address" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "totalSupply";
            outputs: readonly [
                { internalType: "uint256"; name: ""; type: "uint256" },
            ];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "recipient"; type: "address" },
                { internalType: "uint256"; name: "amount"; type: "uint256" },
            ];
            name: "transfer";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "address"; name: "sender"; type: "address" },
                { internalType: "address"; name: "recipient"; type: "address" },
                { internalType: "uint256"; name: "amount"; type: "uint256" },
            ];
            name: "transferFrom";
            outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "twapInterval";
            outputs: readonly [{ internalType: "uint32"; name: ""; type: "uint32" }];
            stateMutability: "view";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "amount0"; type: "uint256" },
                { internalType: "uint256"; name: "amount1"; type: "uint256" },
                { internalType: "bytes"; name: ""; type: "bytes" },
            ];
            name: "uniswapV3MintCallback";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "int256"; name: "amount0Wanted"; type: "int256" },
                { internalType: "int256"; name: "amount1Wanted"; type: "int256" },
                { internalType: "bytes"; name: ""; type: "bytes" },
            ];
            name: "uniswapV3SwapCallback";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [];
            name: "unpause";
            outputs: readonly [];
            stateMutability: "nonpayable";
            type: "function";
        },
        {
            inputs: readonly [
                { internalType: "uint256"; name: "shares"; type: "uint256" },
                { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
                { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
                { internalType: "address"; name: "to"; type: "address" },
            ];
            name: "withdraw";
            outputs: readonly [
                { internalType: "uint256"; name: "amount0"; type: "uint256" },
                { internalType: "uint256"; name: "amount1"; type: "uint256" },
            ];
            stateMutability: "nonpayable";
            type: "function";
        },
    ];
} = ...
Type declaration
- ReadonlyBundleRegistry: readonly [
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "previousAdmin";
 type: "address";
 },
 {
 indexed: false;
 internalType: "address";
 name: "newAdmin";
 type: "address";
 },
 ];
 name: "AdminChanged";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "implementation";
 type: "address";
 },
 ];
 name: "Upgraded";
 type: "event";
 },
 { stateMutability: "payable"; type: "fallback" },
 {
 inputs: readonly [];
 name: "admin";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "newAdmin"; type: "address" },
 ];
 name: "changeAdmin";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "implementation";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 internalType: "address";
 name: "newImplementation";
 type: "address";
 },
 ];
 name: "upgradeTo";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 internalType: "address";
 name: "newImplementation";
 type: "address";
 },
 { internalType: "bytes"; name: "data"; type: "bytes" },
 ];
 name: "upgradeToAndCall";
 outputs: readonly [];
 stateMutability: "payable";
 type: "function";
 },
 { stateMutability: "payable"; type: "receive" },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "beacon";
 type: "address";
 },
 ];
 name: "BeaconUpgraded";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "bytes32";
 name: "hash";
 type: "bytes32";
 },
 {
 indexed: false;
 internalType: "string";
 name: "bundle";
 type: "string";
 },
 { indexed: false; internalType: "string"; name: "host"; type: "string" },
 {
 indexed: false;
 internalType: "string";
 name: "source";
 type: "string";
 },
 {
 indexed: false;
 internalType: "string";
 name: "output";
 type: "string";
 },
 {
 indexed: false;
 internalType: "string";
 name: "infoHash";
 type: "string";
 },
 { indexed: false; internalType: "bool"; name: "active"; type: "bool" },
 {
 indexed: false;
 internalType: "address";
 name: "creator";
 type: "address";
 },
 ];
 name: "BundleRegistered";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "bytes32";
 name: "hash";
 type: "bytes32";
 },
 { indexed: false; internalType: "bool"; name: "toggle"; type: "bool" },
 ];
 name: "BundleStateChange";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "previousOwner";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "newOwner";
 type: "address";
 },
 ];
 name: "OwnershipTransferred";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "account";
 type: "address";
 },
 ];
 name: "Paused";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "account";
 type: "address";
 },
 ];
 name: "Unpaused";
 type: "event";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: ""; type: "bytes32" },
 ];
 name: "bundles";
 outputs: readonly [
 { internalType: "string"; name: "bundle"; type: "string" },
 { internalType: "string"; name: "source"; type: "string" },
 { internalType: "string"; name: "host"; type: "string" },
 { internalType: "string"; name: "output"; type: "string" },
 { internalType: "string"; name: "info"; type: "string" },
 { internalType: "bool"; name: "active"; type: "bool" },
 { internalType: "address"; name: "author"; type: "address" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "initialize";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "owner";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "pause";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "paused";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "string"; name: "_bundle"; type: "string" },
 { internalType: "string"; name: "_source"; type: "string" },
 { internalType: "string"; name: "_host"; type: "string" },
 { internalType: "string"; name: "_output"; type: "string" },
 { internalType: "string"; name: "_infoHash"; type: "string" },
 { internalType: "bool"; name: "_active"; type: "bool" },
 ];
 name: "register";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "renounceOwnership";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "_adapter"; type: "bytes32" },
 { internalType: "bool"; name: "_remainActive"; type: "bool" },
 ];
 name: "setAdapterState";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "newOwner"; type: "address" },
 ];
 name: "transferOwnership";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "initialLogic"; type: "address" },
 { internalType: "address"; name: "initialAdmin"; type: "address" },
 { internalType: "bytes"; name: "_data"; type: "bytes" },
 ];
 stateMutability: "payable";
 type: "constructor";
 },
 ]
- ReadonlyCamelotMultiPositionLiquidityManager: readonly [
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "owner";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "spender";
 type: "address";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "value";
 type: "uint256";
 },
 ];
 name: "Approval";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "sender";
 type: "address";
 },
 { indexed: true; internalType: "address"; name: "to"; type: "address" },
 {
 indexed: false;
 internalType: "uint256";
 name: "shares";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "amount0";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "amount1";
 type: "uint256";
 },
 ];
 name: "Deposit";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "uint256";
 name: "amount0Earned";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "amount1Earned";
 type: "uint256";
 },
 ];
 name: "FeesEarned";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "account";
 type: "address";
 },
 ];
 name: "Paused";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "bytes32";
 name: "role";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "bytes32";
 name: "previousAdminRole";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "bytes32";
 name: "newAdminRole";
 type: "bytes32";
 },
 ];
 name: "RoleAdminChanged";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "bytes32";
 name: "role";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "address";
 name: "account";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "sender";
 type: "address";
 },
 ];
 name: "RoleGranted";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "bytes32";
 name: "role";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "address";
 name: "account";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "sender";
 type: "address";
 },
 ];
 name: "RoleRevoked";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "uint160";
 name: "sqrtPriceX96";
 type: "uint160";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "totalAmount0";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "totalAmount1";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "totalSupply";
 type: "uint256";
 },
 ];
 name: "Snapshot";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "from";
 type: "address";
 },
 { indexed: true; internalType: "address"; name: "to"; type: "address" },
 {
 indexed: false;
 internalType: "uint256";
 name: "value";
 type: "uint256";
 },
 ];
 name: "Transfer";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "account";
 type: "address";
 },
 ];
 name: "Unpaused";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "sender";
 type: "address";
 },
 { indexed: true; internalType: "address"; name: "to"; type: "address" },
 {
 indexed: false;
 internalType: "uint256";
 name: "shares";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "amount0";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "amount1";
 type: "uint256";
 },
 ];
 name: "Withdraw";
 type: "event";
 },
 {
 inputs: readonly [];
 name: "DEFAULT_ADMIN_ROLE";
 outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "STEER_FRACTION_OF_FEE";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "STRATEGIST_FRACTION_OF_FEE";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "TOTAL_FEE";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 name: "accruedFees0";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 name: "accruedFees1";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "accruedSteerFees0";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "accruedSteerFees1";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "accruedStrategistFees0";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "accruedStrategistFees1";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "amount0"; type: "uint256" },
 { internalType: "uint256"; name: "amount1"; type: "uint256" },
 { internalType: "bytes"; name: ""; type: "bytes" },
 ];
 name: "algebraMintCallback";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "int256"; name: "amount0Wanted"; type: "int256" },
 { internalType: "int256"; name: "amount1Wanted"; type: "int256" },
 { internalType: "bytes"; name: ""; type: "bytes" },
 ];
 name: "algebraSwapCallback";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "owner"; type: "address" },
 { internalType: "address"; name: "spender"; type: "address" },
 ];
 name: "allowance";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "spender"; type: "address" },
 { internalType: "uint256"; name: "amount"; type: "uint256" },
 ];
 name: "approve";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "balanceOf";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "string"; name: "feeIdentifier"; type: "string" },
 { internalType: "uint256"; name: "amount0"; type: "uint256" },
 { internalType: "uint256"; name: "amount1"; type: "uint256" },
 ];
 name: "collectFees";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "decimals";
 outputs: readonly [{ internalType: "uint8"; name: ""; type: "uint8" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "spender"; type: "address" },
 { internalType: "uint256"; name: "subtractedValue"; type: "uint256" },
 ];
 name: "decreaseAllowance";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "amount0Desired"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Desired"; type: "uint256" },
 { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
 { internalType: "address"; name: "to"; type: "address" },
 ];
 name: "deposit";
 outputs: readonly [
 { internalType: "uint256"; name: "shares"; type: "uint256" },
 { internalType: "uint256"; name: "amount0Used"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Used"; type: "uint256" },
 ];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "int24"; name: "tickLower"; type: "int24" },
 { internalType: "int24"; name: "tickUpper"; type: "int24" },
 { internalType: "uint128"; name: "liquidity"; type: "uint128" },
 ];
 name: "emergencyBurn";
 outputs: readonly [
 { internalType: "uint256"; name: "amount0"; type: "uint256" },
 { internalType: "uint256"; name: "amount1"; type: "uint256" },
 ];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "feeDetails";
 outputs: readonly [
 { internalType: "uint256"; name: ""; type: "uint256" },
 { internalType: "address[]"; name: ""; type: "address[]" },
 { internalType: "string[]"; name: ""; type: "string[]" },
 { internalType: "uint256[]"; name: ""; type: "uint256[]" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "getPositions";
 outputs: readonly [
 { internalType: "int24[]"; name: ""; type: "int24[]" },
 { internalType: "int24[]"; name: ""; type: "int24[]" },
 { internalType: "uint16[]"; name: ""; type: "uint16[]" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 ];
 name: "getRoleAdmin";
 outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "uint256"; name: "index"; type: "uint256" },
 ];
 name: "getRoleMember";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 ];
 name: "getRoleMemberCount";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "getTotalAmounts";
 outputs: readonly [
 { internalType: "uint256"; name: "total0"; type: "uint256" },
 { internalType: "uint256"; name: "total1"; type: "uint256" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "grantRole";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "hasRole";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "spender"; type: "address" },
 { internalType: "uint256"; name: "addedValue"; type: "uint256" },
 ];
 name: "increaseAllowance";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "_vaultManager"; type: "address" },
 { internalType: "address"; name: ""; type: "address" },
 { internalType: "address"; name: "_steer"; type: "address" },
 { internalType: "bytes"; name: "_params"; type: "bytes" },
 ];
 name: "initialize";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "maxTickChange";
 outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "migrate";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "name";
 outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "pause";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "paused";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "poke";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "pool";
 outputs: readonly [
 { internalType: "contract IAlgebraPool"; name: ""; type: "address" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "renounceRole";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "revokeRole";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
 ];
 name: "supportsInterface";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "symbol";
 outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "totalWeight"; type: "uint256" },
 {
 components: readonly [
 { internalType: "int24[]"; name: "lowerTick"; type: "int24[]" },
 { internalType: "int24[]"; name: "upperTick"; type: "int24[]" },
 { internalType: "uint16[]"; name: "relativeWeight"; type: "uint16[]" },
 ];
 internalType: "struct CamelotMultiPositionLiquidityManager.LiquidityPositions";
 name: "newPositions";
 type: "tuple";
 },
 { internalType: "bytes"; name: "timeSensitiveData"; type: "bytes" },
 ];
 name: "tend";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "token0";
 outputs: readonly [
 { internalType: "contract IERC20"; name: ""; type: "address" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "token1";
 outputs: readonly [
 { internalType: "contract IERC20"; name: ""; type: "address" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "totalFees0";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "totalFees1";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "totalSupply";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "recipient"; type: "address" },
 { internalType: "uint256"; name: "amount"; type: "uint256" },
 ];
 name: "transfer";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "sender"; type: "address" },
 { internalType: "address"; name: "recipient"; type: "address" },
 { internalType: "uint256"; name: "amount"; type: "uint256" },
 ];
 name: "transferFrom";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "twapInterval";
 outputs: readonly [{ internalType: "uint32"; name: ""; type: "uint32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "unpause";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "shares"; type: "uint256" },
 { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
 { internalType: "address"; name: "to"; type: "address" },
 ];
 name: "withdraw";
 outputs: readonly [
 { internalType: "uint256"; name: "amount0"; type: "uint256" },
 { internalType: "uint256"; name: "amount1"; type: "uint256" },
 ];
 stateMutability: "nonpayable";
 type: "function";
 },
 ]
- ReadonlyGasVault: readonly [
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "previousAdmin";
 type: "address";
 },
 {
 indexed: false;
 internalType: "address";
 name: "newAdmin";
 type: "address";
 },
 ];
 name: "AdminChanged";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "implementation";
 type: "address";
 },
 ];
 name: "Upgraded";
 type: "event";
 },
 { stateMutability: "payable"; type: "fallback" },
 {
 inputs: readonly [];
 name: "admin";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "newAdmin"; type: "address" },
 ];
 name: "changeAdmin";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "implementation";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 internalType: "address";
 name: "newImplementation";
 type: "address";
 },
 ];
 name: "upgradeTo";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 internalType: "address";
 name: "newImplementation";
 type: "address";
 },
 { internalType: "bytes"; name: "data"; type: "bytes" },
 ];
 name: "upgradeToAndCall";
 outputs: readonly [];
 stateMutability: "payable";
 type: "function";
 },
 { stateMutability: "payable"; type: "receive" },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "beacon";
 type: "address";
 },
 ];
 name: "BeaconUpgraded";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "origin";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "target";
 type: "address";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "amount";
 type: "uint256";
 },
 ];
 name: "Deposited";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "account";
 type: "address";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "amount";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "bytes32";
 name: "jobHash";
 type: "bytes32";
 },
 ];
 name: "EtherUsed";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "previousOwner";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "newOwner";
 type: "address";
 },
 ];
 name: "OwnershipTransferred";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "targetAddress";
 type: "address";
 },
 { indexed: true; internalType: "address"; name: "to"; type: "address" },
 {
 indexed: false;
 internalType: "uint256";
 name: "amount";
 type: "uint256";
 },
 ];
 name: "Withdrawn";
 type: "event";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "targetAddress"; type: "address" },
 ];
 name: "deposit";
 outputs: readonly [];
 stateMutability: "payable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: ""; type: "address" },
 ];
 name: "ethBalances";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "_targetAddress"; type: "address" },
 ];
 name: "gasAvailableForTransaction";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "_orchestrator"; type: "address" },
 { internalType: "address"; name: "_stratRegistry"; type: "address" },
 { internalType: "address"; name: "_vaultRegistry"; type: "address" },
 ];
 name: "initialize";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "orchestrator";
 outputs: readonly [
 { internalType: "contract IOrchestrator"; name: ""; type: "address" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "owner";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "targetAddress"; type: "address" },
 { internalType: "uint256"; name: "originalGas"; type: "uint256" },
 { internalType: "bytes32"; name: "jobHash"; type: "bytes32" },
 ];
 name: "reimburseGas";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "renounceOwnership";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "strategyRegistry";
 outputs: readonly [
 {
 internalType: "contract IStrategyRegistry";
 name: "";
 type: "address";
 },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "targetAddress"; type: "address" },
 { internalType: "uint256"; name: "highGasEstimate"; type: "uint256" },
 ];
 name: "transactionsRemaining";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "newOwner"; type: "address" },
 ];
 name: "transferOwnership";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "vaultRegistry";
 outputs: readonly [
 { internalType: "contract IVaultRegistry"; name: ""; type: "address" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "amount"; type: "uint256" },
 { internalType: "address payable"; name: "to"; type: "address" },
 ];
 name: "withdraw";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "initialLogic"; type: "address" },
 { internalType: "address"; name: "initialAdmin"; type: "address" },
 { internalType: "bytes"; name: "_data"; type: "bytes" },
 ];
 stateMutability: "payable";
 type: "constructor";
 },
 ]
- ReadonlySteerPeriphery: readonly [
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "previousAdmin";
 type: "address";
 },
 {
 indexed: false;
 internalType: "address";
 name: "newAdmin";
 type: "address";
 },
 ];
 name: "AdminChanged";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "implementation";
 type: "address";
 },
 ];
 name: "Upgraded";
 type: "event";
 },
 { stateMutability: "payable"; type: "fallback" },
 {
 inputs: readonly [];
 name: "admin";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "newAdmin"; type: "address" },
 ];
 name: "changeAdmin";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "implementation";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 internalType: "address";
 name: "newImplementation";
 type: "address";
 },
 ];
 name: "upgradeTo";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 internalType: "address";
 name: "newImplementation";
 type: "address";
 },
 { internalType: "bytes"; name: "data"; type: "bytes" },
 ];
 name: "upgradeToAndCall";
 outputs: readonly [];
 stateMutability: "payable";
 type: "function";
 },
 { stateMutability: "payable"; type: "receive" },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "beacon";
 type: "address";
 },
 ];
 name: "BeaconUpgraded";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "previousOwner";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "newOwner";
 type: "address";
 },
 ];
 name: "OwnershipTransferred";
 type: "event";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "vault"; type: "address" },
 ];
 name: "algebraVaultDetailsByAddress";
 outputs: readonly [
 {
 components: readonly [
 { internalType: "string"; name: "vaultType"; type: "string" },
 { internalType: "address"; name: "token0"; type: "address" },
 { internalType: "address"; name: "token1"; type: "address" },
 { internalType: "string"; name: "name"; type: "string" },
 { internalType: "string"; name: "symbol"; type: "string" },
 { internalType: "uint256"; name: "decimals"; type: "uint256" },
 { internalType: "string"; name: "token0Name"; type: "string" },
 { internalType: "string"; name: "token1Name"; type: "string" },
 { internalType: "string"; name: "token0Symbol"; type: "string" },
 { internalType: "string"; name: "token1Symbol"; type: "string" },
 { internalType: "uint256"; name: "token0Decimals"; type: "uint256" },
 { internalType: "uint256"; name: "token1Decimals"; type: "uint256" },
 {
 internalType: "uint256";
 name: "totalLPTokensIssued";
 type: "uint256";
 },
 { internalType: "uint256"; name: "token0Balance"; type: "uint256" },
 { internalType: "uint256"; name: "token1Balance"; type: "uint256" },
 { internalType: "address"; name: "vaultCreator"; type: "address" },
 ];
 internalType: "struct IMultiPositionManager.AlgebraVaultDetails";
 name: "details";
 type: "tuple";
 },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 {
 components: readonly [
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 { internalType: "bytes"; name: "params"; type: "bytes" },
 { internalType: "string"; name: "beaconName"; type: "string" },
 { internalType: "address"; name: "vaultManager"; type: "address" },
 { internalType: "string"; name: "payloadIpfs"; type: "string" },
 ];
 internalType: "struct ISteerPeriphery.CVDGParams";
 name: "cvdgParams";
 type: "tuple";
 },
 ];
 name: "createVaultAndDepositGas";
 outputs: readonly [
 { internalType: "address"; name: "newVault"; type: "address" },
 ];
 stateMutability: "payable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 components: readonly [
 {
 internalType: "address";
 name: "strategyCreator";
 type: "address";
 },
 { internalType: "string"; name: "name"; type: "string" },
 { internalType: "string"; name: "execBundle"; type: "string" },
 { internalType: "uint128"; name: "maxGasCost"; type: "uint128" },
 { internalType: "uint128"; name: "maxGasPerAction"; type: "uint128" },
 { internalType: "bytes"; name: "params"; type: "bytes" },
 { internalType: "string"; name: "beaconName"; type: "string" },
 { internalType: "address"; name: "vaultManager"; type: "address" },
 { internalType: "string"; name: "payloadIpfs"; type: "string" },
 ];
 internalType: "struct ISteerPeriphery.CVSParams";
 name: "cvsParams";
 type: "tuple";
 },
 ];
 name: "createVaultAndStrategy";
 outputs: readonly [
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 { internalType: "address"; name: "newVault"; type: "address" },
 ];
 stateMutability: "payable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 components: readonly [
 {
 internalType: "address";
 name: "strategyCreator";
 type: "address";
 },
 { internalType: "string"; name: "name"; type: "string" },
 { internalType: "string"; name: "execBundle"; type: "string" },
 { internalType: "uint128"; name: "maxGasCost"; type: "uint128" },
 { internalType: "uint128"; name: "maxGasPerAction"; type: "uint128" },
 { internalType: "bytes"; name: "jobInitParams"; type: "bytes" },
 { internalType: "string"; name: "beaconName"; type: "string" },
 { internalType: "address"; name: "vaultManager"; type: "address" },
 { internalType: "string"; name: "payloadIpfs"; type: "string" },
 { internalType: "bytes[]"; name: "userProvidedData"; type: "bytes[]" },
 {
 internalType: "address[]";
 name: "targetAddresses";
 type: "address[]";
 },
 { internalType: "string"; name: "jobName"; type: "string" },
 { internalType: "string"; name: "ipfsForJobDetails"; type: "string" },
 ];
 internalType: "struct ISteerPeriphery.CVSRJParams";
 name: "cvsrjParams";
 type: "tuple";
 },
 ];
 name: "createVaultStrategyAndRegisterJob";
 outputs: readonly [
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 { internalType: "address"; name: "newVault"; type: "address" },
 ];
 stateMutability: "payable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "vaultAddress"; type: "address" },
 { internalType: "uint256"; name: "amount0Desired"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Desired"; type: "uint256" },
 { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
 { internalType: "address"; name: "to"; type: "address" },
 ];
 name: "deposit";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "vaultAddress"; type: "address" },
 { internalType: "uint256"; name: "amount0Desired"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Desired"; type: "uint256" },
 { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
 { internalType: "uint256"; name: "poolId"; type: "uint256" },
 ];
 name: "depositAndStake";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 internalType: "address";
 name: "_strategyRegistry";
 type: "address";
 },
 { internalType: "address"; name: "_vaultRegistry"; type: "address" },
 { internalType: "address"; name: "_gasVault"; type: "address" },
 { internalType: "address"; name: "_stakingRewards"; type: "address" },
 { internalType: "string"; name: "_nodeConfig"; type: "string" },
 ];
 name: "initialize";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "nodeConfig";
 outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "owner";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "renounceOwnership";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "string"; name: "_nodeConfig"; type: "string" },
 ];
 name: "setNodeConfig";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "creator"; type: "address" },
 ];
 name: "strategiesByCreator";
 outputs: readonly [
 {
 components: readonly [
 { internalType: "uint256"; name: "id"; type: "uint256" },
 { internalType: "string"; name: "name"; type: "string" },
 { internalType: "address"; name: "owner"; type: "address" },
 { internalType: "string"; name: "execBundle"; type: "string" },
 { internalType: "uint128"; name: "maxGasCost"; type: "uint128" },
 { internalType: "uint128"; name: "maxGasPerAction"; type: "uint128" },
 ];
 internalType: "struct IStrategyRegistry.RegisteredStrategy[]";
 name: "";
 type: "tuple[]";
 },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "newOwner"; type: "address" },
 ];
 name: "transferOwnership";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "vault"; type: "address" },
 ];
 name: "vaultBalancesByAddressWithFees";
 outputs: readonly [
 {
 components: readonly [
 { internalType: "uint256"; name: "amountToken0"; type: "uint256" },
 { internalType: "uint256"; name: "amountToken1"; type: "uint256" },
 ];
 internalType: "struct IMultiPositionManager.VaultBalance";
 name: "balances";
 type: "tuple";
 },
 ];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "vault"; type: "address" },
 ];
 name: "vaultDetailsByAddress";
 outputs: readonly [
 {
 components: readonly [
 { internalType: "string"; name: "vaultType"; type: "string" },
 { internalType: "address"; name: "token0"; type: "address" },
 { internalType: "address"; name: "token1"; type: "address" },
 { internalType: "string"; name: "name"; type: "string" },
 { internalType: "string"; name: "symbol"; type: "string" },
 { internalType: "uint256"; name: "decimals"; type: "uint256" },
 { internalType: "string"; name: "token0Name"; type: "string" },
 { internalType: "string"; name: "token1Name"; type: "string" },
 { internalType: "string"; name: "token0Symbol"; type: "string" },
 { internalType: "string"; name: "token1Symbol"; type: "string" },
 { internalType: "uint256"; name: "token0Decimals"; type: "uint256" },
 { internalType: "uint256"; name: "token1Decimals"; type: "uint256" },
 { internalType: "uint256"; name: "feeTier"; type: "uint256" },
 {
 internalType: "uint256";
 name: "totalLPTokensIssued";
 type: "uint256";
 },
 { internalType: "uint256"; name: "token0Balance"; type: "uint256" },
 { internalType: "uint256"; name: "token1Balance"; type: "uint256" },
 { internalType: "address"; name: "vaultCreator"; type: "address" },
 ];
 internalType: "struct IMultiPositionManager.VaultDetails";
 name: "details";
 type: "tuple";
 },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "strategyId"; type: "uint256" },
 ];
 name: "vaultsByStrategy";
 outputs: readonly [
 {
 components: readonly [
 {
 internalType: "enum IVaultRegistry.VaultState";
 name: "state";
 type: "uint8";
 },
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 { internalType: "uint256"; name: "vaultID"; type: "uint256" },
 { internalType: "string"; name: "payloadIpfs"; type: "string" },
 { internalType: "address"; name: "vaultAddress"; type: "address" },
 { internalType: "string"; name: "beaconName"; type: "string" },
 ];
 internalType: "struct IVaultRegistry.VaultData[]";
 name: "";
 type: "tuple[]";
 },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "initialLogic"; type: "address" },
 { internalType: "address"; name: "initialAdmin"; type: "address" },
 { internalType: "bytes"; name: "_data"; type: "bytes" },
 ];
 stateMutability: "payable";
 type: "constructor";
 },
 ]
- ReadonlyStrategyRegistry: readonly [
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "previousAdmin";
 type: "address";
 },
 {
 indexed: false;
 internalType: "address";
 name: "newAdmin";
 type: "address";
 },
 ];
 name: "AdminChanged";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "implementation";
 type: "address";
 },
 ];
 name: "Upgraded";
 type: "event";
 },
 { stateMutability: "payable"; type: "fallback" },
 {
 inputs: readonly [];
 name: "admin";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "newAdmin"; type: "address" },
 ];
 name: "changeAdmin";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "implementation";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 internalType: "address";
 name: "newImplementation";
 type: "address";
 },
 ];
 name: "upgradeTo";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 internalType: "address";
 name: "newImplementation";
 type: "address";
 },
 { internalType: "bytes"; name: "data"; type: "bytes" },
 ];
 name: "upgradeToAndCall";
 outputs: readonly [];
 stateMutability: "payable";
 type: "function";
 },
 { stateMutability: "payable"; type: "receive" },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "owner";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "approved";
 type: "address";
 },
 {
 indexed: true;
 internalType: "uint256";
 name: "tokenId";
 type: "uint256";
 },
 ];
 name: "Approval";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "owner";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "operator";
 type: "address";
 },
 { indexed: false; internalType: "bool"; name: "approved"; type: "bool" },
 ];
 name: "ApprovalForAll";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "beacon";
 type: "address";
 },
 ];
 name: "BeaconUpgraded";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "previousOwner";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "newOwner";
 type: "address";
 },
 ];
 name: "OwnershipTransferred";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "account";
 type: "address";
 },
 ];
 name: "Paused";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "bytes32";
 name: "role";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "bytes32";
 name: "previousAdminRole";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "bytes32";
 name: "newAdminRole";
 type: "bytes32";
 },
 ];
 name: "RoleAdminChanged";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "bytes32";
 name: "role";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "address";
 name: "account";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "sender";
 type: "address";
 },
 ];
 name: "RoleGranted";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "bytes32";
 name: "role";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "address";
 name: "account";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "sender";
 type: "address";
 },
 ];
 name: "RoleRevoked";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "owner";
 type: "address";
 },
 {
 indexed: true;
 internalType: "uint256";
 name: "tokenId";
 type: "uint256";
 },
 { indexed: false; internalType: "string"; name: "name"; type: "string" },
 ];
 name: "StrategyCreated";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "from";
 type: "address";
 },
 { indexed: true; internalType: "address"; name: "to"; type: "address" },
 {
 indexed: true;
 internalType: "uint256";
 name: "tokenId";
 type: "uint256";
 },
 ];
 name: "Transfer";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "account";
 type: "address";
 },
 ];
 name: "Unpaused";
 type: "event";
 },
 {
 inputs: readonly [];
 name: "DEFAULT_ADMIN_ROLE";
 outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "GOVERNANCE_ROLE";
 outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "MINTER_ROLE";
 outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "PAUSER_ROLE";
 outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "_tokenIdTracker";
 outputs: readonly [
 { internalType: "uint256"; name: "_value"; type: "uint256" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "to"; type: "address" },
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 ];
 name: "approve";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "owner"; type: "address" },
 ];
 name: "balanceOf";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "baseURI";
 outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "strategyCreator"; type: "address" },
 { internalType: "string"; name: "strategyName"; type: "string" },
 { internalType: "string"; name: "execBundle"; type: "string" },
 { internalType: "uint128"; name: "maxGasCost"; type: "uint128" },
 { internalType: "uint128"; name: "maxGasPerAction"; type: "uint128" },
 ];
 name: "createStrategy";
 outputs: readonly [
 {
 internalType: "uint256";
 name: "newStrategyTokenId";
 type: "uint256";
 },
 ];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 ];
 name: "getApproved";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 ];
 name: "getRegisteredStrategy";
 outputs: readonly [
 {
 components: readonly [
 { internalType: "uint256"; name: "id"; type: "uint256" },
 { internalType: "string"; name: "name"; type: "string" },
 { internalType: "address"; name: "owner"; type: "address" },
 { internalType: "string"; name: "execBundle"; type: "string" },
 { internalType: "uint128"; name: "maxGasCost"; type: "uint128" },
 { internalType: "uint128"; name: "maxGasPerAction"; type: "uint128" },
 ];
 internalType: "struct IStrategyRegistry.RegisteredStrategy";
 name: "";
 type: "tuple";
 },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 ];
 name: "getRoleAdmin";
 outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "grantRole";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "hasRole";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "hashedEmptyString";
 outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "string"; name: "registry"; type: "string" },
 ];
 name: "initialize";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "owner"; type: "address" },
 { internalType: "address"; name: "operator"; type: "address" },
 ];
 name: "isApprovedForAll";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "maxMaxGasPerAction";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "name";
 outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "owner";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 ];
 name: "ownerOf";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "pause";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "paused";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "renounceOwnership";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "renounceRole";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "revokeRole";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "from"; type: "address" },
 { internalType: "address"; name: "to"; type: "address" },
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 ];
 name: "safeTransferFrom";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "from"; type: "address" },
 { internalType: "address"; name: "to"; type: "address" },
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 { internalType: "bytes"; name: "_data"; type: "bytes" },
 ];
 name: "safeTransferFrom";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "operator"; type: "address" },
 { internalType: "bool"; name: "approved"; type: "bool" },
 ];
 name: "setApprovalForAll";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "_tokenId"; type: "uint256" },
 { internalType: "uint128"; name: "_maxGasCost"; type: "uint128" },
 { internalType: "uint128"; name: "_maxGasPerAction"; type: "uint128" },
 ];
 name: "setGasParameters";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 internalType: "uint256";
 name: "_maxMaxGasPerAction";
 type: "uint256";
 },
 ];
 name: "setMaxMaxGasPerAction";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 name: "strategies";
 outputs: readonly [
 { internalType: "uint256"; name: "id"; type: "uint256" },
 { internalType: "string"; name: "name"; type: "string" },
 { internalType: "address"; name: "owner"; type: "address" },
 { internalType: "string"; name: "execBundle"; type: "string" },
 { internalType: "uint128"; name: "maxGasCost"; type: "uint128" },
 { internalType: "uint128"; name: "maxGasPerAction"; type: "uint128" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
 ];
 name: "supportsInterface";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "symbol";
 outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "index"; type: "uint256" },
 ];
 name: "tokenByIndex";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: ""; type: "uint256" },
 ];
 name: "tokenIdToExecBundle";
 outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "owner"; type: "address" },
 { internalType: "uint256"; name: "index"; type: "uint256" },
 ];
 name: "tokenOfOwnerByIndex";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 ];
 name: "tokenURI";
 outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "totalSupply";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "from"; type: "address" },
 { internalType: "address"; name: "to"; type: "address" },
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 ];
 name: "transferFrom";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "newOwner"; type: "address" },
 ];
 name: "transferOwnership";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "unpause";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "initialLogic"; type: "address" },
 { internalType: "address"; name: "initialAdmin"; type: "address" },
 { internalType: "bytes"; name: "_data"; type: "bytes" },
 ];
 stateMutability: "payable";
 type: "constructor";
 },
 ]
- ReadonlyVaultRegistry: readonly [
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "previousAdmin";
 type: "address";
 },
 {
 indexed: false;
 internalType: "address";
 name: "newAdmin";
 type: "address";
 },
 ];
 name: "AdminChanged";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "implementation";
 type: "address";
 },
 ];
 name: "Upgraded";
 type: "event";
 },
 { stateMutability: "payable"; type: "fallback" },
 {
 inputs: readonly [];
 name: "admin";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "newAdmin"; type: "address" },
 ];
 name: "changeAdmin";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "implementation";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 internalType: "address";
 name: "newImplementation";
 type: "address";
 },
 ];
 name: "upgradeTo";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 {
 internalType: "address";
 name: "newImplementation";
 type: "address";
 },
 { internalType: "bytes"; name: "data"; type: "bytes" },
 ];
 name: "upgradeToAndCall";
 outputs: readonly [];
 stateMutability: "payable";
 type: "function";
 },
 { stateMutability: "payable"; type: "receive" },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "selectorLength"; type: "uint256" },
 { internalType: "uint256"; name: "isImplementedLength"; type: "uint256" },
 ];
 name: "IncorrectArrayLengths";
 type: "error";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "string";
 name: "_name";
 type: "string";
 },
 {
 indexed: false;
 internalType: "string";
 name: "_ipfsHash";
 type: "string";
 },
 ];
 name: "BeaconConfigUpdated";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "string";
 name: "_name";
 type: "string";
 },
 ];
 name: "BeaconDeregistered";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "string";
 name: "_name";
 type: "string";
 },
 {
 indexed: false;
 internalType: "address";
 name: "_address";
 type: "address";
 },
 {
 indexed: false;
 internalType: "string";
 name: "_ipfsHash";
 type: "string";
 },
 ];
 name: "BeaconRegistered";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "beacon";
 type: "address";
 },
 ];
 name: "BeaconUpgraded";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 { indexed: false; internalType: "address"; name: ""; type: "address" },
 { indexed: false; internalType: "string"; name: ""; type: "string" },
 ];
 name: "FeeSettingFailed";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "previousOwner";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "newOwner";
 type: "address";
 },
 ];
 name: "OwnershipTransferred";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "account";
 type: "address";
 },
 ];
 name: "Paused";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "bytes32";
 name: "role";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "bytes32";
 name: "previousAdminRole";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "bytes32";
 name: "newAdminRole";
 type: "bytes32";
 },
 ];
 name: "RoleAdminChanged";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "bytes32";
 name: "role";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "address";
 name: "account";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "sender";
 type: "address";
 },
 ];
 name: "RoleGranted";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "bytes32";
 name: "role";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "address";
 name: "account";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "sender";
 type: "address";
 },
 ];
 name: "RoleRevoked";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "account";
 type: "address";
 },
 ];
 name: "Unpaused";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "deployer";
 type: "address";
 },
 {
 indexed: false;
 internalType: "address";
 name: "vault";
 type: "address";
 },
 {
 indexed: false;
 internalType: "string";
 name: "beaconName";
 type: "string";
 },
 {
 indexed: true;
 internalType: "uint256";
 name: "tokenId";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "address";
 name: "vaultManager";
 type: "address";
 },
 ];
 name: "VaultCreated";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "vault";
 type: "address";
 },
 {
 indexed: false;
 internalType: "enum VaultRegistry.VaultState";
 name: "newState";
 type: "uint8";
 },
 ];
 name: "VaultStateChanged";
 type: "event";
 },
 {
 inputs: readonly [];
 name: "DEFAULT_ADMIN_ROLE";
 outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 name: "beaconAddresses";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: ""; type: "address" },
 ];
 name: "beaconTypes";
 outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes"; name: "_params"; type: "bytes" },
 { internalType: "uint256"; name: "_tokenId"; type: "uint256" },
 { internalType: "string"; name: "_beaconName"; type: "string" },
 { internalType: "address"; name: "_vaultManager"; type: "address" },
 { internalType: "string"; name: "_payloadIpfs"; type: "string" },
 ];
 name: "createVault";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "_address"; type: "address" },
 { internalType: "string"; name: "_name"; type: "string" },
 { internalType: "string"; name: "_ipfsConfigForBeacon"; type: "string" },
 ];
 name: "deployAndRegisterBeacon";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "string"; name: "_name"; type: "string" },
 ];
 name: "deregisterBeacon";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
 ];
 name: "doISupportInterface";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "feeManager";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 ];
 name: "getRoleAdmin";
 outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "_vault"; type: "address" },
 ];
 name: "getStrategyCreatorForVault";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "_tokenId"; type: "uint256" },
 { internalType: "uint256"; name: "_vaultId"; type: "uint256" },
 ];
 name: "getVaultByStrategyAndIndex";
 outputs: readonly [
 {
 components: readonly [
 {
 internalType: "enum VaultRegistry.VaultState";
 name: "state";
 type: "uint8";
 },
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 { internalType: "uint256"; name: "vaultID"; type: "uint256" },
 { internalType: "string"; name: "payloadIpfs"; type: "string" },
 { internalType: "address"; name: "vaultAddress"; type: "address" },
 { internalType: "string"; name: "beaconName"; type: "string" },
 ];
 internalType: "struct VaultRegistry.VaultData";
 name: "";
 type: "tuple";
 },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "_tokenId"; type: "uint256" },
 ];
 name: "getVaultCountByStrategyId";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "_address"; type: "address" },
 ];
 name: "getVaultDetails";
 outputs: readonly [
 {
 components: readonly [
 {
 internalType: "enum VaultRegistry.VaultState";
 name: "state";
 type: "uint8";
 },
 { internalType: "uint256"; name: "tokenId"; type: "uint256" },
 { internalType: "uint256"; name: "vaultID"; type: "uint256" },
 { internalType: "string"; name: "payloadIpfs"; type: "string" },
 { internalType: "address"; name: "vaultAddress"; type: "address" },
 { internalType: "string"; name: "beaconName"; type: "string" },
 ];
 internalType: "struct VaultRegistry.VaultData";
 name: "";
 type: "tuple";
 },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "grantRole";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "hasRole";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "_orchestrator"; type: "address" },
 { internalType: "address"; name: "_strategyRegistry"; type: "address" },
 { internalType: "address"; name: "_whitelistRegistry"; type: "address" },
 ];
 name: "initialize";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "string"; name: ""; type: "string" },
 { internalType: "bytes4"; name: ""; type: "bytes4" },
 ];
 name: "interfaceImplementations";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: ""; type: "uint256" },
 { internalType: "uint256"; name: ""; type: "uint256" },
 ];
 name: "linkedVaults";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "orchestrator";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "owner";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "pause";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "paused";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "string"; name: "_name"; type: "string" },
 { internalType: "address"; name: "_address"; type: "address" },
 { internalType: "string"; name: "_ipfsConfigForBeacon"; type: "string" },
 ];
 name: "registerBeacon";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "renounceOwnership";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "renounceRole";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "revokeRole";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "_feeManager"; type: "address" },
 ];
 name: "setFeeManager";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "_vaultHelper"; type: "address" },
 ];
 name: "setVaultHelper";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "strategyRegistry";
 outputs: readonly [
 {
 internalType: "contract IStrategyRegistry";
 name: "";
 type: "address";
 },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
 ];
 name: "supportsInterface";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "totalVaultCount";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "newOwner"; type: "address" },
 ];
 name: "transferOwnership";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "unpause";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "string"; name: "_name"; type: "string" },
 {
 internalType: "string";
 name: "_newIPFSConfigForBeacon";
 type: "string";
 },
 ];
 name: "updateBeaconConfig";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "string"; name: "beaconName"; type: "string" },
 { internalType: "bytes4[]"; name: "selectors"; type: "bytes4[]" },
 { internalType: "bool[]"; name: "isImplemented"; type: "bool[]" },
 ];
 name: "updateInterfaceImplementations";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "_vault"; type: "address" },
 {
 internalType: "enum VaultRegistry.VaultState";
 name: "_newState";
 type: "uint8";
 },
 ];
 name: "updateVaultState";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "vaultHelper";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "whitelistRegistry";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "initialLogic"; type: "address" },
 { internalType: "address"; name: "initialAdmin"; type: "address" },
 { internalType: "bytes"; name: "_data"; type: "bytes" },
 ];
 stateMutability: "payable";
 type: "constructor";
 },
 ]
- ReadonlyHelper: readonly [
 {
 inputs: readonly [
 { internalType: "int24"; name: "currentTick"; type: "int24" },
 { internalType: "uint32"; name: "_twapInterval"; type: "uint32" },
 { internalType: "int24"; name: "_maxTickChange"; type: "int24" },
 { internalType: "address"; name: "pool"; type: "address" },
 ];
 name: "algebraVolatilityCheck";
 outputs: readonly [];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "total0"; type: "uint256" },
 { internalType: "uint256"; name: "total1"; type: "uint256" },
 {
 components: readonly [
 { internalType: "int24"; name: "lowerTick"; type: "int24" },
 { internalType: "int24"; name: "upperTick"; type: "int24" },
 { internalType: "uint16"; name: "relativeWeight"; type: "uint16" },
 ];
 internalType: "struct IHelper.NewLiquidityPositions[]";
 name: "positions";
 type: "tuple[]";
 },
 { internalType: "address"; name: "pool"; type: "address" },
 { internalType: "address"; name: "feeManager"; type: "address" },
 { internalType: "uint160"; name: "sqrtPriceX96"; type: "uint160" },
 ];
 name: "getAlgebraVaultBalances";
 outputs: readonly [
 { internalType: "uint256"; name: ""; type: "uint256" },
 { internalType: "uint256"; name: ""; type: "uint256" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "_totalSupply"; type: "uint256" },
 { internalType: "uint256"; name: "total0"; type: "uint256" },
 { internalType: "uint256"; name: "total1"; type: "uint256" },
 { internalType: "uint256"; name: "amount0Desired"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Desired"; type: "uint256" },
 { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
 { internalType: "uint256"; name: "minShares"; type: "uint256" },
 ];
 name: "getShares";
 outputs: readonly [
 { internalType: "uint256"; name: "shares"; type: "uint256" },
 { internalType: "uint256"; name: "amount0Used"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Used"; type: "uint256" },
 ];
 stateMutability: "pure";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "total0"; type: "uint256" },
 { internalType: "uint256"; name: "total1"; type: "uint256" },
 {
 components: readonly [
 { internalType: "int24"; name: "lowerTick"; type: "int24" },
 { internalType: "int24"; name: "upperTick"; type: "int24" },
 { internalType: "uint16"; name: "relativeWeight"; type: "uint16" },
 ];
 internalType: "struct IHelper.NewLiquidityPositions[]";
 name: "positions";
 type: "tuple[]";
 },
 { internalType: "address"; name: "pool"; type: "address" },
 { internalType: "address"; name: "feeManager"; type: "address" },
 ];
 name: "getUniswapVaultBalances";
 outputs: readonly [
 { internalType: "uint256"; name: ""; type: "uint256" },
 { internalType: "uint256"; name: ""; type: "uint256" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "int24"; name: "currentTick"; type: "int24" },
 { internalType: "uint32"; name: "_twapInterval"; type: "uint32" },
 { internalType: "int24"; name: "_maxTickChange"; type: "int24" },
 { internalType: "address"; name: "pool"; type: "address" },
 ];
 name: "poolsharkCheckVolatility";
 outputs: readonly [];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "int24"; name: "currentTick"; type: "int24" },
 { internalType: "uint32"; name: "_twapInterval"; type: "uint32" },
 { internalType: "int24"; name: "_maxTickChange"; type: "int24" },
 { internalType: "address"; name: "pool"; type: "address" },
 ];
 name: "uniVolatilityCheck";
 outputs: readonly [];
 stateMutability: "view";
 type: "function";
 },
 ]
- ReadonlyQuickSwapUniv3MultiPositionLiquidityManager: readonly [
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "owner";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "spender";
 type: "address";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "value";
 type: "uint256";
 },
 ];
 name: "Approval";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "sender";
 type: "address";
 },
 { indexed: true; internalType: "address"; name: "to"; type: "address" },
 {
 indexed: false;
 internalType: "uint256";
 name: "shares";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "amount0";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "amount1";
 type: "uint256";
 },
 ];
 name: "Deposit";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "uint256";
 name: "amount0Earned";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "amount1Earned";
 type: "uint256";
 },
 ];
 name: "FeesEarned";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "account";
 type: "address";
 },
 ];
 name: "Paused";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "bytes32";
 name: "role";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "bytes32";
 name: "previousAdminRole";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "bytes32";
 name: "newAdminRole";
 type: "bytes32";
 },
 ];
 name: "RoleAdminChanged";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "bytes32";
 name: "role";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "address";
 name: "account";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "sender";
 type: "address";
 },
 ];
 name: "RoleGranted";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "bytes32";
 name: "role";
 type: "bytes32";
 },
 {
 indexed: true;
 internalType: "address";
 name: "account";
 type: "address";
 },
 {
 indexed: true;
 internalType: "address";
 name: "sender";
 type: "address";
 },
 ];
 name: "RoleRevoked";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "uint160";
 name: "sqrtPriceX96";
 type: "uint160";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "totalAmount0";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "totalAmount1";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "totalSupply";
 type: "uint256";
 },
 ];
 name: "Snapshot";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "from";
 type: "address";
 },
 { indexed: true; internalType: "address"; name: "to"; type: "address" },
 {
 indexed: false;
 internalType: "uint256";
 name: "value";
 type: "uint256";
 },
 ];
 name: "Transfer";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: false;
 internalType: "address";
 name: "account";
 type: "address";
 },
 ];
 name: "Unpaused";
 type: "event";
 },
 {
 anonymous: false;
 inputs: readonly [
 {
 indexed: true;
 internalType: "address";
 name: "sender";
 type: "address";
 },
 { indexed: true; internalType: "address"; name: "to"; type: "address" },
 {
 indexed: false;
 internalType: "uint256";
 name: "shares";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "amount0";
 type: "uint256";
 },
 {
 indexed: false;
 internalType: "uint256";
 name: "amount1";
 type: "uint256";
 },
 ];
 name: "Withdraw";
 type: "event";
 },
 {
 inputs: readonly [];
 name: "DEFAULT_ADMIN_ROLE";
 outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "STEER_FRACTION_OF_FEE";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "TOTAL_FEE";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "accruedSteerFees0";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "accruedSteerFees1";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "accruedStrategistFees0";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "accruedStrategistFees1";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "owner"; type: "address" },
 { internalType: "address"; name: "spender"; type: "address" },
 ];
 name: "allowance";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "spender"; type: "address" },
 { internalType: "uint256"; name: "amount"; type: "uint256" },
 ];
 name: "approve";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "balanceOf";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "decimals";
 outputs: readonly [{ internalType: "uint8"; name: ""; type: "uint8" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "spender"; type: "address" },
 { internalType: "uint256"; name: "subtractedValue"; type: "uint256" },
 ];
 name: "decreaseAllowance";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "amount0Desired"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Desired"; type: "uint256" },
 { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
 { internalType: "address"; name: "to"; type: "address" },
 ];
 name: "deposit";
 outputs: readonly [
 { internalType: "uint256"; name: "shares"; type: "uint256" },
 { internalType: "uint256"; name: "amount0Used"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Used"; type: "uint256" },
 ];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "int24"; name: "tickLower"; type: "int24" },
 { internalType: "int24"; name: "tickUpper"; type: "int24" },
 { internalType: "uint128"; name: "liquidity"; type: "uint128" },
 ];
 name: "emergencyBurn";
 outputs: readonly [
 { internalType: "uint256"; name: "amount0"; type: "uint256" },
 { internalType: "uint256"; name: "amount1"; type: "uint256" },
 ];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "getPositions";
 outputs: readonly [
 { internalType: "int24[]"; name: ""; type: "int24[]" },
 { internalType: "int24[]"; name: ""; type: "int24[]" },
 { internalType: "uint16[]"; name: ""; type: "uint16[]" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 ];
 name: "getRoleAdmin";
 outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "uint256"; name: "index"; type: "uint256" },
 ];
 name: "getRoleMember";
 outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 ];
 name: "getRoleMemberCount";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "getTotalAmounts";
 outputs: readonly [
 { internalType: "uint256"; name: "total0"; type: "uint256" },
 { internalType: "uint256"; name: "total1"; type: "uint256" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "grantRole";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "hasRole";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "spender"; type: "address" },
 { internalType: "uint256"; name: "addedValue"; type: "uint256" },
 ];
 name: "increaseAllowance";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "_vaultManager"; type: "address" },
 { internalType: "address"; name: ""; type: "address" },
 { internalType: "address"; name: "_steer"; type: "address" },
 { internalType: "bytes"; name: "_params"; type: "bytes" },
 ];
 name: "initialize";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "maxTickChange";
 outputs: readonly [{ internalType: "int24"; name: ""; type: "int24" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "name";
 outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "pause";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "paused";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "poke";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "pool";
 outputs: readonly [
 { internalType: "contract IUniswapV3Pool"; name: ""; type: "address" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "renounceRole";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes32"; name: "role"; type: "bytes32" },
 { internalType: "address"; name: "account"; type: "address" },
 ];
 name: "revokeRole";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "amount0"; type: "uint256" },
 { internalType: "uint256"; name: "amount1"; type: "uint256" },
 { internalType: "address"; name: "to"; type: "address" },
 ];
 name: "steerCollectFees";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "amount0"; type: "uint256" },
 { internalType: "uint256"; name: "amount1"; type: "uint256" },
 { internalType: "address"; name: "to"; type: "address" },
 ];
 name: "strategistCollectFees";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "bytes4"; name: "interfaceId"; type: "bytes4" },
 ];
 name: "supportsInterface";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "symbol";
 outputs: readonly [{ internalType: "string"; name: ""; type: "string" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "totalWeight"; type: "uint256" },
 {
 components: readonly [
 { internalType: "int24[]"; name: "lowerTick"; type: "int24[]" },
 { internalType: "int24[]"; name: "upperTick"; type: "int24[]" },
 { internalType: "uint16[]"; name: "relativeWeight"; type: "uint16[]" },
 ];
 internalType: "struct QuickSwapUniv3MultiPositionLiquidityManager.LiquidityPositions";
 name: "newPositions";
 type: "tuple";
 },
 { internalType: "bytes"; name: "timeSensitiveData"; type: "bytes" },
 ];
 name: "tend";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "token0";
 outputs: readonly [
 { internalType: "contract IERC20"; name: ""; type: "address" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "token1";
 outputs: readonly [
 { internalType: "contract IERC20"; name: ""; type: "address" },
 ];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "totalSupply";
 outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "recipient"; type: "address" },
 { internalType: "uint256"; name: "amount"; type: "uint256" },
 ];
 name: "transfer";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "address"; name: "sender"; type: "address" },
 { internalType: "address"; name: "recipient"; type: "address" },
 { internalType: "uint256"; name: "amount"; type: "uint256" },
 ];
 name: "transferFrom";
 outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "twapInterval";
 outputs: readonly [{ internalType: "uint32"; name: ""; type: "uint32" }];
 stateMutability: "view";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "amount0"; type: "uint256" },
 { internalType: "uint256"; name: "amount1"; type: "uint256" },
 { internalType: "bytes"; name: ""; type: "bytes" },
 ];
 name: "uniswapV3MintCallback";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "int256"; name: "amount0Wanted"; type: "int256" },
 { internalType: "int256"; name: "amount1Wanted"; type: "int256" },
 { internalType: "bytes"; name: ""; type: "bytes" },
 ];
 name: "uniswapV3SwapCallback";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [];
 name: "unpause";
 outputs: readonly [];
 stateMutability: "nonpayable";
 type: "function";
 },
 {
 inputs: readonly [
 { internalType: "uint256"; name: "shares"; type: "uint256" },
 { internalType: "uint256"; name: "amount0Min"; type: "uint256" },
 { internalType: "uint256"; name: "amount1Min"; type: "uint256" },
 { internalType: "address"; name: "to"; type: "address" },
 ];
 name: "withdraw";
 outputs: readonly [
 { internalType: "uint256"; name: "amount0"; type: "uint256" },
 { internalType: "uint256"; name: "amount1"; type: "uint256" },
 ];
 stateMutability: "nonpayable";
 type: "function";
 },
 ]