@abstract-foundation/agw-client
Version:
Abstract Global Wallet Client SDK
56 lines • 1.86 kB
TypeScript
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 './walletActions.js';
/**
* Parameters for creating an AbstractClient instance.
* @interface CreateAbstractClientParameters
*/
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 = AbstractWalletActions<ChainEIP712, Account>;
export type AbstractClient = Client<Transport, ChainEIP712, Account> & AbstractClientActions;
export declare function createAbstractClient({ signer, chain, transport, address, isPrivyCrossApp, publicTransport, customPaymasterHandler, }: CreateAbstractClientParameters): Promise<AbstractClient>;
export {};
//# sourceMappingURL=abstractClient.d.ts.map