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: add mav2 signer #1203

Merged
merged 5 commits into from
Dec 13, 2024
Merged

Conversation

linnall
Copy link
Collaborator

@linnall linnall commented Dec 11, 2024

Pull Request Checklist


PR-Codex overview

This PR introduces a new SingleSignerValidationModule and related utilities to enhance the signing and validation process in the smart contracts. It includes functions for packing signatures and handling user operations with a focus on modularity and extensibility.

Detailed summary

  • Added PackSignatureParams type and packSignature utility in utils.ts.
  • Introduced SingleSignerValidationModule with:
    • Metadata and ABI for single signer validation.
    • Methods for encoding installation and uninstallation data.
  • Created singleSignerMessageSigner function for signing operations.
  • Defined singleSignerValidationAbi with various functions and events.
  • Added MAV2FactoryAbi and smaV2Abi with constructors and multiple function definitions for account management and validation.
  • Included error handling and event definitions for improved contract interactions.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Copy link

vercel bot commented Dec 11, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
aa-sdk-site ✅ Ready (Inspect) Visit Preview 💬 Add feedback Dec 13, 2024 11:09pm
aa-sdk-ui-demo ✅ Ready (Inspect) Visit Preview 💬 Add feedback Dec 13, 2024 11:09pm

Copy link

graphite-app bot commented Dec 11, 2024

How to use the Graphite Merge Queue

Add the label graphite-merge-queue to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

iykazrji and others added 2 commits December 11, 2024 18:43
* feat: add react-native-bare implementation

* fix: fix linting

* fix: fix linting

* fix: remove unnecessary console.log statements

* feat: add signer and account addresses to user logged in screen
Copy link
Collaborator

howydev commented Dec 13, 2024

Merge activity

  • Dec 13, 11:13 AM EST: The merge label 'graphite-merge-queue' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.
  • Dec 13, 11:28 AM EST: A user added this pull request to the Graphite merge queue.
  • Dec 13, 5:57 PM EST: A user removed this pull request from the Graphite merge queue.
  • Dec 13, 5:57 PM EST: A user removed this pull request from the Graphite merge queue.

@graphite-app graphite-app bot changed the base branch from howy/scaffold-v0.8 to main December 13, 2024 16:13
@howydev howydev changed the base branch from main to howy/scaffold-v0.8 December 13, 2024 16:16
@howydev howydev changed the base branch from howy/scaffold-v0.8 to main December 13, 2024 16:17
@howydev howydev changed the base branch from main to howy/scaffold-v0.8 December 13, 2024 16:26
@howydev howydev changed the base branch from howy/scaffold-v0.8 to main December 13, 2024 16:27
Copy link
Collaborator

howydev commented Dec 13, 2024


How to use the Graphite Merge Queue

Add the label graphite-merge-queue to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@howydev howydev changed the base branch from main to howy/scaffold-v0.8 December 13, 2024 16:27
@graphite-app graphite-app bot changed the base branch from howy/scaffold-v0.8 to main December 13, 2024 16:27
@howydev howydev force-pushed the linna/scaffold-signer-v0.8 branch from 58c9f10 to a515f24 Compare December 13, 2024 22:42
howydev pushed a commit that referenced this pull request Dec 13, 2024
# 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, 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

## PR-Codex overview
This PR introduces a new module for single signer validation in the `account-kit` smart contracts. It adds functionality for packing signatures and validating user operations, along with defining the ABI for the single signer validation module and related contracts.

### Detailed summary
- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Created `SingleSignerValidationModule` with metadata and encoding functions in `single-signer-validation/module.ts`.
- Implemented `singleSignerMessageSigner` function in `single-signer-validation/signer.ts` for signing operations.
- Defined the ABI for `singleSignerValidation` in `abis/singleSignerValidation.ts`.
- Added ABI for `MAV2Factory` and `smaV2` in their respective files.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
@howydev howydev force-pushed the linna/scaffold-signer-v0.8 branch from a515f24 to 40405cb Compare December 13, 2024 22:45
howydev pushed a commit that referenced this pull request Dec 13, 2024
# 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, 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

## PR-Codex overview
This PR introduces a `SingleSignerValidationModule` for managing single signer validation in the `ma-v2` smart contract system. It includes functions for packing signatures and encoding install/uninstall data, along with the necessary ABI definitions.

### Detailed summary
- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Implemented `SingleSignerValidationModule` with methods for encoding install/uninstall data in `single-signer-validation/module.ts`.
- Enhanced `singleSignerMessageSigner` functionality for signing operations in `single-signer-validation/signer.ts`.
- Defined the ABI for `SingleSignerValidation` in `single-signer-validation/abis/singleSignerValidation.ts`.
- Created `MAV2FactoryAbi` and `smaV2Abi` with comprehensive function definitions and events in their respective files.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
@howydev howydev force-pushed the linna/scaffold-signer-v0.8 branch from 40405cb to eb97201 Compare December 13, 2024 22:48
howydev pushed a commit that referenced this pull request Dec 13, 2024
# 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, 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

## PR-Codex overview
This PR introduces new functionalities related to signature validation and packing in the `ma-v2` module of the smart contracts. It adds types, utility functions, and an ABI for the `SingleSignerValidation` module, enhancing the signing and validation processes.

### Detailed summary
- Added `PackSignatureParams` type and `packSignature` utility function in `utils.ts`.
- Implemented `SingleSignerValidationModule` in `single-signer-validation/module.ts` with metadata and encoding functions.
- Created `singleSignerValidationAbi` in `abis/singleSignerValidation.ts` defining contract functions.
- Developed `singleSignerMessageSigner` function in `signer.ts` for generating signatures.
- Included ABI definitions for `MAV2Factory` and `smaV2` in their respective files, detailing constructors, functions, and events.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
howydev pushed a commit that referenced this pull request Dec 13, 2024
# 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, 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

## PR-Codex overview
This PR introduces new functionalities related to signature validation and packing in the `ma-v2` module of the smart contracts. It adds types, utility functions, and an ABI for the `SingleSignerValidation` module, enhancing the signing and validation processes.

### Detailed summary
- Added `PackSignatureParams` type and `packSignature` utility function in `utils.ts`.
- Implemented `SingleSignerValidationModule` in `single-signer-validation/module.ts` with metadata and encoding functions.
- Created `singleSignerValidationAbi` in `abis/singleSignerValidation.ts` defining contract functions.
- Developed `singleSignerMessageSigner` function in `signer.ts` for generating signatures.
- Included ABI definitions for `MAV2Factory` and `smaV2` in their respective files, detailing constructors, functions, and events.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
howydev pushed a commit that referenced this pull request Dec 13, 2024
# 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, 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

## PR-Codex overview
This PR introduces a new module for single signer validation in the `ma-v2` smart contracts, enhancing the ability to manage signatures and validation logic within the framework.

### Detailed summary
- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Implemented `SingleSignerValidationModule` with methods for encoding installation and uninstallation data in `module.ts`.
- Created `singleSignerMessageSigner` function to handle signature operations in `signer.ts`.
- Defined the `singleSignerValidationAbi` in `singleSignerValidation.ts` for contract interactions.
- Updated `MAV2FactoryAbi` and `smaV2Abi` with new function and event definitions for improved contract management.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
@howydev howydev force-pushed the linna/scaffold-signer-v0.8 branch from eb97201 to 5904996 Compare December 13, 2024 22:51
howydev pushed a commit that referenced this pull request Dec 13, 2024
# 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, 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

## PR-Codex overview
This PR introduces new features and improvements for the `SingleSignerValidation` module in the `ma-v2` smart contracts, including signature packing utilities and ABI definitions, enhancing the signing process for user operations.

### Detailed summary
- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Implemented `SingleSignerValidationModule` with encoding methods in `single-signer-validation/module.ts`.
- Created `singleSignerMessageSigner` function for signing operations in `single-signer-validation/signer.ts`.
- Defined ABI for `singleSignerValidation` in `single-signer-validation/abis/singleSignerValidation.ts`.
- Updated `MAV2FactoryAbi` and `smaV2Abi` with new functions and events related to validation and execution.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
@howydev howydev force-pushed the linna/scaffold-signer-v0.8 branch from 5904996 to bf51e9a Compare December 13, 2024 22:54
# 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, 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

## PR-Codex overview
This PR introduces a new `SingleSignerValidation` module and related utilities for signature packing and handling user operation signing. It enhances the smart contract framework by implementing various functions and defining the ABI for the module.

### Detailed summary
- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Created `SingleSignerValidationModule` with metadata and encoding functions in `single-signer-validation/module.ts`.
- Implemented `singleSignerMessageSigner` function in `single-signer-validation/signer.ts` for signature management.
- Defined the ABI for `singleSignerValidation` in `abis/singleSignerValidation.ts`.
- Added `MAV2FactoryAbi` and `smaV2Abi` with functions and events related to account management in respective ABI files.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
@howydev howydev force-pushed the linna/scaffold-signer-v0.8 branch from bf51e9a to 857a9c7 Compare December 13, 2024 22:58
@howydev howydev changed the base branch from main to howy/scaffold-v0.8 December 13, 2024 22:58
@howydev howydev merged commit 3e3dbd6 into howy/scaffold-v0.8 Dec 13, 2024
5 of 7 checks passed
@howydev howydev deleted the linna/scaffold-signer-v0.8 branch December 13, 2024 23:00
linnall added a commit that referenced this pull request Dec 13, 2024
- [ ] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR introduces a new module for single signer validation in the `account-kit` smart contracts. It adds functionality for packing signatures and validating user operations, along with defining the ABI for the single signer validation module and related contracts.

- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Created `SingleSignerValidationModule` with metadata and encoding functions in `single-signer-validation/module.ts`.
- Implemented `singleSignerMessageSigner` function in `single-signer-validation/signer.ts` for signing operations.
- Defined the ABI for `singleSignerValidation` in `abis/singleSignerValidation.ts`.
- Added ABI for `MAV2Factory` and `smaV2` in their respective files.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
@linnall linnall mentioned this pull request Dec 13, 2024
7 tasks
howydev pushed a commit that referenced this pull request Dec 14, 2024
- [ ] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR introduces a new module for single signer validation in the `account-kit` smart contracts. It adds functionality for packing signatures and validating user operations, along with defining the ABI for the single signer validation module and related contracts.

- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Created `SingleSignerValidationModule` with metadata and encoding functions in `single-signer-validation/module.ts`.
- Implemented `singleSignerMessageSigner` function in `single-signer-validation/signer.ts` for signing operations.
- Defined the ABI for `singleSignerValidation` in `abis/singleSignerValidation.ts`.
- Added ABI for `MAV2Factory` and `smaV2` in their respective files.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
howydev pushed a commit that referenced this pull request Dec 14, 2024
- [ ] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR introduces a new module for single signer validation in the `account-kit` smart contracts. It adds functionality for packing signatures and validating user operations, along with defining the ABI for the single signer validation module and related contracts.

- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Created `SingleSignerValidationModule` with metadata and encoding functions in `single-signer-validation/module.ts`.
- Implemented `singleSignerMessageSigner` function in `single-signer-validation/signer.ts` for signing operations.
- Defined the ABI for `singleSignerValidation` in `abis/singleSignerValidation.ts`.
- Added ABI for `MAV2Factory` and `smaV2` in their respective files.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->
howydev pushed a commit that referenced this pull request Dec 14, 2024
- [ ] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR introduces a new module for single signer validation in the `account-kit` smart contracts. It adds functionality for packing signatures and validating user operations, along with defining the ABI for the single signer validation module and related contracts.

- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Created `SingleSignerValidationModule` with metadata and encoding functions in `single-signer-validation/module.ts`.
- Implemented `singleSignerMessageSigner` function in `single-signer-validation/signer.ts` for signing operations.
- Defined the ABI for `singleSignerValidation` in `abis/singleSignerValidation.ts`.
- Added ABI for `MAV2Factory` and `smaV2` in their respective files.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

feat: add all mav2 contract addrs, abis (#1207)

- [x] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR focuses on renaming and restructuring various ABI exports and imports in the `account-kit/smart-contracts` project, enhancing clarity and organization in the codebase.

- Renamed `MAV2FactoryAbi` to `accountFactoryAbi` in `accountFactoryAbi.ts`.
- Renamed `smaV2Abi` to `semiModularAccountBytecodeAbi` in `semiModularAccountBytecodeAbi.ts`.
- Renamed `singleSignerValidationAbi` to `singleSignerValidationModuleAbi` in `singleSignerValidationModule.ts`.
- Updated import statement in `module.ts` for `singleSignerValidationModuleAbi`.
- Added new `addresses` export with various module addresses in `utils.ts`.
- Introduced `paymasterGuardModuleAbi` in `paymasterGuardModule.ts`.
- Added `timeRangeModuleAbi` in `timeRangeModule.ts`.
- Added `webauthnValidationModuleAbi` in `webauthnValidation.ts`.
- Added `nativeTokenLimitModuleAbi` in `nativeTokenLimitModule.ts`.
- Added `allowlistModuleAbi` in `allowlistModule.ts`.
- Introduced `modularAccountAbi` in `modularAccountAbi.ts`.
- Introduced `semiModularAccountStorageAbi` in `semiModularAccountStorageAbi.ts`.

> The following files were skipped due to too many changes: `account-kit/smart-contracts/src/ma-v2/abis/semiModularAccountStorageAbi.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

feat: add scaffold for ma v2

chore: lint

feat: add scaffold for ma v2

feat: add all mav2 contract addrs, abis (#1207)

- [x] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR introduces several new smart contract ABIs and address constants for a modular account system, enhancing functionality for various modules, including validation and execution.

- Added `addresses` constant with various module addresses in `addresses.ts`.
- Introduced ABIs for `paymasterGuardModule`, `timeRangeModule`, `webauthnValidation`, `nativeTokenLimitModule`, `allowlistModule`, and `maV2`.
- Each ABI includes functions, events, and errors relevant to their respective modules.

> The following files were skipped due to too many changes: `account-kit/smart-contracts/src/ma-v2/abis/smaStorage.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

feat: add mav2 account

feat: add entity id nonce logic
howydev pushed a commit that referenced this pull request Dec 14, 2024
* fix: rn stamper was returning stamp instead of response (#1201)

* chore(release): publish v4.6.1 [skip-ci]

* feat: add react-native-bare implementation (#1202)

* feat: add react-native-bare implementation

* fix: fix linting

* fix: fix linting

* fix: remove unnecessary console.log statements

* feat: add signer and account addresses to user logged in screen

* fix: updates facebook icon used in ui component (#1196)

* feat: add mav2 signer (#1203)

# 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, 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

## PR-Codex overview
This PR introduces a new `SingleSignerValidation` module and related utilities for signature packing and handling user operation signing. It enhances the smart contract framework by implementing various functions and defining the ABI for the module.

### Detailed summary
- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Created `SingleSignerValidationModule` with metadata and encoding functions in `single-signer-validation/module.ts`.
- Implemented `singleSignerMessageSigner` function in `single-signer-validation/signer.ts` for signature management.
- Defined the ABI for `singleSignerValidation` in `abis/singleSignerValidation.ts`.
- Added `MAV2FactoryAbi` and `smaV2Abi` with functions and events related to account management in respective ABI files.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

---------

Co-authored-by: Michael Moldoveanu <michael.moldoveanu@alchemy.com>
Co-authored-by: Alchemy Bot <alchemy-bot@alchemy.com>
Co-authored-by: Iyk Azorji <iykazorji@gmail.com>
howydev pushed a commit that referenced this pull request Dec 14, 2024
- [ ] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR introduces a new module for single signer validation in the `account-kit` smart contracts. It adds functionality for packing signatures and validating user operations, along with defining the ABI for the single signer validation module and related contracts.

- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Created `SingleSignerValidationModule` with metadata and encoding functions in `single-signer-validation/module.ts`.
- Implemented `singleSignerMessageSigner` function in `single-signer-validation/signer.ts` for signing operations.
- Defined the ABI for `singleSignerValidation` in `abis/singleSignerValidation.ts`.
- Added ABI for `MAV2Factory` and `smaV2` in their respective files.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

feat: add all mav2 contract addrs, abis (#1207)

- [x] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR focuses on renaming and restructuring various ABI exports and imports in the `account-kit/smart-contracts` project, enhancing clarity and organization in the codebase.

- Renamed `MAV2FactoryAbi` to `accountFactoryAbi` in `accountFactoryAbi.ts`.
- Renamed `smaV2Abi` to `semiModularAccountBytecodeAbi` in `semiModularAccountBytecodeAbi.ts`.
- Renamed `singleSignerValidationAbi` to `singleSignerValidationModuleAbi` in `singleSignerValidationModule.ts`.
- Updated import statement in `module.ts` for `singleSignerValidationModuleAbi`.
- Added new `addresses` export with various module addresses in `utils.ts`.
- Introduced `paymasterGuardModuleAbi` in `paymasterGuardModule.ts`.
- Added `timeRangeModuleAbi` in `timeRangeModule.ts`.
- Added `webauthnValidationModuleAbi` in `webauthnValidation.ts`.
- Added `nativeTokenLimitModuleAbi` in `nativeTokenLimitModule.ts`.
- Added `allowlistModuleAbi` in `allowlistModule.ts`.
- Introduced `modularAccountAbi` in `modularAccountAbi.ts`.
- Introduced `semiModularAccountStorageAbi` in `semiModularAccountStorageAbi.ts`.

> The following files were skipped due to too many changes: `account-kit/smart-contracts/src/ma-v2/abis/semiModularAccountStorageAbi.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

feat: add scaffold for ma v2

chore: lint

feat: add scaffold for ma v2

feat: add all mav2 contract addrs, abis (#1207)

- [x] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR introduces several new smart contract ABIs and address constants for a modular account system, enhancing functionality for various modules, including validation and execution.

- Added `addresses` constant with various module addresses in `addresses.ts`.
- Introduced ABIs for `paymasterGuardModule`, `timeRangeModule`, `webauthnValidation`, `nativeTokenLimitModule`, `allowlistModule`, and `maV2`.
- Each ABI includes functions, events, and errors relevant to their respective modules.

> The following files were skipped due to too many changes: `account-kit/smart-contracts/src/ma-v2/abis/smaStorage.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

feat: add mav2 account

feat: add entity id nonce logic
howydev pushed a commit that referenced this pull request Dec 14, 2024
- [ ] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR introduces a new module for single signer validation in the `account-kit` smart contracts. It adds functionality for packing signatures and validating user operations, along with defining the ABI for the single signer validation module and related contracts.

- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Created `SingleSignerValidationModule` with metadata and encoding functions in `single-signer-validation/module.ts`.
- Implemented `singleSignerMessageSigner` function in `single-signer-validation/signer.ts` for signing operations.
- Defined the ABI for `singleSignerValidation` in `abis/singleSignerValidation.ts`.
- Added ABI for `MAV2Factory` and `smaV2` in their respective files.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

feat: add all mav2 contract addrs, abis (#1207)

- [x] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR focuses on renaming and restructuring various ABI exports and imports in the `account-kit/smart-contracts` project, enhancing clarity and organization in the codebase.

- Renamed `MAV2FactoryAbi` to `accountFactoryAbi` in `accountFactoryAbi.ts`.
- Renamed `smaV2Abi` to `semiModularAccountBytecodeAbi` in `semiModularAccountBytecodeAbi.ts`.
- Renamed `singleSignerValidationAbi` to `singleSignerValidationModuleAbi` in `singleSignerValidationModule.ts`.
- Updated import statement in `module.ts` for `singleSignerValidationModuleAbi`.
- Added new `addresses` export with various module addresses in `utils.ts`.
- Introduced `paymasterGuardModuleAbi` in `paymasterGuardModule.ts`.
- Added `timeRangeModuleAbi` in `timeRangeModule.ts`.
- Added `webauthnValidationModuleAbi` in `webauthnValidation.ts`.
- Added `nativeTokenLimitModuleAbi` in `nativeTokenLimitModule.ts`.
- Added `allowlistModuleAbi` in `allowlistModule.ts`.
- Introduced `modularAccountAbi` in `modularAccountAbi.ts`.
- Introduced `semiModularAccountStorageAbi` in `semiModularAccountStorageAbi.ts`.

> The following files were skipped due to too many changes: `account-kit/smart-contracts/src/ma-v2/abis/semiModularAccountStorageAbi.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

feat: add scaffold for ma v2

chore: lint

feat: add scaffold for ma v2

feat: add all mav2 contract addrs, abis (#1207)

- [x] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR introduces several new smart contract ABIs and address constants for a modular account system, enhancing functionality for various modules, including validation and execution.

- Added `addresses` constant with various module addresses in `addresses.ts`.
- Introduced ABIs for `paymasterGuardModule`, `timeRangeModule`, `webauthnValidation`, `nativeTokenLimitModule`, `allowlistModule`, and `maV2`.
- Each ABI includes functions, events, and errors relevant to their respective modules.

> The following files were skipped due to too many changes: `account-kit/smart-contracts/src/ma-v2/abis/smaStorage.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

feat: add mav2 account

feat: add entity id nonce logic

feat: x

feat: a

feat: x
howydev added a commit that referenced this pull request Dec 14, 2024
- [ ] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR introduces a new module for single signer validation in the `account-kit` smart contracts. It adds functionality for packing signatures and validating user operations, along with defining the ABI for the single signer validation module and related contracts.

- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Created `SingleSignerValidationModule` with metadata and encoding functions in `single-signer-validation/module.ts`.
- Implemented `singleSignerMessageSigner` function in `single-signer-validation/signer.ts` for signing operations.
- Defined the ABI for `singleSignerValidation` in `abis/singleSignerValidation.ts`.
- Added ABI for `MAV2Factory` and `smaV2` in their respective files.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

feat: add all mav2 contract addrs, abis (#1207)

- [x] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR focuses on renaming and restructuring various ABI exports and imports in the `account-kit/smart-contracts` project, enhancing clarity and organization in the codebase.

- Renamed `MAV2FactoryAbi` to `accountFactoryAbi` in `accountFactoryAbi.ts`.
- Renamed `smaV2Abi` to `semiModularAccountBytecodeAbi` in `semiModularAccountBytecodeAbi.ts`.
- Renamed `singleSignerValidationAbi` to `singleSignerValidationModuleAbi` in `singleSignerValidationModule.ts`.
- Updated import statement in `module.ts` for `singleSignerValidationModuleAbi`.
- Added new `addresses` export with various module addresses in `utils.ts`.
- Introduced `paymasterGuardModuleAbi` in `paymasterGuardModule.ts`.
- Added `timeRangeModuleAbi` in `timeRangeModule.ts`.
- Added `webauthnValidationModuleAbi` in `webauthnValidation.ts`.
- Added `nativeTokenLimitModuleAbi` in `nativeTokenLimitModule.ts`.
- Added `allowlistModuleAbi` in `allowlistModule.ts`.
- Introduced `modularAccountAbi` in `modularAccountAbi.ts`.
- Introduced `semiModularAccountStorageAbi` in `semiModularAccountStorageAbi.ts`.

> The following files were skipped due to too many changes: `account-kit/smart-contracts/src/ma-v2/abis/semiModularAccountStorageAbi.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

feat: add scaffold for ma v2

chore: lint

feat: add scaffold for ma v2

feat: add all mav2 contract addrs, abis (#1207)

- [x] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR introduces several new smart contract ABIs and address constants for a modular account system, enhancing functionality for various modules, including validation and execution.

- Added `addresses` constant with various module addresses in `addresses.ts`.
- Introduced ABIs for `paymasterGuardModule`, `timeRangeModule`, `webauthnValidation`, `nativeTokenLimitModule`, `allowlistModule`, and `maV2`.
- Each ABI includes functions, events, and errors relevant to their respective modules.

> The following files were skipped due to too many changes: `account-kit/smart-contracts/src/ma-v2/abis/smaStorage.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

feat: add mav2 account

feat: add entity id nonce logic

feat: x

feat: a

feat: x

Co-authored-by: linnall <38363056+linnall@users.noreply.github.com>
howydev added a commit that referenced this pull request Dec 14, 2024
* feat: add all mav2 contract addrs, abis (#1207)

# Pull Request Checklist

- [x] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

## PR-Codex overview
This PR focuses on renaming and restructuring several ABI files and exports in the smart contracts directory, enhancing clarity and consistency in the codebase.

### Detailed summary
- Renamed `MAV2FactoryAbi` to `accountFactoryAbi` in `accountFactoryAbi.ts`.
- Renamed `smaV2Abi` to `semiModularAccountBytecodeAbi` in `semiModularAccountBytecodeAbi.ts`.
- Renamed `singleSignerValidationAbi` to `singleSignerValidationModuleAbi` in `singleSignerValidationModule.ts`.
- Updated import statements to reflect the new names.
- Added a new `addresses` export containing various module addresses in `utils.ts`.
- Introduced new ABI definitions for `paymasterGuardModule`, `timeRangeModule`, `webauthnValidationModule`, `nativeTokenLimitModule`, and `allowlistModule`.
- Added ABI definitions for events and error types in the newly created ABI files.

> The following files were skipped due to too many changes: `account-kit/smart-contracts/src/ma-v2/abis/semiModularAccountStorageAbi.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

* feat: add mav2 account (#1208)

uses a placeholder signer for now

<!-- start pr-codex -->

---

## PR-Codex overview
This PR introduces a new smart contract account type called `SMAV2Account`, along with its creation function `createSMAV2Account`. It includes types, parameters, and logic for initializing accounts using a bundler client, handling initial owners, and generating account addresses.

### Detailed summary
- Added type `SMAV2Account` for smart contract accounts.
- Introduced type `CreateSMAV2AccountParams` for account creation parameters.
- Implemented `createSMAV2Account` function to create a new account.
- Added logic to handle account initialization and owner address retrieval.
- Utilized `createBundlerClient` for client creation.
- Integrated `standardExecutor` and `multiOwnerMessageSigner` for account functionality.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

* feat: add mav2 signer (#1203)

- [ ] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR introduces a new module for single signer validation in the `account-kit` smart contracts. It adds functionality for packing signatures and validating user operations, along with defining the ABI for the single signer validation module and related contracts.

- Added `PackSignatureParams` type and `packSignature` utility in `utils.ts`.
- Created `SingleSignerValidationModule` with metadata and encoding functions in `single-signer-validation/module.ts`.
- Implemented `singleSignerMessageSigner` function in `single-signer-validation/signer.ts` for signing operations.
- Defined the ABI for `singleSignerValidation` in `abis/singleSignerValidation.ts`.
- Added ABI for `MAV2Factory` and `smaV2` in their respective files.

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

* feat: add all mav2 contract addrs, abis (#1207)

- [x] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

This PR focuses on renaming and restructuring various ABI exports and imports in the `account-kit/smart-contracts` project, enhancing clarity and organization in the codebase.

- Renamed `MAV2FactoryAbi` to `accountFactoryAbi` in `accountFactoryAbi.ts`.
- Renamed `smaV2Abi` to `semiModularAccountBytecodeAbi` in `semiModularAccountBytecodeAbi.ts`.
- Renamed `singleSignerValidationAbi` to `singleSignerValidationModuleAbi` in `singleSignerValidationModule.ts`.
- Updated import statement in `module.ts` for `singleSignerValidationModuleAbi`.
- Added new `addresses` export with various module addresses in `utils.ts`.
- Introduced `paymasterGuardModuleAbi` in `paymasterGuardModule.ts`.
- Added `timeRangeModuleAbi` in `timeRangeModule.ts`.
- Added `webauthnValidationModuleAbi` in `webauthnValidation.ts`.
- Added `nativeTokenLimitModuleAbi` in `nativeTokenLimitModule.ts`.
- Added `allowlistModuleAbi` in `allowlistModule.ts`.
- Introduced `modularAccountAbi` in `modularAccountAbi.ts`.
- Introduced `semiModularAccountStorageAbi` in `semiModularAccountStorageAbi.ts`.

> The following files were skipped due to too many changes: `account-kit/smart-contracts/src/ma-v2/abis/semiModularAccountStorageAbi.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

* feat: add scaffold for ma v2

* chore: lint

* feat: add scaffold for ma v2

* feat: add all mav2 contract addrs, abis (#1207)

# Pull Request Checklist

- [x] Did you add new tests and confirm existing tests pass? (`yarn test`)
- [ ] 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`)
- [ ] Did you run lint (`yarn lint:check`) and fix any issues? (`yarn lint:write`)
- [ ] Did you follow the [contribution guidelines](https://github.com/alchemyplatform/aa-sdk/blob/main/CONTRIBUTING.md)?

<!-- start pr-codex -->

---

## PR-Codex overview
This PR introduces several new smart contract ABIs and address constants for a modular account system, enhancing functionality for various modules, including validation and execution.

### Detailed summary
- Added `addresses` constant with various module addresses in `addresses.ts`.
- Introduced ABIs for `paymasterGuardModule`, `timeRangeModule`, `webauthnValidation`, `nativeTokenLimitModule`, `allowlistModule`, and `maV2`.
- Each ABI includes functions, events, and errors relevant to their respective modules.

> The following files were skipped due to too many changes: `account-kit/smart-contracts/src/ma-v2/abis/smaStorage.ts`

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`

<!-- end pr-codex -->

* feat: add mav2 account

* feat: add entity id nonce logic

* feat: adds MAv2 client

* fix: removes signer from create client function name

---------

Co-authored-by: linnall <38363056+linnall@users.noreply.github.com>
Co-authored-by: linna <linna@alchemy.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants