UNPKG

@etherspot/remote-signer

Version:

Etherspot Permissioned Signer SDK - signs the UserOp with SessionKey and sends it to the Bundler

1,034 lines (1,032 loc) 99.2 kB
import * as node_modules_viem__types_types_utils from 'node_modules/viem/_types/types/utils'; import * as node_modules_viem__types_actions_siwe_verifySiweMessage from 'node_modules/viem/_types/actions/siwe/verifySiweMessage'; import * as viem from 'viem'; import { PublicClient, Address, Transport, Chain, Hex, Account } from 'viem'; import * as chains from 'viem/chains'; declare const isContract: ({ client, address, }: { client: PublicClient; address: Address; }) => Promise<boolean>; declare const getPublicClient: ({ chainId, transport }: { chainId: number; transport: Transport; }) => { account: { address: undefined; type: "json-rpc"; }; batch?: viem.ClientConfig["batch"] | undefined; cacheTime: number; ccipRead?: viem.ClientConfig["ccipRead"] | undefined; chain: Chain; key: string; name: string; pollingInterval: number; request: viem.EIP1193RequestFn<[{ Method: "web3_clientVersion"; Parameters?: undefined; ReturnType: string; }, { Method: "web3_sha3"; Parameters: [data: viem.Hash]; ReturnType: string; }, { Method: "net_listening"; Parameters?: undefined; ReturnType: boolean; }, { Method: "net_peerCount"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "net_version"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_blobBaseFee"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_blockNumber"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_call"; Parameters: [transaction: viem.ExactPartial<viem.RpcTransactionRequest>] | [transaction: viem.ExactPartial<viem.RpcTransactionRequest>, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier] | [transaction: viem.ExactPartial<viem.RpcTransactionRequest>, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier, stateOverrideSet: viem.RpcStateOverride]; ReturnType: Hex; }, { Method: "eth_chainId"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_coinbase"; Parameters?: undefined; ReturnType: Address; }, { Method: "eth_estimateGas"; Parameters: [transaction: viem.RpcTransactionRequest] | [transaction: viem.RpcTransactionRequest, block: viem.RpcBlockNumber | viem.BlockTag] | [transaction: viem.RpcTransactionRequest, block: viem.RpcBlockNumber | viem.BlockTag, stateOverride: viem.RpcStateOverride]; ReturnType: viem.Quantity; }, { Method: "eth_feeHistory"; Parameters: [blockCount: viem.Quantity, newestBlock: viem.RpcBlockNumber | viem.BlockTag, rewardPercentiles: number[] | undefined]; ReturnType: viem.RpcFeeHistory; }, { Method: "eth_gasPrice"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_getBalance"; Parameters: [address: Address, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier]; ReturnType: viem.Quantity; }, { Method: "eth_getBlockByHash"; Parameters: [hash: viem.Hash, includeTransactionObjects: boolean]; ReturnType: viem.RpcBlock | null; }, { Method: "eth_getBlockByNumber"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag, includeTransactionObjects: boolean]; ReturnType: viem.RpcBlock | null; }, { Method: "eth_getBlockTransactionCountByHash"; Parameters: [hash: viem.Hash]; ReturnType: viem.Quantity; }, { Method: "eth_getBlockTransactionCountByNumber"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag]; ReturnType: viem.Quantity; }, { Method: "eth_getCode"; Parameters: [address: Address, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier]; ReturnType: Hex; }, { Method: "eth_getFilterChanges"; Parameters: [filterId: viem.Quantity]; ReturnType: viem.RpcLog[] | Hex[]; }, { Method: "eth_getFilterLogs"; Parameters: [filterId: viem.Quantity]; ReturnType: viem.RpcLog[]; }, { Method: "eth_getLogs"; Parameters: [{ address?: Address | Address[] | undefined; topics?: viem.LogTopic[] | undefined; } & ({ fromBlock?: viem.RpcBlockNumber | viem.BlockTag | undefined; toBlock?: viem.RpcBlockNumber | viem.BlockTag | undefined; blockHash?: undefined; } | { fromBlock?: undefined; toBlock?: undefined; blockHash?: viem.Hash | undefined; })]; ReturnType: viem.RpcLog[]; }, { Method: "eth_getProof"; Parameters: [address: Address, storageKeys: viem.Hash[], block: viem.RpcBlockNumber | viem.BlockTag]; ReturnType: viem.RpcProof; }, { Method: "eth_getStorageAt"; Parameters: [address: Address, index: viem.Quantity, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier]; ReturnType: Hex; }, { Method: "eth_getTransactionByBlockHashAndIndex"; Parameters: [hash: viem.Hash, index: viem.Quantity]; ReturnType: viem.RpcTransaction | null; }, { Method: "eth_getTransactionByBlockNumberAndIndex"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag, index: viem.Quantity]; ReturnType: viem.RpcTransaction | null; }, { Method: "eth_getTransactionByHash"; Parameters: [hash: viem.Hash]; ReturnType: viem.RpcTransaction | null; }, { Method: "eth_getTransactionCount"; Parameters: [address: Address, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier]; ReturnType: viem.Quantity; }, { Method: "eth_getTransactionReceipt"; Parameters: [hash: viem.Hash]; ReturnType: viem.RpcTransactionReceipt | null; }, { Method: "eth_getUncleByBlockHashAndIndex"; Parameters: [hash: viem.Hash, index: viem.Quantity]; ReturnType: viem.RpcUncle | null; }, { Method: "eth_getUncleByBlockNumberAndIndex"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag, index: viem.Quantity]; ReturnType: viem.RpcUncle | null; }, { Method: "eth_getUncleCountByBlockHash"; Parameters: [hash: viem.Hash]; ReturnType: viem.Quantity; }, { Method: "eth_getUncleCountByBlockNumber"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag]; ReturnType: viem.Quantity; }, { Method: "eth_maxPriorityFeePerGas"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_newBlockFilter"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_newFilter"; Parameters: [filter: { fromBlock?: viem.RpcBlockNumber | viem.BlockTag | undefined; toBlock?: viem.RpcBlockNumber | viem.BlockTag | undefined; address?: Address | Address[] | undefined; topics?: viem.LogTopic[] | undefined; }]; ReturnType: viem.Quantity; }, { Method: "eth_newPendingTransactionFilter"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_protocolVersion"; Parameters?: undefined; ReturnType: string; }, { Method: "eth_sendRawTransaction"; Parameters: [signedTransaction: Hex]; ReturnType: viem.Hash; }, { Method: "eth_uninstallFilter"; Parameters: [filterId: viem.Quantity]; ReturnType: boolean; }, ...any[]]>; transport: viem.TransportConfig<string, viem.EIP1193RequestFn> & Record<string, any>; type: string; uid: string; call: (parameters: viem.CallParameters<Chain>) => Promise<viem.CallReturnType>; createBlockFilter: () => Promise<viem.CreateBlockFilterReturnType>; createContractEventFilter: <const TAbi extends viem.Abi | readonly unknown[], TEventName extends viem.ContractEventName<TAbi> | undefined, TArgs extends viem.MaybeExtractEventArgsFromAbi<TAbi, TEventName> | undefined, TStrict extends boolean | undefined = undefined, TFromBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, TToBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined>(args: viem.CreateContractEventFilterParameters<TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>) => Promise<viem.CreateContractEventFilterReturnType<TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>>; createEventFilter: <const TAbiEvent extends viem.AbiEvent | undefined = undefined, const TAbiEvents extends readonly viem.AbiEvent[] | readonly unknown[] | undefined = TAbiEvent extends viem.AbiEvent ? [TAbiEvent] : undefined, TStrict extends boolean | undefined = undefined, TFromBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, TToBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, _EventName extends string | undefined = viem.MaybeAbiEventName<TAbiEvent>, _Args extends viem.MaybeExtractEventArgsFromAbi<TAbiEvents, _EventName> | undefined = undefined>(args?: viem.CreateEventFilterParameters<TAbiEvent, TAbiEvents, TStrict, TFromBlock, TToBlock, _EventName, _Args> | undefined) => Promise<viem.CreateEventFilterReturnType<TAbiEvent, TAbiEvents, TStrict, TFromBlock, TToBlock, _EventName, _Args>>; createPendingTransactionFilter: () => Promise<viem.CreatePendingTransactionFilterReturnType>; estimateContractGas: <TChain extends Chain | undefined, const abi extends viem.Abi | readonly unknown[], functionName extends viem.ContractFunctionName<abi, "nonpayable" | "payable">, args extends viem.ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>>(args: viem.EstimateContractGasParameters<abi, functionName, args, TChain>) => Promise<viem.EstimateContractGasReturnType>; estimateGas: (args: viem.EstimateGasParameters<Chain>) => Promise<viem.EstimateGasReturnType>; getBalance: (args: viem.GetBalanceParameters) => Promise<viem.GetBalanceReturnType>; getBlobBaseFee: () => Promise<viem.GetBlobBaseFeeReturnType>; getBlock: <TIncludeTransactions extends boolean = false, TBlockTag extends viem.BlockTag = "latest">(args?: viem.GetBlockParameters<TIncludeTransactions, TBlockTag>) => Promise<viem.GetBlockReturnType<Chain, TIncludeTransactions, TBlockTag>>; getBlockNumber: (args?: viem.GetBlockNumberParameters | undefined) => Promise<viem.GetBlockNumberReturnType>; getBlockTransactionCount: (args?: viem.GetBlockTransactionCountParameters | undefined) => Promise<viem.GetBlockTransactionCountReturnType>; getBytecode: (args: viem.GetBytecodeParameters) => Promise<viem.GetBytecodeReturnType>; getChainId: () => Promise<viem.GetChainIdReturnType>; getCode: (args: viem.GetBytecodeParameters) => Promise<viem.GetBytecodeReturnType>; getContractEvents: <const abi extends viem.Abi | readonly unknown[], eventName extends viem.ContractEventName<abi> | undefined = undefined, strict extends boolean | undefined = undefined, fromBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, toBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined>(args: viem.GetContractEventsParameters<abi, eventName, strict, fromBlock, toBlock>) => Promise<viem.GetContractEventsReturnType<abi, eventName, strict, fromBlock, toBlock>>; getEip712Domain: (args: viem.GetEip712DomainParameters) => Promise<viem.GetEip712DomainReturnType>; getEnsAddress: (args: viem.GetEnsAddressParameters) => Promise<viem.GetEnsAddressReturnType>; getEnsAvatar: (args: viem.GetEnsAvatarParameters) => Promise<viem.GetEnsAvatarReturnType>; getEnsName: (args: viem.GetEnsNameParameters) => Promise<viem.GetEnsNameReturnType>; getEnsResolver: (args: viem.GetEnsResolverParameters) => Promise<viem.GetEnsResolverReturnType>; getEnsText: (args: viem.GetEnsTextParameters) => Promise<viem.GetEnsTextReturnType>; getFeeHistory: (args: viem.GetFeeHistoryParameters) => Promise<viem.GetFeeHistoryReturnType>; estimateFeesPerGas: <TChainOverride extends Chain | undefined = undefined, TType extends viem.FeeValuesType = "eip1559">(args?: viem.EstimateFeesPerGasParameters<Chain, TChainOverride, TType>) => Promise<viem.EstimateFeesPerGasReturnType>; getFilterChanges: <TFilterType extends viem.FilterType, const TAbi extends viem.Abi | readonly unknown[] | undefined, TEventName extends string | undefined, TStrict extends boolean | undefined = undefined, TFromBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, TToBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined>(args: viem.GetFilterChangesParameters<TFilterType, TAbi, TEventName, TStrict, TFromBlock, TToBlock>) => Promise<viem.GetFilterChangesReturnType<TFilterType, TAbi, TEventName, TStrict, TFromBlock, TToBlock>>; getFilterLogs: <const TAbi extends viem.Abi | readonly unknown[] | undefined, TEventName extends string | undefined, TStrict extends boolean | undefined = undefined, TFromBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, TToBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined>(args: viem.GetFilterLogsParameters<TAbi, TEventName, TStrict, TFromBlock, TToBlock>) => Promise<viem.GetFilterLogsReturnType<TAbi, TEventName, TStrict, TFromBlock, TToBlock>>; getGasPrice: () => Promise<viem.GetGasPriceReturnType>; getLogs: <const TAbiEvent extends viem.AbiEvent | undefined = undefined, const TAbiEvents extends readonly viem.AbiEvent[] | readonly unknown[] | undefined = TAbiEvent extends viem.AbiEvent ? [TAbiEvent] : undefined, TStrict extends boolean | undefined = undefined, TFromBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, TToBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined>(args?: viem.GetLogsParameters<TAbiEvent, TAbiEvents, TStrict, TFromBlock, TToBlock> | undefined) => Promise<viem.GetLogsReturnType<TAbiEvent, TAbiEvents, TStrict, TFromBlock, TToBlock>>; getProof: (args: viem.GetProofParameters) => Promise<viem.GetProofReturnType>; estimateMaxPriorityFeePerGas: <TChainOverride extends Chain | undefined = undefined>(args?: { chain: TChainOverride; }) => Promise<viem.EstimateMaxPriorityFeePerGasReturnType>; getStorageAt: (args: viem.GetStorageAtParameters) => Promise<viem.GetStorageAtReturnType>; getTransaction: <TBlockTag extends viem.BlockTag = "latest">(args: viem.GetTransactionParameters<TBlockTag>) => Promise<viem.GetTransactionReturnType<Chain, TBlockTag>>; getTransactionConfirmations: (args: viem.GetTransactionConfirmationsParameters<Chain>) => Promise<viem.GetTransactionConfirmationsReturnType>; getTransactionCount: (args: viem.GetTransactionCountParameters) => Promise<viem.GetTransactionCountReturnType>; getTransactionReceipt: (args: viem.GetTransactionReceiptParameters) => Promise<viem.GetTransactionReceiptReturnType<Chain>>; multicall: <const contracts extends readonly unknown[], allowFailure extends boolean = true>(args: viem.MulticallParameters<contracts, allowFailure>) => Promise<viem.MulticallReturnType<contracts, allowFailure>>; prepareTransactionRequest: <const TRequest extends viem.PrepareTransactionRequestRequest<Chain, TChainOverride>, TChainOverride extends Chain | undefined = undefined, TAccountOverride extends Account | Address | undefined = undefined>(args: viem.PrepareTransactionRequestParameters<Chain, Account, TChainOverride, TAccountOverride, TRequest>) => Promise<viem.PrepareTransactionRequestReturnType<Chain, Account, TChainOverride, TAccountOverride, TRequest>>; readContract: <const abi extends viem.Abi | readonly unknown[], functionName extends viem.ContractFunctionName<abi, "pure" | "view">, args extends viem.ContractFunctionArgs<abi, "pure" | "view", functionName>>(args: viem.ReadContractParameters<abi, functionName, args>) => Promise<viem.ReadContractReturnType<abi, functionName, args>>; sendRawTransaction: (args: viem.SendRawTransactionParameters) => Promise<viem.SendRawTransactionReturnType>; simulateContract: <const abi extends viem.Abi | readonly unknown[], functionName extends viem.ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends viem.ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends Chain | undefined, accountOverride extends Account | Address | undefined = undefined>(args: viem.SimulateContractParameters<abi, functionName, args_1, Chain, chainOverride, accountOverride>) => Promise<viem.SimulateContractReturnType<abi, functionName, args_1, Chain, Account, chainOverride, accountOverride>>; verifyMessage: (args: viem.VerifyMessageActionParameters) => Promise<viem.VerifyMessageActionReturnType>; verifySiweMessage: (args: node_modules_viem__types_actions_siwe_verifySiweMessage.VerifySiweMessageParameters) => Promise<node_modules_viem__types_actions_siwe_verifySiweMessage.VerifySiweMessageReturnType>; verifyTypedData: (args: viem.VerifyTypedDataActionParameters) => Promise<viem.VerifyTypedDataActionReturnType>; uninstallFilter: (args: viem.UninstallFilterParameters) => Promise<viem.UninstallFilterReturnType>; waitForTransactionReceipt: (args: viem.WaitForTransactionReceiptParameters<Chain>) => Promise<viem.WaitForTransactionReceiptReturnType<Chain>>; watchBlockNumber: (args: viem.WatchBlockNumberParameters) => viem.WatchBlockNumberReturnType; watchBlocks: <TIncludeTransactions extends boolean = false, TBlockTag extends viem.BlockTag = "latest">(args: viem.WatchBlocksParameters<Transport, Chain, TIncludeTransactions, TBlockTag>) => viem.WatchBlocksReturnType; watchContractEvent: <const TAbi extends viem.Abi | readonly unknown[], TEventName extends viem.ContractEventName<TAbi>, TStrict extends boolean | undefined = undefined>(args: viem.WatchContractEventParameters<TAbi, TEventName, TStrict, Transport>) => viem.WatchContractEventReturnType; watchEvent: <const TAbiEvent extends viem.AbiEvent | undefined = undefined, const TAbiEvents extends readonly viem.AbiEvent[] | readonly unknown[] | undefined = TAbiEvent extends viem.AbiEvent ? [TAbiEvent] : undefined, TStrict extends boolean | undefined = undefined>(args: viem.WatchEventParameters<TAbiEvent, TAbiEvents, TStrict, Transport>) => viem.WatchEventReturnType; watchPendingTransactions: (args: viem.WatchPendingTransactionsParameters<Transport>) => viem.WatchPendingTransactionsReturnType; extend: <const client extends { [x: string]: unknown; account?: undefined; batch?: undefined; cacheTime?: undefined; ccipRead?: undefined; chain?: undefined; key?: undefined; name?: undefined; pollingInterval?: undefined; request?: undefined; transport?: undefined; type?: undefined; uid?: undefined; } & viem.ExactPartial<Pick<viem.PublicActions<Transport, Chain, { address: undefined; type: "json-rpc"; }>, "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<viem.WalletActions<Chain, { address: undefined; type: "json-rpc"; }>, "sendTransaction" | "writeContract">>>(fn: (client: viem.Client<Transport, Chain, { address: undefined; type: "json-rpc"; }, [{ Method: "web3_clientVersion"; Parameters?: undefined; ReturnType: string; }, { Method: "web3_sha3"; Parameters: [data: viem.Hash]; ReturnType: string; }, { Method: "net_listening"; Parameters?: undefined; ReturnType: boolean; }, { Method: "net_peerCount"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "net_version"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_blobBaseFee"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_blockNumber"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_call"; Parameters: [transaction: viem.ExactPartial<viem.RpcTransactionRequest>] | [transaction: viem.ExactPartial<viem.RpcTransactionRequest>, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier] | [transaction: viem.ExactPartial<viem.RpcTransactionRequest>, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier, stateOverrideSet: viem.RpcStateOverride]; ReturnType: Hex; }, { Method: "eth_chainId"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_coinbase"; Parameters?: undefined; ReturnType: Address; }, { Method: "eth_estimateGas"; Parameters: [transaction: viem.RpcTransactionRequest] | [transaction: viem.RpcTransactionRequest, block: viem.RpcBlockNumber | viem.BlockTag] | [transaction: viem.RpcTransactionRequest, block: viem.RpcBlockNumber | viem.BlockTag, stateOverride: viem.RpcStateOverride]; ReturnType: viem.Quantity; }, { Method: "eth_feeHistory"; Parameters: [blockCount: viem.Quantity, newestBlock: viem.RpcBlockNumber | viem.BlockTag, rewardPercentiles: number[] | undefined]; ReturnType: viem.RpcFeeHistory; }, { Method: "eth_gasPrice"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_getBalance"; Parameters: [address: Address, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier]; ReturnType: viem.Quantity; }, { Method: "eth_getBlockByHash"; Parameters: [hash: viem.Hash, includeTransactionObjects: boolean]; ReturnType: viem.RpcBlock | null; }, { Method: "eth_getBlockByNumber"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag, includeTransactionObjects: boolean]; ReturnType: viem.RpcBlock | null; }, { Method: "eth_getBlockTransactionCountByHash"; Parameters: [hash: viem.Hash]; ReturnType: viem.Quantity; }, { Method: "eth_getBlockTransactionCountByNumber"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag]; ReturnType: viem.Quantity; }, { Method: "eth_getCode"; Parameters: [address: Address, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier]; ReturnType: Hex; }, { Method: "eth_getFilterChanges"; Parameters: [filterId: viem.Quantity]; ReturnType: viem.RpcLog[] | Hex[]; }, { Method: "eth_getFilterLogs"; Parameters: [filterId: viem.Quantity]; ReturnType: viem.RpcLog[]; }, { Method: "eth_getLogs"; Parameters: [{ address?: Address | Address[] | undefined; topics?: viem.LogTopic[] | undefined; } & ({ fromBlock?: viem.RpcBlockNumber | viem.BlockTag | undefined; toBlock?: viem.RpcBlockNumber | viem.BlockTag | undefined; blockHash?: undefined; } | { fromBlock?: undefined; toBlock?: undefined; blockHash?: viem.Hash | undefined; })]; ReturnType: viem.RpcLog[]; }, { Method: "eth_getProof"; Parameters: [address: Address, storageKeys: viem.Hash[], block: viem.RpcBlockNumber | viem.BlockTag]; ReturnType: viem.RpcProof; }, { Method: "eth_getStorageAt"; Parameters: [address: Address, index: viem.Quantity, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier]; ReturnType: Hex; }, { Method: "eth_getTransactionByBlockHashAndIndex"; Parameters: [hash: viem.Hash, index: viem.Quantity]; ReturnType: viem.RpcTransaction | null; }, { Method: "eth_getTransactionByBlockNumberAndIndex"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag, index: viem.Quantity]; ReturnType: viem.RpcTransaction | null; }, { Method: "eth_getTransactionByHash"; Parameters: [hash: viem.Hash]; ReturnType: viem.RpcTransaction | null; }, { Method: "eth_getTransactionCount"; Parameters: [address: Address, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier]; ReturnType: viem.Quantity; }, { Method: "eth_getTransactionReceipt"; Parameters: [hash: viem.Hash]; ReturnType: viem.RpcTransactionReceipt | null; }, { Method: "eth_getUncleByBlockHashAndIndex"; Parameters: [hash: viem.Hash, index: viem.Quantity]; ReturnType: viem.RpcUncle | null; }, { Method: "eth_getUncleByBlockNumberAndIndex"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag, index: viem.Quantity]; ReturnType: viem.RpcUncle | null; }, { Method: "eth_getUncleCountByBlockHash"; Parameters: [hash: viem.Hash]; ReturnType: viem.Quantity; }, { Method: "eth_getUncleCountByBlockNumber"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag]; ReturnType: viem.Quantity; }, { Method: "eth_maxPriorityFeePerGas"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_newBlockFilter"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_newFilter"; Parameters: [filter: { fromBlock?: viem.RpcBlockNumber | viem.BlockTag | undefined; toBlock?: viem.RpcBlockNumber | viem.BlockTag | undefined; address?: Address | Address[] | undefined; topics?: viem.LogTopic[] | undefined; }]; ReturnType: viem.Quantity; }, { Method: "eth_newPendingTransactionFilter"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_protocolVersion"; Parameters?: undefined; ReturnType: string; }, { Method: "eth_sendRawTransaction"; Parameters: [signedTransaction: Hex]; ReturnType: viem.Hash; }, { Method: "eth_uninstallFilter"; Parameters: [filterId: viem.Quantity]; ReturnType: boolean; }, ...any[]], viem.PublicActions<Transport, Chain>>) => client) => viem.Client<Transport, Chain, { address: undefined; type: "json-rpc"; }, [{ Method: "web3_clientVersion"; Parameters?: undefined; ReturnType: string; }, { Method: "web3_sha3"; Parameters: [data: viem.Hash]; ReturnType: string; }, { Method: "net_listening"; Parameters?: undefined; ReturnType: boolean; }, { Method: "net_peerCount"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "net_version"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_blobBaseFee"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_blockNumber"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_call"; Parameters: [transaction: viem.ExactPartial<viem.RpcTransactionRequest>] | [transaction: viem.ExactPartial<viem.RpcTransactionRequest>, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier] | [transaction: viem.ExactPartial<viem.RpcTransactionRequest>, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier, stateOverrideSet: viem.RpcStateOverride]; ReturnType: Hex; }, { Method: "eth_chainId"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_coinbase"; Parameters?: undefined; ReturnType: Address; }, { Method: "eth_estimateGas"; Parameters: [transaction: viem.RpcTransactionRequest] | [transaction: viem.RpcTransactionRequest, block: viem.RpcBlockNumber | viem.BlockTag] | [transaction: viem.RpcTransactionRequest, block: viem.RpcBlockNumber | viem.BlockTag, stateOverride: viem.RpcStateOverride]; ReturnType: viem.Quantity; }, { Method: "eth_feeHistory"; Parameters: [blockCount: viem.Quantity, newestBlock: viem.RpcBlockNumber | viem.BlockTag, rewardPercentiles: number[] | undefined]; ReturnType: viem.RpcFeeHistory; }, { Method: "eth_gasPrice"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_getBalance"; Parameters: [address: Address, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier]; ReturnType: viem.Quantity; }, { Method: "eth_getBlockByHash"; Parameters: [hash: viem.Hash, includeTransactionObjects: boolean]; ReturnType: viem.RpcBlock | null; }, { Method: "eth_getBlockByNumber"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag, includeTransactionObjects: boolean]; ReturnType: viem.RpcBlock | null; }, { Method: "eth_getBlockTransactionCountByHash"; Parameters: [hash: viem.Hash]; ReturnType: viem.Quantity; }, { Method: "eth_getBlockTransactionCountByNumber"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag]; ReturnType: viem.Quantity; }, { Method: "eth_getCode"; Parameters: [address: Address, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier]; ReturnType: Hex; }, { Method: "eth_getFilterChanges"; Parameters: [filterId: viem.Quantity]; ReturnType: viem.RpcLog[] | Hex[]; }, { Method: "eth_getFilterLogs"; Parameters: [filterId: viem.Quantity]; ReturnType: viem.RpcLog[]; }, { Method: "eth_getLogs"; Parameters: [{ address?: Address | Address[] | undefined; topics?: viem.LogTopic[] | undefined; } & ({ fromBlock?: viem.RpcBlockNumber | viem.BlockTag | undefined; toBlock?: viem.RpcBlockNumber | viem.BlockTag | undefined; blockHash?: undefined; } | { fromBlock?: undefined; toBlock?: undefined; blockHash?: viem.Hash | undefined; })]; ReturnType: viem.RpcLog[]; }, { Method: "eth_getProof"; Parameters: [address: Address, storageKeys: viem.Hash[], block: viem.RpcBlockNumber | viem.BlockTag]; ReturnType: viem.RpcProof; }, { Method: "eth_getStorageAt"; Parameters: [address: Address, index: viem.Quantity, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier]; ReturnType: Hex; }, { Method: "eth_getTransactionByBlockHashAndIndex"; Parameters: [hash: viem.Hash, index: viem.Quantity]; ReturnType: viem.RpcTransaction | null; }, { Method: "eth_getTransactionByBlockNumberAndIndex"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag, index: viem.Quantity]; ReturnType: viem.RpcTransaction | null; }, { Method: "eth_getTransactionByHash"; Parameters: [hash: viem.Hash]; ReturnType: viem.RpcTransaction | null; }, { Method: "eth_getTransactionCount"; Parameters: [address: Address, block: viem.RpcBlockNumber | viem.BlockTag | viem.RpcBlockIdentifier]; ReturnType: viem.Quantity; }, { Method: "eth_getTransactionReceipt"; Parameters: [hash: viem.Hash]; ReturnType: viem.RpcTransactionReceipt | null; }, { Method: "eth_getUncleByBlockHashAndIndex"; Parameters: [hash: viem.Hash, index: viem.Quantity]; ReturnType: viem.RpcUncle | null; }, { Method: "eth_getUncleByBlockNumberAndIndex"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag, index: viem.Quantity]; ReturnType: viem.RpcUncle | null; }, { Method: "eth_getUncleCountByBlockHash"; Parameters: [hash: viem.Hash]; ReturnType: viem.Quantity; }, { Method: "eth_getUncleCountByBlockNumber"; Parameters: [block: viem.RpcBlockNumber | viem.BlockTag]; ReturnType: viem.Quantity; }, { Method: "eth_maxPriorityFeePerGas"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_newBlockFilter"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_newFilter"; Parameters: [filter: { fromBlock?: viem.RpcBlockNumber | viem.BlockTag | undefined; toBlock?: viem.RpcBlockNumber | viem.BlockTag | undefined; address?: Address | Address[] | undefined; topics?: viem.LogTopic[] | undefined; }]; ReturnType: viem.Quantity; }, { Method: "eth_newPendingTransactionFilter"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_protocolVersion"; Parameters?: undefined; ReturnType: string; }, { Method: "eth_sendRawTransaction"; Parameters: [signedTransaction: Hex]; ReturnType: viem.Hash; }, { Method: "eth_uninstallFilter"; Parameters: [filterId: viem.Quantity]; ReturnType: boolean; }, ...any[]], chains.Prettify<client> & (viem.PublicActions<Transport, Chain> extends { [x: string]: unknown; account?: undefined; batch?: undefined; cacheTime?: undefined; ccipRead?: undefined; chain?: undefined; key?: undefined; name?: undefined; pollingInterval?: undefined; request?: undefined; transport?: undefined; type?: undefined; uid?: undefined; } ? viem.PublicActions<Transport, Chain> : unknown)>; }; declare const getWalletClientFromPrivateKey: ({ rpcUrl, chainId, privateKey }: { rpcUrl: string; chainId: number; privateKey: string; }) => { account: viem.PrivateKeyAccount; batch?: viem.ClientConfig["batch"] | undefined; cacheTime: number; ccipRead?: viem.ClientConfig["ccipRead"] | undefined; chain: Chain; key: string; name: string; pollingInterval: number; request: viem.EIP1193RequestFn<[{ Method: "eth_accounts"; Parameters?: undefined; ReturnType: Address[]; }, { Method: "eth_chainId"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_estimateGas"; Parameters: [transaction: viem.RpcTransactionRequest] | [transaction: viem.RpcTransactionRequest, block: viem.RpcBlockNumber | viem.BlockTag] | [transaction: viem.RpcTransactionRequest, block: viem.RpcBlockNumber | viem.BlockTag, stateOverride: viem.RpcStateOverride]; ReturnType: viem.Quantity; }, { Method: "eth_requestAccounts"; Parameters?: undefined; ReturnType: Address[]; }, { Method: "eth_sendTransaction"; Parameters: [transaction: viem.RpcTransactionRequest]; ReturnType: viem.Hash; }, { Method: "eth_sendRawTransaction"; Parameters: [signedTransaction: Hex]; ReturnType: viem.Hash; }, { Method: "eth_sign"; Parameters: [address: Address, data: Hex]; ReturnType: Hex; }, { Method: "eth_signTransaction"; Parameters: [request: viem.RpcTransactionRequest]; ReturnType: Hex; }, { Method: "eth_signTypedData_v4"; Parameters: [address: Address, message: string]; ReturnType: Hex; }, { Method: "eth_syncing"; Parameters?: undefined; ReturnType: viem.NetworkSync | false; }, { Method: "personal_sign"; Parameters: [data: Hex, address: Address]; ReturnType: Hex; }, { Method: "wallet_addEthereumChain"; Parameters: [chain: viem.AddEthereumChainParameter]; ReturnType: null; }, { Method: "wallet_getCallsStatus"; Parameters?: [string]; ReturnType: viem.WalletGetCallsStatusReturnType; }, { Method: "wallet_getCapabilities"; Parameters?: [Address]; ReturnType: chains.Prettify<viem.WalletCapabilitiesRecord>; }, { Method: "wallet_getPermissions"; Parameters?: undefined; ReturnType: viem.WalletPermission[]; }, { Method: "wallet_grantPermissions"; Parameters?: [viem.WalletGrantPermissionsParameters]; ReturnType: chains.Prettify<viem.WalletGrantPermissionsReturnType>; }, { Method: "wallet_requestPermissions"; Parameters: [permissions: { eth_accounts: Record<string, any>; }]; ReturnType: viem.WalletPermission[]; }, { Method: "wallet_revokePermissions"; Parameters: [permissions: { eth_accounts: Record<string, any>; }]; ReturnType: null; }, { Method: "wallet_sendCalls"; Parameters?: viem.WalletSendCallsParameters; ReturnType: string; }, { Method: "wallet_showCallsStatus"; Parameters?: [string]; ReturnType: void; }, { Method: "wallet_switchEthereumChain"; Parameters: [chain: { chainId: string; }]; ReturnType: null; }, { Method: "wallet_watchAsset"; Parameters: viem.WatchAssetParams; ReturnType: boolean; }, ...any[]]>; transport: any; type: string; uid: string; addChain: (args: viem.AddChainParameters) => Promise<void>; deployContract: <const abi extends viem.Abi | readonly unknown[], chainOverride extends Chain | undefined>(args: viem.DeployContractParameters<abi, Chain, viem.PrivateKeyAccount, chainOverride>) => Promise<viem.DeployContractReturnType>; getAddresses: () => Promise<viem.GetAddressesReturnType>; getChainId: () => Promise<viem.GetChainIdReturnType>; getPermissions: () => Promise<viem.GetPermissionsReturnType>; prepareTransactionRequest: <const TRequest extends viem.PrepareTransactionRequestRequest<Chain, TChainOverride>, TChainOverride extends Chain | undefined = undefined, TAccountOverride extends Account | Address | undefined = undefined>(args: viem.PrepareTransactionRequestParameters<Chain, viem.PrivateKeyAccount, TChainOverride, TAccountOverride, TRequest>) => Promise<viem.PrepareTransactionRequestReturnType<Chain, viem.PrivateKeyAccount, TChainOverride, TAccountOverride, TRequest>>; requestAddresses: () => Promise<viem.RequestAddressesReturnType>; requestPermissions: (args: viem.RequestPermissionsParameters) => Promise<viem.RequestPermissionsReturnType>; sendRawTransaction: (args: viem.SendRawTransactionParameters) => Promise<viem.SendRawTransactionReturnType>; sendTransaction: <const TRequest extends viem.SendTransactionRequest<Chain, TChainOverride>, TChainOverride extends Chain | undefined = undefined>(args: viem.SendTransactionParameters<Chain, viem.PrivateKeyAccount, TChainOverride, TRequest>) => Promise<viem.SendTransactionReturnType>; signMessage: (args: viem.SignMessageParameters<viem.PrivateKeyAccount>) => Promise<viem.SignMessageReturnType>; signTransaction: <TChainOverride extends Chain | undefined>(args: viem.SignTransactionParameters<Chain, viem.PrivateKeyAccount, TChainOverride>) => Promise<viem.SignTransactionReturnType>; signTypedData: <const TTypedData extends { [x: string]: readonly viem.TypedDataParameter[]; [x: `string[${string}]`]: never; [x: `function[${string}]`]: never; [x: `address[${string}]`]: never; [x: `bool[${string}]`]: never; [x: `bytes[${string}]`]: never; [x: `bytes2[${string}]`]: never; [x: `bytes16[${string}]`]: never; [x: `bytes10[${string}]`]: never; [x: `bytes1[${string}]`]: never; [x: `bytes18[${string}]`]: never; [x: `bytes14[${string}]`]: never; [x: `bytes30[${string}]`]: never; [x: `bytes31[${string}]`]: never; [x: `bytes13[${string}]`]: never; [x: `bytes32[${string}]`]: never; [x: `bytes29[${string}]`]: never; [x: `bytes28[${string}]`]: never; [x: `bytes27[${string}]`]: never; [x: `bytes26[${string}]`]: never; [x: `bytes25[${string}]`]: never; [x: `bytes24[${string}]`]: never; [x: `bytes23[${string}]`]: never; [x: `bytes22[${string}]`]: never; [x: `bytes21[${string}]`]: never; [x: `bytes20[${string}]`]: never; [x: `bytes19[${string}]`]: never; [x: `bytes17[${string}]`]: never; [x: `bytes15[${string}]`]: never; [x: `bytes12[${string}]`]: never; [x: `bytes11[${string}]`]: never; [x: `bytes9[${string}]`]: never; [x: `bytes8[${string}]`]: never; [x: `bytes7[${string}]`]: never; [x: `bytes6[${string}]`]: never; [x: `bytes5[${string}]`]: never; [x: `bytes4[${string}]`]: never; [x: `bytes3[${string}]`]: never; [x: `int[${string}]`]: never; [x: `int16[${string}]`]: never; [x: `int56[${string}]`]: never; [x: `int40[${string}]`]: never; [x: `int32[${string}]`]: never; [x: `int24[${string}]`]: never; [x: `int8[${string}]`]: never; [x: `int48[${string}]`]: never; [x: `int64[${string}]`]: never; [x: `int72[${string}]`]: never; [x: `int80[${string}]`]: never; [x: `int88[${string}]`]: never; [x: `int96[${string}]`]: never; [x: `int104[${string}]`]: never; [x: `int112[${string}]`]: never; [x: `int120[${string}]`]: never; [x: `int128[${string}]`]: never; [x: `int136[${string}]`]: never; [x: `int144[${string}]`]: never; [x: `int152[${string}]`]: never; [x: `int160[${string}]`]: never; [x: `int168[${string}]`]: never; [x: `int176[${string}]`]: never; [x: `int184[${string}]`]: never; [x: `int192[${string}]`]: never; [x: `int200[${string}]`]: never; [x: `int208[${string}]`]: never; [x: `int216[${string}]`]: never; [x: `int224[${string}]`]: never; [x: `int232[${string}]`]: never; [x: `int240[${string}]`]: never; [x: `int248[${string}]`]: never; [x: `int256[${string}]`]: never; [x: `uint[${string}]`]: never; [x: `uint16[${string}]`]: never; [x: `uint56[${string}]`]: never; [x: `uint40[${string}]`]: never; [x: `uint32[${string}]`]: never; [x: `uint24[${string}]`]: never; [x: `uint8[${string}]`]: never; [x: `uint48[${string}]`]: never; [x: `uint64[${string}]`]: never; [x: `uint72[${string}]`]: never; [x: `uint80[${string}]`]: never; [x: `uint88[${string}]`]: never; [x: `uint96[${string}]`]: never; [x: `uint104[${string}]`]: never; [x: `uint112[${string}]`]: never; [x: `uint120[${string}]`]: never; [x: `uint128[${string}]`]: never; [x: `uint136[${string}]`]: never; [x: `uint144[${string}]`]: never; [x: `uint152[${string}]`]: never; [x: `uint160[${string}]`]: never; [x: `uint168[${string}]`]: never; [x: `uint176[${string}]`]: never; [x: `uint184[${string}]`]: never; [x: `uint192[${string}]`]: never; [x: `uint200[${string}]`]: never; [x: `uint208[${string}]`]: never; [x: `uint216[${string}]`]: never; [x: `uint224[${string}]`]: never; [x: `uint232[${string}]`]: never; [x: `uint240[${string}]`]: never; [x: `uint248[${string}]`]: never; [x: `uint256[${string}]`]: never; string?: never; address?: never; bool?: never; bytes?: never; bytes2?: never; bytes16?: never; bytes10?: never; bytes1?: never; bytes18?: never; bytes14?: never; bytes30?: never; bytes31?: never; bytes13?: never; bytes32?: never; bytes29?: never; bytes28?: never; bytes27?: never; bytes26?: never; bytes25?: never; bytes24?: never; bytes23?: never; bytes22?: never; bytes21?: never; bytes20?: never; bytes19?: never; bytes17?: never; bytes15?: never; bytes12?: never; bytes11?: never; bytes9?: never; bytes8?: never; bytes7?: never; bytes6?: never; bytes5?: never; bytes4?: never; bytes3?: never; int16?: never; int56?: never; int40?: never; int32?: never; int24?: never; int8?: never; int48?: never; int64?: never; int72?: never; int80?: never; int88?: never; int96?: never; int104?: never; int112?: never; int120?: never; int128?: never; int136?: never; int144?: never; int152?: never; int160?: never; int168?: never; int176?: never; int184?: never; int192?: never; int200?: never; int208?: never; int216?: never; int224?: never; int232?: never; int240?: never; int248?: never; int256?: never; uint16?: never; uint56?: never; uint40?: never; uint32?: never; uint24?: never; uint8?: never; uint48?: never; uint64?: never; uint72?: never; uint80?: never; uint88?: never; uint96?: never; uint104?: never; uint112?: never; uint120?: never; uint128?: never; uint136?: never; uint144?: never; uint152?: never; uint160?: never; uint168?: never; uint176?: never; uint184?: never; uint192?: never; uint200?: never; uint208?: never; uint216?: never; uint224?: never; uint232?: never; uint240?: never; uint248?: never; uint256?: never; } | { [key: string]: unknown; }, TPrimaryType extends string>(args: viem.SignTypedDataParameters<TTypedData, TPrimaryType, viem.PrivateKeyAccount>) => Promise<viem.SignTypedDataReturnType>; switchChain: (args: viem.SwitchChainParameters) => Promise<void>; watchAsset: (args: viem.WatchAssetParameters) => Promise<viem.WatchAssetReturnType>; writeContract: <const abi extends viem.Abi | readonly unknown[], functionName extends viem.ContractFunctionName<abi, "nonpayable" | "payable">, args_1 extends viem.ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, TChainOverride extends Chain | undefined = undefined>(args: viem.WriteContractParameters<abi, functionName, args_1, Chain, viem.PrivateKeyAccount, TChainOverride>) => Promise<viem.WriteContractReturnType>; extend: <const client extends { [x: string]: unknown; account?: undefined; batch?: undefined; cacheTime?: undefined; ccipRead?: undefined; chain?: undefined; key?: undefined; name?: undefined; pollingInterval?: undefined; request?: undefined; transport?: undefined; type?: undefined; uid?: undefined; } & viem.ExactPartial<Pick<viem.PublicActions<any, Chain, viem.PrivateKeyAccount>, "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<viem.WalletActions<Chain, viem.PrivateKeyAccount>, "sendTransaction" | "writeContract">>>(fn: (client: viem.Client<any, Chain, viem.PrivateKeyAccount, [{ Method: "eth_accounts"; Parameters?: undefined; ReturnType: Address[]; }, { Method: "eth_chainId"; Parameters?: undefined; ReturnType: viem.Quantity; }, { Method: "eth_estimateGas"; Parameters: [transaction: viem.RpcTransactionRequest] | [transaction: viem.RpcTransactionRequest, block: viem.RpcBlockNumber | viem.BlockTag] | [transaction: viem.RpcTransactionRequest, block: viem.RpcBlockNumber | viem.BlockTag, stateOverride: viem.RpcStateOverride]; ReturnType: viem.Quantity; }, { Method: "eth_requestAccounts"; Parameters?: undefined; ReturnType: Address[]; }, { Method: "eth_sendTransaction"; Parameters: [transaction: viem.RpcTransactionRequest]; ReturnType: viem.Hash; }, { Method: "eth_sendRawTransaction"; Parameters: [signedTransaction: Hex]; ReturnType: viem.Hash; }, { Method: "eth_sign"; Parameters: [address: Address, data: Hex]; ReturnType: Hex; }, { Method: "eth_signTransaction"; Parameters: [request: viem.RpcTransactionRequest]; ReturnType: Hex; }, { Method: "eth_signTypedData_v4";