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

Align entry-points and wallets #2043

Closed
LHerskind opened this issue Sep 6, 2023 · 0 comments · Fixed by #2281 or #2320
Closed

Align entry-points and wallets #2043

LHerskind opened this issue Sep 6, 2023 · 0 comments · Fixed by #2281 or #2320

Comments

@LHerskind
Copy link
Contributor

In #1913 the introduction of the Auth Witness wallet meant that wallets now don't follow the same interface anymore.

We should strive to align this once we have a more stable idea around the auth witness flows.

spalladino added a commit that referenced this issue Sep 15, 2023
Changes all account contracts to use auth witnesses for authentication

**Noir**

- Auth witnesses now have variable length.
- Introduces an `AccountActions` module in Noir that abstracts most of
the account contract requirements, leaving only `is_valid` to be
implemented by the developer.
- Removes the `AccountInterface` helper in Noir in favor of two
`assert_valid` functions.

**Accounts**

- Introduces a `BaseAccountContract` in ts, such that an account dev
only needs to provide the abi, deploy args, and an `AuthWitnessProvider`
that is basically a signer. Removes all the different entrypoint
implementations, since we now have just a single one.
- Adds a set of `AuthWitness`es to a `TxExecutionRequest`, which is used
by the simulator during that tx run, so it doesn't need to be persisted
in the local db.
- Renames `Account` to `AccountManager`.
- Renames `Entrypoint` to `AccountInterface`.

**Wallet**
- Adds a single `createAuthWitness` method to the `Wallet` interface
that creates and registers the witness.
- Adds a convenience `setPublicAuth` to the `AccountWallet`
implementation for crafting the tx that sets a public auth (I think we
can do better here though, it should be easy for the dev to create an
action where they also include several public auths as part of a batch,
but we can push that for later).
- Kills `EntrypointWallet` and `AuthWitnessEntrypointWallet` in favor of
a single `AccountWallet`.

**Docs**
- Yes.

Fixes #2043
kevaundray pushed a commit that referenced this issue Sep 15, 2023
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-packages: 0.7.4</summary>

##
[0.7.4](aztec-packages-v0.7.3...aztec-packages-v0.7.4)
(2023-09-15)


### Features

* Elliptic Curve Virtual Machine Circuit
([#1268](#1268))
([f85ecd9](f85ecd9))
* Exposing nargo version via `NodeInfo`
([#2333](#2333))
([1c2669c](1c2669c)),
closes
[#2332](#2332)
* Migrate accounts to auth witness
([#2281](#2281))
([91152af](91152af)),
closes
[#2043](#2043)


### Bug Fixes

* Aztec-nr mirror url
([#2321](#2321))
([aaf7f67](aaf7f67))
* **build:** Fixed paths on s3 deployments
([#2335](#2335))
([38c7979](38c7979))


### Miscellaneous

* Do not format boxes with global format
([#2326](#2326))
([2fe845f](2fe845f))
* Remove native token
([#2280](#2280))
([4032d01](4032d01))
* Rename getAccounts to getRegisteredAccounts
([#2330](#2330))
([c7f3776](c7f3776))
</details>

<details><summary>barretenberg.js: 0.7.4</summary>

##
[0.7.4](barretenberg.js-v0.7.3...barretenberg.js-v0.7.4)
(2023-09-15)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg: 0.7.4</summary>

##
[0.7.4](barretenberg-v0.7.3...barretenberg-v0.7.4)
(2023-09-15)


### Features

* Elliptic Curve Virtual Machine Circuit
([#1268](#1268))
([f85ecd9](f85ecd9))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
1 participant