You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat!: demote auth registry to non-protocol contract (#23106)
Demotes auth_registry from protocol contract. Introduces generated
`standard_addresses.nr` Noir file in aztec-nr and
yarn-project/standard-contracts TS package that includes "drift" checks
at build time and compile time to prevent someone from proceeding when
they should actually go back and rebuild noir-contracts.
Deploy `AuthRegistry` once per fresh rollup: `aztec-wallet deploy
auth_registry_contract@AuthRegistry --salt 1 --universal -f
<fee-paying-account>`.
**CLI change**: Removed `--deployer <address>` flag from `aztec-wallet
deploy`; `--universal` now works alongside `-f` to set deployer=0x0
while paying fees from the specified account.
Stacked on #23216.
---------
Co-authored-by: dbanks12 <davidjbanks920@gmail.com>
Copy file name to clipboardExpand all lines: docs/docs-developers/docs/foundational-topics/transactions.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -120,7 +120,7 @@ The setup phase runs before the user's application logic. Fee-related bookkeepin
120
120
- The fee payer is nominated via a call to the protocol's `set_as_fee_payer()` function. An FPC typically calls this in its entrypoint; a user paying directly with Fee Juice does it implicitly via the default entrypoint.
121
121
-`end_setup()` is called to mark the boundary between the non-revertible and revertible phases. Everything committed before `end_setup()` stands regardless of whether later phases revert.
122
122
123
-
Because the setup phase is non-revertible, the protocol restricts which public function calls are allowed during it. The default allowlist permits only protocol-contract setup functions (for example those on `AuthRegistry` and `FeeJuice`); in v4.2.0, public token functions such as `transfer_in_public` and `_increase_public_balance` were removed from it. See the [migration note](../resources/migration_notes.md#custom-token-fpcs-removed-from-default-public-setup-allowlist) for details.
123
+
Because the setup phase is non-revertible, the protocol restricts which public function calls are allowed during it. The default allowlist permits a small set of trusted setup functions (for example those on `AuthRegistry` and `FeeJuice`); in v4.2.0, public token functions such as `transfer_in_public` and `_increase_public_balance` were removed from it. See the [migration note](../resources/migration_notes.md#custom-token-fpcs-removed-from-default-public-setup-allowlist) for details.
Copy file name to clipboardExpand all lines: docs/docs-developers/docs/resources/migration_notes.md
+23Lines changed: 23 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,6 +39,29 @@ Aztec is in active development. Each version may introduce breaking changes that
39
39
```
40
40
41
41
**Impact**: Code importing or referencing `ExtendedDirectionalAppTaggingSecret` should update to `AppTaggingSecret`.
42
+
43
+
### [Aztec.nr]`auth_registry` demoted from protocol contract
44
+
45
+
`auth_registry` is no longer a protocol contract. Its address is now derived from its artifact rather than hardcoded at `1`. The aztec-nr constant has moved and been renamed:
46
+
47
+
```diff
48
+
- use protocol_types::constants::CANONICAL_AUTH_REGISTRY_ADDRESS;
49
+
+ use crate::standard_addresses::STANDARD_AUTH_REGISTRY_ADDRESS;
50
+
```
51
+
52
+
PXE no longer auto-registers `AuthRegistry` on startup. If your wallet needs it, register it explicitly (as the `EmbeddedWallet` entrypoints do):
For browser bundles, import from `@aztec/standard-contracts/auth-registry/lazy` instead.
62
+
63
+
Deploy `AuthRegistry` once per fresh rollup: `aztec-wallet deploy auth_registry_contract@AuthRegistry --salt 1 --universal -f <fee-paying-account>`.
64
+
42
65
### [Aztec.nr]`public_checks` helpers moved to `aztec-nr`
43
66
44
67
The `privately_check_timestamp`, `privately_check_block_number`, and related caller helpers previously in `noir-contracts/contracts/protocol/public_checks_contract/src/utils.nr` are now in `aztec-nr/aztec/src/public_checks.nr`. Consumer contracts should update their imports:
0 commit comments