Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: merge development into main for new major version release #294

Closed
wants to merge 81 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
2031f9b
feat: entry point address as optional to SmartAccountProvider (#180)
denniswon Oct 30, 2023
9d21fc9
feat: add sanity check on provider connect for clearer error message …
denniswon Oct 31, 2023
4e4040c
feat: add zod runtime validation for base provider (#171)
avasisht23 Oct 30, 2023
ca38dcd
docs: update the magic docs to highlight signer creation is async (#170)
moldy530 Oct 26, 2023
1add339
feat: entry point address as optional to SmartAccountProvider (#180)
denniswon Oct 30, 2023
93ebb49
feat: make entry point contract as an optional param to SCA class (#182)
denniswon Oct 31, 2023
f64559c
feat: add sanity check on provider connect for clearer error message …
denniswon Oct 31, 2023
9a81647
feat: add zod runtime validation for base account (#186)
avasisht23 Nov 1, 2023
2aa1f1c
feat: add zod runtime validation for simple account (#189)
avasisht23 Nov 2, 2023
de3a8cc
feat: add support for overriding the initCode for an account (#197)
moldy530 Nov 3, 2023
4e71ee2
chore: bump dev dependencies and versions in examples (#211)
avasisht23 Nov 6, 2023
a4be739
feat: use alchemy provider, light account for e2e tests (#209)
denniswon Nov 6, 2023
808e27a
feat(arb-sepolia): add arb sepolia to defaults (#216)
0xfourzerofour Nov 6, 2023
1bb816a
feat: aa-sdk with native arb sepolia support (#231)
denniswon Nov 9, 2023
07114eb
feat!: extend SmartAccountSigner with authentication functionality (#…
avasisht23 Nov 9, 2023
0b93454
feat: remove AA_SDK_TESTS_SIGNER_TYPE constant exported from aa-core …
denniswon Nov 9, 2023
41571df
chore(release): publish v1.0.0 [skip-ci]
denniswon Nov 10, 2023
356241b
chore(release): publish v0.3.0 [skip-ci]
Nov 10, 2023
c7829db
feat!: publish breaking change
moldy530 Nov 10, 2023
1ba4f91
chore(release): publish v1.0.0 [skip-ci]
moldy530 Nov 10, 2023
e3d1791
feat: entry point address as optional to SmartAccountProvider (#180)
denniswon Oct 30, 2023
514feb2
feat: add sanity check on provider connect for clearer error message …
denniswon Oct 31, 2023
f4420b0
feat: add zod runtime validation for base provider (#171)
avasisht23 Oct 30, 2023
d858a90
docs: update the magic docs to highlight signer creation is async (#170)
moldy530 Oct 26, 2023
d9f79f6
feat: entry point address as optional to SmartAccountProvider (#180)
denniswon Oct 30, 2023
129a346
feat: make entry point contract as an optional param to SCA class (#182)
denniswon Oct 31, 2023
33798c2
feat: add sanity check on provider connect for clearer error message …
denniswon Oct 31, 2023
55c1c3e
feat: add zod runtime validation for base account (#186)
avasisht23 Nov 1, 2023
82309c9
feat: add zod runtime validation for simple account (#189)
avasisht23 Nov 2, 2023
0121aad
feat: add support for overriding the initCode for an account (#197)
moldy530 Nov 3, 2023
5654257
chore: bump dev dependencies and versions in examples (#211)
avasisht23 Nov 6, 2023
6e7d007
feat: use alchemy provider, light account for e2e tests (#209)
denniswon Nov 6, 2023
12863a6
feat(arb-sepolia): add arb sepolia to defaults (#216)
0xfourzerofour Nov 6, 2023
2e22ae8
chore: update tests to use aa-sdk-tests as signerType to avoid confus…
denniswon Nov 7, 2023
737f9c4
feat: aa-sdk with native arb sepolia support (#231)
denniswon Nov 9, 2023
0b35ec2
feat!: extend SmartAccountSigner with authentication functionality (#…
avasisht23 Nov 9, 2023
05d0c43
feat: remove AA_SDK_TESTS_SIGNER_TYPE constant exported from aa-core …
denniswon Nov 9, 2023
60a4baf
chore(release): publish v0.3.0 [skip-ci]
Nov 10, 2023
b8c3675
feat!: publish breaking change
moldy530 Nov 10, 2023
2b1fed6
chore(release): publish v1.0.0 [skip-ci]
moldy530 Nov 10, 2023
c7235fb
feat: paymasterAndData override to skip paymaster middleware (#236)
denniswon Nov 10, 2023
f2f8ef2
fix: fix e2e tests (#239)
denniswon Nov 11, 2023
0be7fb0
feat: optional maxPriorityFeePerGasEstimateBuffer to provider config …
denniswon Nov 13, 2023
c77c6c3
docs: details about batching user operations (#237)
denniswon Nov 13, 2023
5130e48
docs: add readme to alchemy packages for npm (#240)
denniswon Nov 13, 2023
83e55a0
feat: support overrides for all user operation methods on smart accon…
denniswon Nov 13, 2023
81406f6
feat: add base sepolia and opt sepolia (#249)
alex-miao Nov 14, 2023
188ccd1
chore: rebase
avasisht23 Nov 14, 2023
d443218
test: update test naming conventions (#242)
avasisht23 Nov 14, 2023
0110d09
chore: add links to examples (#252)
avasisht23 Nov 15, 2023
e669a1f
docs: add enhanced api how-to doc (#218)
avasisht23 Nov 15, 2023
7985b8f
docs: guides on how to handle userop not eligible for sponsorship (#225)
denniswon Nov 15, 2023
2582cdc
Fix spelling error (#260)
Nov 16, 2023
5a854b2
Fixed grammar mistake (#261)
Nov 16, 2023
fb80a47
feat: add a sign user operation hash method to allow for difference b…
moldy530 Nov 16, 2023
1b67436
feat: add useroperation simulation (#250)
avasisht23 Nov 17, 2023
d08e774
docs: add uo sim docs (#254)
avasisht23 Nov 17, 2023
013c108
chore: clean up site markdown layout (#255)
avasisht23 Nov 17, 2023
db8a64f
docs: re-write getting started doc (#256)
avasisht23 Nov 17, 2023
d76db68
docs: dynamic.xyz guide updates (#266)
moldy530 Nov 17, 2023
7e10595
Merge branch 'main' into development
avasisht23 Nov 17, 2023
37accee
feat: make alchemy-sdk an optional dependency on aa-alchemy (#265)
avasisht23 Nov 17, 2023
03f6e60
chore(release): publish v1.2.0 [skip-ci]
Nov 17, 2023
389d12a
chore(release): publish v1.2.0 [skip-ci]
Nov 17, 2023
9a7c4a8
chore: merge main back into development
moldy530 Nov 17, 2023
19e5738
feat: allow passing raw call data to sendUserOperation (#272)
moldy530 Nov 22, 2023
efdfc62
fix: preserve the connected account when using alchemy middlewares (#…
moldy530 Nov 22, 2023
ed5b40b
feat: add aa-signers package (#228)
avasisht23 Nov 22, 2023
80dc411
chore: fix typescript export type for LogLevel in aa-core (#275)
denniswon Nov 24, 2023
7f71e41
Small edits to particle-network.md (#278)
TABASCOatw Nov 24, 2023
f541859
docs: fix link to contribute a signer (#279)
avasisht23 Nov 26, 2023
37db750
feat: add magic signer to aa-signers (#229)
avasisht23 Nov 28, 2023
4368d08
feat: add web3auth signer to aa-signers (#247)
avasisht23 Nov 28, 2023
ab04037
docs: change UserOperation to UO where needed (#288)
SahilAujla Nov 28, 2023
af85e3b
docs: make edits to follow style guidelines (#257)
SahilAujla Nov 29, 2023
4420295
docs: update CONTRIBUTING guide, fix PR template, and clean up README…
SahilAujla Nov 29, 2023
a969bb5
feat: aa-core smart account provider fee options to handle more syste…
denniswon Nov 30, 2023
225b7c3
feat: support one-off percentage overrides for user operations (#289)
denniswon Dec 1, 2023
bebe702
docs: add documentation for smart account provider fee options and ov…
denniswon Dec 1, 2023
0fb8911
feat: add a convenience method to make creating an alchemy provider e…
moldy530 Dec 1, 2023
77ada09
docs: update alchemy provider constructor doc with updated config (#293)
denniswon Dec 1, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ assignees: ""

Thanks for filling out this bug report. Please provide as much detail as possible.

If your issue is with Alchemy's RPC APIs and not the SDK please report your issue on (discord)[https://alchemy.com/discord].
If your issue is with our RPC APIs and not the SDK please report your issue on (discord)[https://alchemy.com/discord].

### [REQUIRED] Environment

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# Pull Request Checklist

- [ ] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] Did you update relevant docs? (docs are found in the `site` folder, see guidleines below)
- [ ] Did you update relevant docs? (docs are found in the `site` folder, and guidelines for updating/adding docs can be found in the [contribution guide](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md))
- [ ] Do your commits follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) standard?
- [ ] Does your PR title also follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) standard?
- [ ] If you have a breaking change, is it [correctly reflected in your commit message](https://www.conventionalcommits.org/en/v1.0.0/#examples? (e.g. `feat!: breaking change`)
- [ ] If you have a breaking change, is it [correctly reflected in your commit message](https://www.conventionalcommits.org/en/v1.0.0/#examples)? (e.g. `feat!: breaking change`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:fix`)
- [ ] Is the base branch you're merging into `development` and not `main`?
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?
2 changes: 1 addition & 1 deletion .github/workflows/deploy-site.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: "18.10"
node-version: "18.16"
cache: yarn

- name: Setup Pages
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/on-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: "18.10"
node-version: "18.16"
cache: "yarn"

- name: Install dependencies
Expand All @@ -41,7 +41,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: "18.10"
node-version: "18.16"
cache: "yarn"

- name: Install dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
- name: Set Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: "18.10"
node-version: "18.16"
cache: "yarn"

- name: Set Github User Details
Expand Down
66 changes: 50 additions & 16 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,58 @@
# Contributing

We welcome any and all contributions. To get started,
We're excited to have you contribute to the `aa-sdk`. Here's a step-by-step guide to help you get started.

1. Make sure you have `yarn` installed. We are still using version 1.x. The installation instructions can be found here: https://classic.yarnpkg.com/lang/en/docs/install
2. [Fork](https://github.com/alchemyplatform/aa-sdk/fork) this repo
3. Run `yarn` to install dependencies
4. Make changes to packages
## Getting Started

## Pull Request Checklist
1. **Fork and Clone**: First, [fork the `aa-sdk` repository](https://github.com/alchemyplatform/aa-sdk/fork). Then, clone your forked repo to your local machine.

- [ ] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] Did you update relevant docs? (docs are found in the `site` folder, see guidleines below)
- [ ] Do your commits follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) standard?
- [ ] Does your PR title also follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) standard?
- [ ] If you have a breaking change, is it [correctly reflected in your commit message](https://www.conventionalcommits.org/en/v1.0.0/#examples? (e.g. `feat!: breaking change`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:fix`)
- [ ] Is the base branch you're merging into `development` and not `main`?
2. **Install Dependencies**: Ensure you have `yarn` installed (we use version 1.x). Installation instructions are available [here](https://classic.yarnpkg.com/lang/en/docs/install). Run `yarn` in the project root to install all necessary dependencies.

## Docs guidelines
3. **Testing Environment**: Before making changes, make sure to verify the testing environment.

We leverage `vitepress` to build our docs. You can find the docs in the `site` folder. To run the docs locally, run `yarn docs:dev` from the `site` folder. To build the docs, run `yarn docs:build`. Docs are automatically deployed with each package published.
- Use the Node version specified in `package.json` (currently 18.16.0). Run `node -v` to check your version.
- Build the project with `yarn build`.
- Run existing tests using `yarn test` to ensure everything is working correctly.

When updating code, be sure to update the relevant doc within `site/packages/*`. The `packages` directory is broken down by the relevant package found within this repository. When adding new functionality, be sure to add a new doc outlining the method or class that you've added!
4. **Make Changes**: Now, you can start making changes to the packages or docs. When updating or adding new functionality, update or add a new doc in `site/packages/*` corresponding to the package you've worked on to document the changes.

5. **Re-verify Tests**: After making your changes, re-run `yarn test` to ensure all tests still pass.

6. **Code Formatting**:

- Format your code changes with `yarn run lint:write`.
- Confirm that your code passes format checks with `yarn run lint:check`.

7. **Docs Changes**:

- We use `vitepress` for our docs located in the `site` folder.
- To run docs locally: `yarn dev` from the `site` folder.
- To build docs: `yarn build` from the `site` folder.
- When editing or adding new docs, make sure you follow the guidelines mentioned below:
- Follow the [Google style guidelines](https://developers.google.com/style) for docs content.
- Additional Guidelines:
- Use terms consistently (e.g., "smart account", not "Smart Account").
- Refer to "Account Kit" correctly, without "the" or "AccountKit".
- Use `LightAccount` for code references, "Light Account" in text.
- Use "gasless" over "gas-less".
- Write documentation in the [second person voice](https://developers.google.com/style/person).
- Use "aa-sdk" or "Account Kit" depending on context, not "Account Kit SDK".
- Capitalize "Gas Manager API" and "Bundler API".
- Capitalize definitions for type primitives like `Provider`, `Signer`, `Account`.

8. **Committing Changes**: Commit your changes using a standardized message format.

- Format: `[subject-type]: [description starting with lowercase letters] (#[issue number])`.
- For breaking changes, clearly reflect in your commit message (e.g., `feat!: breaking change`).
- Example: `feat: add sanity check on provider connect for clearer error message (#181)`.
- Example: `docs: add new section on gasless transactions (#189)`.
- Use `git log` to see more examples and acceptable subject-types.
- For more details on semantic PR titles, refer to [Flank's guide on PR titles](https://flank.github.io/flank/pr_titles/).

9. **Creating a Pull Request**:

- Push your changes to your GitHub fork.
- Create a pull request against the original `aa-sdk` repository's `development` branch.
- Ensure the pull request title follows the Enforce PR Title Format: `[subject-type]: [description starting with lowercase letters]`. You can check this using `echo "[YOUR_PR_TITLE_HERE] | yarn commitlint`.

10. **Celebrate** your contribution!
45 changes: 5 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,15 @@
# Account Abstraction SDK (aa-sdk)
# aa-sdk

The `aa-sdk` is a type-safe and performant TypeScript library built on top of [viem](https://viem.sh/) to provide ergonomic methods for sending user operations, sponsoring gas, and deploying smart contract accounts. It handles all the complexity of ERC-4337 under the hood to make account abstraction simple.
The `aa-sdk` is a type-safe and performant TypeScript library built on top of [viem](https://viem.sh/) to provide ergonomic methods for sending user operations, sponsoring gas, and deploying smart accounts. It handles all the complexity of ERC-4337 under the hood to make account abstraction simple.

The SDK also implements an EIP-1193 provider interface to easily plug into any popular dapp or wallet connect libraries such as RainbowKit, Wagmi, and Web3Modal. It also includes ethers.js adapters to provide full support for ethers.js apps.

The `aa-sdk` is modular at every layer of the stack and can be easily extended to fit your custom needs. You can plug in any [smart account](https://accountkit.alchemy.com/smart-accounts/accounts/using-your-own) implementation, [Signer](https://accountkit.alchemy.com/smart-accounts/signers/overview), gas manager API, RPC provider.
The `aa-sdk` is modular at every layer of the stack and can be easily extended to fit your custom needs. You can plug in any [smart account](https://accountkit.alchemy.com/smart-accounts/accounts/using-your-own) implementation, [Signer](https://accountkit.alchemy.com/smart-accounts/signers/overview), [Gas Manager API](https://accountkit.alchemy.com/overview/introduction.html#gas-manager-api) and RPC Provider.

## Getting Started

### Install the Packages

```bash [yarn]
yarn add @alchemy/aa-accounts @alchemy/aa-core
```

### [Light Account Example](https://accountkit.alchemy.com/overview/getting-started#a-simple-light-account-example)

## Docs

The `aa-sdk` is part of Alchemy's Account Kit. For more information, check out the [Account Kit docs](https://accountkit.alchemy.com).
The `aa-sdk` is part of [Account Kit](https://accountkit.alchemy.com). Check out this [quickstart guide](https://accountkit.alchemy.com/getting-started.html) to get started.

## Contributing

1. clone the repo
2. run `yarn`
3. verify tests pass
- be sure to use the node version specified in package.json, currently 18.10
- run `node -v`
- run `yarn build`
- run `yarn test`
4. make changes to packages
5. reverify that all tests pass
6. format code changes
- run `yarn run lint:write`
7. confirm code passes format checks
- run `yarn run lint:check`
8. commit code with a standardized commit message
- format: `[subject-type]: [description starting with lowercase letters] (#[issue number])`
- example: `feat: add sanity check on provider connect for clearer error message (#181)`
- note: run `git log` to see more examples and acceptable subject-types
9. push to your github fork
10. create a pull request with the original Alchemy project

- note: pull request title must pass the Enforce PR Title Format
- format: `[subject-type]: [description starting with lowercase letters]`
- run `echo "[YOUR_PR_TITLE_HERE] | yarn commitlint`
- passing example: run `echo "docs: add build and test documentation update (#195)" | yarn commitlint`

11. celebrate
We welcome contributions to `aa-sdk`. Please see our [contributing guidelines](CONTRIBUTING.md) for more information.
6 changes: 3 additions & 3 deletions examples/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# AA-SDK Examples
# aa-sdk Examples

## aa-simple-dapp

This dapp provides an example of how to use Alchemy's Account Kit to build a dApp that mints a token to a Light Account SCA using Alchemy's Gas Manager to provide a gas-less minting experience
This dapp provides an example of how to use Account Kit to build a dApp that mints a token to a Light Account SCA using our Gas Manager to provide a gasless minting experience

[Try it out!](https://aa-simple-dapp.vercel.app/)

Expand All @@ -12,6 +12,6 @@ This dapp provides an example of how to use Alchemy's Account Kit to build a dAp

## alchemy-dAApp

This dapp provides an example of how to use Alchemy's Account Kit to build an account abstraction dApp that mints an NFT. It supports configurations so that you can provide a gas-less experience across multiple chains.
This dapp provides an example of how to use Account Kit to build an account abstraction dApp that mints an NFT. It supports configurations so that you can provide a gasless experience across multiple chains.

[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/alchemyplatform/aa-sdk/tree/main/examples/alchemy-dapp?file=README.md)
2 changes: 1 addition & 1 deletion examples/aa-simple-dapp/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Alchemy Simple Account Abstraction Dapp

This is a simple Next.js single page application that leverages account abstraction via the Alchemy aa-sdk, allowing users to mint an ERC-20 Token to an SCA without needing to have an EOA wallet or incur any gas fees.
This is a simple Next.js single page application that leverages account abstraction via the aa-sdk, allowing users to mint an ERC-20 Token to an SCA without needing to have an EOA wallet or incur any gas fees.

## Run Locally @ [http://localhost:3000](http://localhost:3000)

Expand Down
6 changes: 3 additions & 3 deletions examples/aa-simple-dapp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
"lint": "next lint"
},
"dependencies": {
"@alchemy/aa-accounts": "^1.0.0",
"@alchemy/aa-alchemy": "^1.0.0",
"@alchemy/aa-core": "^1.0.0",
"@alchemy/aa-accounts": "^1.2.0",
"@alchemy/aa-alchemy": "^1.2.0",
"@alchemy/aa-core": "^1.2.0",
"@t3-oss/env-core": "^0.7.1",
"@t3-oss/env-nextjs": "^0.7.1",
"magic-sdk": "^20.1.1",
Expand Down
4 changes: 2 additions & 2 deletions examples/aa-simple-dapp/src/components/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ export default function Footer() {
return (
<div className="flex flex-row flex-wrap items-center justify-center gap-[16px]">
<FooterCard
title={"AccountKit Docs"}
subTitle="Check out Alchemy's Account Kit!"
title={"Account Kit Docs"}
subTitle="Check out Account Kit!"
link={"https://accountkit.alchemy.com"}
/>
<FooterCard
Expand Down
8 changes: 4 additions & 4 deletions examples/alchemy-daapp/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Alchemy dAApp

This example dapp contains an account abstraction-enabled web3 application designed to onboard people onto the Alchemy Account Abstraction SDK. It provides a quick starter for developers to use these technologies, by creating a Smart Contract Wallet and minting an NFT!
This example dapp contains an account abstraction-enabled web3 application designed to onboard people onto `aa-sdk`. It provides a quick starter for you to use these technologies, by creating a Smart Contract Wallet and minting an NFT!

## Installation
1. Clone the repository:
Expand Down Expand Up @@ -41,7 +41,7 @@ export const serverConfigs: Record<number, ServerConfiguration> = {
```
### **🗒️ Notes:** for `nftContractAddress` and `lightAccountFactoryAddress`
- There are already contract addresses deployed for them across [various chains here](https://github.com/alchemyplatform/aa-sdk/blob/main/examples/alchemy-daapp/src/configs/clientConfigs.ts).
- We used Alchemy's [lightAccountFactory here](https://github.com/alchemyplatform/light-account).
- We used the Alchemy [Light Account Factory here](https://github.com/alchemyplatform/light-account).
- Finally, the contracts sibling package has the copy of the [NFT contract](https://github.com/alchemyplatform/aa-sdk/tree/main/examples/contracts/DAAppNFT/src) along instructions on [how to deploy it](https://github.com/alchemyplatform/aa-sdk/blob/main/examples/contracts/README.md).

4. Update the serverConfigs.ts file with your alchemy API keys:
Expand All @@ -58,7 +58,7 @@ yarn dev
```

## How This Works
The [`onboarding-controller.ts`](https://github.com/alchemyplatform/aa-sdk/blob/master/examples/alchemy-daapp/src/surfaces/onboarding/OnboardingController.ts) file contains the onboarding controller, which handles the onboarding process for new users. The controller uses the Alchemy SDK to create a new account and mint an NFT.
The [`onboarding-controller.ts`](https://github.com/alchemyplatform/aa-sdk/blob/master/examples/alchemy-daapp/src/surfaces/onboarding/OnboardingController.ts) file contains the onboarding controller, which handles the onboarding process for new users. The controller uses `aa-sdk` to create a new account and mint an NFT.

In the [`clientConfigs.ts`](https://github.com/alchemyplatform/aa-sdk/blob/main/examples/alchemy-daapp/src/configs/clientConfigs.ts) file, you will find the configuration for the DAApp, including the nft contract address, light account factory address, gas manager policy id, rpc url, and chain. You'll also find an example NFT contract in [`examples/contracts/DAAppNFT`](https://github.com/alchemyplatform/aa-sdk/tree/main/examples/contracts/DAAppNFT)

Expand All @@ -73,6 +73,6 @@ We welcome contributions to the examples/alchemy-daapp repo! If you would like t
2. Create a new branch for your changes
3. Make your changes and commit them
4. Push your changes to your forked repository
5. Submit a pull request to the examples/aa-sdk repo
5. Submit a pull request to the `examples/aa-sdk` repo

Please ensure that your code follows our coding standards and that you have added appropriate tests for your changes. We appreciate your contributions and look forward to working with you.
6 changes: 3 additions & 3 deletions examples/alchemy-daapp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
"lint": "next lint"
},
"dependencies": {
"@alchemy/aa-accounts": "^1.0.0",
"@alchemy/aa-alchemy": "^1.0.0",
"@alchemy/aa-core": "^1.0.0",
"@alchemy/aa-accounts": "^1.2.0",
"@alchemy/aa-alchemy": "^1.2.0",
"@alchemy/aa-core": "^1.2.0",
"@chakra-ui/react": "^2.6.1",
"@emotion/react": "^11.11.0",
"@emotion/styled": "^11.11.0",
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"type": "module",
"private": true,
"engines": {
"node": "18.10"
"node": "18.16"
},
"workspaces": [
"packages/*",
Expand All @@ -16,7 +16,7 @@
"build:examples": "lerna run build",
"clean": "lerna run clean",
"test": "lerna run test:run",
"test:e2e": "lerna run test:run-e2e --concurrency=1",
"test:e2e": "lerna run test:run-e2e --concurrency=1 --ignore=@alchemy/aa-signers",
"lint:write": "eslint . --fix && prettier --write --ignore-unknown .",
"lint:check": "eslint . && prettier --check .",
"prepare": "husky install",
Expand Down
3 changes: 1 addition & 2 deletions packages/accounts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@
"test:run-e2e": "vitest run --config vitest.config.e2e.ts"
},
"devDependencies": {
"@alchemy/aa-alchemy": "^1.2.0",
"@alchemy/aa-core": "^1.0.0",
"@alchemy/aa-core": "^1.2.0",
"typescript": "^5.0.4",
"typescript-template": "*",
"vitest": "^0.31.0"
Expand Down
6 changes: 6 additions & 0 deletions packages/accounts/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,10 @@ export type { KernelBaseValidatorParams } from "./kernel-zerodev/validator/base.

//light-account exports
export { LightSmartContractAccount } from "./light-account/account.js";
export { createLightAccountProvider } from "./light-account/provider.js";
export {
LightAccountFactoryConfigSchema,
LightAccountProviderConfigSchema,
} from "./light-account/schema.js";
export type { LightAccountProviderConfig } from "./light-account/types.js";
export { getDefaultLightAccountFactoryAddress } from "./light-account/utils.js";
Loading
Loading