@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
TypeScript
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";