@alchemy/aa-alchemy

v3.11.1
adapters for @alchemy/aa-core for interacting with alchemy services

@alchemy/aa-alchemy

This package contains AlchemySmartAccountClient, an implementation of SmartAccountClient interface defined in aa-core. It also contains middleware for accessing the Alchemy Gas Manager (an ERC-4337 Paymaster) for doing Fee Estimates according to the expectations of the Alchemy Rundler (an ERC-4337 Bundler). You may also find the util methods helpful. This repo is community-maintained and we welcome contributions!

Getting started

If you are already using the @alchemy/aa-core package, you can simply install this package and start using the AlchemySmartAccountClient. If you are not using @alchemy/aa-core yet, you can install it and follow the instructions in the "Getting started" docs to get started.

yarn add @alchemy/aa-alchemy
npm i -s @alchemy/aa-alchemy
pnpm i @alchemy/aa-alchemy

Usage

You can create AlchemySmartAccountClient like so:

import {
  LightSmartContractAccount,
  getDefaultLightAccountFactoryAddress,
} from "@alchemy/aa-accounts";
import { AlchemyProvider } from "@alchemy/aa-alchemy";
import { LocalAccountSigner, type SmartAccountSigner } from "@alchemy/aa-core";
import { sepolia } from "@alchemy/aa-core";

const chain = sepolia;
const PRIVATE_KEY = "0xYourEOAPrivateKey";
const eoaSigner: SmartAccountSigner =
  LocalAccountSigner.privateKeyToAccountSigner(`0x${PRIVATE_KEY}`);

export const provider = new AlchemyProvider({
  apiKey: "ALCHEMY_API_KEY", // replace with your alchemy api key of the Alchemy app associated with the Gas Manager, get yours at https://dashboard.alchemy.com/
  chain,
}).connect(
  (rpcClient) =>
    new LightSmartContractAccount({
      chain,
      signer: eoaSigner,
      factoryAddress: getDefaultLightAccountFactoryAddress(chain),
      rpcClient,
    })
);
npm i @alchemy/[email protected]

Metadata

  • MIT
  • Whatever
  • Alchemy
  • released 4/30/2024

Downloads