Skip to content

promises/EvmWalletClient.ts

This module provides a promise-based EVM-backed wallet client.

Added in v0.4.0

Signature

export declare const fromBrowser: (options: {
providerPredicate: Predicate<EIP6963ProviderDetail>
accountPredicate: Predicate<`0x${string}`>
}) => Promise<EvmWalletClient>

Added in v0.4.0

Signature

export declare const fromThirdweb: (options: {
thirdwebWallet: Wallet
thirdwebClient: ThirdwebClient
chain: Chain
}) => Promise<EvmWalletClient>

Added in v0.4.0

Construct a wallet client from a viem::WalletClient.

Signature

export declare const fromViem: (config: {
account: Account | undefined
batch?: ClientConfig["batch"] | undefined
cacheTime: number
ccipRead?: ClientConfig["ccipRead"] | undefined
chain: Chain | undefined
experimental_blockTag?: BlockTag | undefined
key: string
name: string
pollingInterval: number
request: EIP1193RequestFn<WalletRpcSchema>
transport: TransportConfig<string, EIP1193RequestFn> & Record<string, any>
type: string
uid: string
addChain: (args: AddChainParameters) => Promise<void>
deployContract: <abi, chainOverride>(
args: DeployContractParameters<abi, Chain | undefined, Account | undefined, chainOverride>
) => Promise<DeployContractReturnType>
getAddresses: () => Promise<GetAddressesReturnType>
getCallsStatus: (parameters: GetCallsStatusParameters) => Promise<GetCallsStatusReturnType>
getCapabilities: <chainId extends number | undefined>(
parameters?: GetCapabilitiesParameters<chainId>
) => Promise<GetCapabilitiesReturnType<chainId>>
getChainId: () => Promise<GetChainIdReturnType>
getPermissions: () => Promise<GetPermissionsReturnType>
prepareAuthorization: (
parameters: PrepareAuthorizationParameters<Account | undefined>
) => Promise<PrepareAuthorizationReturnType>
prepareTransactionRequest: <request, chainOverride, accountOverride>(
args: PrepareTransactionRequestParameters<
Chain | undefined,
Account | undefined,
chainOverride,
accountOverride,
request
>
) => Promise<
PrepareTransactionRequestReturnType<Chain | undefined, Account | undefined, chainOverride, accountOverride, request>
>
requestAddresses: () => Promise<RequestAddressesReturnType>
requestPermissions: (args: RequestPermissionsParameters) => Promise<RequestPermissionsReturnType>
sendCalls: <calls, chainOverride>(
parameters: SendCallsParameters<Chain | undefined, Account | undefined, chainOverride, calls>
) => Promise<SendCallsReturnType>
sendCallsSync: <calls, chainOverride>(
parameters: SendCallsSyncParameters<Chain | undefined, Account | undefined, chainOverride, calls>
) => Promise<SendCallsSyncReturnType>
sendRawTransaction: (args: SendRawTransactionParameters) => Promise<SendRawTransactionReturnType>
sendRawTransactionSync: (
args: SendRawTransactionSyncParameters
) => Promise<SendRawTransactionSyncReturnType<Chain | undefined>>
sendTransaction: <request, chainOverride>(
args: SendTransactionParameters<Chain | undefined, Account | undefined, chainOverride, request>
) => Promise<SendTransactionReturnType>
sendTransactionSync: <request, chainOverride>(
args: SendTransactionSyncParameters<Chain | undefined, Account | undefined, chainOverride, request>
) => Promise<SendTransactionSyncReturnType>
showCallsStatus: (parameters: ShowCallsStatusParameters) => Promise<ShowCallsStatusReturnType>
signAuthorization: (
parameters: SignAuthorizationParameters<Account | undefined>
) => Promise<SignAuthorizationReturnType>
signMessage: (args: SignMessageParameters<Account | undefined>) => Promise<SignMessageReturnType>
signTransaction: <chainOverride, request>(
args: SignTransactionParameters<Chain | undefined, Account | undefined, chainOverride, request>
) => Promise<SignTransactionReturnType<request>>
signTypedData: <typedData, primaryType>(
args: SignTypedDataParameters<typedData, primaryType, Account | undefined>
) => Promise<SignTypedDataReturnType>
switchChain: (args: SwitchChainParameters) => Promise<void>
waitForCallsStatus: (parameters: WaitForCallsStatusParameters) => Promise<WaitForCallsStatusReturnType>
watchAsset: (args: WatchAssetParameters) => Promise<WatchAssetReturnType>
writeContract: <abi, functionName, args, chainOverride>(
args: WriteContractParameters<abi, functionName, args, Chain | undefined, Account | undefined, chainOverride>
) => Promise<WriteContractReturnType>
writeContractSync: <abi, functionName, args, chainOverride>(
args: WriteContractSyncParameters<abi, functionName, args, Chain | undefined, Account | undefined, chainOverride>
) => Promise<WriteContractSyncReturnType>
extend: <client>(
fn: (
client: Client<
Transport,
Chain | undefined,
Account | undefined,
WalletRpcSchema,
WalletActions<Chain | undefined, Account | undefined>
>
) => client
) => Client<
Transport,
Chain | undefined,
Account | undefined,
WalletRpcSchema,
Prettify<client> &
(WalletActions<Chain | undefined, Account | undefined> extends {
[x: string]: unknown
account?: undefined
batch?: undefined
cacheTime?: undefined
ccipRead?: undefined
chain?: undefined
experimental_blockTag?: undefined
key?: undefined
name?: undefined
pollingInterval?: undefined
request?: undefined
transport?: undefined
type?: undefined
uid?: undefined
}
? WalletActions<Chain | undefined, Account | undefined>
: unknown)
>
}) => Promise<EvmWalletClient>

Added in v0.4.0

Signature

export type BatchCallInput = evmWalletClient.BatchCallInput

Added in v0.3.2

Signature

export type CustomContractCall = evmWalletClient.CustomContractCall

Added in v0.3.2

Signature

export type Eip5792Call = evmWalletClient.Eip5792Call

Added in v0.3.2

Signature

export type Eip5792CallsStatus = evmWalletClient.Eip5792CallsStatus

Added in v0.3.2

Signature

export type Eip5792Capabilities = evmWalletClient.Eip5792Capabilities

Added in v0.3.2

Signature

export type Eip5792SendCallsResult = evmWalletClient.Eip5792SendCallsResult

Added in v0.3.2

Signature

export declare class EvmWalletClient {
constructor({ client, evmClient }: { client: walletClient.WalletClient; evmClient: evmWalletClient.EvmWalletClient })
}

Added in v0.4.0

Signature

getCapabilities(): Promise<Eip5792Capabilities>

Added in v0.3.2

Signature

sendCalls(
calls: ReadonlyArray<Eip5792Call>,
): Promise<Eip5792SendCallsResult>

Added in v0.3.2

Signature

getCallsStatus(id: string): Promise<Eip5792CallsStatus>

Added in v0.3.2

Signature

export declare const toBatchCalls: typeof evmWalletClient.toBatchCalls

Added in v0.3.2