UNPKG

@abstract-foundation/agw-client

Version:
56 lines 2.01 kB
import { type Account, type Address, type Client, type Transport } from "viem"; import type { ChainEIP712 } from "viem/zksync"; import type { CustomPaymasterHandler } from "../types/customPaymaster.js"; import { type AbstractWalletActions } from "./decorators/abstract.js"; /** * Parameters for creating an AbstractClient instance. * @interface CreateAbstractClientParameters */ export interface CreateAbstractClientParameters { /** * The account used for signing AGW transactions. * @type {Account} */ signer: Account; /** * The chain configuration supporting EIP-712. * @type {ChainEIP712} */ chain: ChainEIP712; /** * Optional transport layer for network communication. * If not provided, a default HTTP transport will be used. * @type {Transport} * @optional */ transport?: Transport; /** * The address of the smart account. * @type {Address} * @optional */ address?: Address; /** * Whether the client is a Privy cross-app client. * @type {boolean} * @optional */ isPrivyCrossApp?: boolean; /** * The transport layer for the underlying public client. * @type {Transport} * @optional */ publicTransport?: Transport; /** * The custom paymaster handler. * @type {CustomPaymasterHandler} * @optional */ customPaymasterHandler?: CustomPaymasterHandler; } type AbstractClientActions<chain extends ChainEIP712 | undefined = ChainEIP712 | undefined, account extends Account | undefined = Account | undefined> = AbstractWalletActions<chain, account>; export type AbstractClient = Client<Transport, ChainEIP712, Account> & AbstractClientActions<ChainEIP712, Account>; export declare function createAbstractClient({ signer, chain, transport, address, isPrivyCrossApp, publicTransport, customPaymasterHandler, }: CreateAbstractClientParameters): Promise<AbstractClient>; export {}; //# sourceMappingURL=abstractClient.d.ts.map