Alchemy Logo

createSmartAccountClientFromExisting

function createSmartAccountClientFromExisting<
  TTransport,
  TChain,
  TAccount,
  TClient,
  TActions,
  TRpcSchema,
  TContext,
>(
  config,
): SmartAccountClient<
  CustomTransport,
  TChain,
  TAccount,
  TActions,
  TRpcSchema,
  TContext
>;

Defined in: aa-sdk/core/src/client/smartAccountClient.ts:314

Type ParameterDefault type

TTransport extends Transport

Transport

TChain extends undefined | Chain

undefined | Chain

TAccount extends | undefined | SmartContractAccount

| undefined | SmartContractAccount

TClient extends BundlerClient<TTransport>

BundlerClient<TTransport>

TActions extends SmartAccountClientActions<TChain, TAccount, TContext>

SmartAccountClientActions<TChain, TAccount, | undefined | UserOperationContext>

TRpcSchema extends [{ Method: "eth_sendUserOperation"; Parameters: [UserOperationRequest, `0x${string}`]; ReturnType: `0x${string}`; }, { Method: "eth_estimateUserOperationGas"; Parameters: [UserOperationRequest, `0x${string}`, RpcStateOverride?]; ReturnType: UserOperationEstimateGasResponse; }, { Method: "eth_getUserOperationReceipt"; Parameters: [`0x${string}`, ("latest" | "pending")?]; ReturnType: null | UserOperationReceipt; }, { Method: "eth_getUserOperationByHash"; Parameters: [`0x${string}`]; ReturnType: | null | UserOperationResponse<EntryPointVersion>; }]

[{ Method: "eth_sendUserOperation"; Parameters: [UserOperationRequest, `0x${string}`]; ReturnType: `0x${string}`; }, { Method: "eth_estimateUserOperationGas"; Parameters: [UserOperationRequest, `0x${string}`, RpcStateOverride?]; ReturnType: UserOperationEstimateGasResponse; }, { Method: "eth_getUserOperationReceipt"; Parameters: [`0x${string}`, ("latest" | "pending")?]; ReturnType: null | UserOperationReceipt; }, { Method: "eth_getUserOperationByHash"; Parameters: [`0x${string}`]; ReturnType: | null | UserOperationResponse<EntryPointVersion>; }]

TContext extends | undefined | UserOperationContext

| undefined | UserOperationContext

ParameterTypeDescription

config

Omit<{ account?: TAccount; addBreadCrumb?: <T>(crumb) => T; cacheTime?: number; chain?: Chain | TChain; customMiddleware?: ClientMiddlewareFn<TContext>; dummyPaymasterAndData?: ClientMiddlewareFn<TContext>; feeEstimator?: ClientMiddlewareFn<TContext>; gasEstimator?: ClientMiddlewareFn<TContext>; key?: string; name?: string; opts?: { feeOptions?: { callGasLimit?: { max?: number | bigint | `0x${(...)}`; min?: number | bigint | `0x${(...)}`; multiplier?: number; }; maxFeePerGas?: { max?: number | bigint | `0x${(...)}`; min?: number | bigint | `0x${(...)}`; multiplier?: number; }; maxPriorityFeePerGas?: { max?: number | bigint | `0x${(...)}`; min?: number | bigint | `0x${(...)}`; multiplier?: number; }; paymasterPostOpGasLimit?: { max?: number | bigint | `0x${(...)}`; min?: number | bigint | `0x${(...)}`; multiplier?: number; }; paymasterVerificationGasLimit?: { max?: number | bigint | `0x${(...)}`; min?: number | bigint | `0x${(...)}`; multiplier?: number; }; preVerificationGas?: { max?: number | bigint | `0x${(...)}`; min?: number | bigint | `0x${(...)}`; multiplier?: number; }; verificationGasLimit?: { max?: number | bigint | `0x${(...)}`; min?: number | bigint | `0x${(...)}`; multiplier?: number; }; }; txMaxRetries?: number; txRetryIntervalMs?: number; txRetryMultiplier?: number; }; paymasterAndData?: ClientMiddlewareFn<TContext>; pollingInterval?: number; signUserOperation?: ClientMiddlewareFn<TContext>; transport: Transport; type?: string; userOperationSimulator?: ClientMiddlewareFn<TContext>; }, "chain" | "transport"> & object

the configuration object which includes the client

SmartAccountClient<CustomTransport, TChain, TAccount, TActions, TRpcSchema, TContext>

A smart account client created from the existing BundlerClient

Was this page helpful?