Function toNexusAccount

Create a Nexus Smart Account.

import { toNexusAccount } from '@biconomy/abstractjs'
import { createWalletClient, http } from 'viem'
import { mainnet } from 'viem/chains'

const account = await toNexusAccount({
chain: mainnet,
transport: http(),
signer: '0x...',
})
  • Returns Promise<
        {
            address: `0x${string}`;
            chain: Chain;
            client: Client;
            decodeCalls?: (data: `0x${string}`) => Promise<readonly Call[]>;
            encodeCalls: (calls: readonly Call[]) => Promise<`0x${string}`>;
            encodeExecute: (call: Call) => Promise<`0x${string}`>;
            encodeExecuteBatch: (calls: readonly Call[]) => Promise<`0x${string}`>;
            encodeExecuteComposable: (
                calls: ComposableCall[],
            ) => Promise<`0x${string}`>;
            entryPoint: {
                abi: readonly [
                    {
                        inputs: readonly [
                            { internalType: "bool"; name: "success"; type: "bool" },
                            { internalType: "bytes"; name: "ret"; type: "bytes" },
                        ];
                        name: "DelegateAndRevert";
                        type: "error";
                    },
                    {
                        inputs: readonly [
                            { internalType: "uint256"; name: "opIndex"; type: "uint256" },
                            { internalType: "string"; name: "reason"; type: "string" },
                        ];
                        name: "FailedOp";
                        type: "error";
                    },
                    {
                        inputs: readonly [
                            { internalType: "uint256"; name: "opIndex"; type: "uint256" },
                            { internalType: "string"; name: "reason"; type: "string" },
                            { internalType: "bytes"; name: "inner"; type: "bytes" },
                        ];
                        name: "FailedOpWithRevert";
                        type: "error";
                    },
                    {
                        inputs: readonly [
                            { internalType: "bytes"; name: "returnData"; type: "bytes" },
                        ];
                        name: "PostOpReverted";
                        type: "error";
                    },
                    {
                        inputs: readonly [];
                        name: "ReentrancyGuardReentrantCall";
                        type: "error";
                    },
                    {
                        inputs: readonly [
                            { internalType: "address"; name: "sender"; type: "address" },
                        ];
                        name: "SenderAddressResult";
                        type: "error";
                    },
                    {
                        inputs: readonly [
                            { internalType: "address"; name: "aggregator"; type: "address" },
                        ];
                        name: "SignatureValidationFailed";
                        type: "error";
                    },
                    {
                        anonymous: false;
                        inputs: readonly [
                            {
                                indexed: true;
                                internalType: "bytes32";
                                name: "userOpHash";
                                type: "bytes32";
                            },
                            {
                                indexed: true;
                                internalType: "address";
                                name: "sender";
                                type: "address";
                            },
                            {
                                indexed: false;
                                internalType: "address";
                                name: "factory";
                                type: "address";
                            },
                            {
                                indexed: false;
                                internalType: "address";
                                name: "paymaster";
                                type: "address";
                            },
                        ];
                        name: "AccountDeployed";
                        type: "event";
                    },
                    {
                        anonymous: false;
                        inputs: readonly [];
                        name: "BeforeExecution";
                        type: "event";
                    },
                    {
                        anonymous: false;
                        inputs: readonly [
                            {
                                indexed: true;
                                internalType: "address";
                                name: "account";
                                type: "address";
                            },
                            {
                                indexed: false;
                                internalType: "uint256";
                                name: "totalDeposit";
                                type: "uint256";
                            },
                        ];
                        name: "Deposited";
                        type: "event";
                    },
                    {
                        anonymous: false;
                        inputs: readonly [
                            {
                                indexed: true;
                                internalType: "bytes32";
                                name: "userOpHash";
                                type: "bytes32";
                            },
                            {
                                indexed: true;
                                internalType: "address";
                                name: "sender";
                                type: "address";
                            },
                            {
                                indexed: false;
                                internalType: "uint256";
                                name: "nonce";
                                type: "uint256";
                            },
                            {
                                indexed: false;
                                internalType: "bytes";
                                name: "revertReason";
                                type: "bytes";
                            },
                        ];
                        name: "PostOpRevertReason";
                        type: "event";
                    },
                    {
                        anonymous: false;
                        inputs: readonly [
                            {
                                indexed: true;
                                internalType: "address";
                                name: "aggregator";
                                type: "address";
                            },
                        ];
                        name: "SignatureAggregatorChanged";
                        type: "event";
                    },
                    {
                        anonymous: false;
                        inputs: readonly [
                            {
                                indexed: true;
                                internalType: "address";
                                name: "account";
                                type: "address";
                            },
                            {
                                indexed: false;
                                internalType: "uint256";
                                name: "totalStaked";
                                type: "uint256";
                            },
                            {
                                indexed: false;
                                internalType: "uint256";
                                name: "unstakeDelaySec";
                                type: "uint256";
                            },
                        ];
                        name: "StakeLocked";
                        type: "event";
                    },
                    {
                        anonymous: false;
                        inputs: readonly [
                            {
                                indexed: true;
                                internalType: "address";
                                name: "account";
                                type: "address";
                            },
                            {
                                indexed: false;
                                internalType: "uint256";
                                name: "withdrawTime";
                                type: "uint256";
                            },
                        ];
                        name: "StakeUnlocked";
                        type: "event";
                    },
                    {
                        anonymous: false;
                        inputs: readonly [
                            {
                                indexed: true;
                                internalType: "address";
                                name: "account";
                                type: "address";
                            },
                            {
                                indexed: false;
                                internalType: "address";
                                name: "withdrawAddress";
                                type: "address";
                            },
                            {
                                indexed: false;
                                internalType: "uint256";
                                name: "amount";
                                type: "uint256";
                            },
                        ];
                        name: "StakeWithdrawn";
                        type: "event";
                    },
                    {
                        anonymous: false;
                        inputs: readonly [
                            {
                                indexed: true;
                                internalType: "bytes32";
                                name: "userOpHash";
                                type: "bytes32";
                            },
                            {
                                indexed: true;
                                internalType: "address";
                                name: "sender";
                                type: "address";
                            },
                            {
                                indexed: true;
                                internalType: "address";
                                name: "paymaster";
                                type: "address";
                            },
                            {
                                indexed: false;
                                internalType: "uint256";
                                name: "nonce";
                                type: "uint256";
                            },
                            {
                                indexed: false;
                                internalType: "bool";
                                name: "success";
                                type: "bool";
                            },
                            {
                                indexed: false;
                                internalType: "uint256";
                                name: "actualGasCost";
                                type: "uint256";
                            },
                            {
                                indexed: false;
                                internalType: "uint256";
                                name: "actualGasUsed";
                                type: "uint256";
                            },
                        ];
                        name: "UserOperationEvent";
                        type: "event";
                    },
                    {
                        anonymous: false;
                        inputs: readonly [
                            {
                                indexed: true;
                                internalType: "bytes32";
                                name: "userOpHash";
                                type: "bytes32";
                            },
                            {
                                indexed: true;
                                internalType: "address";
                                name: "sender";
                                type: "address";
                            },
                            {
                                indexed: false;
                                internalType: "uint256";
                                name: "nonce";
                                type: "uint256";
                            },
                        ];
                        name: "UserOperationPrefundTooLow";
                        type: "event";
                    },
                    {
                        anonymous: false;
                        inputs: readonly [
                            {
                                indexed: true;
                                internalType: "bytes32";
                                name: "userOpHash";
                                type: "bytes32";
                            },
                            {
                                indexed: true;
                                internalType: "address";
                                name: "sender";
                                type: "address";
                            },
                            {
                                indexed: false;
                                internalType: "uint256";
                                name: "nonce";
                                type: "uint256";
                            },
                            {
                                indexed: false;
                                internalType: "bytes";
                                name: "revertReason";
                                type: "bytes";
                            },
                        ];
                        name: "UserOperationRevertReason";
                        type: "event";
                    },
                    {
                        anonymous: false;
                        inputs: readonly [
                            {
                                indexed: true;
                                internalType: "address";
                                name: "account";
                                type: "address";
                            },
                            {
                                indexed: false;
                                internalType: "address";
                                name: "withdrawAddress";
                                type: "address";
                            },
                            {
                                indexed: false;
                                internalType: "uint256";
                                name: "amount";
                                type: "uint256";
                            },
                        ];
                        name: "Withdrawn";
                        type: "event";
                    },
                    {
                        inputs: readonly [
                            { internalType: "uint32"; name: "unstakeDelaySec"; type: "uint32" },
                        ];
                        name: "addStake";
                        outputs: readonly [];
                        stateMutability: "payable";
                        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: "address"; name: "target"; type: "address" },
                            { internalType: "bytes"; name: "data"; type: "bytes" },
                        ];
                        name: "delegateAndRevert";
                        outputs: readonly [];
                        stateMutability: "nonpayable";
                        type: "function";
                    },
                    {
                        inputs: readonly [
                            { internalType: "address"; name: "account"; type: "address" },
                        ];
                        name: "depositTo";
                        outputs: readonly [];
                        stateMutability: "payable";
                        type: "function";
                    },
                    {
                        inputs: readonly [
                            { internalType: "address"; name: ""; type: "address" },
                        ];
                        name: "deposits";
                        outputs: readonly [
                            { internalType: "uint256"; name: "deposit"; type: "uint256" },
                            { internalType: "bool"; name: "staked"; type: "bool" },
                            { internalType: "uint112"; name: "stake"; type: "uint112" },
                            { internalType: "uint32"; name: "unstakeDelaySec"; type: "uint32" },
                            { internalType: "uint48"; name: "withdrawTime"; type: "uint48" },
                        ];
                        stateMutability: "view";
                        type: "function";
                    },
                    {
                        inputs: readonly [
                            { internalType: "address"; name: "account"; type: "address" },
                        ];
                        name: "getDepositInfo";
                        outputs: readonly [
                            {
                                components: readonly [
                                    { internalType: "uint256"; name: "deposit"; type: "uint256" },
                                    { internalType: "bool"; name: "staked"; type: "bool" },
                                    { internalType: "uint112"; name: "stake"; type: "uint112" },
                                    { internalType: "uint32"; name: "unstakeDelaySec"; type: "uint32" },
                                    { internalType: "uint48"; name: "withdrawTime"; type: "uint48" },
                                ];
                                internalType: "struct IStakeManager.DepositInfo";
                                name: "info";
                                type: "tuple";
                            },
                        ];
                        stateMutability: "view";
                        type: "function";
                    },
                    {
                        inputs: readonly [
                            { internalType: "address"; name: "sender"; type: "address" },
                            { internalType: "uint192"; name: "key"; type: "uint192" },
                        ];
                        name: "getNonce";
                        outputs: readonly [
                            { internalType: "uint256"; name: "nonce"; type: "uint256" },
                        ];
                        stateMutability: "view";
                        type: "function";
                    },
                    {
                        inputs: readonly [
                            { internalType: "bytes"; name: "initCode"; type: "bytes" },
                        ];
                        name: "getSenderAddress";
                        outputs: readonly [];
                        stateMutability: "nonpayable";
                        type: "function";
                    },
                    {
                        inputs: readonly [
                            {
                                components: readonly [
                                    { internalType: "address"; name: "sender"; type: "address" },
                                    { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                    { internalType: "bytes"; name: "initCode"; type: "bytes" },
                                    { internalType: "bytes"; name: "callData"; type: "bytes" },
                                    {
                                        internalType: "bytes32";
                                        name: "accountGasLimits";
                                        type: "bytes32";
                                    },
                                    {
                                        internalType: "uint256";
                                        name: "preVerificationGas";
                                        type: "uint256";
                                    },
                                    { internalType: "bytes32"; name: "gasFees"; type: "bytes32" },
                                    { internalType: "bytes"; name: "paymasterAndData"; type: "bytes" },
                                    { internalType: "bytes"; name: "signature"; type: "bytes" },
                                ];
                                internalType: "struct PackedUserOperation";
                                name: "userOp";
                                type: "tuple";
                            },
                        ];
                        name: "getUserOpHash";
                        outputs: readonly [
                            { internalType: "bytes32"; name: ""; type: "bytes32" },
                        ];
                        stateMutability: "view";
                        type: "function";
                    },
                    {
                        inputs: readonly [
                            {
                                components: readonly [
                                    {
                                        components: readonly [
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                        ];
                                        internalType: "struct PackedUserOperation[]";
                                        name: "userOps";
                                        type: "tuple[]";
                                    },
                                    {
                                        internalType: "contract IAggregator";
                                        name: "aggregator";
                                        type: "address";
                                    },
                                    { internalType: "bytes"; name: "signature"; type: "bytes" },
                                ];
                                internalType: "struct IEntryPoint.UserOpsPerAggregator[]";
                                name: "opsPerAggregator";
                                type: "tuple[]";
                            },
                            {
                                internalType: "address payable";
                                name: "beneficiary";
                                type: "address";
                            },
                        ];
                        name: "handleAggregatedOps";
                        outputs: readonly [];
                        stateMutability: "nonpayable";
                        type: "function";
                    },
                    {
                        inputs: readonly [
                            {
                                components: readonly [
                                    { internalType: "address"; name: "sender"; type: "address" },
                                    { internalType: "uint256"; name: "nonce"; type: "uint256" },
                                    { internalType: "bytes"; name: "initCode"; type: "bytes" },
                                    { internalType: "bytes"; name: "callData"; type: "bytes" },
                                    {
                                        internalType: "bytes32";
                                        name: "accountGasLimits";
                                        type: "bytes32";
                                    },
                                    {
                                        internalType: "uint256";
                                        name: "preVerificationGas";
                                        type: "uint256";
                                    },
                                    { internalType: "bytes32"; name: "gasFees"; type: "bytes32" },
                                    { internalType: "bytes"; name: "paymasterAndData"; type: "bytes" },
                                    { internalType: "bytes"; name: "signature"; type: "bytes" },
                                ];
                                internalType: "struct PackedUserOperation[]";
                                name: "ops";
                                type: "tuple[]";
                            },
                            {
                                internalType: "address payable";
                                name: "beneficiary";
                                type: "address";
                            },
                        ];
                        name: "handleOps";
                        outputs: readonly [];
                        stateMutability: "nonpayable";
                        type: "function";
                    },
                    {
                        inputs: readonly [
                            { internalType: "uint192"; name: "key"; type: "uint192" },
                        ];
                        name: "incrementNonce";
                        outputs: readonly [];
                        stateMutability: "nonpayable";
                        type: "function";
                    },
                    {
                        inputs: readonly [
                            { internalType: "bytes"; name: "callData"; type: "bytes" },
                            {
                                components: readonly [
                                    {
                                        components: readonly [
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                            { internalType: ...; name: ...; type: ... },
                                        ];
                                        internalType: "struct EntryPoint.MemoryUserOp";
                                        name: "mUserOp";
                                        type: "tuple";
                                    },
                                    { internalType: "bytes32"; name: "userOpHash"; type: "bytes32" },
                                    { internalType: "uint256"; name: "prefund"; type: "uint256" },
                                    { internalType: "uint256"; name: "contextOffset"; type: "uint256" },
                                    { internalType: "uint256"; name: "preOpGas"; type: "uint256" },
                                ];
                                internalType: "struct EntryPoint.UserOpInfo";
                                name: "opInfo";
                                type: "tuple";
                            },
                            { internalType: "bytes"; name: "context"; type: "bytes" },
                        ];
                        name: "innerHandleOp";
                        outputs: readonly [
                            { internalType: "uint256"; name: "actualGasCost"; type: "uint256" },
                        ];
                        stateMutability: "nonpayable";
                        type: "function";
                    },
                    {
                        inputs: readonly [
                            { internalType: "address"; name: ""; type: "address" },
                            { internalType: "uint192"; name: ""; type: "uint192" },
                        ];
                        name: "nonceSequenceNumber";
                        outputs: readonly [
                            { internalType: "uint256"; name: ""; type: "uint256" },
                        ];
                        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: "unlockStake";
                        outputs: readonly [];
                        stateMutability: "nonpayable";
                        type: "function";
                    },
                    {
                        inputs: readonly [
                            {
                                internalType: "address payable";
                                name: "withdrawAddress";
                                type: "address";
                            },
                        ];
                        name: "withdrawStake";
                        outputs: readonly [];
                        stateMutability: "nonpayable";
                        type: "function";
                    },
                    {
                        inputs: readonly [
                            {
                                internalType: "address payable";
                                name: "withdrawAddress";
                                type: "address";
                            },
                            { internalType: "uint256"; name: "withdrawAmount"; type: "uint256" },
                        ];
                        name: "withdrawTo";
                        outputs: readonly [];
                        stateMutability: "nonpayable";
                        type: "function";
                    },
                    { stateMutability: "payable"; type: "receive" },
                ];
                address: `0x${string}`;
                version: "0.7";
            };
            extend?: {
                chain: Chain;
                encodeExecute: (call: Call) => Promise<`0x${string}`>;
                encodeExecuteBatch: (calls: readonly Call[]) => Promise<`0x${string}`>;
                encodeExecuteComposable: (
                    calls: ComposableCall[],
                ) => Promise<`0x${string}`>;
                factoryAddress: `0x${string}`;
                factoryData: `0x${string}`;
                getAddress: () => Promise<`0x${string}`>;
                getInitCode: () => `0x${string}`;
                getModule: () => {
                    address: `0x${string}`;
                    data: `0x${string}`;
                    deInitData: `0x${string}`;
                    getStubSignature: () => Promise<`0x${string}`>;
                    initData: `0x${string}`;
                    module: `0x${string}`;
                    signer: {
                        address: `0x${string}`;
                        nonceManager?: NonceManager;
                        publicKey: `0x${string}`;
                        sign?: (parameters: { hash: `0x${(...)}` }) => Promise<`0x${(...)}`>;
                        signAuthorization?: (
                            parameters: AuthorizationRequest,
                        ) => Promise<SignAuthorizationReturnType>;
                        signMessage: (
                            __namedParameters: { message: SignableMessage },
                        ) => Promise<`0x${string}`>;
                        signTransaction: <
                            serializer extends
                                SerializeTransactionFn<TransactionSerializable> = SerializeTransactionFn<
                                TransactionSerializable,
                            >,
                            transaction extends
                                OneOf<TransactionSerializable> = Parameters<serializer>[0],
                        >(
                            transaction: transaction,
                            options?: { serializer?: (...) | (...) },
                        ) => Promise<
                            IsNarrowable<(...), (...)> extends true
                                ? TransactionSerialized<(...)>
                                : `0x${(...)}`,
                        >;
                        signTypedData: <
                            const typedData extends
                                | Record<string, unknown>
                                | {
                                    address?: undefined;
                                    bool?: undefined;
                                    bytes?: undefined;
                                    bytes1?: undefined;
                                    bytes10?: undefined;
                                    bytes11?: undefined;
                                    bytes12?: undefined;
                                    bytes13?: undefined;
                                    bytes14?: undefined;
                                    bytes15?: undefined;
                                    bytes16?: undefined;
                                    bytes17?: undefined;
                                    bytes18?: undefined;
                                    bytes19?: undefined;
                                    bytes2?: undefined;
                                    bytes20?: undefined;
                                    bytes21?: undefined;
                                    bytes22?: undefined;
                                    bytes23?: undefined;
                                    bytes24?: undefined;
                                    bytes25?: undefined;
                                    bytes26?: undefined;
                                    bytes27?: undefined;
                                    bytes28?: undefined;
                                    bytes29?: undefined;
                                    bytes3?: undefined;
                                    bytes30?: undefined;
                                    bytes31?: undefined;
                                    bytes32?: undefined;
                                    bytes4?: undefined;
                                    bytes5?: undefined;
                                    bytes6?: undefined;
                                    bytes7?: undefined;
                                    bytes8?: undefined;
                                    bytes9?: undefined;
                                    int104?: undefined;
                                    int112?: undefined;
                                    int120?: undefined;
                                    int128?: undefined;
                                    int136?: undefined;
                                    int144?: undefined;
                                    int152?: undefined;
                                    int16?: undefined;
                                    int160?: undefined;
                                    int168?: undefined;
                                    int176?: undefined;
                                    int184?: undefined;
                                    int192?: undefined;
                                    int200?: undefined;
                                    int208?: undefined;
                                    int216?: undefined;
                                    int224?: undefined;
                                    int232?: undefined;
                                    int24?: undefined;
                                    int240?: undefined;
                                    int248?: undefined;
                                    int256?: undefined;
                                    int32?: undefined;
                                    int40?: undefined;
                                    int48?: undefined;
                                    int56?: undefined;
                                    int64?: undefined;
                                    int72?: undefined;
                                    int8?: undefined;
                                    int80?: undefined;
                                    int88?: undefined;
                                    int96?: undefined;
                                    string?: undefined;
                                    uint104?: undefined;
                                    uint112?: undefined;
                                    uint120?: undefined;
                                    uint128?: undefined;
                                    uint136?: undefined;
                                    uint144?: undefined;
                                    uint152?: undefined;
                                    uint16?: undefined;
                                    uint160?: undefined;
                                    uint168?: undefined;
                                    uint176?: undefined;
                                    uint184?: undefined;
                                    uint192?: undefined;
                                    uint200?: undefined;
                                    uint208?: undefined;
                                    uint216?: undefined;
                                    uint224?: undefined;
                                    uint232?: undefined;
                                    uint24?: undefined;
                                    uint240?: undefined;
                                    uint248?: undefined;
                                    uint256?: undefined;
                                    uint32?: undefined;
                                    uint40?: undefined;
                                    uint48?: undefined;
                                    uint56?: undefined;
                                    uint64?: undefined;
                                    uint72?: undefined;
                                    uint8?: undefined;
                                    uint80?: undefined;
                                    uint88?: undefined;
                                    uint96?: undefined;
                                    [key: string]: readonly (...)[];
                                    [key: `string[${(...)}]`]: undefined;
                                    [key: `function[${(...)}]`]: undefined;
                                    [key: `bytes1[${(...)}]`]: undefined;
                                    [key: `uint256[${(...)}]`]: undefined;
                                    [key: `address[${(...)}]`]: undefined;
                                    [key: `bytes32[${(...)}]`]: undefined;
                                    [key: `bytes[${(...)}]`]: undefined;
                                    [key: `bytes4[${(...)}]`]: undefined;
                                    [key: `uint8[${(...)}]`]: undefined;
                                    [key: `uint64[${(...)}]`]: undefined;
                                    [key: `bool[${(...)}]`]: undefined;
                                    [key: `uint32[${(...)}]`]: undefined;
                                    [key: `uint112[${(...)}]`]: undefined;
                                    [key: `uint48[${(...)}]`]: undefined;
                                    [key: `uint192[${(...)}]`]: undefined;
                                    [key: `uint16[${(...)}]`]: undefined;
                                    [key: `uint128[${(...)}]`]: undefined;
                                    [key: `uint40[${(...)}]`]: undefined;
                                    [key: `uint24[${(...)}]`]: undefined;
                                    [key: `uint160[${(...)}]`]: undefined;
                                    [key: `int24[${(...)}]`]: undefined;
                                    [key: `int256[${(...)}]`]: undefined;
                                    [key: `bytes7[${(...)}]`]: undefined;
                                    [key: `bytes2[${(...)}]`]: undefined;
                                    [key: `bytes3[${(...)}]`]: undefined;
                                    [key: `bytes5[${(...)}]`]: undefined;
                                    [key: `bytes9[${(...)}]`]: undefined;
                                    [key: `bytes10[${(...)}]`]: undefined;
                                    [key: `bytes26[${(...)}]`]: undefined;
                                    [key: `bytes6[${(...)}]`]: undefined;
                                    [key: `bytes15[${(...)}]`]: undefined;
                                    [key: `bytes17[${(...)}]`]: undefined;
                                    [key: `bytes8[${(...)}]`]: undefined;
                                    [key: `bytes11[${(...)}]`]: undefined;
                                    [key: `bytes25[${(...)}]`]: undefined;
                                    [key: `bytes20[${(...)}]`]: undefined;
                                    [key: `bytes31[${(...)}]`]: undefined;
                                    [key: `bytes30[${(...)}]`]: undefined;
                                    [key: `bytes29[${(...)}]`]: undefined;
                                    [key: `bytes28[${(...)}]`]: undefined;
                                    [key: `bytes27[${(...)}]`]: undefined;
                                    [key: `bytes24[${(...)}]`]: undefined;
                                    [key: `bytes23[${(...)}]`]: undefined;
                                    [key: `bytes22[${(...)}]`]: undefined;
                                    [key: `bytes21[${(...)}]`]: undefined;
                                    [key: `bytes19[${(...)}]`]: undefined;
                                    [key: `bytes18[${(...)}]`]: undefined;
                                    [key: `bytes16[${(...)}]`]: undefined;
                                    [key: `bytes14[${(...)}]`]: undefined;
                                    [key: `bytes13[${(...)}]`]: undefined;
                                    [key: `bytes12[${(...)}]`]: undefined;
                                    [key: `int[${(...)}]`]: undefined;
                                    [key: `int8[${(...)}]`]: undefined;
                                    [key: `int88[${(...)}]`]: undefined;
                                    [key: `int80[${(...)}]`]: undefined;
                                    [key: `int56[${(...)}]`]: undefined;
                                    [key: `int128[${(...)}]`]: undefined;
                                    [key: `int40[${(...)}]`]: undefined;
                                    [key: `int32[${(...)}]`]: undefined;
                                    [key: `int16[${(...)}]`]: undefined;
                                    [key: `int48[${(...)}]`]: undefined;
                                    [key: `int64[${(...)}]`]: undefined;
                                    [key: `int72[${(...)}]`]: undefined;
                                    [key: `int96[${(...)}]`]: undefined;
                                    [key: `int104[${(...)}]`]: undefined;
                                    [key: `int112[${(...)}]`]: undefined;
                                    [key: `int120[${(...)}]`]: undefined;
                                    [key: `int136[${(...)}]`]: undefined;
                                    [key: `int144[${(...)}]`]: undefined;
                                    [key: `int152[${(...)}]`]: undefined;
                                    [key: `int160[${(...)}]`]: undefined;
                                    [key: `int168[${(...)}]`]: undefined;
                                    [key: `int176[${(...)}]`]: undefined;
                                    [key: `int184[${(...)}]`]: undefined;
                                    [key: `int192[${(...)}]`]: undefined;
                                    [key: `int200[${(...)}]`]: undefined;
                                    [key: `int208[${(...)}]`]: undefined;
                                    [key: `int216[${(...)}]`]: undefined;
                                    [key: `int224[${(...)}]`]: undefined;
                                    [key: `int232[${(...)}]`]: undefined;
                                    [key: `int240[${(...)}]`]: undefined;
                                    [key: `int248[${(...)}]`]: undefined;
                                    [key: `uint[${(...)}]`]: undefined;
                                    [key: `uint88[${(...)}]`]: undefined;
                                    [key: `uint80[${(...)}]`]: undefined;
                                    [key: `uint56[${(...)}]`]: undefined;
                                    [key: `uint72[${(...)}]`]: undefined;
                                    [key: `uint96[${(...)}]`]: undefined;
                                    [key: `uint104[${(...)}]`]: undefined;
                                    [key: `uint120[${(...)}]`]: undefined;
                                    [key: `uint136[${(...)}]`]: undefined;
                                    [key: `uint144[${(...)}]`]: undefined;
                                    [key: `uint152[${(...)}]`]: undefined;
                                    [key: `uint168[${(...)}]`]: undefined;
                                    [key: `uint176[${(...)}]`]: undefined;
                                    [key: `uint184[${(...)}]`]: undefined;
                                    [key: `uint200[${(...)}]`]: undefined;
                                    [key: `uint208[${(...)}]`]: undefined;
                                    [key: `uint216[${(...)}]`]: undefined;
                                    [key: `uint224[${(...)}]`]: undefined;
                                    [key: `uint232[${(...)}]`]: undefined;
                                    [key: `uint240[${(...)}]`]: undefined;
                                    [key: `uint248[${(...)}]`]: undefined;
                                },
                            primaryType extends string
                            | number
                            | symbol = keyof typedData,
                        >(
                            parameters: TypedDataDefinition<typedData, primaryType>,
                        ) => Promise<`0x${string}`>;
                        source: string;
                        type: "local";
                    };
                    signMessage: (message: SignableMessage) => Promise<`0x${string}`>;
                    signUserOpHash: (userOpHash: `0x${string}`) => Promise<`0x${string}`>;
                    type: "validator";
                };
                getNonceWithKey: () => Promise<NonceInfo>;
                getUserOpHash: (userOp: UserOperation) => `0x${string}`;
                isDelegated: () => Promise<boolean>;
                publicClient: {
                    account: undefined;
                    batch?: { multicall?: boolean | { batchSize?: number; wait?: number } };
                    cacheTime: number;
                    call: (
                        parameters: CallParameters<undefined | Chain>,
                    ) => Promise<CallReturnType>;
                    ccipRead?:
                        | false
                        | {
                            request?: (
                                parameters: CcipRequestParameters,
                            ) => Promise<`0x${(...)}`>;
                        };
                    chain: undefined
                    | Chain;
                    createAccessList: (
                        parameters: CreateAccessListParameters<undefined | Chain>,
                    ) => Promise<{ accessList: AccessList; gasUsed: bigint }>;
                    createBlockFilter: () => Promise<
                        {
                            id: `0x${string}`;
                            request: EIP1193RequestFn<
                                readonly [
                                    { Method: ...; Parameters: ...; ReturnType: ... },
                                    { Method: ...; Parameters: ...; ReturnType: ... },
                                    { Method: ...; Parameters: ...; ReturnType: ... },
                                ],
                            >;
                            type: "block";
                        },
                    >;
                    createContractEventFilter: <
                        const abi extends Abi
                        | readonly unknown[],
                        eventName extends undefined | string,
                        args extends undefined | Record<string, unknown> | readonly unknown[],
                        strict extends undefined | boolean = undefined,
                        fromBlock extends undefined | bigint | BlockTag = undefined,
                        toBlock extends undefined | bigint | BlockTag = undefined,
                    >(
                        args: CreateContractEventFilterParameters<
                            abi,
                            eventName,
                            args,
                            strict,
                            fromBlock,
                            toBlock,
                        >,
                    ) => Promise<
                        CreateContractEventFilterReturnType<
                            abi,
                            eventName,
                            args,
                            strict,
                            fromBlock,
                            toBlock,
                        >,
                    >;
                    createEventFilter: <
                        const abiEvent extends undefined
                        | AbiEvent = undefined,
                        const abiEvents extends
                            undefined | readonly unknown[] | readonly AbiEvent[] = abiEvent extends AbiEvent
                            ? [abiEvent<abiEvent>]
                            : undefined,
                        strict extends undefined
                        | boolean = undefined,
                        fromBlock extends undefined | bigint | BlockTag = undefined,
                        toBlock extends undefined | bigint | BlockTag = undefined,
                        _EventName extends undefined | string = MaybeAbiEventName<abiEvent>,
                        _Args extends
                            undefined | Record<string, unknown> | readonly unknown[] = undefined,
                    >(
                        args?: CreateEventFilterParameters<
                            abiEvent,
                            abiEvents,
                            strict,
                            fromBlock,
                            toBlock,
                            _EventName,
                            _Args,
                        >,
                    ) => Promise<
                        {
                            [K in string
                            | number
                            | symbol]: Filter<
                                "event",
                                abiEvents,
                                _EventName,
                                _Args,
                                strict,
                                fromBlock,
                                toBlock,
                            >[K]
                        },
                    >;
                    createPendingTransactionFilter: () => Promise<
                        {
                            id: `0x${string}`;
                            request: EIP1193RequestFn<
                                readonly [
                                    { Method: ...; Parameters: ...; ReturnType: ... },
                                    { Method: ...; Parameters: ...; ReturnType: ... },
                                    { Method: ...; Parameters: ...; ReturnType: ... },
                                ],
                            >;
                            type: "transaction";
                        },
                    >;
                    estimateContractGas: <
                        chain extends undefined
                        | Chain,
                        const abi extends Abi | readonly unknown[],
                        functionName extends string,
                        args extends unknown,
                    >(
                        args: EstimateContractGasParameters<abi, functionName, args, chain>,
                    ) => Promise<bigint>;
                    estimateFeesPerGas: <
                        chainOverride extends undefined
                        | Chain = undefined,
                        type extends FeeValuesType = "eip1559",
                    >(
                        args?: EstimateFeesPerGasParameters<
                            undefined
                            | Chain,
                            chainOverride,
                            type,
                        >,
                    ) => Promise<EstimateFeesPerGasReturnType<type>>;
                    estimateGas: (
                        args: EstimateGasParameters<undefined | Chain>,
                    ) => Promise<bigint>;
                    estimateMaxPriorityFeePerGas: <
                        chainOverride extends undefined
                        | Chain = undefined,
                    >(
                        args?: { chain: null | chainOverride },
                    ) => Promise<bigint>;
                    extend: <
                        const client extends
                            {
                                account?: undefined;
                                batch?: undefined;
                                cacheTime?: undefined;
                                ccipRead?: undefined;
                                chain?: undefined;
                                key?: undefined;
                                name?: undefined;
                                pollingInterval?: undefined;
                                request?: undefined;
                                transport?: undefined;
                                type?: undefined;
                                uid?: undefined;
                                [key: string]: unknown;
                            } & ExactPartial<
                                ExtendableProtectedActions<
                                    Transport,
                                    undefined
                                    | Chain,
                                    undefined,
                                >,
                            >,
                    >(
                        fn: (
                            client: Client<
                                Transport,
                                undefined
                                | Chain,
                                undefined,
                                PublicRpcSchema,
                                PublicActions<Transport, undefined | Chain>,
                            >,
                        ) => client,
                    ) => Client<
                        Transport,
                        undefined
                        | Chain,
                        undefined,
                        PublicRpcSchema,
                        { [K in string | number | symbol]: client[K] } & PublicActions<
                            Transport,
                            undefined
                            | Chain,
                        >,
                    >;
                    getBalance: (args: GetBalanceParameters) => Promise<bigint>;
                    getBlobBaseFee: () => Promise<bigint>;
                    getBlock: <
                        includeTransactions extends boolean = false,
                        blockTag extends BlockTag = "latest",
                    >(
                        args?: GetBlockParameters<includeTransactions, blockTag>,
                    ) => Promise<
                        {
                            baseFeePerGas: null
                            | bigint;
                            blobGasUsed: bigint;
                            difficulty: bigint;
                            excessBlobGas: bigint;
                            extraData: `0x${string}`;
                            gasLimit: bigint;
                            gasUsed: bigint;
                            hash: blockTag extends "pending" ? null : `0x${string}`;
                            logsBloom: blockTag extends "pending" ? null : `0x${string}`;
                            miner: `0x${string}`;
                            mixHash: `0x${string}`;
                            nonce: blockTag extends "pending" ? null : `0x${string}`;
                            number: blockTag extends "pending" ? null : bigint;
                            parentBeaconBlockRoot?: `0x${string}`;
                            parentHash: `0x${string}`;
                            receiptsRoot: `0x${string}`;
                            sealFields: `0x${string}`[];
                            sha3Uncles: `0x${string}`;
                            size: bigint;
                            stateRoot: `0x${string}`;
                            timestamp: bigint;
                            totalDifficulty: null | bigint;
                            transactions: includeTransactions extends true
                                ? ((...) | (...) | (...) | (...) | (...))[]
                                : `0x${(...)}`[];
                            transactionsRoot: `0x${string}`;
                            uncles: `0x${string}`[];
                            withdrawals?: Withdrawal[];
                            withdrawalsRoot?: `0x${string}`;
                        },
                    >;
                    getBlockNumber: (args?: GetBlockNumberParameters) => Promise<bigint>;
                    getBlockTransactionCount: (
                        args?: GetBlockTransactionCountParameters,
                    ) => Promise<number>;
                    getBytecode: (args: GetCodeParameters) => Promise<GetCodeReturnType>;
                    getChainId: () => Promise<number>;
                    getCode: (args: GetCodeParameters) => Promise<GetCodeReturnType>;
                    getContractEvents: <
                        const abi extends Abi
                        | readonly unknown[],
                        eventName extends undefined | string = undefined,
                        strict extends undefined | boolean = undefined,
                        fromBlock extends undefined | bigint | BlockTag = undefined,
                        toBlock extends undefined | bigint | BlockTag = undefined,
                    >(
                        args: GetContractEventsParameters<
                            abi,
                            eventName,
                            strict,
                            fromBlock,
                            toBlock,
                        >,
                    ) => Promise<
                        GetContractEventsReturnType<
                            abi,
                            eventName,
                            strict,
                            fromBlock,
                            toBlock,
                        >,
                    >;
                    getEip712Domain: (
                        args: GetEip712DomainParameters,
                    ) => Promise<GetEip712DomainReturnType>;
                    getEnsAddress: (
                        args: {
                            blockNumber?: bigint;
                            blockTag?: BlockTag;
                            coinType?: number;
                            gatewayUrls?: string[];
                            name: string;
                            strict?: boolean;
                            universalResolverAddress?: `0x${string}`;
                        },
                    ) => Promise<GetEnsAddressReturnType>;
                    getEnsAvatar: (
                        args: {
                            assetGatewayUrls?: AssetGatewayUrls;
                            blockNumber?: bigint;
                            blockTag?: BlockTag;
                            gatewayUrls?: string[];
                            name: string;
                            strict?: boolean;
                            universalResolverAddress?: `0x${string}`;
                        },
                    ) => Promise<GetEnsAvatarReturnType>;
                    getEnsName: (
                        args: {
                            address: `0x${string}`;
                            blockNumber?: bigint;
                            blockTag?: BlockTag;
                            gatewayUrls?: string[];
                            strict?: boolean;
                            universalResolverAddress?: `0x${string}`;
                        },
                    ) => Promise<GetEnsNameReturnType>;
                    getEnsResolver: (
                        args: {
                            blockNumber?: bigint;
                            blockTag?: BlockTag;
                            name: string;
                            universalResolverAddress?: `0x${string}`;
                        },
                    ) => Promise<`0x${string}`>;
                    getEnsText: (
                        args: {
                            blockNumber?: bigint;
                            blockTag?: BlockTag;
                            gatewayUrls?: string[];
                            key: string;
                            name: string;
                            strict?: boolean;
                            universalResolverAddress?: `0x${string}`;
                        },
                    ) => Promise<GetEnsTextReturnType>;
                    getFeeHistory: (
                        args: GetFeeHistoryParameters,
                    ) => Promise<GetFeeHistoryReturnType>;
                    getFilterChanges: <
                        filterType extends FilterType,
                        const abi extends undefined | Abi | readonly unknown[],
                        eventName extends undefined | string,
                        strict extends undefined | boolean = undefined,
                        fromBlock extends undefined | bigint | BlockTag = undefined,
                        toBlock extends undefined | bigint | BlockTag = undefined,
                    >(
                        args: GetFilterChangesParameters<
                            filterType,
                            abi,
                            eventName,
                            strict,
                            fromBlock,
                            toBlock,
                        >,
                    ) => Promise<
                        GetFilterChangesReturnType<
                            filterType,
                            abi,
                            eventName,
                            strict,
                            fromBlock,
                            toBlock,
                        >,
                    >;
                    getFilterLogs: <
                        const abi extends undefined
                        | Abi
                        | readonly unknown[],
                        eventName extends undefined | string,
                        strict extends undefined | boolean = undefined,
                        fromBlock extends undefined | bigint | BlockTag = undefined,
                        toBlock extends undefined | bigint | BlockTag = undefined,
                    >(
                        args: GetFilterLogsParameters<
                            abi,
                            eventName,
                            strict,
                            fromBlock,
                            toBlock,
                        >,
                    ) => Promise<
                        GetFilterLogsReturnType<abi, eventName, strict, fromBlock, toBlock>,
                    >;
                    getGasPrice: () => Promise<bigint>;
                    getLogs: <
                        const abiEvent extends undefined
                        | AbiEvent = undefined,
                        const abiEvents extends
                            undefined | readonly unknown[] | readonly AbiEvent[] = abiEvent extends AbiEvent
                            ? [abiEvent<abiEvent>]
                            : undefined,
                        strict extends undefined
                        | boolean = undefined,
                        fromBlock extends undefined | bigint | BlockTag = undefined,
                        toBlock extends undefined | bigint | BlockTag = undefined,
                    >(
                        args?: GetLogsParameters<
                            abiEvent,
                            abiEvents,
                            strict,
                            fromBlock,
                            toBlock,
                        >,
                    ) => Promise<
                        GetLogsReturnType<abiEvent, abiEvents, strict, fromBlock, toBlock>,
                    >;
                    getProof: (args: GetProofParameters) => Promise<GetProofReturnType>;
                    getStorageAt: (
                        args: GetStorageAtParameters,
                    ) => Promise<GetStorageAtReturnType>;
                    getTransaction: <blockTag extends BlockTag = "latest">(
                        args: GetTransactionParameters<blockTag>,
                    ) => Promise<
                        | {
                            accessList?: undefined;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : `0x${(...)}`;
                            blockNumber: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : bigint;
                            chainId?: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            to: null | `0x${(...)}`;
                            transactionIndex: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : number;
                            type: "legacy";
                            typeHex: null | `0x${(...)}`;
                            v: bigint;
                            value: bigint;
                            yParity?: undefined;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : `0x${(...)}`;
                            blockNumber: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice: bigint;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas?: undefined;
                            maxPriorityFeePerGas?: undefined;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            to: null | `0x${(...)}`;
                            transactionIndex: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : number;
                            type: "eip2930";
                            typeHex: null | `0x${(...)}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes?: undefined;
                            blockHash: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : `0x${(...)}`;
                            blockNumber: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            to: null | `0x${(...)}`;
                            transactionIndex: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : number;
                            type: "eip1559";
                            typeHex: null | `0x${(...)}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList?: undefined;
                            blobVersionedHashes: readonly `0x${(...)}`[];
                            blockHash: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : `0x${(...)}`;
                            blockNumber: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            maxFeePerBlobGas: bigint;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            to: null | `0x${(...)}`;
                            transactionIndex: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : number;
                            type: "eip4844";
                            typeHex: null | `0x${(...)}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        }
                        | {
                            accessList: AccessList;
                            authorizationList: SignedAuthorizationList;
                            blobVersionedHashes?: undefined;
                            blockHash: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : `0x${(...)}`;
                            blockNumber: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : bigint;
                            chainId: number;
                            from: `0x${string}`;
                            gas: bigint;
                            gasPrice?: undefined;
                            hash: `0x${string}`;
                            input: `0x${string}`;
                            maxFeePerBlobGas?: undefined;
                            maxFeePerGas: bigint;
                            maxPriorityFeePerGas: bigint;
                            nonce: number;
                            r: `0x${string}`;
                            s: `0x${string}`;
                            to: null | `0x${(...)}`;
                            transactionIndex: ((...) extends (...) ? (...) : (...)) extends true
                                ? null
                                : number;
                            type: "eip7702";
                            typeHex: null | `0x${(...)}`;
                            v: bigint;
                            value: bigint;
                            yParity: number;
                        },
                    >;
                    getTransactionConfirmations: (
                        args: GetTransactionConfirmationsParameters<undefined | Chain>,
                    ) => Promise<bigint>;
                    getTransactionCount: (
                        args: GetTransactionCountParameters,
                    ) => Promise<number>;
                    getTransactionReceipt: (
                        args: GetTransactionReceiptParameters,
                    ) => Promise<TransactionReceipt>;
                    key: string;
                    multicall: <
                        const contracts extends readonly unknown[],
                        allowFailure extends boolean = true,
                    >(
                        args: MulticallParameters<contracts, allowFailure>,
                    ) => Promise<MulticallReturnType<contracts, allowFailure>>;
                    name: string;
                    pollingInterval: number;
                    prepareTransactionRequest: <
                        const request extends
                            (
                                | Omit<
                                    {
                                        accessList?: undefined;
                                        authorizationList?: undefined;
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: (...)
                                        | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: (...) | (...);
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: undefined;
                                        maxPriorityFeePerGas?: undefined;
                                        nonce?: (...) | (...);
                                        sidecars?: undefined;
                                        to?: (...) | (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: (...)
                                        | (...);
                                        authorizationList?: undefined;
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: (...) | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: (...) | (...);
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: undefined;
                                        maxPriorityFeePerGas?: undefined;
                                        nonce?: (...) | (...);
                                        sidecars?: undefined;
                                        to?: (...) | (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: (...)
                                        | (...);
                                        authorizationList?: undefined;
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: (...) | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: undefined;
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: (...) | (...);
                                        maxPriorityFeePerGas?: (...) | (...);
                                        nonce?: (...) | (...);
                                        sidecars?: undefined;
                                        to?: (...) | (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: (...)
                                        | (...);
                                        authorizationList?: undefined;
                                        blobs: (...) | (...);
                                        blobVersionedHashes?: (...) | (...);
                                        data?: (...) | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: undefined;
                                        kzg?: (...) | (...);
                                        maxFeePerBlobGas: bigint;
                                        maxFeePerGas?: (...) | (...);
                                        maxPriorityFeePerGas?: (...) | (...);
                                        nonce?: (...) | (...);
                                        sidecars?: (...) | (...);
                                        to: (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: (...)
                                        | (...);
                                        authorizationList?: (...) | (...);
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: (...) | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: undefined;
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: (...) | (...);
                                        maxPriorityFeePerGas?: (...) | (...);
                                        nonce?: (...) | (...);
                                        sidecars?: undefined;
                                        to?: (...) | (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                            ) & { kzg?: Kzg } & {
                                nonceManager?: NonceManager;
                                parameters?: readonly PrepareTransactionRequestParameterType[];
                            },
                        chainOverride extends undefined
                        | Chain = undefined,
                        accountOverride extends undefined | `0x${string}` | Account = undefined,
                    >(
                        args: PrepareTransactionRequestParameters<
                            undefined
                            | Chain,
                            undefined | Account,
                            chainOverride,
                            accountOverride,
                            request,
                        >,
                    ) => Promise<
                        {
                            [K in string
                            | number
                            | symbol]: (
                                UnionRequiredBy<(...), (...)> & (
                                    (...) extends (...) ? (...) : (...)
                                )
                            )[K]
                        },
                    >;
                    readContract: <
                        const abi extends Abi
                        | readonly unknown[],
                        functionName extends string,
                        const args extends unknown,
                    >(
                        args: ReadContractParameters<abi, functionName, args>,
                    ) => Promise<ReadContractReturnType<abi, functionName, args>>;
                    request: EIP1193RequestFn<PublicRpcSchema>;
                    sendRawTransaction: (
                        args: SendRawTransactionParameters,
                    ) => Promise<`0x${string}`>;
                    simulate: <const calls extends readonly unknown[]>(
                        args: SimulateBlocksParameters<calls>,
                    ) => Promise<SimulateBlocksReturnType<calls>>;
                    simulateBlocks: <const calls extends readonly unknown[]>(
                        args: SimulateBlocksParameters<calls>,
                    ) => Promise<SimulateBlocksReturnType<calls>>;
                    simulateCalls: <const calls extends readonly unknown[]>(
                        args: SimulateCallsParameters<calls>,
                    ) => Promise<SimulateCallsReturnType<calls>>;
                    simulateContract: <
                        const abi extends Abi
                        | readonly unknown[],
                        functionName extends string,
                        const args extends unknown,
                        chainOverride extends undefined | Chain,
                        accountOverride extends undefined | `0x${string}` | Account = undefined,
                    >(
                        args: SimulateContractParameters<
                            abi,
                            functionName,
                            args,
                            undefined
                            | Chain,
                            chainOverride,
                            accountOverride,
                        >,
                    ) => Promise<
                        SimulateContractReturnType<
                            abi,
                            functionName,
                            args,
                            undefined
                            | Chain,
                            undefined | Account,
                            chainOverride,
                            accountOverride,
                        >,
                    >;
                    transport: TransportConfig<string, EIP1193RequestFn> & Record<
                        string,
                        any,
                    >;
                    type: string;
                    uid: string;
                    uninstallFilter: (args: UninstallFilterParameters) => Promise<boolean>;
                    verifyMessage: (
                        args: {
                            address: `0x${string}`;
                            blockNumber?: bigint;
                            blockTag?: BlockTag;
                            factory?: `0x${string}`;
                            factoryData?: `0x${string}`;
                            message: SignableMessage;
                            signature: `0x${string}` | ByteArray | Signature;
                            universalSignatureVerifierAddress?: `0x${string}`;
                        },
                    ) => Promise<boolean>;
                    verifySiweMessage: (
                        args: {
                            address?: `0x${string}`;
                            blockNumber?: bigint;
                            blockTag?: BlockTag;
                            domain?: string;
                            message: string;
                            nonce?: string;
                            scheme?: string;
                            signature: `0x${string}`;
                            time?: Date;
                        },
                    ) => Promise<boolean>;
                    verifyTypedData: (args: VerifyTypedDataParameters) => Promise<boolean>;
                    waitForTransactionReceipt: (
                        args: WaitForTransactionReceiptParameters<undefined | Chain>,
                    ) => Promise<TransactionReceipt>;
                    watchBlockNumber: (
                        args: WatchBlockNumberParameters,
                    ) => WatchBlockNumberReturnType;
                    watchBlocks: <
                        includeTransactions extends boolean = false,
                        blockTag extends BlockTag = "latest",
                    >(
                        args: WatchBlocksParameters<
                            Transport,
                            undefined
                            | Chain,
                            includeTransactions,
                            blockTag,
                        >,
                    ) => WatchBlocksReturnType;
                    watchContractEvent: <
                        const abi extends Abi
                        | readonly unknown[],
                        eventName extends string,
                        strict extends undefined | boolean = undefined,
                    >(
                        args: WatchContractEventParameters<
                            abi,
                            eventName,
                            strict,
                            Transport,
                        >,
                    ) => WatchContractEventReturnType;
                    watchEvent: <
                        const abiEvent extends undefined
                        | AbiEvent = undefined,
                        const abiEvents extends
                            undefined | readonly unknown[] | readonly AbiEvent[] = abiEvent extends AbiEvent
                            ? [abiEvent<abiEvent>]
                            : undefined,
                        strict extends undefined
                        | boolean = undefined,
                    >(
                        args: WatchEventParameters<abiEvent, abiEvents, strict, Transport>,
                    ) => WatchEventReturnType;
                    watchPendingTransactions: (
                        args: WatchPendingTransactionsParameters<Transport>,
                    ) => WatchPendingTransactionsReturnType;
                };
                setModule: (
                    validationModule: {
                        address: `0x${string}`;
                        data: `0x${string}`;
                        deInitData: `0x${string}`;
                        getStubSignature: () => Promise<`0x${string}`>;
                        initData: `0x${string}`;
                        module: `0x${string}`;
                        signer: {
                            address: `0x${string}`;
                            nonceManager?: NonceManager;
                            publicKey: `0x${string}`;
                            sign?: (parameters: { hash: `0x${(...)}` }) => Promise<`0x${(...)}`>;
                            signAuthorization?: (
                                parameters: AuthorizationRequest,
                            ) => Promise<SignAuthorizationReturnType>;
                            signMessage: (
                                __namedParameters: { message: SignableMessage },
                            ) => Promise<`0x${string}`>;
                            signTransaction: <
                                serializer extends
                                    SerializeTransactionFn<TransactionSerializable> = SerializeTransactionFn<
                                    TransactionSerializable,
                                >,
                                transaction extends
                                    OneOf<TransactionSerializable> = Parameters<serializer>[0],
                            >(
                                transaction: transaction,
                                options?: { serializer?: (...) | (...) },
                            ) => Promise<
                                IsNarrowable<(...), (...)> extends true
                                    ? TransactionSerialized<(...)>
                                    : `0x${(...)}`,
                            >;
                            signTypedData: <
                                const typedData extends
                                    | Record<string, unknown>
                                    | {
                                        address?: undefined;
                                        bool?: undefined;
                                        bytes?: undefined;
                                        bytes1?: undefined;
                                        bytes10?: undefined;
                                        bytes11?: undefined;
                                        bytes12?: undefined;
                                        bytes13?: undefined;
                                        bytes14?: undefined;
                                        bytes15?: undefined;
                                        bytes16?: undefined;
                                        bytes17?: undefined;
                                        bytes18?: undefined;
                                        bytes19?: undefined;
                                        bytes2?: undefined;
                                        bytes20?: undefined;
                                        bytes21?: undefined;
                                        bytes22?: undefined;
                                        bytes23?: undefined;
                                        bytes24?: undefined;
                                        bytes25?: undefined;
                                        bytes26?: undefined;
                                        bytes27?: undefined;
                                        bytes28?: undefined;
                                        bytes29?: undefined;
                                        bytes3?: undefined;
                                        bytes30?: undefined;
                                        bytes31?: undefined;
                                        bytes32?: undefined;
                                        bytes4?: undefined;
                                        bytes5?: undefined;
                                        bytes6?: undefined;
                                        bytes7?: undefined;
                                        bytes8?: undefined;
                                        bytes9?: undefined;
                                        int104?: undefined;
                                        int112?: undefined;
                                        int120?: undefined;
                                        int128?: undefined;
                                        int136?: undefined;
                                        int144?: undefined;
                                        int152?: undefined;
                                        int16?: undefined;
                                        int160?: undefined;
                                        int168?: undefined;
                                        int176?: undefined;
                                        int184?: undefined;
                                        int192?: undefined;
                                        int200?: undefined;
                                        int208?: undefined;
                                        int216?: undefined;
                                        int224?: undefined;
                                        int232?: undefined;
                                        int24?: undefined;
                                        int240?: undefined;
                                        int248?: undefined;
                                        int256?: undefined;
                                        int32?: undefined;
                                        int40?: undefined;
                                        int48?: undefined;
                                        int56?: undefined;
                                        int64?: undefined;
                                        int72?: undefined;
                                        int8?: undefined;
                                        int80?: undefined;
                                        int88?: undefined;
                                        int96?: undefined;
                                        string?: undefined;
                                        uint104?: undefined;
                                        uint112?: undefined;
                                        uint120?: undefined;
                                        uint128?: undefined;
                                        uint136?: undefined;
                                        uint144?: undefined;
                                        uint152?: undefined;
                                        uint16?: undefined;
                                        uint160?: undefined;
                                        uint168?: undefined;
                                        uint176?: undefined;
                                        uint184?: undefined;
                                        uint192?: undefined;
                                        uint200?: undefined;
                                        uint208?: undefined;
                                        uint216?: undefined;
                                        uint224?: undefined;
                                        uint232?: undefined;
                                        uint24?: undefined;
                                        uint240?: undefined;
                                        uint248?: undefined;
                                        uint256?: undefined;
                                        uint32?: undefined;
                                        uint40?: undefined;
                                        uint48?: undefined;
                                        uint56?: undefined;
                                        uint64?: undefined;
                                        uint72?: undefined;
                                        uint8?: undefined;
                                        uint80?: undefined;
                                        uint88?: undefined;
                                        uint96?: undefined;
                                        [key: string]: readonly (...)[];
                                        [key: `string[${(...)}]`]: undefined;
                                        [key: `function[${(...)}]`]: undefined;
                                        [key: `bytes1[${(...)}]`]: undefined;
                                        [key: `uint256[${(...)}]`]: undefined;
                                        [key: `address[${(...)}]`]: undefined;
                                        [key: `bytes32[${(...)}]`]: undefined;
                                        [key: `bytes[${(...)}]`]: undefined;
                                        [key: `bytes4[${(...)}]`]: undefined;
                                        [key: `uint8[${(...)}]`]: undefined;
                                        [key: `uint64[${(...)}]`]: undefined;
                                        [key: `bool[${(...)}]`]: undefined;
                                        [key: `uint32[${(...)}]`]: undefined;
                                        [key: `uint112[${(...)}]`]: undefined;
                                        [key: `uint48[${(...)}]`]: undefined;
                                        [key: `uint192[${(...)}]`]: undefined;
                                        [key: `uint16[${(...)}]`]: undefined;
                                        [key: `uint128[${(...)}]`]: undefined;
                                        [key: `uint40[${(...)}]`]: undefined;
                                        [key: `uint24[${(...)}]`]: undefined;
                                        [key: `uint160[${(...)}]`]: undefined;
                                        [key: `int24[${(...)}]`]: undefined;
                                        [key: `int256[${(...)}]`]: undefined;
                                        [key: `bytes7[${(...)}]`]: undefined;
                                        [key: `bytes2[${(...)}]`]: undefined;
                                        [key: `bytes3[${(...)}]`]: undefined;
                                        [key: `bytes5[${(...)}]`]: undefined;
                                        [key: `bytes9[${(...)}]`]: undefined;
                                        [key: `bytes10[${(...)}]`]: undefined;
                                        [key: `bytes26[${(...)}]`]: undefined;
                                        [key: `bytes6[${(...)}]`]: undefined;
                                        [key: `bytes15[${(...)}]`]: undefined;
                                        [key: `bytes17[${(...)}]`]: undefined;
                                        [key: `bytes8[${(...)}]`]: undefined;
                                        [key: `bytes11[${(...)}]`]: undefined;
                                        [key: `bytes25[${(...)}]`]: undefined;
                                        [key: `bytes20[${(...)}]`]: undefined;
                                        [key: `bytes31[${(...)}]`]: undefined;
                                        [key: `bytes30[${(...)}]`]: undefined;
                                        [key: `bytes29[${(...)}]`]: undefined;
                                        [key: `bytes28[${(...)}]`]: undefined;
                                        [key: `bytes27[${(...)}]`]: undefined;
                                        [key: `bytes24[${(...)}]`]: undefined;
                                        [key: `bytes23[${(...)}]`]: undefined;
                                        [key: `bytes22[${(...)}]`]: undefined;
                                        [key: `bytes21[${(...)}]`]: undefined;
                                        [key: `bytes19[${(...)}]`]: undefined;
                                        [key: `bytes18[${(...)}]`]: undefined;
                                        [key: `bytes16[${(...)}]`]: undefined;
                                        [key: `bytes14[${(...)}]`]: undefined;
                                        [key: `bytes13[${(...)}]`]: undefined;
                                        [key: `bytes12[${(...)}]`]: undefined;
                                        [key: `int[${(...)}]`]: undefined;
                                        [key: `int8[${(...)}]`]: undefined;
                                        [key: `int88[${(...)}]`]: undefined;
                                        [key: `int80[${(...)}]`]: undefined;
                                        [key: `int56[${(...)}]`]: undefined;
                                        [key: `int128[${(...)}]`]: undefined;
                                        [key: `int40[${(...)}]`]: undefined;
                                        [key: `int32[${(...)}]`]: undefined;
                                        [key: `int16[${(...)}]`]: undefined;
                                        [key: `int48[${(...)}]`]: undefined;
                                        [key: `int64[${(...)}]`]: undefined;
                                        [key: `int72[${(...)}]`]: undefined;
                                        [key: `int96[${(...)}]`]: undefined;
                                        [key: `int104[${(...)}]`]: undefined;
                                        [key: `int112[${(...)}]`]: undefined;
                                        [key: `int120[${(...)}]`]: undefined;
                                        [key: `int136[${(...)}]`]: undefined;
                                        [key: `int144[${(...)}]`]: undefined;
                                        [key: `int152[${(...)}]`]: undefined;
                                        [key: `int160[${(...)}]`]: undefined;
                                        [key: `int168[${(...)}]`]: undefined;
                                        [key: `int176[${(...)}]`]: undefined;
                                        [key: `int184[${(...)}]`]: undefined;
                                        [key: `int192[${(...)}]`]: undefined;
                                        [key: `int200[${(...)}]`]: undefined;
                                        [key: `int208[${(...)}]`]: undefined;
                                        [key: `int216[${(...)}]`]: undefined;
                                        [key: `int224[${(...)}]`]: undefined;
                                        [key: `int232[${(...)}]`]: undefined;
                                        [key: `int240[${(...)}]`]: undefined;
                                        [key: `int248[${(...)}]`]: undefined;
                                        [key: `uint[${(...)}]`]: undefined;
                                        [key: `uint88[${(...)}]`]: undefined;
                                        [key: `uint80[${(...)}]`]: undefined;
                                        [key: `uint56[${(...)}]`]: undefined;
                                        [key: `uint72[${(...)}]`]: undefined;
                                        [key: `uint96[${(...)}]`]: undefined;
                                        [key: `uint104[${(...)}]`]: undefined;
                                        [key: `uint120[${(...)}]`]: undefined;
                                        [key: `uint136[${(...)}]`]: undefined;
                                        [key: `uint144[${(...)}]`]: undefined;
                                        [key: `uint152[${(...)}]`]: undefined;
                                        [key: `uint168[${(...)}]`]: undefined;
                                        [key: `uint176[${(...)}]`]: undefined;
                                        [key: `uint184[${(...)}]`]: undefined;
                                        [key: `uint200[${(...)}]`]: undefined;
                                        [key: `uint208[${(...)}]`]: undefined;
                                        [key: `uint216[${(...)}]`]: undefined;
                                        [key: `uint224[${(...)}]`]: undefined;
                                        [key: `uint232[${(...)}]`]: undefined;
                                        [key: `uint240[${(...)}]`]: undefined;
                                        [key: `uint248[${(...)}]`]: undefined;
                                    },
                                primaryType extends string
                                | number
                                | symbol = keyof typedData,
                            >(
                                parameters: TypedDataDefinition<typedData, primaryType>,
                            ) => Promise<`0x${string}`>;
                            source: string;
                            type: "local";
                        };
                        signMessage: (message: SignableMessage) => Promise<`0x${string}`>;
                        signUserOpHash: (userOpHash: `0x${string}`) => Promise<`0x${string}`>;
                        type: "validator";
                    },
                ) => void;
                signer: {
                    address: `0x${string}`;
                    nonceManager?: NonceManager;
                    publicKey: `0x${string}`;
                    sign?: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
                    signAuthorization?: (
                        parameters: AuthorizationRequest,
                    ) => Promise<SignAuthorizationReturnType>;
                    signMessage: (
                        __namedParameters: { message: SignableMessage },
                    ) => Promise<`0x${string}`>;
                    signTransaction: <
                        serializer extends
                            SerializeTransactionFn<TransactionSerializable> = SerializeTransactionFn<
                            TransactionSerializable,
                        >,
                        transaction extends
                            OneOf<TransactionSerializable> = Parameters<serializer>[0],
                    >(
                        transaction: transaction,
                        options?: { serializer?: serializer },
                    ) => Promise<
                        IsNarrowable<
                            TransactionSerialized<GetTransactionType<(...)>>,
                            `0x${string}`,
                        > extends true
                            ? TransactionSerialized<GetTransactionType<transaction>>
                            : `0x${string}`,
                    >;
                    signTypedData: <
                        const typedData extends
                            | Record<string, unknown>
                            | {
                                address?: undefined;
                                bool?: undefined;
                                bytes?: undefined;
                                bytes1?: undefined;
                                bytes10?: undefined;
                                bytes11?: undefined;
                                bytes12?: undefined;
                                bytes13?: undefined;
                                bytes14?: undefined;
                                bytes15?: undefined;
                                bytes16?: undefined;
                                bytes17?: undefined;
                                bytes18?: undefined;
                                bytes19?: undefined;
                                bytes2?: undefined;
                                bytes20?: undefined;
                                bytes21?: undefined;
                                bytes22?: undefined;
                                bytes23?: undefined;
                                bytes24?: undefined;
                                bytes25?: undefined;
                                bytes26?: undefined;
                                bytes27?: undefined;
                                bytes28?: undefined;
                                bytes29?: undefined;
                                bytes3?: undefined;
                                bytes30?: undefined;
                                bytes31?: undefined;
                                bytes32?: undefined;
                                bytes4?: undefined;
                                bytes5?: undefined;
                                bytes6?: undefined;
                                bytes7?: undefined;
                                bytes8?: undefined;
                                bytes9?: undefined;
                                int104?: undefined;
                                int112?: undefined;
                                int120?: undefined;
                                int128?: undefined;
                                int136?: undefined;
                                int144?: undefined;
                                int152?: undefined;
                                int16?: undefined;
                                int160?: undefined;
                                int168?: undefined;
                                int176?: undefined;
                                int184?: undefined;
                                int192?: undefined;
                                int200?: undefined;
                                int208?: undefined;
                                int216?: undefined;
                                int224?: undefined;
                                int232?: undefined;
                                int24?: undefined;
                                int240?: undefined;
                                int248?: undefined;
                                int256?: undefined;
                                int32?: undefined;
                                int40?: undefined;
                                int48?: undefined;
                                int56?: undefined;
                                int64?: undefined;
                                int72?: undefined;
                                int8?: undefined;
                                int80?: undefined;
                                int88?: undefined;
                                int96?: undefined;
                                string?: undefined;
                                uint104?: undefined;
                                uint112?: undefined;
                                uint120?: undefined;
                                uint128?: undefined;
                                uint136?: undefined;
                                uint144?: undefined;
                                uint152?: undefined;
                                uint16?: undefined;
                                uint160?: undefined;
                                uint168?: undefined;
                                uint176?: undefined;
                                uint184?: undefined;
                                uint192?: undefined;
                                uint200?: undefined;
                                uint208?: undefined;
                                uint216?: undefined;
                                uint224?: undefined;
                                uint232?: undefined;
                                uint24?: undefined;
                                uint240?: undefined;
                                uint248?: undefined;
                                uint256?: undefined;
                                uint32?: undefined;
                                uint40?: undefined;
                                uint48?: undefined;
                                uint56?: undefined;
                                uint64?: undefined;
                                uint72?: undefined;
                                uint8?: undefined;
                                uint80?: undefined;
                                uint88?: undefined;
                                uint96?: undefined;
                                [key: string]: readonly TypedDataParameter[];
                                [key: `string[${string}]`]: undefined;
                                [key: `function[${string}]`]: undefined;
                                [key: `bytes1[${string}]`]: undefined;
                                [key: `uint256[${string}]`]: undefined;
                                [key: `address[${string}]`]: undefined;
                                [key: `bytes32[${string}]`]: undefined;
                                [key: `bytes[${string}]`]: undefined;
                                [key: `bytes4[${string}]`]: undefined;
                                [key: `uint8[${string}]`]: undefined;
                                [key: `uint64[${string}]`]: undefined;
                                [key: `bool[${string}]`]: undefined;
                                [key: `uint32[${string}]`]: undefined;
                                [key: `uint112[${string}]`]: undefined;
                                [key: `uint48[${string}]`]: undefined;
                                [key: `uint192[${string}]`]: undefined;
                                [key: `uint16[${string}]`]: undefined;
                                [key: `uint128[${string}]`]: undefined;
                                [key: `uint40[${string}]`]: undefined;
                                [key: `uint24[${string}]`]: undefined;
                                [key: `uint160[${string}]`]: undefined;
                                [key: `int24[${string}]`]: undefined;
                                [key: `int256[${string}]`]: undefined;
                                [key: `bytes7[${string}]`]: undefined;
                                [key: `bytes2[${string}]`]: undefined;
                                [key: `bytes3[${string}]`]: undefined;
                                [key: `bytes5[${string}]`]: undefined;
                                [key: `bytes9[${string}]`]: undefined;
                                [key: `bytes10[${string}]`]: undefined;
                                [key: `bytes26[${string}]`]: undefined;
                                [key: `bytes6[${string}]`]: undefined;
                                [key: `bytes15[${string}]`]: undefined;
                                [key: `bytes17[${string}]`]: undefined;
                                [key: `bytes8[${string}]`]: undefined;
                                [key: `bytes11[${string}]`]: undefined;
                                [key: `bytes25[${string}]`]: undefined;
                                [key: `bytes20[${string}]`]: undefined;
                                [key: `bytes31[${string}]`]: undefined;
                                [key: `bytes30[${string}]`]: undefined;
                                [key: `bytes29[${string}]`]: undefined;
                                [key: `bytes28[${string}]`]: undefined;
                                [key: `bytes27[${string}]`]: undefined;
                                [key: `bytes24[${string}]`]: undefined;
                                [key: `bytes23[${string}]`]: undefined;
                                [key: `bytes22[${string}]`]: undefined;
                                [key: `bytes21[${string}]`]: undefined;
                                [key: `bytes19[${string}]`]: undefined;
                                [key: `bytes18[${string}]`]: undefined;
                                [key: `bytes16[${string}]`]: undefined;
                                [key: `bytes14[${string}]`]: undefined;
                                [key: `bytes13[${string}]`]: undefined;
                                [key: `bytes12[${string}]`]: undefined;
                                [key: `int[${string}]`]: undefined;
                                [key: `int8[${string}]`]: undefined;
                                [key: `int88[${string}]`]: undefined;
                                [key: `int80[${string}]`]: undefined;
                                [key: `int56[${string}]`]: undefined;
                                [key: `int128[${string}]`]: undefined;
                                [key: `int40[${string}]`]: undefined;
                                [key: `int32[${string}]`]: undefined;
                                [key: `int16[${string}]`]: undefined;
                                [key: `int48[${string}]`]: undefined;
                                [key: `int64[${string}]`]: undefined;
                                [key: `int72[${string}]`]: undefined;
                                [key: `int96[${string}]`]: undefined;
                                [key: `int104[${string}]`]: undefined;
                                [key: `int112[${string}]`]: undefined;
                                [key: `int120[${string}]`]: undefined;
                                [key: `int136[${string}]`]: undefined;
                                [key: `int144[${string}]`]: undefined;
                                [key: `int152[${string}]`]: undefined;
                                [key: `int160[${string}]`]: undefined;
                                [key: `int168[${string}]`]: undefined;
                                [key: `int176[${string}]`]: undefined;
                                [key: `int184[${string}]`]: undefined;
                                [key: `int192[${string}]`]: undefined;
                                [key: `int200[${string}]`]: undefined;
                                [key: `int208[${string}]`]: undefined;
                                [key: `int216[${string}]`]: undefined;
                                [key: `int224[${string}]`]: undefined;
                                [key: `int232[${string}]`]: undefined;
                                [key: `int240[${string}]`]: undefined;
                                [key: `int248[${string}]`]: undefined;
                                [key: `uint[${string}]`]: undefined;
                                [key: `uint88[${string}]`]: undefined;
                                [key: `uint80[${string}]`]: undefined;
                                [key: `uint56[${string}]`]: undefined;
                                [key: `uint72[${string}]`]: undefined;
                                [key: `uint96[${string}]`]: undefined;
                                [key: `uint104[${string}]`]: undefined;
                                [key: `uint120[${string}]`]: undefined;
                                [key: `uint136[${string}]`]: undefined;
                                [key: `uint144[${string}]`]: undefined;
                                [key: `uint152[${string}]`]: undefined;
                                [key: `uint168[${string}]`]: undefined;
                                [key: `uint176[${string}]`]: undefined;
                                [key: `uint184[${string}]`]: undefined;
                                [key: `uint200[${string}]`]: undefined;
                                [key: `uint208[${string}]`]: undefined;
                                [key: `uint216[${string}]`]: undefined;
                                [key: `uint224[${string}]`]: undefined;
                                [key: `uint232[${string}]`]: undefined;
                                [key: `uint240[${string}]`]: undefined;
                                [key: `uint248[${string}]`]: undefined;
                            },
                        primaryType extends string
                        | number
                        | symbol = keyof typedData,
                    >(
                        parameters: TypedDataDefinition<typedData, primaryType>,
                    ) => Promise<`0x${string}`>;
                    source: string;
                    type: "local";
                };
                toDelegation: (
                    multiChain?: boolean,
                    delegatedContract?: `0x${string}`,
                ) => Promise<MeeAuthorization>;
                unDelegate: () => Promise<`0x${string}`>;
                walletClient: {
                    account: Account;
                    addChain: (args: AddChainParameters) => Promise<void>;
                    batch?: { multicall?: boolean | { batchSize?: number; wait?: number } };
                    cacheTime: number;
                    ccipRead?:
                        | false
                        | {
                            request?: (
                                parameters: CcipRequestParameters,
                            ) => Promise<`0x${(...)}`>;
                        };
                    chain: undefined
                    | Chain;
                    deployContract: <
                        const abi extends Abi
                        | readonly unknown[],
                        chainOverride extends undefined | Chain,
                    >(
                        args: DeployContractParameters<
                            abi,
                            undefined
                            | Chain,
                            Account,
                            chainOverride,
                        >,
                    ) => Promise<`0x${string}`>;
                    extend: <
                        const client extends
                            {
                                account?: undefined;
                                batch?: undefined;
                                cacheTime?: undefined;
                                ccipRead?: undefined;
                                chain?: undefined;
                                key?: undefined;
                                name?: undefined;
                                pollingInterval?: undefined;
                                request?: undefined;
                                transport?: undefined;
                                type?: undefined;
                                uid?: undefined;
                                [key: string]: unknown;
                            } & ExactPartial<
                                ExtendableProtectedActions<Transport, undefined | Chain, Account>,
                            >,
                    >(
                        fn: (
                            client: Client<
                                Transport,
                                undefined
                                | Chain,
                                Account,
                                [
                                    {
                                        Method: "eth_accounts";
                                        Parameters?: undefined;
                                        ReturnType: (...)[];
                                    },
                                    {
                                        Method: "eth_chainId";
                                        Parameters?: undefined;
                                        ReturnType: `0x${(...)}`;
                                    },
                                    {
                                        Method: "eth_estimateGas";
                                        Parameters: (...)
                                        | (...)
                                        | (...);
                                        ReturnType: `0x${(...)}`;
                                    },
                                    {
                                        Method: "eth_requestAccounts";
                                        Parameters?: undefined;
                                        ReturnType: (...)[];
                                    },
                                    {
                                        Method: "eth_sendTransaction";
                                        Parameters: [transaction: ...];
                                        ReturnType: `0x${(...)}`;
                                    },
                                ],
                                WalletActions<undefined | Chain, Account>,
                            >,
                        ) => client,
                    ) => Client<
                        Transport,
                        undefined
                        | Chain,
                        Account,
                        [
                            {
                                Method: "eth_accounts";
                                Parameters?: undefined;
                                ReturnType: `0x${(...)}`[];
                            },
                            {
                                Method: "eth_chainId";
                                Parameters?: undefined;
                                ReturnType: `0x${string}`;
                            },
                            {
                                Method: "eth_estimateGas";
                                Parameters: | [transaction: ...]
                                | [transaction: ..., block: ...]
                                | [transaction: ..., block: ..., stateOverride: ...];
                                ReturnType: `0x${string}`;
                            },
                            {
                                Method: "eth_requestAccounts";
                                Parameters?: undefined;
                                ReturnType: `0x${(...)}`[];
                            },
                            {
                                Method: "eth_sendTransaction";
                                Parameters: [transaction: RpcTransactionRequest];
                                ReturnType: `0x${string}`;
                            },
                        ],
                        { [K in string
                        | number
                        | symbol]: client[K] } & WalletActions<undefined | Chain, Account>,
                    >;
                    getAddresses: () => Promise<GetAddressesReturnType>;
                    getChainId: () => Promise<number>;
                    getPermissions: () => Promise<GetPermissionsReturnType>;
                    key: string;
                    name: string;
                    pollingInterval: number;
                    prepareAuthorization: (
                        parameters: PrepareAuthorizationParameters<Account>,
                    ) => Promise<PrepareAuthorizationReturnType>;
                    prepareTransactionRequest: <
                        const request extends
                            (
                                | Omit<
                                    {
                                        accessList?: undefined;
                                        authorizationList?: undefined;
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: (...)
                                        | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: (...) | (...);
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: undefined;
                                        maxPriorityFeePerGas?: undefined;
                                        nonce?: (...) | (...);
                                        sidecars?: undefined;
                                        to?: (...) | (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: (...)
                                        | (...);
                                        authorizationList?: undefined;
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: (...) | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: (...) | (...);
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: undefined;
                                        maxPriorityFeePerGas?: undefined;
                                        nonce?: (...) | (...);
                                        sidecars?: undefined;
                                        to?: (...) | (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: (...)
                                        | (...);
                                        authorizationList?: undefined;
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: (...) | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: undefined;
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: (...) | (...);
                                        maxPriorityFeePerGas?: (...) | (...);
                                        nonce?: (...) | (...);
                                        sidecars?: undefined;
                                        to?: (...) | (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: (...)
                                        | (...);
                                        authorizationList?: undefined;
                                        blobs: (...) | (...);
                                        blobVersionedHashes?: (...) | (...);
                                        data?: (...) | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: undefined;
                                        kzg?: (...) | (...);
                                        maxFeePerBlobGas: bigint;
                                        maxFeePerGas?: (...) | (...);
                                        maxPriorityFeePerGas?: (...) | (...);
                                        nonce?: (...) | (...);
                                        sidecars?: (...) | (...);
                                        to: (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: (...)
                                        | (...);
                                        authorizationList?: (...) | (...);
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: (...) | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: undefined;
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: (...) | (...);
                                        maxPriorityFeePerGas?: (...) | (...);
                                        nonce?: (...) | (...);
                                        sidecars?: undefined;
                                        to?: (...) | (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                            ) & { kzg?: Kzg } & {
                                nonceManager?: NonceManager;
                                parameters?: readonly PrepareTransactionRequestParameterType[];
                            },
                        chainOverride extends undefined
                        | Chain = undefined,
                        accountOverride extends undefined | `0x${string}` | Account = undefined,
                    >(
                        args: PrepareTransactionRequestParameters<
                            undefined
                            | Chain,
                            Account,
                            chainOverride,
                            accountOverride,
                            request,
                        >,
                    ) => Promise<
                        {
                            [K in string
                            | number
                            | symbol]: (
                                UnionRequiredBy<(...), (...)> & (
                                    (...) extends (...) ? (...) : (...)
                                )
                            )[K]
                        },
                    >;
                    request: EIP1193RequestFn<
                        [
                            {
                                Method: "eth_accounts";
                                Parameters?: undefined;
                                ReturnType: `0x${string}`[];
                            },
                            {
                                Method: "eth_chainId";
                                Parameters?: undefined;
                                ReturnType: `0x${string}`;
                            },
                            {
                                Method: "eth_estimateGas";
                                Parameters: | [transaction: RpcTransactionRequest]
                                | [transaction: RpcTransactionRequest, block: (...) | (...)]
                                | [
                                    transaction: RpcTransactionRequest,
                                    block: (...)
                                    | (...),
                                    stateOverride: RpcStateOverride,
                                ];
                                ReturnType: `0x${string}`;
                            },
                            {
                                Method: "eth_requestAccounts";
                                Parameters?: undefined;
                                ReturnType: `0x${string}`[];
                            },
                            {
                                Method: "eth_sendTransaction";
                                Parameters: [transaction: RpcTransactionRequest];
                                ReturnType: `0x${string}`;
                            },
                        ],
                    >;
                    requestAddresses: () => Promise<RequestAddressesReturnType>;
                    requestPermissions: (
                        args: {
                            eth_accounts: Record<string, any>;
                            [key: string]: Record<string, any>;
                        },
                    ) => Promise<RequestPermissionsReturnType>;
                    sendRawTransaction: (
                        args: SendRawTransactionParameters,
                    ) => Promise<`0x${string}`>;
                    sendTransaction: <
                        const request extends
                            (
                                | Omit<
                                    {
                                        accessList?: undefined;
                                        authorizationList?: undefined;
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: (...)
                                        | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: (...) | (...);
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: undefined;
                                        maxPriorityFeePerGas?: undefined;
                                        nonce?: (...) | (...);
                                        sidecars?: undefined;
                                        to?: (...) | (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: (...)
                                        | (...);
                                        authorizationList?: undefined;
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: (...) | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: (...) | (...);
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: undefined;
                                        maxPriorityFeePerGas?: undefined;
                                        nonce?: (...) | (...);
                                        sidecars?: undefined;
                                        to?: (...) | (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: (...)
                                        | (...);
                                        authorizationList?: undefined;
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: (...) | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: undefined;
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: (...) | (...);
                                        maxPriorityFeePerGas?: (...) | (...);
                                        nonce?: (...) | (...);
                                        sidecars?: undefined;
                                        to?: (...) | (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: (...)
                                        | (...);
                                        authorizationList?: undefined;
                                        blobs: (...) | (...);
                                        blobVersionedHashes?: (...) | (...);
                                        data?: (...) | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: undefined;
                                        kzg?: (...) | (...);
                                        maxFeePerBlobGas: bigint;
                                        maxFeePerGas?: (...) | (...);
                                        maxPriorityFeePerGas?: (...) | (...);
                                        nonce?: (...) | (...);
                                        sidecars?: (...) | (...);
                                        to: (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: (...)
                                        | (...);
                                        authorizationList?: (...) | (...);
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: (...) | (...);
                                        from?: (...) | (...);
                                        gas?: (...) | (...);
                                        gasPrice?: undefined;
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: (...) | (...);
                                        maxPriorityFeePerGas?: (...) | (...);
                                        nonce?: (...) | (...);
                                        sidecars?: undefined;
                                        to?: (...) | (...) | (...);
                                        type?: (...) | (...);
                                        value?: (...) | (...);
                                    },
                                    "from",
                                >
                            ) & { kzg?: Kzg },
                        chainOverride extends undefined
                        | Chain = undefined,
                    >(
                        args: SendTransactionParameters<
                            undefined
                            | Chain,
                            Account,
                            chainOverride,
                            request,
                        >,
                    ) => Promise<`0x${string}`>;
                    signAuthorization: (
                        parameters: SignAuthorizationParameters<Account>,
                    ) => Promise<SignAuthorizationReturnType>;
                    signMessage: (
                        args: SignMessageParameters<Account>,
                    ) => Promise<`0x${string}`>;
                    signTransaction: <
                        chainOverride extends undefined
                        | Chain,
                        const request extends
                        
                                | Omit<
                                    {
                                        accessList?: undefined;
                                        authorizationList?: undefined;
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: `0x${(...)}`;
                                        from?: `0x${(...)}`;
                                        gas?: bigint;
                                        gasPrice?: bigint;
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: undefined;
                                        maxPriorityFeePerGas?: undefined;
                                        nonce?: number;
                                        sidecars?: undefined;
                                        to?: null | `0x${(...)}`;
                                        type?: "legacy";
                                        value?: bigint;
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: AccessList;
                                        authorizationList?: undefined;
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: `0x${(...)}`;
                                        from?: `0x${(...)}`;
                                        gas?: bigint;
                                        gasPrice?: bigint;
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: undefined;
                                        maxPriorityFeePerGas?: undefined;
                                        nonce?: number;
                                        sidecars?: undefined;
                                        to?: null | `0x${(...)}`;
                                        type?: "eip2930";
                                        value?: bigint;
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: AccessList;
                                        authorizationList?: undefined;
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: `0x${(...)}`;
                                        from?: `0x${(...)}`;
                                        gas?: bigint;
                                        gasPrice?: undefined;
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: bigint;
                                        maxPriorityFeePerGas?: bigint;
                                        nonce?: number;
                                        sidecars?: undefined;
                                        to?: null | `0x${(...)}`;
                                        type?: "eip1559";
                                        value?: bigint;
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: AccessList;
                                        authorizationList?: undefined;
                                        blobs: readonly (...)[]
                                        | readonly (...)[];
                                        blobVersionedHashes?: readonly (...)[];
                                        data?: `0x${(...)}`;
                                        from?: `0x${(...)}`;
                                        gas?: bigint;
                                        gasPrice?: undefined;
                                        kzg?: Kzg;
                                        maxFeePerBlobGas: bigint;
                                        maxFeePerGas?: bigint;
                                        maxPriorityFeePerGas?: bigint;
                                        nonce?: number;
                                        sidecars?: readonly (...)[];
                                        to: null | `0x${(...)}`;
                                        type?: "eip4844";
                                        value?: bigint;
                                    },
                                    "from",
                                >
                                | Omit<
                                    {
                                        accessList?: AccessList;
                                        authorizationList?: AuthorizationList<(...), (...)>;
                                        blobs?: undefined;
                                        blobVersionedHashes?: undefined;
                                        data?: `0x${(...)}`;
                                        from?: `0x${(...)}`;
                                        gas?: bigint;
                                        gasPrice?: undefined;
                                        kzg?: undefined;
                                        maxFeePerBlobGas?: undefined;
                                        maxFeePerGas?: bigint;
                                        maxPriorityFeePerGas?: bigint;
                                        nonce?: number;
                                        sidecars?: undefined;
                                        to?: null | `0x${(...)}`;
                                        type?: "eip7702";
                                        value?: bigint;
                                    },
                                    "from",
                                > = UnionOmit<
                            ExtractChainFormatterParameters<
                                DeriveChain<undefined | Chain, chainOverride>,
                                "transactionRequest",
                                TransactionRequest,
                            >,
                            "from",
                        >,
                    >(
                        args: SignTransactionParameters<
                            undefined
                            | Chain,
                            Account,
                            chainOverride,
                            request,
                        >,
                    ) => Promise<
                        TransactionSerialized<
                            GetTransactionType<
                                request,
                                | ((...) extends (...) ? (...) : (...))
                                | ((...) extends (...) ? (...) : (...))
                                | ((...) extends (...) ? (...) : (...))
                                | ((...) extends (...) ? (...) : (...))
                                | ((...) extends (...) ? (...) : (...))
                                | ((...) extends (...) ? (...) : (...)),
                            >,

                                | (
                                    GetTransactionType<(...), (...)> extends "eip1559"
                                        ? `0x02${(...)}`
                                        : never
                                )
                                | (
                                    GetTransactionType<(...), (...)> extends "eip2930"
                                        ? `0x01${(...)}`
                                        : never
                                )
                                | (
                                    GetTransactionType<(...), (...)> extends "eip4844"
                                        ? `0x03${(...)}`
                                        : never
                                )
                                | (
                                    GetTransactionType<(...), (...)> extends "eip7702"
                                        ? `0x04${(...)}`
                                        : never
                                )
                                | (
                                    GetTransactionType<(...), (...)> extends "legacy"
                                        ? TransactionSerializedLegacy
                                        : never
                                ),
                        >,
                    >;
                    signTypedData: <
                        const typedData extends
                            | {
                                address?: undefined;
                                bool?: undefined;
                                bytes?: undefined;
                                bytes1?: undefined;
                                bytes10?: undefined;
                                bytes11?: undefined;
                                bytes12?: undefined;
                                bytes13?: undefined;
                                bytes14?: undefined;
                                bytes15?: undefined;
                                bytes16?: undefined;
                                bytes17?: undefined;
                                bytes18?: undefined;
                                bytes19?: undefined;
                                bytes2?: undefined;
                                bytes20?: undefined;
                                bytes21?: undefined;
                                bytes22?: undefined;
                                bytes23?: undefined;
                                bytes24?: undefined;
                                bytes25?: undefined;
                                bytes26?: undefined;
                                bytes27?: undefined;
                                bytes28?: undefined;
                                bytes29?: undefined;
                                bytes3?: undefined;
                                bytes30?: undefined;
                                bytes31?: undefined;
                                bytes32?: undefined;
                                bytes4?: undefined;
                                bytes5?: undefined;
                                bytes6?: undefined;
                                bytes7?: undefined;
                                bytes8?: undefined;
                                bytes9?: undefined;
                                int104?: undefined;
                                int112?: undefined;
                                int120?: undefined;
                                int128?: undefined;
                                int136?: undefined;
                                int144?: undefined;
                                int152?: undefined;
                                int16?: undefined;
                                int160?: undefined;
                                int168?: undefined;
                                int176?: undefined;
                                int184?: undefined;
                                int192?: undefined;
                                int200?: undefined;
                                int208?: undefined;
                                int216?: undefined;
                                int224?: undefined;
                                int232?: undefined;
                                int24?: undefined;
                                int240?: undefined;
                                int248?: undefined;
                                int256?: undefined;
                                int32?: undefined;
                                int40?: undefined;
                                int48?: undefined;
                                int56?: undefined;
                                int64?: undefined;
                                int72?: undefined;
                                int8?: undefined;
                                int80?: undefined;
                                int88?: undefined;
                                int96?: undefined;
                                string?: undefined;
                                uint104?: undefined;
                                uint112?: undefined;
                                uint120?: undefined;
                                uint128?: undefined;
                                uint136?: undefined;
                                uint144?: undefined;
                                uint152?: undefined;
                                uint16?: undefined;
                                uint160?: undefined;
                                uint168?: undefined;
                                uint176?: undefined;
                                uint184?: undefined;
                                uint192?: undefined;
                                uint200?: undefined;
                                uint208?: undefined;
                                uint216?: undefined;
                                uint224?: undefined;
                                uint232?: undefined;
                                uint24?: undefined;
                                uint240?: undefined;
                                uint248?: undefined;
                                uint256?: undefined;
                                uint32?: undefined;
                                uint40?: undefined;
                                uint48?: undefined;
                                uint56?: undefined;
                                uint64?: undefined;
                                uint72?: undefined;
                                uint8?: undefined;
                                uint80?: undefined;
                                uint88?: undefined;
                                uint96?: undefined;
                                [key: string]: readonly TypedDataParameter[];
                                [key: `string[${string}]`]: undefined;
                                [key: `function[${string}]`]: undefined;
                                [key: `bytes1[${string}]`]: undefined;
                                [key: `uint256[${string}]`]: undefined;
                                [key: `address[${string}]`]: undefined;
                                [key: `bytes32[${string}]`]: undefined;
                                [key: `bytes[${string}]`]: undefined;
                                [key: `bytes4[${string}]`]: undefined;
                                [key: `uint8[${string}]`]: undefined;
                                [key: `uint64[${string}]`]: undefined;
                                [key: `bool[${string}]`]: undefined;
                                [key: `uint32[${string}]`]: undefined;
                                [key: `uint112[${string}]`]: undefined;
                                [key: `uint48[${string}]`]: undefined;
                                [key: `uint192[${string}]`]: undefined;
                                [key: `uint16[${string}]`]: undefined;
                                [key: `uint128[${string}]`]: undefined;
                                [key: `uint40[${string}]`]: undefined;
                                [key: `uint24[${string}]`]: undefined;
                                [key: `uint160[${string}]`]: undefined;
                                [key: `int24[${string}]`]: undefined;
                                [key: `int256[${string}]`]: undefined;
                                [key: `bytes7[${string}]`]: undefined;
                                [key: `bytes2[${string}]`]: undefined;
                                [key: `bytes3[${string}]`]: undefined;
                                [key: `bytes5[${string}]`]: undefined;
                                [key: `bytes9[${string}]`]: undefined;
                                [key: `bytes10[${string}]`]: undefined;
                                [key: `bytes26[${string}]`]: undefined;
                                [key: `bytes6[${string}]`]: undefined;
                                [key: `bytes15[${string}]`]: undefined;
                                [key: `bytes17[${string}]`]: undefined;
                                [key: `bytes8[${string}]`]: undefined;
                                [key: `bytes11[${string}]`]: undefined;
                                [key: `bytes25[${string}]`]: undefined;
                                [key: `bytes20[${string}]`]: undefined;
                                [key: `bytes31[${string}]`]: undefined;
                                [key: `bytes30[${string}]`]: undefined;
                                [key: `bytes29[${string}]`]: undefined;
                                [key: `bytes28[${string}]`]: undefined;
                                [key: `bytes27[${string}]`]: undefined;
                                [key: `bytes24[${string}]`]: undefined;
                                [key: `bytes23[${string}]`]: undefined;
                                [key: `bytes22[${string}]`]: undefined;
                                [key: `bytes21[${string}]`]: undefined;
                                [key: `bytes19[${string}]`]: undefined;
                                [key: `bytes18[${string}]`]: undefined;
                                [key: `bytes16[${string}]`]: undefined;
                                [key: `bytes14[${string}]`]: undefined;
                                [key: `bytes13[${string}]`]: undefined;
                                [key: `bytes12[${string}]`]: undefined;
                                [key: `int[${string}]`]: undefined;
                                [key: `int8[${string}]`]: undefined;
                                [key: `int88[${string}]`]: undefined;
                                [key: `int80[${string}]`]: undefined;
                                [key: `int56[${string}]`]: undefined;
                                [key: `int128[${string}]`]: undefined;
                                [key: `int40[${string}]`]: undefined;
                                [key: `int32[${string}]`]: undefined;
                                [key: `int16[${string}]`]: undefined;
                                [key: `int48[${string}]`]: undefined;
                                [key: `int64[${string}]`]: undefined;
                                [key: `int72[${string}]`]: undefined;
                                [key: `int96[${string}]`]: undefined;
                                [key: `int104[${string}]`]: undefined;
                                [key: `int112[${string}]`]: undefined;
                                [key: `int120[${string}]`]: undefined;
                                [key: `int136[${string}]`]: undefined;
                                [key: `int144[${string}]`]: undefined;
                                [key: `int152[${string}]`]: undefined;
                                [key: `int160[${string}]`]: undefined;
                                [key: `int168[${string}]`]: undefined;
                                [key: `int176[${string}]`]: undefined;
                                [key: `int184[${string}]`]: undefined;
                                [key: `int192[${string}]`]: undefined;
                                [key: `int200[${string}]`]: undefined;
                                [key: `int208[${string}]`]: undefined;
                                [key: `int216[${string}]`]: undefined;
                                [key: `int224[${string}]`]: undefined;
                                [key: `int232[${string}]`]: undefined;
                                [key: `int240[${string}]`]: undefined;
                                [key: `int248[${string}]`]: undefined;
                                [key: `uint[${string}]`]: undefined;
                                [key: `uint88[${string}]`]: undefined;
                                [key: `uint80[${string}]`]: undefined;
                                [key: `uint56[${string}]`]: undefined;
                                [key: `uint72[${string}]`]: undefined;
                                [key: `uint96[${string}]`]: undefined;
                                [key: `uint104[${string}]`]: undefined;
                                [key: `uint120[${string}]`]: undefined;
                                [key: `uint136[${string}]`]: undefined;
                                [key: `uint144[${string}]`]: undefined;
                                [key: `uint152[${string}]`]: undefined;
                                [key: `uint168[${string}]`]: undefined;
                                [key: `uint176[${string}]`]: undefined;
                                [key: `uint184[${string}]`]: undefined;
                                [key: `uint200[${string}]`]: undefined;
                                [key: `uint208[${string}]`]: undefined;
                                [key: `uint216[${string}]`]: undefined;
                                [key: `uint224[${string}]`]: undefined;
                                [key: `uint232[${string}]`]: undefined;
                                [key: `uint240[${string}]`]: undefined;
                                [key: `uint248[${string}]`]: undefined;
                            }
                            | { [key: string]: unknown },
                        primaryType extends string,
                    >(
                        args: SignTypedDataParameters<typedData, primaryType, Account>,
                    ) => Promise<`0x${string}`>;
                    switchChain: (args: SwitchChainParameters) => Promise<void>;
                    transport: TransportConfig<string, EIP1193RequestFn> & Record<
                        string,
                        any,
                    >;
                    type: string;
                    uid: string;
                    watchAsset: (args: WatchAssetParams) => Promise<boolean>;
                    writeContract: <
                        const abi extends Abi
                        | readonly unknown[],
                        functionName extends string,
                        args extends unknown,
                        chainOverride extends undefined | Chain = undefined,
                    >(
                        args: WriteContractParameters<
                            abi,
                            functionName,
                            args,
                            undefined
                            | Chain,
                            Account,
                            chainOverride,
                        >,
                    ) => Promise<`0x${string}`>;
                };
            };
            factoryAddress: `0x${string}`;
            factoryData: `0x${string}`;
            getAddress: () => Promise<`0x${string}`>;
            getFactoryArgs: () => Promise<
                { factory?: `0x${string}`; factoryData?: `0x${string}` },
            >;
            getInitCode: () => `0x${string}`;
            getModule: () => {
                address: `0x${string}`;
                data: `0x${string}`;
                deInitData: `0x${string}`;
                getStubSignature: () => Promise<`0x${string}`>;
                initData: `0x${string}`;
                module: `0x${string}`;
                signer: {
                    address: `0x${string}`;
                    nonceManager?: NonceManager;
                    publicKey: `0x${string}`;
                    sign?: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
                    signAuthorization?: (
                        parameters: AuthorizationRequest,
                    ) => Promise<SignAuthorizationReturnType>;
                    signMessage: (
                        __namedParameters: { message: SignableMessage },
                    ) => Promise<`0x${string}`>;
                    signTransaction: <
                        serializer extends
                            SerializeTransactionFn<TransactionSerializable> = SerializeTransactionFn<
                            TransactionSerializable,
                        >,
                        transaction extends
                            OneOf<TransactionSerializable> = Parameters<serializer>[0],
                    >(
                        transaction: transaction,
                        options?: { serializer?: serializer },
                    ) => Promise<
                        IsNarrowable<
                            TransactionSerialized<GetTransactionType<(...)>>,
                            `0x${string}`,
                        > extends true
                            ? TransactionSerialized<GetTransactionType<transaction>>
                            : `0x${string}`,
                    >;
                    signTypedData: <
                        const typedData extends
                            | Record<string, unknown>
                            | {
                                address?: undefined;
                                bool?: undefined;
                                bytes?: undefined;
                                bytes1?: undefined;
                                bytes10?: undefined;
                                bytes11?: undefined;
                                bytes12?: undefined;
                                bytes13?: undefined;
                                bytes14?: undefined;
                                bytes15?: undefined;
                                bytes16?: undefined;
                                bytes17?: undefined;
                                bytes18?: undefined;
                                bytes19?: undefined;
                                bytes2?: undefined;
                                bytes20?: undefined;
                                bytes21?: undefined;
                                bytes22?: undefined;
                                bytes23?: undefined;
                                bytes24?: undefined;
                                bytes25?: undefined;
                                bytes26?: undefined;
                                bytes27?: undefined;
                                bytes28?: undefined;
                                bytes29?: undefined;
                                bytes3?: undefined;
                                bytes30?: undefined;
                                bytes31?: undefined;
                                bytes32?: undefined;
                                bytes4?: undefined;
                                bytes5?: undefined;
                                bytes6?: undefined;
                                bytes7?: undefined;
                                bytes8?: undefined;
                                bytes9?: undefined;
                                int104?: undefined;
                                int112?: undefined;
                                int120?: undefined;
                                int128?: undefined;
                                int136?: undefined;
                                int144?: undefined;
                                int152?: undefined;
                                int16?: undefined;
                                int160?: undefined;
                                int168?: undefined;
                                int176?: undefined;
                                int184?: undefined;
                                int192?: undefined;
                                int200?: undefined;
                                int208?: undefined;
                                int216?: undefined;
                                int224?: undefined;
                                int232?: undefined;
                                int24?: undefined;
                                int240?: undefined;
                                int248?: undefined;
                                int256?: undefined;
                                int32?: undefined;
                                int40?: undefined;
                                int48?: undefined;
                                int56?: undefined;
                                int64?: undefined;
                                int72?: undefined;
                                int8?: undefined;
                                int80?: undefined;
                                int88?: undefined;
                                int96?: undefined;
                                string?: undefined;
                                uint104?: undefined;
                                uint112?: undefined;
                                uint120?: undefined;
                                uint128?: undefined;
                                uint136?: undefined;
                                uint144?: undefined;
                                uint152?: undefined;
                                uint16?: undefined;
                                uint160?: undefined;
                                uint168?: undefined;
                                uint176?: undefined;
                                uint184?: undefined;
                                uint192?: undefined;
                                uint200?: undefined;
                                uint208?: undefined;
                                uint216?: undefined;
                                uint224?: undefined;
                                uint232?: undefined;
                                uint24?: undefined;
                                uint240?: undefined;
                                uint248?: undefined;
                                uint256?: undefined;
                                uint32?: undefined;
                                uint40?: undefined;
                                uint48?: undefined;
                                uint56?: undefined;
                                uint64?: undefined;
                                uint72?: undefined;
                                uint8?: undefined;
                                uint80?: undefined;
                                uint88?: undefined;
                                uint96?: undefined;
                                [key: string]: readonly TypedDataParameter[];
                                [key: `string[${string}]`]: undefined;
                                [key: `function[${string}]`]: undefined;
                                [key: `bytes1[${string}]`]: undefined;
                                [key: `uint256[${string}]`]: undefined;
                                [key: `address[${string}]`]: undefined;
                                [key: `bytes32[${string}]`]: undefined;
                                [key: `bytes[${string}]`]: undefined;
                                [key: `bytes4[${string}]`]: undefined;
                                [key: `uint8[${string}]`]: undefined;
                                [key: `uint64[${string}]`]: undefined;
                                [key: `bool[${string}]`]: undefined;
                                [key: `uint32[${string}]`]: undefined;
                                [key: `uint112[${string}]`]: undefined;
                                [key: `uint48[${string}]`]: undefined;
                                [key: `uint192[${string}]`]: undefined;
                                [key: `uint16[${string}]`]: undefined;
                                [key: `uint128[${string}]`]: undefined;
                                [key: `uint40[${string}]`]: undefined;
                                [key: `uint24[${string}]`]: undefined;
                                [key: `uint160[${string}]`]: undefined;
                                [key: `int24[${string}]`]: undefined;
                                [key: `int256[${string}]`]: undefined;
                                [key: `bytes7[${string}]`]: undefined;
                                [key: `bytes2[${string}]`]: undefined;
                                [key: `bytes3[${string}]`]: undefined;
                                [key: `bytes5[${string}]`]: undefined;
                                [key: `bytes9[${string}]`]: undefined;
                                [key: `bytes10[${string}]`]: undefined;
                                [key: `bytes26[${string}]`]: undefined;
                                [key: `bytes6[${string}]`]: undefined;
                                [key: `bytes15[${string}]`]: undefined;
                                [key: `bytes17[${string}]`]: undefined;
                                [key: `bytes8[${string}]`]: undefined;
                                [key: `bytes11[${string}]`]: undefined;
                                [key: `bytes25[${string}]`]: undefined;
                                [key: `bytes20[${string}]`]: undefined;
                                [key: `bytes31[${string}]`]: undefined;
                                [key: `bytes30[${string}]`]: undefined;
                                [key: `bytes29[${string}]`]: undefined;
                                [key: `bytes28[${string}]`]: undefined;
                                [key: `bytes27[${string}]`]: undefined;
                                [key: `bytes24[${string}]`]: undefined;
                                [key: `bytes23[${string}]`]: undefined;
                                [key: `bytes22[${string}]`]: undefined;
                                [key: `bytes21[${string}]`]: undefined;
                                [key: `bytes19[${string}]`]: undefined;
                                [key: `bytes18[${string}]`]: undefined;
                                [key: `bytes16[${string}]`]: undefined;
                                [key: `bytes14[${string}]`]: undefined;
                                [key: `bytes13[${string}]`]: undefined;
                                [key: `bytes12[${string}]`]: undefined;
                                [key: `int[${string}]`]: undefined;
                                [key: `int8[${string}]`]: undefined;
                                [key: `int88[${string}]`]: undefined;
                                [key: `int80[${string}]`]: undefined;
                                [key: `int56[${string}]`]: undefined;
                                [key: `int128[${string}]`]: undefined;
                                [key: `int40[${string}]`]: undefined;
                                [key: `int32[${string}]`]: undefined;
                                [key: `int16[${string}]`]: undefined;
                                [key: `int48[${string}]`]: undefined;
                                [key: `int64[${string}]`]: undefined;
                                [key: `int72[${string}]`]: undefined;
                                [key: `int96[${string}]`]: undefined;
                                [key: `int104[${string}]`]: undefined;
                                [key: `int112[${string}]`]: undefined;
                                [key: `int120[${string}]`]: undefined;
                                [key: `int136[${string}]`]: undefined;
                                [key: `int144[${string}]`]: undefined;
                                [key: `int152[${string}]`]: undefined;
                                [key: `int160[${string}]`]: undefined;
                                [key: `int168[${string}]`]: undefined;
                                [key: `int176[${string}]`]: undefined;
                                [key: `int184[${string}]`]: undefined;
                                [key: `int192[${string}]`]: undefined;
                                [key: `int200[${string}]`]: undefined;
                                [key: `int208[${string}]`]: undefined;
                                [key: `int216[${string}]`]: undefined;
                                [key: `int224[${string}]`]: undefined;
                                [key: `int232[${string}]`]: undefined;
                                [key: `int240[${string}]`]: undefined;
                                [key: `int248[${string}]`]: undefined;
                                [key: `uint[${string}]`]: undefined;
                                [key: `uint88[${string}]`]: undefined;
                                [key: `uint80[${string}]`]: undefined;
                                [key: `uint56[${string}]`]: undefined;
                                [key: `uint72[${string}]`]: undefined;
                                [key: `uint96[${string}]`]: undefined;
                                [key: `uint104[${string}]`]: undefined;
                                [key: `uint120[${string}]`]: undefined;
                                [key: `uint136[${string}]`]: undefined;
                                [key: `uint144[${string}]`]: undefined;
                                [key: `uint152[${string}]`]: undefined;
                                [key: `uint168[${string}]`]: undefined;
                                [key: `uint176[${string}]`]: undefined;
                                [key: `uint184[${string}]`]: undefined;
                                [key: `uint200[${string}]`]: undefined;
                                [key: `uint208[${string}]`]: undefined;
                                [key: `uint216[${string}]`]: undefined;
                                [key: `uint224[${string}]`]: undefined;
                                [key: `uint232[${string}]`]: undefined;
                                [key: `uint240[${string}]`]: undefined;
                                [key: `uint248[${string}]`]: undefined;
                            },
                        primaryType extends string
                        | number
                        | symbol = keyof typedData,
                    >(
                        parameters: TypedDataDefinition<typedData, primaryType>,
                    ) => Promise<`0x${string}`>;
                    source: string;
                    type: "local";
                };
                signMessage: (message: SignableMessage) => Promise<`0x${string}`>;
                signUserOpHash: (userOpHash: `0x${string}`) => Promise<`0x${string}`>;
                type: "validator";
            };
            getNonce: (parameters?: { key?: bigint }) => Promise<bigint>;
            getNonceWithKey: () => Promise<NonceInfo>;
            getStubSignature: (
                parameters?: UserOperationRequest,
            ) => Promise<`0x${string}`>;
            getUserOpHash: (userOp: UserOperation) => `0x${string}`;
            isDelegated: () => Promise<boolean>;
            isDeployed: () => Promise<boolean>;
            nonceKeyManager?: NonceManager;
            publicClient: {
                account: undefined;
                batch?: { multicall?: boolean | { batchSize?: number; wait?: number } };
                cacheTime: number;
                call: (
                    parameters: CallParameters<undefined | Chain>,
                ) => Promise<CallReturnType>;
                ccipRead?:
                    | false
                    | {
                        request?: (
                            parameters: CcipRequestParameters,
                        ) => Promise<`0x${string}`>;
                    };
                chain: undefined
                | Chain;
                createAccessList: (
                    parameters: CreateAccessListParameters<undefined | Chain>,
                ) => Promise<{ accessList: AccessList; gasUsed: bigint }>;
                createBlockFilter: () => Promise<
                    {
                        id: `0x${string}`;
                        request: EIP1193RequestFn<
                            readonly [
                                {
                                    Method: "eth_getFilterChanges";
                                    Parameters: [filterId: `0x${(...)}`];
                                    ReturnType: (...)[] | (...)[];
                                },
                                {
                                    Method: "eth_getFilterLogs";
                                    Parameters: [filterId: `0x${(...)}`];
                                    ReturnType: RpcLog[];
                                },
                                {
                                    Method: "eth_uninstallFilter";
                                    Parameters: [filterId: `0x${(...)}`];
                                    ReturnType: boolean;
                                },
                            ],
                        >;
                        type: "block";
                    },
                >;
                createContractEventFilter: <
                    const abi extends Abi
                    | readonly unknown[],
                    eventName extends undefined | string,
                    args extends undefined | Record<string, unknown> | readonly unknown[],
                    strict extends undefined | boolean = undefined,
                    fromBlock extends undefined | bigint | BlockTag = undefined,
                    toBlock extends undefined | bigint | BlockTag = undefined,
                >(
                    args: CreateContractEventFilterParameters<
                        abi,
                        eventName,
                        args,
                        strict,
                        fromBlock,
                        toBlock,
                    >,
                ) => Promise<
                    CreateContractEventFilterReturnType<
                        abi,
                        eventName,
                        args,
                        strict,
                        fromBlock,
                        toBlock,
                    >,
                >;
                createEventFilter: <
                    const abiEvent extends undefined
                    | AbiEvent = undefined,
                    const abiEvents extends
                        undefined | readonly unknown[] | readonly AbiEvent[] = abiEvent extends AbiEvent
                        ? [abiEvent<abiEvent>]
                        : undefined,
                    strict extends undefined
                    | boolean = undefined,
                    fromBlock extends undefined | bigint | BlockTag = undefined,
                    toBlock extends undefined | bigint | BlockTag = undefined,
                    _EventName extends undefined | string = MaybeAbiEventName<abiEvent>,
                    _Args extends
                        undefined | Record<string, unknown> | readonly unknown[] = undefined,
                >(
                    args?: CreateEventFilterParameters<
                        abiEvent,
                        abiEvents,
                        strict,
                        fromBlock,
                        toBlock,
                        _EventName,
                        _Args,
                    >,
                ) => Promise<
                    {
                        [K in string
                        | number
                        | symbol]: Filter<
                            "event",
                            abiEvents,
                            _EventName,
                            _Args,
                            strict,
                            fromBlock,
                            toBlock,
                        >[K]
                    },
                >;
                createPendingTransactionFilter: () => Promise<
                    {
                        id: `0x${string}`;
                        request: EIP1193RequestFn<
                            readonly [
                                {
                                    Method: "eth_getFilterChanges";
                                    Parameters: [filterId: `0x${(...)}`];
                                    ReturnType: (...)[] | (...)[];
                                },
                                {
                                    Method: "eth_getFilterLogs";
                                    Parameters: [filterId: `0x${(...)}`];
                                    ReturnType: RpcLog[];
                                },
                                {
                                    Method: "eth_uninstallFilter";
                                    Parameters: [filterId: `0x${(...)}`];
                                    ReturnType: boolean;
                                },
                            ],
                        >;
                        type: "transaction";
                    },
                >;
                estimateContractGas: <
                    chain extends undefined
                    | Chain,
                    const abi extends Abi | readonly unknown[],
                    functionName extends string,
                    args extends unknown,
                >(
                    args: EstimateContractGasParameters<abi, functionName, args, chain>,
                ) => Promise<bigint>;
                estimateFeesPerGas: <
                    chainOverride extends undefined
                    | Chain = undefined,
                    type extends FeeValuesType = "eip1559",
                >(
                    args?: EstimateFeesPerGasParameters<
                        undefined
                        | Chain,
                        chainOverride,
                        type,
                    >,
                ) => Promise<EstimateFeesPerGasReturnType<type>>;
                estimateGas: (
                    args: EstimateGasParameters<undefined | Chain>,
                ) => Promise<bigint>;
                estimateMaxPriorityFeePerGas: <
                    chainOverride extends undefined
                    | Chain = undefined,
                >(
                    args?: { chain: null | chainOverride },
                ) => Promise<bigint>;
                extend: <
                    const client extends
                        {
                            account?: undefined;
                            batch?: undefined;
                            cacheTime?: undefined;
                            ccipRead?: undefined;
                            chain?: undefined;
                            key?: undefined;
                            name?: undefined;
                            pollingInterval?: undefined;
                            request?: undefined;
                            transport?: undefined;
                            type?: undefined;
                            uid?: undefined;
                            [key: string]: unknown;
                        } & ExactPartial<
                            ExtendableProtectedActions<Transport, undefined | Chain, undefined>,
                        >,
                >(
                    fn: (
                        client: Client<
                            Transport,
                            undefined
                            | Chain,
                            undefined,
                            PublicRpcSchema,
                            PublicActions<Transport, undefined | Chain>,
                        >,
                    ) => client,
                ) => Client<
                    Transport,
                    undefined
                    | Chain,
                    undefined,
                    PublicRpcSchema,
                    { [K in string | number | symbol]: client[K] } & PublicActions<
                        Transport,
                        undefined
                        | Chain,
                    >,
                >;
                getBalance: (args: GetBalanceParameters) => Promise<bigint>;
                getBlobBaseFee: () => Promise<bigint>;
                getBlock: <
                    includeTransactions extends boolean = false,
                    blockTag extends BlockTag = "latest",
                >(
                    args?: GetBlockParameters<includeTransactions, blockTag>,
                ) => Promise<
                    {
                        baseFeePerGas: null
                        | bigint;
                        blobGasUsed: bigint;
                        difficulty: bigint;
                        excessBlobGas: bigint;
                        extraData: `0x${string}`;
                        gasLimit: bigint;
                        gasUsed: bigint;
                        hash: blockTag extends "pending" ? null : `0x${string}`;
                        logsBloom: blockTag extends "pending" ? null : `0x${string}`;
                        miner: `0x${string}`;
                        mixHash: `0x${string}`;
                        nonce: blockTag extends "pending" ? null : `0x${string}`;
                        number: blockTag extends "pending" ? null : bigint;
                        parentBeaconBlockRoot?: `0x${string}`;
                        parentHash: `0x${string}`;
                        receiptsRoot: `0x${string}`;
                        sealFields: `0x${string}`[];
                        sha3Uncles: `0x${string}`;
                        size: bigint;
                        stateRoot: `0x${string}`;
                        timestamp: bigint;
                        totalDifficulty: null | bigint;
                        transactions: includeTransactions extends true
                            ? (
                                | {
                                    accessList?: undefined;
                                    authorizationList?: undefined;
                                    blobVersionedHashes?: undefined;
                                    blockHash: (...) extends (...) ? (...) : (...);
                                    blockNumber: (...) extends (...) ? (...) : (...);
                                    chainId?: (...) | (...);
                                    from: `0x${(...)}`;
                                    gas: bigint;
                                    gasPrice: bigint;
                                    hash: `0x${(...)}`;
                                    input: `0x${(...)}`;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: undefined;
                                    maxPriorityFeePerGas?: undefined;
                                    nonce: number;
                                    r: `0x${(...)}`;
                                    s: `0x${(...)}`;
                                    to: (...) | (...);
                                    transactionIndex: (...) extends (...) ? (...) : (...);
                                    type: "legacy";
                                    typeHex: (...) | (...);
                                    v: bigint;
                                    value: bigint;
                                    yParity?: undefined;
                                }
                                | {
                                    accessList: AccessList;
                                    authorizationList?: undefined;
                                    blobVersionedHashes?: undefined;
                                    blockHash: (...) extends (...) ? (...) : (...);
                                    blockNumber: (...) extends (...) ? (...) : (...);
                                    chainId: number;
                                    from: `0x${(...)}`;
                                    gas: bigint;
                                    gasPrice: bigint;
                                    hash: `0x${(...)}`;
                                    input: `0x${(...)}`;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: undefined;
                                    maxPriorityFeePerGas?: undefined;
                                    nonce: number;
                                    r: `0x${(...)}`;
                                    s: `0x${(...)}`;
                                    to: (...) | (...);
                                    transactionIndex: (...) extends (...) ? (...) : (...);
                                    type: "eip2930";
                                    typeHex: (...) | (...);
                                    v: bigint;
                                    value: bigint;
                                    yParity: number;
                                }
                                | {
                                    accessList: AccessList;
                                    authorizationList?: undefined;
                                    blobVersionedHashes?: undefined;
                                    blockHash: (...) extends (...) ? (...) : (...);
                                    blockNumber: (...) extends (...) ? (...) : (...);
                                    chainId: number;
                                    from: `0x${(...)}`;
                                    gas: bigint;
                                    gasPrice?: undefined;
                                    hash: `0x${(...)}`;
                                    input: `0x${(...)}`;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas: bigint;
                                    maxPriorityFeePerGas: bigint;
                                    nonce: number;
                                    r: `0x${(...)}`;
                                    s: `0x${(...)}`;
                                    to: (...) | (...);
                                    transactionIndex: (...) extends (...) ? (...) : (...);
                                    type: "eip1559";
                                    typeHex: (...) | (...);
                                    v: bigint;
                                    value: bigint;
                                    yParity: number;
                                }
                                | {
                                    accessList: AccessList;
                                    authorizationList?: undefined;
                                    blobVersionedHashes: readonly (...)[];
                                    blockHash: (...) extends (...) ? (...) : (...);
                                    blockNumber: (...) extends (...) ? (...) : (...);
                                    chainId: number;
                                    from: `0x${(...)}`;
                                    gas: bigint;
                                    gasPrice?: undefined;
                                    hash: `0x${(...)}`;
                                    input: `0x${(...)}`;
                                    maxFeePerBlobGas: bigint;
                                    maxFeePerGas: bigint;
                                    maxPriorityFeePerGas: bigint;
                                    nonce: number;
                                    r: `0x${(...)}`;
                                    s: `0x${(...)}`;
                                    to: (...) | (...);
                                    transactionIndex: (...) extends (...) ? (...) : (...);
                                    type: "eip4844";
                                    typeHex: (...) | (...);
                                    v: bigint;
                                    value: bigint;
                                    yParity: number;
                                }
                                | {
                                    accessList: AccessList;
                                    authorizationList: SignedAuthorizationList;
                                    blobVersionedHashes?: undefined;
                                    blockHash: (...) extends (...) ? (...) : (...);
                                    blockNumber: (...) extends (...) ? (...) : (...);
                                    chainId: number;
                                    from: `0x${(...)}`;
                                    gas: bigint;
                                    gasPrice?: undefined;
                                    hash: `0x${(...)}`;
                                    input: `0x${(...)}`;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas: bigint;
                                    maxPriorityFeePerGas: bigint;
                                    nonce: number;
                                    r: `0x${(...)}`;
                                    s: `0x${(...)}`;
                                    to: (...) | (...);
                                    transactionIndex: (...) extends (...) ? (...) : (...);
                                    type: "eip7702";
                                    typeHex: (...) | (...);
                                    v: bigint;
                                    value: bigint;
                                    yParity: number;
                                }
                            )[]
                            : `0x${string}`[];
                        transactionsRoot: `0x${string}`;
                        uncles: `0x${string}`[];
                        withdrawals?: Withdrawal[];
                        withdrawalsRoot?: `0x${string}`;
                    },
                >;
                getBlockNumber: (args?: GetBlockNumberParameters) => Promise<bigint>;
                getBlockTransactionCount: (
                    args?: GetBlockTransactionCountParameters,
                ) => Promise<number>;
                getBytecode: (args: GetCodeParameters) => Promise<GetCodeReturnType>;
                getChainId: () => Promise<number>;
                getCode: (args: GetCodeParameters) => Promise<GetCodeReturnType>;
                getContractEvents: <
                    const abi extends Abi
                    | readonly unknown[],
                    eventName extends undefined | string = undefined,
                    strict extends undefined | boolean = undefined,
                    fromBlock extends undefined | bigint | BlockTag = undefined,
                    toBlock extends undefined | bigint | BlockTag = undefined,
                >(
                    args: GetContractEventsParameters<
                        abi,
                        eventName,
                        strict,
                        fromBlock,
                        toBlock,
                    >,
                ) => Promise<
                    GetContractEventsReturnType<
                        abi,
                        eventName,
                        strict,
                        fromBlock,
                        toBlock,
                    >,
                >;
                getEip712Domain: (
                    args: GetEip712DomainParameters,
                ) => Promise<GetEip712DomainReturnType>;
                getEnsAddress: (
                    args: {
                        blockNumber?: bigint;
                        blockTag?: BlockTag;
                        coinType?: number;
                        gatewayUrls?: string[];
                        name: string;
                        strict?: boolean;
                        universalResolverAddress?: `0x${string}`;
                    },
                ) => Promise<GetEnsAddressReturnType>;
                getEnsAvatar: (
                    args: {
                        assetGatewayUrls?: AssetGatewayUrls;
                        blockNumber?: bigint;
                        blockTag?: BlockTag;
                        gatewayUrls?: string[];
                        name: string;
                        strict?: boolean;
                        universalResolverAddress?: `0x${string}`;
                    },
                ) => Promise<GetEnsAvatarReturnType>;
                getEnsName: (
                    args: {
                        address: `0x${string}`;
                        blockNumber?: bigint;
                        blockTag?: BlockTag;
                        gatewayUrls?: string[];
                        strict?: boolean;
                        universalResolverAddress?: `0x${string}`;
                    },
                ) => Promise<GetEnsNameReturnType>;
                getEnsResolver: (
                    args: {
                        blockNumber?: bigint;
                        blockTag?: BlockTag;
                        name: string;
                        universalResolverAddress?: `0x${string}`;
                    },
                ) => Promise<`0x${string}`>;
                getEnsText: (
                    args: {
                        blockNumber?: bigint;
                        blockTag?: BlockTag;
                        gatewayUrls?: string[];
                        key: string;
                        name: string;
                        strict?: boolean;
                        universalResolverAddress?: `0x${string}`;
                    },
                ) => Promise<GetEnsTextReturnType>;
                getFeeHistory: (
                    args: GetFeeHistoryParameters,
                ) => Promise<GetFeeHistoryReturnType>;
                getFilterChanges: <
                    filterType extends FilterType,
                    const abi extends undefined | Abi | readonly unknown[],
                    eventName extends undefined | string,
                    strict extends undefined | boolean = undefined,
                    fromBlock extends undefined | bigint | BlockTag = undefined,
                    toBlock extends undefined | bigint | BlockTag = undefined,
                >(
                    args: GetFilterChangesParameters<
                        filterType,
                        abi,
                        eventName,
                        strict,
                        fromBlock,
                        toBlock,
                    >,
                ) => Promise<
                    GetFilterChangesReturnType<
                        filterType,
                        abi,
                        eventName,
                        strict,
                        fromBlock,
                        toBlock,
                    >,
                >;
                getFilterLogs: <
                    const abi extends undefined
                    | Abi
                    | readonly unknown[],
                    eventName extends undefined | string,
                    strict extends undefined | boolean = undefined,
                    fromBlock extends undefined | bigint | BlockTag = undefined,
                    toBlock extends undefined | bigint | BlockTag = undefined,
                >(
                    args: GetFilterLogsParameters<
                        abi,
                        eventName,
                        strict,
                        fromBlock,
                        toBlock,
                    >,
                ) => Promise<
                    GetFilterLogsReturnType<abi, eventName, strict, fromBlock, toBlock>,
                >;
                getGasPrice: () => Promise<bigint>;
                getLogs: <
                    const abiEvent extends undefined
                    | AbiEvent = undefined,
                    const abiEvents extends
                        undefined | readonly unknown[] | readonly AbiEvent[] = abiEvent extends AbiEvent
                        ? [abiEvent<abiEvent>]
                        : undefined,
                    strict extends undefined
                    | boolean = undefined,
                    fromBlock extends undefined | bigint | BlockTag = undefined,
                    toBlock extends undefined | bigint | BlockTag = undefined,
                >(
                    args?: GetLogsParameters<
                        abiEvent,
                        abiEvents,
                        strict,
                        fromBlock,
                        toBlock,
                    >,
                ) => Promise<
                    GetLogsReturnType<abiEvent, abiEvents, strict, fromBlock, toBlock>,
                >;
                getProof: (args: GetProofParameters) => Promise<GetProofReturnType>;
                getStorageAt: (
                    args: GetStorageAtParameters,
                ) => Promise<GetStorageAtReturnType>;
                getTransaction: <blockTag extends BlockTag = "latest">(
                    args: GetTransactionParameters<blockTag>,
                ) => Promise<
                    | {
                        accessList?: undefined;
                        authorizationList?: undefined;
                        blobVersionedHashes?: undefined;
                        blockHash: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : `0x${string}`;
                        blockNumber: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : bigint;
                        chainId?: number;
                        from: `0x${string}`;
                        gas: bigint;
                        gasPrice: bigint;
                        hash: `0x${string}`;
                        input: `0x${string}`;
                        maxFeePerBlobGas?: undefined;
                        maxFeePerGas?: undefined;
                        maxPriorityFeePerGas?: undefined;
                        nonce: number;
                        r: `0x${string}`;
                        s: `0x${string}`;
                        to: null | `0x${string}`;
                        transactionIndex: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : number;
                        type: "legacy";
                        typeHex: null | `0x${string}`;
                        v: bigint;
                        value: bigint;
                        yParity?: undefined;
                    }
                    | {
                        accessList: AccessList;
                        authorizationList?: undefined;
                        blobVersionedHashes?: undefined;
                        blockHash: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : `0x${string}`;
                        blockNumber: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : bigint;
                        chainId: number;
                        from: `0x${string}`;
                        gas: bigint;
                        gasPrice: bigint;
                        hash: `0x${string}`;
                        input: `0x${string}`;
                        maxFeePerBlobGas?: undefined;
                        maxFeePerGas?: undefined;
                        maxPriorityFeePerGas?: undefined;
                        nonce: number;
                        r: `0x${string}`;
                        s: `0x${string}`;
                        to: null | `0x${string}`;
                        transactionIndex: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : number;
                        type: "eip2930";
                        typeHex: null | `0x${string}`;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                    }
                    | {
                        accessList: AccessList;
                        authorizationList?: undefined;
                        blobVersionedHashes?: undefined;
                        blockHash: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : `0x${string}`;
                        blockNumber: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : bigint;
                        chainId: number;
                        from: `0x${string}`;
                        gas: bigint;
                        gasPrice?: undefined;
                        hash: `0x${string}`;
                        input: `0x${string}`;
                        maxFeePerBlobGas?: undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        nonce: number;
                        r: `0x${string}`;
                        s: `0x${string}`;
                        to: null | `0x${string}`;
                        transactionIndex: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : number;
                        type: "eip1559";
                        typeHex: null | `0x${string}`;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                    }
                    | {
                        accessList: AccessList;
                        authorizationList?: undefined;
                        blobVersionedHashes: readonly `0x${string}`[];
                        blockHash: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : `0x${string}`;
                        blockNumber: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : bigint;
                        chainId: number;
                        from: `0x${string}`;
                        gas: bigint;
                        gasPrice?: undefined;
                        hash: `0x${string}`;
                        input: `0x${string}`;
                        maxFeePerBlobGas: bigint;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        nonce: number;
                        r: `0x${string}`;
                        s: `0x${string}`;
                        to: null | `0x${string}`;
                        transactionIndex: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : number;
                        type: "eip4844";
                        typeHex: null | `0x${string}`;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                    }
                    | {
                        accessList: AccessList;
                        authorizationList: SignedAuthorizationList;
                        blobVersionedHashes?: undefined;
                        blockHash: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : `0x${string}`;
                        blockNumber: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : bigint;
                        chainId: number;
                        from: `0x${string}`;
                        gas: bigint;
                        gasPrice?: undefined;
                        hash: `0x${string}`;
                        input: `0x${string}`;
                        maxFeePerBlobGas?: undefined;
                        maxFeePerGas: bigint;
                        maxPriorityFeePerGas: bigint;
                        nonce: number;
                        r: `0x${string}`;
                        s: `0x${string}`;
                        to: null | `0x${string}`;
                        transactionIndex: (blockTag extends "pending" ? true : false) extends true
                            ? null
                            : number;
                        type: "eip7702";
                        typeHex: null | `0x${string}`;
                        v: bigint;
                        value: bigint;
                        yParity: number;
                    },
                >;
                getTransactionConfirmations: (
                    args: GetTransactionConfirmationsParameters<undefined | Chain>,
                ) => Promise<bigint>;
                getTransactionCount: (
                    args: GetTransactionCountParameters,
                ) => Promise<number>;
                getTransactionReceipt: (
                    args: GetTransactionReceiptParameters,
                ) => Promise<TransactionReceipt>;
                key: string;
                multicall: <
                    const contracts extends readonly unknown[],
                    allowFailure extends boolean = true,
                >(
                    args: MulticallParameters<contracts, allowFailure>,
                ) => Promise<MulticallReturnType<contracts, allowFailure>>;
                name: string;
                pollingInterval: number;
                prepareTransactionRequest: <
                    const request extends
                        (
                            | Omit<
                                {
                                    accessList?: undefined;
                                    authorizationList?: undefined;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: bigint;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: undefined;
                                    maxPriorityFeePerGas?: undefined;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null
                                    | `0x${string}`;
                                    type?: "legacy";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: undefined;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: bigint;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: undefined;
                                    maxPriorityFeePerGas?: undefined;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null
                                    | `0x${string}`;
                                    type?: "eip2930";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: undefined;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: undefined;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: bigint;
                                    maxPriorityFeePerGas?: bigint;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null
                                    | `0x${string}`;
                                    type?: "eip1559";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: undefined;
                                    blobs: readonly `0x${(...)}`[]
                                    | readonly ByteArray[];
                                    blobVersionedHashes?: readonly `0x${(...)}`[];
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: undefined;
                                    kzg?: Kzg;
                                    maxFeePerBlobGas: bigint;
                                    maxFeePerGas?: bigint;
                                    maxPriorityFeePerGas?: bigint;
                                    nonce?: number;
                                    sidecars?: readonly BlobSidecar<(...)>[];
                                    to: null | `0x${string}`;
                                    type?: "eip4844";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: AuthorizationList<number, boolean>;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: undefined;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: bigint;
                                    maxPriorityFeePerGas?: bigint;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null | `0x${string}`;
                                    type?: "eip7702";
                                    value?: bigint;
                                },
                                "from",
                            >
                        ) & { kzg?: Kzg } & {
                            nonceManager?: NonceManager;
                            parameters?: readonly PrepareTransactionRequestParameterType[];
                        },
                    chainOverride extends undefined
                    | Chain = undefined,
                    accountOverride extends undefined | `0x${string}` | Account = undefined,
                >(
                    args: PrepareTransactionRequestParameters<
                        undefined
                        | Chain,
                        undefined | Account,
                        chainOverride,
                        accountOverride,
                        request,
                    >,
                ) => Promise<
                    {
                        [K in string
                        | number
                        | symbol]: (
                            UnionRequiredBy<
                                Extract<(...), (...)> & { chainId?: ... },
                                ParameterTypeToParameters<(...) extends (...) ? (...) : (...)>,
                            > & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">)
                        )[K]
                    },
                >;
                readContract: <
                    const abi extends Abi
                    | readonly unknown[],
                    functionName extends string,
                    const args extends unknown,
                >(
                    args: ReadContractParameters<abi, functionName, args>,
                ) => Promise<ReadContractReturnType<abi, functionName, args>>;
                request: EIP1193RequestFn<PublicRpcSchema>;
                sendRawTransaction: (
                    args: SendRawTransactionParameters,
                ) => Promise<`0x${string}`>;
                simulate: <const calls extends readonly unknown[]>(
                    args: SimulateBlocksParameters<calls>,
                ) => Promise<SimulateBlocksReturnType<calls>>;
                simulateBlocks: <const calls extends readonly unknown[]>(
                    args: SimulateBlocksParameters<calls>,
                ) => Promise<SimulateBlocksReturnType<calls>>;
                simulateCalls: <const calls extends readonly unknown[]>(
                    args: SimulateCallsParameters<calls>,
                ) => Promise<SimulateCallsReturnType<calls>>;
                simulateContract: <
                    const abi extends Abi
                    | readonly unknown[],
                    functionName extends string,
                    const args extends unknown,
                    chainOverride extends undefined | Chain,
                    accountOverride extends undefined | `0x${string}` | Account = undefined,
                >(
                    args: SimulateContractParameters<
                        abi,
                        functionName,
                        args,
                        undefined
                        | Chain,
                        chainOverride,
                        accountOverride,
                    >,
                ) => Promise<
                    SimulateContractReturnType<
                        abi,
                        functionName,
                        args,
                        undefined
                        | Chain,
                        undefined | Account,
                        chainOverride,
                        accountOverride,
                    >,
                >;
                transport: TransportConfig<string, EIP1193RequestFn> & Record<
                    string,
                    any,
                >;
                type: string;
                uid: string;
                uninstallFilter: (args: UninstallFilterParameters) => Promise<boolean>;
                verifyMessage: (
                    args: {
                        address: `0x${string}`;
                        blockNumber?: bigint;
                        blockTag?: BlockTag;
                        factory?: `0x${string}`;
                        factoryData?: `0x${string}`;
                        message: SignableMessage;
                        signature: `0x${string}` | ByteArray | Signature;
                        universalSignatureVerifierAddress?: `0x${string}`;
                    },
                ) => Promise<boolean>;
                verifySiweMessage: (
                    args: {
                        address?: `0x${string}`;
                        blockNumber?: bigint;
                        blockTag?: BlockTag;
                        domain?: string;
                        message: string;
                        nonce?: string;
                        scheme?: string;
                        signature: `0x${string}`;
                        time?: Date;
                    },
                ) => Promise<boolean>;
                verifyTypedData: (args: VerifyTypedDataParameters) => Promise<boolean>;
                waitForTransactionReceipt: (
                    args: WaitForTransactionReceiptParameters<undefined | Chain>,
                ) => Promise<TransactionReceipt>;
                watchBlockNumber: (
                    args: WatchBlockNumberParameters,
                ) => WatchBlockNumberReturnType;
                watchBlocks: <
                    includeTransactions extends boolean = false,
                    blockTag extends BlockTag = "latest",
                >(
                    args: WatchBlocksParameters<
                        Transport,
                        undefined
                        | Chain,
                        includeTransactions,
                        blockTag,
                    >,
                ) => WatchBlocksReturnType;
                watchContractEvent: <
                    const abi extends Abi
                    | readonly unknown[],
                    eventName extends string,
                    strict extends undefined | boolean = undefined,
                >(
                    args: WatchContractEventParameters<abi, eventName, strict, Transport>,
                ) => WatchContractEventReturnType;
                watchEvent: <
                    const abiEvent extends undefined
                    | AbiEvent = undefined,
                    const abiEvents extends
                        undefined | readonly unknown[] | readonly AbiEvent[] = abiEvent extends AbiEvent
                        ? [abiEvent<abiEvent>]
                        : undefined,
                    strict extends undefined
                    | boolean = undefined,
                >(
                    args: WatchEventParameters<abiEvent, abiEvents, strict, Transport>,
                ) => WatchEventReturnType;
                watchPendingTransactions: (
                    args: WatchPendingTransactionsParameters<Transport>,
                ) => WatchPendingTransactionsReturnType;
            };
            setModule: (
                validationModule: {
                    address: `0x${string}`;
                    data: `0x${string}`;
                    deInitData: `0x${string}`;
                    getStubSignature: () => Promise<`0x${string}`>;
                    initData: `0x${string}`;
                    module: `0x${string}`;
                    signer: {
                        address: `0x${string}`;
                        nonceManager?: NonceManager;
                        publicKey: `0x${string}`;
                        sign?: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
                        signAuthorization?: (
                            parameters: AuthorizationRequest,
                        ) => Promise<SignAuthorizationReturnType>;
                        signMessage: (
                            __namedParameters: { message: SignableMessage },
                        ) => Promise<`0x${string}`>;
                        signTransaction: <
                            serializer extends
                                SerializeTransactionFn<TransactionSerializable> = SerializeTransactionFn<
                                TransactionSerializable,
                            >,
                            transaction extends
                                OneOf<TransactionSerializable> = Parameters<serializer>[0],
                        >(
                            transaction: transaction,
                            options?: { serializer?: serializer },
                        ) => Promise<
                            IsNarrowable<
                                TransactionSerialized<GetTransactionType<(...)>>,
                                `0x${string}`,
                            > extends true
                                ? TransactionSerialized<GetTransactionType<transaction>>
                                : `0x${string}`,
                        >;
                        signTypedData: <
                            const typedData extends
                                | Record<string, unknown>
                                | {
                                    address?: undefined;
                                    bool?: undefined;
                                    bytes?: undefined;
                                    bytes1?: undefined;
                                    bytes10?: undefined;
                                    bytes11?: undefined;
                                    bytes12?: undefined;
                                    bytes13?: undefined;
                                    bytes14?: undefined;
                                    bytes15?: undefined;
                                    bytes16?: undefined;
                                    bytes17?: undefined;
                                    bytes18?: undefined;
                                    bytes19?: undefined;
                                    bytes2?: undefined;
                                    bytes20?: undefined;
                                    bytes21?: undefined;
                                    bytes22?: undefined;
                                    bytes23?: undefined;
                                    bytes24?: undefined;
                                    bytes25?: undefined;
                                    bytes26?: undefined;
                                    bytes27?: undefined;
                                    bytes28?: undefined;
                                    bytes29?: undefined;
                                    bytes3?: undefined;
                                    bytes30?: undefined;
                                    bytes31?: undefined;
                                    bytes32?: undefined;
                                    bytes4?: undefined;
                                    bytes5?: undefined;
                                    bytes6?: undefined;
                                    bytes7?: undefined;
                                    bytes8?: undefined;
                                    bytes9?: undefined;
                                    int104?: undefined;
                                    int112?: undefined;
                                    int120?: undefined;
                                    int128?: undefined;
                                    int136?: undefined;
                                    int144?: undefined;
                                    int152?: undefined;
                                    int16?: undefined;
                                    int160?: undefined;
                                    int168?: undefined;
                                    int176?: undefined;
                                    int184?: undefined;
                                    int192?: undefined;
                                    int200?: undefined;
                                    int208?: undefined;
                                    int216?: undefined;
                                    int224?: undefined;
                                    int232?: undefined;
                                    int24?: undefined;
                                    int240?: undefined;
                                    int248?: undefined;
                                    int256?: undefined;
                                    int32?: undefined;
                                    int40?: undefined;
                                    int48?: undefined;
                                    int56?: undefined;
                                    int64?: undefined;
                                    int72?: undefined;
                                    int8?: undefined;
                                    int80?: undefined;
                                    int88?: undefined;
                                    int96?: undefined;
                                    string?: undefined;
                                    uint104?: undefined;
                                    uint112?: undefined;
                                    uint120?: undefined;
                                    uint128?: undefined;
                                    uint136?: undefined;
                                    uint144?: undefined;
                                    uint152?: undefined;
                                    uint16?: undefined;
                                    uint160?: undefined;
                                    uint168?: undefined;
                                    uint176?: undefined;
                                    uint184?: undefined;
                                    uint192?: undefined;
                                    uint200?: undefined;
                                    uint208?: undefined;
                                    uint216?: undefined;
                                    uint224?: undefined;
                                    uint232?: undefined;
                                    uint24?: undefined;
                                    uint240?: undefined;
                                    uint248?: undefined;
                                    uint256?: undefined;
                                    uint32?: undefined;
                                    uint40?: undefined;
                                    uint48?: undefined;
                                    uint56?: undefined;
                                    uint64?: undefined;
                                    uint72?: undefined;
                                    uint8?: undefined;
                                    uint80?: undefined;
                                    uint88?: undefined;
                                    uint96?: undefined;
                                    [key: string]: readonly TypedDataParameter[];
                                    [key: `string[${string}]`]: undefined;
                                    [key: `function[${string}]`]: undefined;
                                    [key: `bytes1[${string}]`]: undefined;
                                    [key: `uint256[${string}]`]: undefined;
                                    [key: `address[${string}]`]: undefined;
                                    [key: `bytes32[${string}]`]: undefined;
                                    [key: `bytes[${string}]`]: undefined;
                                    [key: `bytes4[${string}]`]: undefined;
                                    [key: `uint8[${string}]`]: undefined;
                                    [key: `uint64[${string}]`]: undefined;
                                    [key: `bool[${string}]`]: undefined;
                                    [key: `uint32[${string}]`]: undefined;
                                    [key: `uint112[${string}]`]: undefined;
                                    [key: `uint48[${string}]`]: undefined;
                                    [key: `uint192[${string}]`]: undefined;
                                    [key: `uint16[${string}]`]: undefined;
                                    [key: `uint128[${string}]`]: undefined;
                                    [key: `uint40[${string}]`]: undefined;
                                    [key: `uint24[${string}]`]: undefined;
                                    [key: `uint160[${string}]`]: undefined;
                                    [key: `int24[${string}]`]: undefined;
                                    [key: `int256[${string}]`]: undefined;
                                    [key: `bytes7[${string}]`]: undefined;
                                    [key: `bytes2[${string}]`]: undefined;
                                    [key: `bytes3[${string}]`]: undefined;
                                    [key: `bytes5[${string}]`]: undefined;
                                    [key: `bytes9[${string}]`]: undefined;
                                    [key: `bytes10[${string}]`]: undefined;
                                    [key: `bytes26[${string}]`]: undefined;
                                    [key: `bytes6[${string}]`]: undefined;
                                    [key: `bytes15[${string}]`]: undefined;
                                    [key: `bytes17[${string}]`]: undefined;
                                    [key: `bytes8[${string}]`]: undefined;
                                    [key: `bytes11[${string}]`]: undefined;
                                    [key: `bytes25[${string}]`]: undefined;
                                    [key: `bytes20[${string}]`]: undefined;
                                    [key: `bytes31[${string}]`]: undefined;
                                    [key: `bytes30[${string}]`]: undefined;
                                    [key: `bytes29[${string}]`]: undefined;
                                    [key: `bytes28[${string}]`]: undefined;
                                    [key: `bytes27[${string}]`]: undefined;
                                    [key: `bytes24[${string}]`]: undefined;
                                    [key: `bytes23[${string}]`]: undefined;
                                    [key: `bytes22[${string}]`]: undefined;
                                    [key: `bytes21[${string}]`]: undefined;
                                    [key: `bytes19[${string}]`]: undefined;
                                    [key: `bytes18[${string}]`]: undefined;
                                    [key: `bytes16[${string}]`]: undefined;
                                    [key: `bytes14[${string}]`]: undefined;
                                    [key: `bytes13[${string}]`]: undefined;
                                    [key: `bytes12[${string}]`]: undefined;
                                    [key: `int[${string}]`]: undefined;
                                    [key: `int8[${string}]`]: undefined;
                                    [key: `int88[${string}]`]: undefined;
                                    [key: `int80[${string}]`]: undefined;
                                    [key: `int56[${string}]`]: undefined;
                                    [key: `int128[${string}]`]: undefined;
                                    [key: `int40[${string}]`]: undefined;
                                    [key: `int32[${string}]`]: undefined;
                                    [key: `int16[${string}]`]: undefined;
                                    [key: `int48[${string}]`]: undefined;
                                    [key: `int64[${string}]`]: undefined;
                                    [key: `int72[${string}]`]: undefined;
                                    [key: `int96[${string}]`]: undefined;
                                    [key: `int104[${string}]`]: undefined;
                                    [key: `int112[${string}]`]: undefined;
                                    [key: `int120[${string}]`]: undefined;
                                    [key: `int136[${string}]`]: undefined;
                                    [key: `int144[${string}]`]: undefined;
                                    [key: `int152[${string}]`]: undefined;
                                    [key: `int160[${string}]`]: undefined;
                                    [key: `int168[${string}]`]: undefined;
                                    [key: `int176[${string}]`]: undefined;
                                    [key: `int184[${string}]`]: undefined;
                                    [key: `int192[${string}]`]: undefined;
                                    [key: `int200[${string}]`]: undefined;
                                    [key: `int208[${string}]`]: undefined;
                                    [key: `int216[${string}]`]: undefined;
                                    [key: `int224[${string}]`]: undefined;
                                    [key: `int232[${string}]`]: undefined;
                                    [key: `int240[${string}]`]: undefined;
                                    [key: `int248[${string}]`]: undefined;
                                    [key: `uint[${string}]`]: undefined;
                                    [key: `uint88[${string}]`]: undefined;
                                    [key: `uint80[${string}]`]: undefined;
                                    [key: `uint56[${string}]`]: undefined;
                                    [key: `uint72[${string}]`]: undefined;
                                    [key: `uint96[${string}]`]: undefined;
                                    [key: `uint104[${string}]`]: undefined;
                                    [key: `uint120[${string}]`]: undefined;
                                    [key: `uint136[${string}]`]: undefined;
                                    [key: `uint144[${string}]`]: undefined;
                                    [key: `uint152[${string}]`]: undefined;
                                    [key: `uint168[${string}]`]: undefined;
                                    [key: `uint176[${string}]`]: undefined;
                                    [key: `uint184[${string}]`]: undefined;
                                    [key: `uint200[${string}]`]: undefined;
                                    [key: `uint208[${string}]`]: undefined;
                                    [key: `uint216[${string}]`]: undefined;
                                    [key: `uint224[${string}]`]: undefined;
                                    [key: `uint232[${string}]`]: undefined;
                                    [key: `uint240[${string}]`]: undefined;
                                    [key: `uint248[${string}]`]: undefined;
                                },
                            primaryType extends string
                            | number
                            | symbol = keyof typedData,
                        >(
                            parameters: TypedDataDefinition<typedData, primaryType>,
                        ) => Promise<`0x${string}`>;
                        source: string;
                        type: "local";
                    };
                    signMessage: (message: SignableMessage) => Promise<`0x${string}`>;
                    signUserOpHash: (userOpHash: `0x${string}`) => Promise<`0x${string}`>;
                    type: "validator";
                },
            ) => void;
            sign?: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
            signer: {
                address: `0x${string}`;
                nonceManager?: NonceManager;
                publicKey: `0x${string}`;
                sign?: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
                signAuthorization?: (
                    parameters: AuthorizationRequest,
                ) => Promise<SignAuthorizationReturnType>;
                signMessage: (
                    __namedParameters: { message: SignableMessage },
                ) => Promise<`0x${string}`>;
                signTransaction: <
                    serializer extends
                        SerializeTransactionFn<TransactionSerializable> = SerializeTransactionFn<
                        TransactionSerializable,
                    >,
                    transaction extends
                        OneOf<TransactionSerializable> = Parameters<serializer>[0],
                >(
                    transaction: transaction,
                    options?: { serializer?: serializer },
                ) => Promise<
                    IsNarrowable<
                        TransactionSerialized<GetTransactionType<transaction>>,
                        `0x${string}`,
                    > extends true
                        ? TransactionSerialized<GetTransactionType<transaction>>
                        : `0x${string}`,
                >;
                signTypedData: <
                    const typedData extends
                        | Record<string, unknown>
                        | {
                            address?: undefined;
                            bool?: undefined;
                            bytes?: undefined;
                            bytes1?: undefined;
                            bytes10?: undefined;
                            bytes11?: undefined;
                            bytes12?: undefined;
                            bytes13?: undefined;
                            bytes14?: undefined;
                            bytes15?: undefined;
                            bytes16?: undefined;
                            bytes17?: undefined;
                            bytes18?: undefined;
                            bytes19?: undefined;
                            bytes2?: undefined;
                            bytes20?: undefined;
                            bytes21?: undefined;
                            bytes22?: undefined;
                            bytes23?: undefined;
                            bytes24?: undefined;
                            bytes25?: undefined;
                            bytes26?: undefined;
                            bytes27?: undefined;
                            bytes28?: undefined;
                            bytes29?: undefined;
                            bytes3?: undefined;
                            bytes30?: undefined;
                            bytes31?: undefined;
                            bytes32?: undefined;
                            bytes4?: undefined;
                            bytes5?: undefined;
                            bytes6?: undefined;
                            bytes7?: undefined;
                            bytes8?: undefined;
                            bytes9?: undefined;
                            int104?: undefined;
                            int112?: undefined;
                            int120?: undefined;
                            int128?: undefined;
                            int136?: undefined;
                            int144?: undefined;
                            int152?: undefined;
                            int16?: undefined;
                            int160?: undefined;
                            int168?: undefined;
                            int176?: undefined;
                            int184?: undefined;
                            int192?: undefined;
                            int200?: undefined;
                            int208?: undefined;
                            int216?: undefined;
                            int224?: undefined;
                            int232?: undefined;
                            int24?: undefined;
                            int240?: undefined;
                            int248?: undefined;
                            int256?: undefined;
                            int32?: undefined;
                            int40?: undefined;
                            int48?: undefined;
                            int56?: undefined;
                            int64?: undefined;
                            int72?: undefined;
                            int8?: undefined;
                            int80?: undefined;
                            int88?: undefined;
                            int96?: undefined;
                            string?: undefined;
                            uint104?: undefined;
                            uint112?: undefined;
                            uint120?: undefined;
                            uint128?: undefined;
                            uint136?: undefined;
                            uint144?: undefined;
                            uint152?: undefined;
                            uint16?: undefined;
                            uint160?: undefined;
                            uint168?: undefined;
                            uint176?: undefined;
                            uint184?: undefined;
                            uint192?: undefined;
                            uint200?: undefined;
                            uint208?: undefined;
                            uint216?: undefined;
                            uint224?: undefined;
                            uint232?: undefined;
                            uint24?: undefined;
                            uint240?: undefined;
                            uint248?: undefined;
                            uint256?: undefined;
                            uint32?: undefined;
                            uint40?: undefined;
                            uint48?: undefined;
                            uint56?: undefined;
                            uint64?: undefined;
                            uint72?: undefined;
                            uint8?: undefined;
                            uint80?: undefined;
                            uint88?: undefined;
                            uint96?: undefined;
                            [key: string]: readonly TypedDataParameter[];
                            [key: `string[${string}]`]: undefined;
                            [key: `function[${string}]`]: undefined;
                            [key: `bytes1[${string}]`]: undefined;
                            [key: `uint256[${string}]`]: undefined;
                            [key: `address[${string}]`]: undefined;
                            [key: `bytes32[${string}]`]: undefined;
                            [key: `bytes[${string}]`]: undefined;
                            [key: `bytes4[${string}]`]: undefined;
                            [key: `uint8[${string}]`]: undefined;
                            [key: `uint64[${string}]`]: undefined;
                            [key: `bool[${string}]`]: undefined;
                            [key: `uint32[${string}]`]: undefined;
                            [key: `uint112[${string}]`]: undefined;
                            [key: `uint48[${string}]`]: undefined;
                            [key: `uint192[${string}]`]: undefined;
                            [key: `uint16[${string}]`]: undefined;
                            [key: `uint128[${string}]`]: undefined;
                            [key: `uint40[${string}]`]: undefined;
                            [key: `uint24[${string}]`]: undefined;
                            [key: `uint160[${string}]`]: undefined;
                            [key: `int24[${string}]`]: undefined;
                            [key: `int256[${string}]`]: undefined;
                            [key: `bytes7[${string}]`]: undefined;
                            [key: `bytes2[${string}]`]: undefined;
                            [key: `bytes3[${string}]`]: undefined;
                            [key: `bytes5[${string}]`]: undefined;
                            [key: `bytes9[${string}]`]: undefined;
                            [key: `bytes10[${string}]`]: undefined;
                            [key: `bytes26[${string}]`]: undefined;
                            [key: `bytes6[${string}]`]: undefined;
                            [key: `bytes15[${string}]`]: undefined;
                            [key: `bytes17[${string}]`]: undefined;
                            [key: `bytes8[${string}]`]: undefined;
                            [key: `bytes11[${string}]`]: undefined;
                            [key: `bytes25[${string}]`]: undefined;
                            [key: `bytes20[${string}]`]: undefined;
                            [key: `bytes31[${string}]`]: undefined;
                            [key: `bytes30[${string}]`]: undefined;
                            [key: `bytes29[${string}]`]: undefined;
                            [key: `bytes28[${string}]`]: undefined;
                            [key: `bytes27[${string}]`]: undefined;
                            [key: `bytes24[${string}]`]: undefined;
                            [key: `bytes23[${string}]`]: undefined;
                            [key: `bytes22[${string}]`]: undefined;
                            [key: `bytes21[${string}]`]: undefined;
                            [key: `bytes19[${string}]`]: undefined;
                            [key: `bytes18[${string}]`]: undefined;
                            [key: `bytes16[${string}]`]: undefined;
                            [key: `bytes14[${string}]`]: undefined;
                            [key: `bytes13[${string}]`]: undefined;
                            [key: `bytes12[${string}]`]: undefined;
                            [key: `int[${string}]`]: undefined;
                            [key: `int8[${string}]`]: undefined;
                            [key: `int88[${string}]`]: undefined;
                            [key: `int80[${string}]`]: undefined;
                            [key: `int56[${string}]`]: undefined;
                            [key: `int128[${string}]`]: undefined;
                            [key: `int40[${string}]`]: undefined;
                            [key: `int32[${string}]`]: undefined;
                            [key: `int16[${string}]`]: undefined;
                            [key: `int48[${string}]`]: undefined;
                            [key: `int64[${string}]`]: undefined;
                            [key: `int72[${string}]`]: undefined;
                            [key: `int96[${string}]`]: undefined;
                            [key: `int104[${string}]`]: undefined;
                            [key: `int112[${string}]`]: undefined;
                            [key: `int120[${string}]`]: undefined;
                            [key: `int136[${string}]`]: undefined;
                            [key: `int144[${string}]`]: undefined;
                            [key: `int152[${string}]`]: undefined;
                            [key: `int160[${string}]`]: undefined;
                            [key: `int168[${string}]`]: undefined;
                            [key: `int176[${string}]`]: undefined;
                            [key: `int184[${string}]`]: undefined;
                            [key: `int192[${string}]`]: undefined;
                            [key: `int200[${string}]`]: undefined;
                            [key: `int208[${string}]`]: undefined;
                            [key: `int216[${string}]`]: undefined;
                            [key: `int224[${string}]`]: undefined;
                            [key: `int232[${string}]`]: undefined;
                            [key: `int240[${string}]`]: undefined;
                            [key: `int248[${string}]`]: undefined;
                            [key: `uint[${string}]`]: undefined;
                            [key: `uint88[${string}]`]: undefined;
                            [key: `uint80[${string}]`]: undefined;
                            [key: `uint56[${string}]`]: undefined;
                            [key: `uint72[${string}]`]: undefined;
                            [key: `uint96[${string}]`]: undefined;
                            [key: `uint104[${string}]`]: undefined;
                            [key: `uint120[${string}]`]: undefined;
                            [key: `uint136[${string}]`]: undefined;
                            [key: `uint144[${string}]`]: undefined;
                            [key: `uint152[${string}]`]: undefined;
                            [key: `uint168[${string}]`]: undefined;
                            [key: `uint176[${string}]`]: undefined;
                            [key: `uint184[${string}]`]: undefined;
                            [key: `uint200[${string}]`]: undefined;
                            [key: `uint208[${string}]`]: undefined;
                            [key: `uint216[${string}]`]: undefined;
                            [key: `uint224[${string}]`]: undefined;
                            [key: `uint232[${string}]`]: undefined;
                            [key: `uint240[${string}]`]: undefined;
                            [key: `uint248[${string}]`]: undefined;
                        },
                    primaryType extends string
                    | number
                    | symbol = keyof typedData,
                >(
                    parameters: TypedDataDefinition<typedData, primaryType>,
                ) => Promise<`0x${string}`>;
                source: string;
                type: "local";
            };
            signMessage: (
                parameters: { message: SignableMessage },
            ) => Promise<`0x${string}`>;
            signTypedData: <
                const typedData extends
                    | Record<string, unknown>
                    | {
                        address?: undefined;
                        bool?: undefined;
                        bytes?: undefined;
                        bytes1?: undefined;
                        bytes10?: undefined;
                        bytes11?: undefined;
                        bytes12?: undefined;
                        bytes13?: undefined;
                        bytes14?: undefined;
                        bytes15?: undefined;
                        bytes16?: undefined;
                        bytes17?: undefined;
                        bytes18?: undefined;
                        bytes19?: undefined;
                        bytes2?: undefined;
                        bytes20?: undefined;
                        bytes21?: undefined;
                        bytes22?: undefined;
                        bytes23?: undefined;
                        bytes24?: undefined;
                        bytes25?: undefined;
                        bytes26?: undefined;
                        bytes27?: undefined;
                        bytes28?: undefined;
                        bytes29?: undefined;
                        bytes3?: undefined;
                        bytes30?: undefined;
                        bytes31?: undefined;
                        bytes32?: undefined;
                        bytes4?: undefined;
                        bytes5?: undefined;
                        bytes6?: undefined;
                        bytes7?: undefined;
                        bytes8?: undefined;
                        bytes9?: undefined;
                        int104?: undefined;
                        int112?: undefined;
                        int120?: undefined;
                        int128?: undefined;
                        int136?: undefined;
                        int144?: undefined;
                        int152?: undefined;
                        int16?: undefined;
                        int160?: undefined;
                        int168?: undefined;
                        int176?: undefined;
                        int184?: undefined;
                        int192?: undefined;
                        int200?: undefined;
                        int208?: undefined;
                        int216?: undefined;
                        int224?: undefined;
                        int232?: undefined;
                        int24?: undefined;
                        int240?: undefined;
                        int248?: undefined;
                        int256?: undefined;
                        int32?: undefined;
                        int40?: undefined;
                        int48?: undefined;
                        int56?: undefined;
                        int64?: undefined;
                        int72?: undefined;
                        int8?: undefined;
                        int80?: undefined;
                        int88?: undefined;
                        int96?: undefined;
                        string?: undefined;
                        uint104?: undefined;
                        uint112?: undefined;
                        uint120?: undefined;
                        uint128?: undefined;
                        uint136?: undefined;
                        uint144?: undefined;
                        uint152?: undefined;
                        uint16?: undefined;
                        uint160?: undefined;
                        uint168?: undefined;
                        uint176?: undefined;
                        uint184?: undefined;
                        uint192?: undefined;
                        uint200?: undefined;
                        uint208?: undefined;
                        uint216?: undefined;
                        uint224?: undefined;
                        uint232?: undefined;
                        uint24?: undefined;
                        uint240?: undefined;
                        uint248?: undefined;
                        uint256?: undefined;
                        uint32?: undefined;
                        uint40?: undefined;
                        uint48?: undefined;
                        uint56?: undefined;
                        uint64?: undefined;
                        uint72?: undefined;
                        uint8?: undefined;
                        uint80?: undefined;
                        uint88?: undefined;
                        uint96?: undefined;
                        [key: string]: readonly TypedDataParameter[];
                        [key: `string[${string}]`]: undefined;
                        [key: `function[${string}]`]: undefined;
                        [key: `bytes1[${string}]`]: undefined;
                        [key: `uint256[${string}]`]: undefined;
                        [key: `address[${string}]`]: undefined;
                        [key: `bytes32[${string}]`]: undefined;
                        [key: `bytes[${string}]`]: undefined;
                        [key: `bytes4[${string}]`]: undefined;
                        [key: `uint8[${string}]`]: undefined;
                        [key: `uint64[${string}]`]: undefined;
                        [key: `bool[${string}]`]: undefined;
                        [key: `uint32[${string}]`]: undefined;
                        [key: `uint112[${string}]`]: undefined;
                        [key: `uint48[${string}]`]: undefined;
                        [key: `uint192[${string}]`]: undefined;
                        [key: `uint16[${string}]`]: undefined;
                        [key: `uint128[${string}]`]: undefined;
                        [key: `uint40[${string}]`]: undefined;
                        [key: `uint24[${string}]`]: undefined;
                        [key: `uint160[${string}]`]: undefined;
                        [key: `int24[${string}]`]: undefined;
                        [key: `int256[${string}]`]: undefined;
                        [key: `bytes7[${string}]`]: undefined;
                        [key: `bytes2[${string}]`]: undefined;
                        [key: `bytes3[${string}]`]: undefined;
                        [key: `bytes5[${string}]`]: undefined;
                        [key: `bytes9[${string}]`]: undefined;
                        [key: `bytes10[${string}]`]: undefined;
                        [key: `bytes26[${string}]`]: undefined;
                        [key: `bytes6[${string}]`]: undefined;
                        [key: `bytes15[${string}]`]: undefined;
                        [key: `bytes17[${string}]`]: undefined;
                        [key: `bytes8[${string}]`]: undefined;
                        [key: `bytes11[${string}]`]: undefined;
                        [key: `bytes25[${string}]`]: undefined;
                        [key: `bytes20[${string}]`]: undefined;
                        [key: `bytes31[${string}]`]: undefined;
                        [key: `bytes30[${string}]`]: undefined;
                        [key: `bytes29[${string}]`]: undefined;
                        [key: `bytes28[${string}]`]: undefined;
                        [key: `bytes27[${string}]`]: undefined;
                        [key: `bytes24[${string}]`]: undefined;
                        [key: `bytes23[${string}]`]: undefined;
                        [key: `bytes22[${string}]`]: undefined;
                        [key: `bytes21[${string}]`]: undefined;
                        [key: `bytes19[${string}]`]: undefined;
                        [key: `bytes18[${string}]`]: undefined;
                        [key: `bytes16[${string}]`]: undefined;
                        [key: `bytes14[${string}]`]: undefined;
                        [key: `bytes13[${string}]`]: undefined;
                        [key: `bytes12[${string}]`]: undefined;
                        [key: `int[${string}]`]: undefined;
                        [key: `int8[${string}]`]: undefined;
                        [key: `int88[${string}]`]: undefined;
                        [key: `int80[${string}]`]: undefined;
                        [key: `int56[${string}]`]: undefined;
                        [key: `int128[${string}]`]: undefined;
                        [key: `int40[${string}]`]: undefined;
                        [key: `int32[${string}]`]: undefined;
                        [key: `int16[${string}]`]: undefined;
                        [key: `int48[${string}]`]: undefined;
                        [key: `int64[${string}]`]: undefined;
                        [key: `int72[${string}]`]: undefined;
                        [key: `int96[${string}]`]: undefined;
                        [key: `int104[${string}]`]: undefined;
                        [key: `int112[${string}]`]: undefined;
                        [key: `int120[${string}]`]: undefined;
                        [key: `int136[${string}]`]: undefined;
                        [key: `int144[${string}]`]: undefined;
                        [key: `int152[${string}]`]: undefined;
                        [key: `int160[${string}]`]: undefined;
                        [key: `int168[${string}]`]: undefined;
                        [key: `int176[${string}]`]: undefined;
                        [key: `int184[${string}]`]: undefined;
                        [key: `int192[${string}]`]: undefined;
                        [key: `int200[${string}]`]: undefined;
                        [key: `int208[${string}]`]: undefined;
                        [key: `int216[${string}]`]: undefined;
                        [key: `int224[${string}]`]: undefined;
                        [key: `int232[${string}]`]: undefined;
                        [key: `int240[${string}]`]: undefined;
                        [key: `int248[${string}]`]: undefined;
                        [key: `uint[${string}]`]: undefined;
                        [key: `uint88[${string}]`]: undefined;
                        [key: `uint80[${string}]`]: undefined;
                        [key: `uint56[${string}]`]: undefined;
                        [key: `uint72[${string}]`]: undefined;
                        [key: `uint96[${string}]`]: undefined;
                        [key: `uint104[${string}]`]: undefined;
                        [key: `uint120[${string}]`]: undefined;
                        [key: `uint136[${string}]`]: undefined;
                        [key: `uint144[${string}]`]: undefined;
                        [key: `uint152[${string}]`]: undefined;
                        [key: `uint168[${string}]`]: undefined;
                        [key: `uint176[${string}]`]: undefined;
                        [key: `uint184[${string}]`]: undefined;
                        [key: `uint200[${string}]`]: undefined;
                        [key: `uint208[${string}]`]: undefined;
                        [key: `uint216[${string}]`]: undefined;
                        [key: `uint224[${string}]`]: undefined;
                        [key: `uint232[${string}]`]: undefined;
                        [key: `uint240[${string}]`]: undefined;
                        [key: `uint248[${string}]`]: undefined;
                    },
                primaryType extends string
                | number
                | symbol = keyof typedData,
            >(
                parameters: TypedDataDefinition<typedData, primaryType>,
            ) => Promise<`0x${string}`>;
            signUserOperation: (
                parameters: UnionPartialBy<UserOperation, "sender"> & {
                    chainId?: number;
                },
            ) => Promise<`0x${string}`>;
            toDelegation: (
                multiChain?: boolean,
                delegatedContract?: `0x${string}`,
            ) => Promise<MeeAuthorization>;
            type: "smart";
            unDelegate: () => Promise<`0x${string}`>;
            userOperation?: {
                estimateGas?: (
                    userOperation: UserOperationRequest,
                ) => Promise<
                    undefined
                    | ExactPartial<EstimateUserOperationGasReturnType>,
                >;
            };
            walletClient: {
                account: Account;
                addChain: (args: AddChainParameters) => Promise<void>;
                batch?: { multicall?: boolean | { batchSize?: number; wait?: number } };
                cacheTime: number;
                ccipRead?:
                    | false
                    | {
                        request?: (
                            parameters: CcipRequestParameters,
                        ) => Promise<`0x${string}`>;
                    };
                chain: undefined
                | Chain;
                deployContract: <
                    const abi extends Abi
                    | readonly unknown[],
                    chainOverride extends undefined | Chain,
                >(
                    args: DeployContractParameters<
                        abi,
                        undefined
                        | Chain,
                        Account,
                        chainOverride,
                    >,
                ) => Promise<`0x${string}`>;
                extend: <
                    const client extends
                        {
                            account?: undefined;
                            batch?: undefined;
                            cacheTime?: undefined;
                            ccipRead?: undefined;
                            chain?: undefined;
                            key?: undefined;
                            name?: undefined;
                            pollingInterval?: undefined;
                            request?: undefined;
                            transport?: undefined;
                            type?: undefined;
                            uid?: undefined;
                            [key: string]: unknown;
                        } & ExactPartial<
                            ExtendableProtectedActions<Transport, undefined | Chain, Account>,
                        >,
                >(
                    fn: (
                        client: Client<
                            Transport,
                            undefined
                            | Chain,
                            Account,
                            [
                                {
                                    Method: "eth_accounts";
                                    Parameters?: undefined;
                                    ReturnType: `0x${string}`[];
                                },
                                {
                                    Method: "eth_chainId";
                                    Parameters?: undefined;
                                    ReturnType: `0x${string}`;
                                },
                                {
                                    Method: "eth_estimateGas";
                                    Parameters: | [transaction: RpcTransactionRequest]
                                    | [transaction: RpcTransactionRequest, block: (...) | (...)]
                                    | [
                                        transaction: RpcTransactionRequest,
                                        block: (...)
                                        | (...),
                                        stateOverride: RpcStateOverride,
                                    ];
                                    ReturnType: `0x${string}`;
                                },
                                {
                                    Method: "eth_requestAccounts";
                                    Parameters?: undefined;
                                    ReturnType: `0x${string}`[];
                                },
                                {
                                    Method: "eth_sendTransaction";
                                    Parameters: [transaction: RpcTransactionRequest];
                                    ReturnType: `0x${string}`;
                                },
                            ],
                            WalletActions<undefined | Chain, Account>,
                        >,
                    ) => client,
                ) => Client<
                    Transport,
                    undefined
                    | Chain,
                    Account,
                    [
                        {
                            Method: "eth_accounts";
                            Parameters?: undefined;
                            ReturnType: `0x${string}`[];
                        },
                        {
                            Method: "eth_chainId";
                            Parameters?: undefined;
                            ReturnType: `0x${string}`;
                        },
                        {
                            Method: "eth_estimateGas";
                            Parameters: | [transaction: RpcTransactionRequest]
                            | [transaction: RpcTransactionRequest, block: `0x${(...)}` | BlockTag]
                            | [
                                transaction: RpcTransactionRequest,
                                block: `0x${(...)}`
                                | BlockTag,
                                stateOverride: RpcStateOverride,
                            ];
                            ReturnType: `0x${string}`;
                        },
                        {
                            Method: "eth_requestAccounts";
                            Parameters?: undefined;
                            ReturnType: `0x${string}`[];
                        },
                        {
                            Method: "eth_sendTransaction";
                            Parameters: [transaction: RpcTransactionRequest];
                            ReturnType: `0x${string}`;
                        },
                    ],
                    { [K in string
                    | number
                    | symbol]: client[K] } & WalletActions<undefined | Chain, Account>,
                >;
                getAddresses: () => Promise<GetAddressesReturnType>;
                getChainId: () => Promise<number>;
                getPermissions: () => Promise<GetPermissionsReturnType>;
                key: string;
                name: string;
                pollingInterval: number;
                prepareAuthorization: (
                    parameters: PrepareAuthorizationParameters<Account>,
                ) => Promise<PrepareAuthorizationReturnType>;
                prepareTransactionRequest: <
                    const request extends
                        (
                            | Omit<
                                {
                                    accessList?: undefined;
                                    authorizationList?: undefined;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: bigint;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: undefined;
                                    maxPriorityFeePerGas?: undefined;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null
                                    | `0x${string}`;
                                    type?: "legacy";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: undefined;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: bigint;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: undefined;
                                    maxPriorityFeePerGas?: undefined;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null
                                    | `0x${string}`;
                                    type?: "eip2930";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: undefined;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: undefined;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: bigint;
                                    maxPriorityFeePerGas?: bigint;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null
                                    | `0x${string}`;
                                    type?: "eip1559";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: undefined;
                                    blobs: readonly `0x${(...)}`[]
                                    | readonly ByteArray[];
                                    blobVersionedHashes?: readonly `0x${(...)}`[];
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: undefined;
                                    kzg?: Kzg;
                                    maxFeePerBlobGas: bigint;
                                    maxFeePerGas?: bigint;
                                    maxPriorityFeePerGas?: bigint;
                                    nonce?: number;
                                    sidecars?: readonly BlobSidecar<(...)>[];
                                    to: null | `0x${string}`;
                                    type?: "eip4844";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: AuthorizationList<number, boolean>;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: undefined;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: bigint;
                                    maxPriorityFeePerGas?: bigint;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null | `0x${string}`;
                                    type?: "eip7702";
                                    value?: bigint;
                                },
                                "from",
                            >
                        ) & { kzg?: Kzg } & {
                            nonceManager?: NonceManager;
                            parameters?: readonly PrepareTransactionRequestParameterType[];
                        },
                    chainOverride extends undefined
                    | Chain = undefined,
                    accountOverride extends undefined | `0x${string}` | Account = undefined,
                >(
                    args: PrepareTransactionRequestParameters<
                        undefined
                        | Chain,
                        Account,
                        chainOverride,
                        accountOverride,
                        request,
                    >,
                ) => Promise<
                    {
                        [K in string
                        | number
                        | symbol]: (
                            UnionRequiredBy<
                                Extract<(...), (...)> & { chainId?: ... },
                                ParameterTypeToParameters<(...) extends (...) ? (...) : (...)>,
                            > & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">)
                        )[K]
                    },
                >;
                request: EIP1193RequestFn<
                    [
                        {
                            Method: "eth_accounts";
                            Parameters?: undefined;
                            ReturnType: `0x${string}`[];
                        },
                        {
                            Method: "eth_chainId";
                            Parameters?: undefined;
                            ReturnType: `0x${string}`;
                        },
                        {
                            Method: "eth_estimateGas";
                            Parameters: | [transaction: RpcTransactionRequest]
                            | [
                                transaction: RpcTransactionRequest,
                                block: `0x${string}`
                                | BlockTag,
                            ]
                            | [
                                transaction: RpcTransactionRequest,
                                block: `0x${string}`
                                | BlockTag,
                                stateOverride: RpcStateOverride,
                            ];
                            ReturnType: `0x${string}`;
                        },
                        {
                            Method: "eth_requestAccounts";
                            Parameters?: undefined;
                            ReturnType: `0x${string}`[];
                        },
                        {
                            Method: "eth_sendTransaction";
                            Parameters: [transaction: RpcTransactionRequest];
                            ReturnType: `0x${string}`;
                        },
                    ],
                >;
                requestAddresses: () => Promise<RequestAddressesReturnType>;
                requestPermissions: (
                    args: {
                        eth_accounts: Record<string, any>;
                        [key: string]: Record<string, any>;
                    },
                ) => Promise<RequestPermissionsReturnType>;
                sendRawTransaction: (
                    args: SendRawTransactionParameters,
                ) => Promise<`0x${string}`>;
                sendTransaction: <
                    const request extends
                        (
                            | Omit<
                                {
                                    accessList?: undefined;
                                    authorizationList?: undefined;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: bigint;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: undefined;
                                    maxPriorityFeePerGas?: undefined;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null
                                    | `0x${string}`;
                                    type?: "legacy";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: undefined;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: bigint;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: undefined;
                                    maxPriorityFeePerGas?: undefined;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null
                                    | `0x${string}`;
                                    type?: "eip2930";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: undefined;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: undefined;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: bigint;
                                    maxPriorityFeePerGas?: bigint;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null
                                    | `0x${string}`;
                                    type?: "eip1559";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: undefined;
                                    blobs: readonly `0x${(...)}`[]
                                    | readonly ByteArray[];
                                    blobVersionedHashes?: readonly `0x${(...)}`[];
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: undefined;
                                    kzg?: Kzg;
                                    maxFeePerBlobGas: bigint;
                                    maxFeePerGas?: bigint;
                                    maxPriorityFeePerGas?: bigint;
                                    nonce?: number;
                                    sidecars?: readonly BlobSidecar<(...)>[];
                                    to: null | `0x${string}`;
                                    type?: "eip4844";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: AuthorizationList<number, boolean>;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: undefined;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: bigint;
                                    maxPriorityFeePerGas?: bigint;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null | `0x${string}`;
                                    type?: "eip7702";
                                    value?: bigint;
                                },
                                "from",
                            >
                        ) & { kzg?: Kzg },
                    chainOverride extends undefined
                    | Chain = undefined,
                >(
                    args: SendTransactionParameters<
                        undefined
                        | Chain,
                        Account,
                        chainOverride,
                        request,
                    >,
                ) => Promise<`0x${string}`>;
                signAuthorization: (
                    parameters: SignAuthorizationParameters<Account>,
                ) => Promise<SignAuthorizationReturnType>;
                signMessage: (
                    args: SignMessageParameters<Account>,
                ) => Promise<`0x${string}`>;
                signTransaction: <
                    chainOverride extends undefined
                    | Chain,
                    const request extends
                    
                            | Omit<
                                {
                                    accessList?: undefined;
                                    authorizationList?: undefined;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: bigint;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: undefined;
                                    maxPriorityFeePerGas?: undefined;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null
                                    | `0x${string}`;
                                    type?: "legacy";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: undefined;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: bigint;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: undefined;
                                    maxPriorityFeePerGas?: undefined;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null
                                    | `0x${string}`;
                                    type?: "eip2930";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: undefined;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: undefined;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: bigint;
                                    maxPriorityFeePerGas?: bigint;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null
                                    | `0x${string}`;
                                    type?: "eip1559";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: undefined;
                                    blobs: readonly `0x${string}`[]
                                    | readonly ByteArray[];
                                    blobVersionedHashes?: readonly `0x${string}`[];
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: undefined;
                                    kzg?: Kzg;
                                    maxFeePerBlobGas: bigint;
                                    maxFeePerGas?: bigint;
                                    maxPriorityFeePerGas?: bigint;
                                    nonce?: number;
                                    sidecars?: readonly BlobSidecar<`0x${(...)}`>[];
                                    to: null | `0x${string}`;
                                    type?: "eip4844";
                                    value?: bigint;
                                },
                                "from",
                            >
                            | Omit<
                                {
                                    accessList?: AccessList;
                                    authorizationList?: AuthorizationList<number, boolean>;
                                    blobs?: undefined;
                                    blobVersionedHashes?: undefined;
                                    data?: `0x${string}`;
                                    from?: `0x${string}`;
                                    gas?: bigint;
                                    gasPrice?: undefined;
                                    kzg?: undefined;
                                    maxFeePerBlobGas?: undefined;
                                    maxFeePerGas?: bigint;
                                    maxPriorityFeePerGas?: bigint;
                                    nonce?: number;
                                    sidecars?: undefined;
                                    to?: null | `0x${string}`;
                                    type?: "eip7702";
                                    value?: bigint;
                                },
                                "from",
                            > = UnionOmit<
                        ExtractChainFormatterParameters<
                            DeriveChain<undefined | Chain, chainOverride>,
                            "transactionRequest",
                            TransactionRequest,
                        >,
                        "from",
                    >,
                >(
                    args: SignTransactionParameters<
                        undefined
                        | Chain,
                        Account,
                        chainOverride,
                        request,
                    >,
                ) => Promise<
                    TransactionSerialized<
                        GetTransactionType<
                            request,
                            | (request extends LegacyProperties ? "legacy" : never)
                            | (request extends EIP1559Properties ? "eip1559" : never)
                            | (request extends EIP2930Properties ? "eip2930" : never)
                            | (request extends EIP4844Properties ? "eip4844" : never)
                            | (request extends EIP7702Properties ? "eip7702" : never)
                            | (
                                request["type"] extends undefined
                                | string
                                    ? Extract<any[any], string>
                                    : never
                            ),
                        >,

                            | (
                                GetTransactionType<
                                    request,
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...)),
                                > extends "eip1559"
                                    ? `0x02${string}`
                                    : never
                            )
                            | (
                                GetTransactionType<
                                    request,
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...)),
                                > extends "eip2930"
                                    ? `0x01${string}`
                                    : never
                            )
                            | (
                                GetTransactionType<
                                    request,
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...)),
                                > extends "eip4844"
                                    ? `0x03${string}`
                                    : never
                            )
                            | (
                                GetTransactionType<
                                    request,
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...)),
                                > extends "eip7702"
                                    ? `0x04${string}`
                                    : never
                            )
                            | (
                                GetTransactionType<
                                    request,
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...))
                                    | ((...) extends (...) ? (...) : (...)),
                                > extends "legacy"
                                    ? TransactionSerializedLegacy
                                    : never
                            ),
                    >,
                >;
                signTypedData: <
                    const typedData extends
                        | {
                            address?: undefined;
                            bool?: undefined;
                            bytes?: undefined;
                            bytes1?: undefined;
                            bytes10?: undefined;
                            bytes11?: undefined;
                            bytes12?: undefined;
                            bytes13?: undefined;
                            bytes14?: undefined;
                            bytes15?: undefined;
                            bytes16?: undefined;
                            bytes17?: undefined;
                            bytes18?: undefined;
                            bytes19?: undefined;
                            bytes2?: undefined;
                            bytes20?: undefined;
                            bytes21?: undefined;
                            bytes22?: undefined;
                            bytes23?: undefined;
                            bytes24?: undefined;
                            bytes25?: undefined;
                            bytes26?: undefined;
                            bytes27?: undefined;
                            bytes28?: undefined;
                            bytes29?: undefined;
                            bytes3?: undefined;
                            bytes30?: undefined;
                            bytes31?: undefined;
                            bytes32?: undefined;
                            bytes4?: undefined;
                            bytes5?: undefined;
                            bytes6?: undefined;
                            bytes7?: undefined;
                            bytes8?: undefined;
                            bytes9?: undefined;
                            int104?: undefined;
                            int112?: undefined;
                            int120?: undefined;
                            int128?: undefined;
                            int136?: undefined;
                            int144?: undefined;
                            int152?: undefined;
                            int16?: undefined;
                            int160?: undefined;
                            int168?: undefined;
                            int176?: undefined;
                            int184?: undefined;
                            int192?: undefined;
                            int200?: undefined;
                            int208?: undefined;
                            int216?: undefined;
                            int224?: undefined;
                            int232?: undefined;
                            int24?: undefined;
                            int240?: undefined;
                            int248?: undefined;
                            int256?: undefined;
                            int32?: undefined;
                            int40?: undefined;
                            int48?: undefined;
                            int56?: undefined;
                            int64?: undefined;
                            int72?: undefined;
                            int8?: undefined;
                            int80?: undefined;
                            int88?: undefined;
                            int96?: undefined;
                            string?: undefined;
                            uint104?: undefined;
                            uint112?: undefined;
                            uint120?: undefined;
                            uint128?: undefined;
                            uint136?: undefined;
                            uint144?: undefined;
                            uint152?: undefined;
                            uint16?: undefined;
                            uint160?: undefined;
                            uint168?: undefined;
                            uint176?: undefined;
                            uint184?: undefined;
                            uint192?: undefined;
                            uint200?: undefined;
                            uint208?: undefined;
                            uint216?: undefined;
                            uint224?: undefined;
                            uint232?: undefined;
                            uint24?: undefined;
                            uint240?: undefined;
                            uint248?: undefined;
                            uint256?: undefined;
                            uint32?: undefined;
                            uint40?: undefined;
                            uint48?: undefined;
                            uint56?: undefined;
                            uint64?: undefined;
                            uint72?: undefined;
                            uint8?: undefined;
                            uint80?: undefined;
                            uint88?: undefined;
                            uint96?: undefined;
                            [key: string]: readonly TypedDataParameter[];
                            [key: `string[${string}]`]: undefined;
                            [key: `function[${string}]`]: undefined;
                            [key: `bytes1[${string}]`]: undefined;
                            [key: `uint256[${string}]`]: undefined;
                            [key: `address[${string}]`]: undefined;
                            [key: `bytes32[${string}]`]: undefined;
                            [key: `bytes[${string}]`]: undefined;
                            [key: `bytes4[${string}]`]: undefined;
                            [key: `uint8[${string}]`]: undefined;
                            [key: `uint64[${string}]`]: undefined;
                            [key: `bool[${string}]`]: undefined;
                            [key: `uint32[${string}]`]: undefined;
                            [key: `uint112[${string}]`]: undefined;
                            [key: `uint48[${string}]`]: undefined;
                            [key: `uint192[${string}]`]: undefined;
                            [key: `uint16[${string}]`]: undefined;
                            [key: `uint128[${string}]`]: undefined;
                            [key: `uint40[${string}]`]: undefined;
                            [key: `uint24[${string}]`]: undefined;
                            [key: `uint160[${string}]`]: undefined;
                            [key: `int24[${string}]`]: undefined;
                            [key: `int256[${string}]`]: undefined;
                            [key: `bytes7[${string}]`]: undefined;
                            [key: `bytes2[${string}]`]: undefined;
                            [key: `bytes3[${string}]`]: undefined;
                            [key: `bytes5[${string}]`]: undefined;
                            [key: `bytes9[${string}]`]: undefined;
                            [key: `bytes10[${string}]`]: undefined;
                            [key: `bytes26[${string}]`]: undefined;
                            [key: `bytes6[${string}]`]: undefined;
                            [key: `bytes15[${string}]`]: undefined;
                            [key: `bytes17[${string}]`]: undefined;
                            [key: `bytes8[${string}]`]: undefined;
                            [key: `bytes11[${string}]`]: undefined;
                            [key: `bytes25[${string}]`]: undefined;
                            [key: `bytes20[${string}]`]: undefined;
                            [key: `bytes31[${string}]`]: undefined;
                            [key: `bytes30[${string}]`]: undefined;
                            [key: `bytes29[${string}]`]: undefined;
                            [key: `bytes28[${string}]`]: undefined;
                            [key: `bytes27[${string}]`]: undefined;
                            [key: `bytes24[${string}]`]: undefined;
                            [key: `bytes23[${string}]`]: undefined;
                            [key: `bytes22[${string}]`]: undefined;
                            [key: `bytes21[${string}]`]: undefined;
                            [key: `bytes19[${string}]`]: undefined;
                            [key: `bytes18[${string}]`]: undefined;
                            [key: `bytes16[${string}]`]: undefined;
                            [key: `bytes14[${string}]`]: undefined;
                            [key: `bytes13[${string}]`]: undefined;
                            [key: `bytes12[${string}]`]: undefined;
                            [key: `int[${string}]`]: undefined;
                            [key: `int8[${string}]`]: undefined;
                            [key: `int88[${string}]`]: undefined;
                            [key: `int80[${string}]`]: undefined;
                            [key: `int56[${string}]`]: undefined;
                            [key: `int128[${string}]`]: undefined;
                            [key: `int40[${string}]`]: undefined;
                            [key: `int32[${string}]`]: undefined;
                            [key: `int16[${string}]`]: undefined;
                            [key: `int48[${string}]`]: undefined;
                            [key: `int64[${string}]`]: undefined;
                            [key: `int72[${string}]`]: undefined;
                            [key: `int96[${string}]`]: undefined;
                            [key: `int104[${string}]`]: undefined;
                            [key: `int112[${string}]`]: undefined;
                            [key: `int120[${string}]`]: undefined;
                            [key: `int136[${string}]`]: undefined;
                            [key: `int144[${string}]`]: undefined;
                            [key: `int152[${string}]`]: undefined;
                            [key: `int160[${string}]`]: undefined;
                            [key: `int168[${string}]`]: undefined;
                            [key: `int176[${string}]`]: undefined;
                            [key: `int184[${string}]`]: undefined;
                            [key: `int192[${string}]`]: undefined;
                            [key: `int200[${string}]`]: undefined;
                            [key: `int208[${string}]`]: undefined;
                            [key: `int216[${string}]`]: undefined;
                            [key: `int224[${string}]`]: undefined;
                            [key: `int232[${string}]`]: undefined;
                            [key: `int240[${string}]`]: undefined;
                            [key: `int248[${string}]`]: undefined;
                            [key: `uint[${string}]`]: undefined;
                            [key: `uint88[${string}]`]: undefined;
                            [key: `uint80[${string}]`]: undefined;
                            [key: `uint56[${string}]`]: undefined;
                            [key: `uint72[${string}]`]: undefined;
                            [key: `uint96[${string}]`]: undefined;
                            [key: `uint104[${string}]`]: undefined;
                            [key: `uint120[${string}]`]: undefined;
                            [key: `uint136[${string}]`]: undefined;
                            [key: `uint144[${string}]`]: undefined;
                            [key: `uint152[${string}]`]: undefined;
                            [key: `uint168[${string}]`]: undefined;
                            [key: `uint176[${string}]`]: undefined;
                            [key: `uint184[${string}]`]: undefined;
                            [key: `uint200[${string}]`]: undefined;
                            [key: `uint208[${string}]`]: undefined;
                            [key: `uint216[${string}]`]: undefined;
                            [key: `uint224[${string}]`]: undefined;
                            [key: `uint232[${string}]`]: undefined;
                            [key: `uint240[${string}]`]: undefined;
                            [key: `uint248[${string}]`]: undefined;
                        }
                        | { [key: string]: unknown },
                    primaryType extends string,
                >(
                    args: SignTypedDataParameters<typedData, primaryType, Account>,
                ) => Promise<`0x${string}`>;
                switchChain: (args: SwitchChainParameters) => Promise<void>;
                transport: TransportConfig<string, EIP1193RequestFn> & Record<
                    string,
                    any,
                >;
                type: string;
                uid: string;
                watchAsset: (args: WatchAssetParams) => Promise<boolean>;
                writeContract: <
                    const abi extends Abi
                    | readonly unknown[],
                    functionName extends string,
                    args extends unknown,
                    chainOverride extends undefined | Chain = undefined,
                >(
                    args: WriteContractParameters<
                        abi,
                        functionName,
                        args,
                        undefined
                        | Chain,
                        Account,
                        chainOverride,
                    >,
                ) => Promise<`0x${string}`>;
            };
        },
    >

    Nexus Smart Account. NexusAccount